@makeswift/runtime 0.0.0-e0c0445 → 0.0.0-e76fc43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/box-model.js +1 -0
- package/components.js +1 -0
- package/dist/actions.cjs.js +73 -16
- package/dist/actions.cjs.js.map +1 -1
- package/dist/actions.es.js +67 -16
- package/dist/actions.es.js.map +1 -1
- package/dist/box-models.cjs.js +25 -15
- package/dist/box-models.cjs.js.map +1 -1
- package/dist/box-models.es.js +25 -15
- package/dist/box-models.es.js.map +1 -1
- package/dist/components.cjs.js +2012 -333
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +1888 -219
- package/dist/components.es.js.map +1 -1
- package/dist/deepEqual.cjs.js +40 -0
- package/dist/deepEqual.cjs.js.map +1 -0
- package/dist/deepEqual.es.js +39 -0
- package/dist/deepEqual.es.js.map +1 -0
- package/dist/descriptors.cjs.js.map +1 -1
- package/dist/descriptors.es.js.map +1 -1
- package/dist/immutable.es.cjs.js +4459 -0
- package/dist/immutable.es.cjs.js.map +1 -0
- package/dist/immutable.es.es.js +4450 -0
- package/dist/immutable.es.es.js.map +1 -0
- package/dist/instances.cjs.js +89 -0
- package/dist/instances.cjs.js.map +1 -0
- package/dist/instances.es.js +87 -0
- package/dist/instances.es.js.map +1 -0
- package/dist/main.cjs.js +1 -0
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.es.js +1 -1
- package/dist/prop-controllers.cjs.js +2 -0
- package/dist/prop-controllers.cjs.js.map +1 -1
- package/dist/prop-controllers.es.js +1 -0
- package/dist/prop-controllers.es.js.map +1 -1
- package/dist/react-builder-preview.cjs.js +172 -33
- package/dist/react-builder-preview.cjs.js.map +1 -1
- package/dist/react-builder-preview.es.js +180 -41
- package/dist/react-builder-preview.es.js.map +1 -1
- package/dist/react.cjs2.js +50 -14
- package/dist/react.cjs2.js.map +1 -1
- package/dist/react.es2.js +52 -17
- package/dist/react.es2.js.map +1 -1
- package/dist/shallowEqual.cjs.js +24 -0
- package/dist/shallowEqual.cjs.js.map +1 -0
- package/dist/shallowEqual.es.js +23 -0
- package/dist/shallowEqual.es.js.map +1 -0
- package/dist/types/components/builtin/Text/Text.d.ts +16 -0
- package/dist/types/components/builtin/Text/Text.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts +24 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/components/Link/index.d.ts +9 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/components/Link/index.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts +25 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts +13 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/index.d.ts +5 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/index.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts +3 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts +3 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts +3 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts +3 -0
- package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/hooks/useRichText.d.ts +1 -0
- package/dist/types/components/builtin/Text/hooks/useRichText.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/index.d.ts +2 -0
- package/dist/types/components/builtin/Text/index.d.ts.map +1 -0
- package/dist/types/components/builtin/Text/prop-controllers.d.ts +286 -0
- package/dist/types/components/builtin/Text/prop-controllers.d.ts.map +1 -0
- package/dist/types/components/builtin/index.d.ts +1 -0
- package/dist/types/components/builtin/index.d.ts.map +1 -1
- package/dist/types/components/hooks/useRichText.d.ts +18 -0
- package/dist/types/components/hooks/useRichText.d.ts.map +1 -0
- package/dist/types/components/hooks/useTypography.d.ts +24 -0
- package/dist/types/components/hooks/useTypography.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/shared/RichTextEditor/components/Block/index.d.ts +24 -0
- package/dist/types/components/shared/RichTextEditor/components/Block/index.d.ts.map +1 -0
- package/dist/types/components/shared/RichTextEditor/components/Link/index.d.ts +9 -0
- package/dist/types/components/shared/RichTextEditor/components/Link/index.d.ts.map +1 -0
- package/dist/types/components/shared/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts +23 -0
- package/dist/types/components/shared/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +1 -0
- package/dist/types/components/shared/RichTextEditor/components/Mark/index.d.ts +13 -0
- package/dist/types/components/shared/RichTextEditor/components/Mark/index.d.ts.map +1 -0
- package/dist/types/components/shared/RichTextEditor/index.d.ts +5 -0
- package/dist/types/components/shared/RichTextEditor/index.d.ts.map +1 -0
- package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts +3 -0
- package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts.map +1 -0
- package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesMarks.d.ts +3 -0
- package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesMarks.d.ts.map +1 -0
- package/dist/types/components/shared/RichTextEditor/plugins/Inlines.d.ts +3 -0
- package/dist/types/components/shared/RichTextEditor/plugins/Inlines.d.ts.map +1 -0
- package/dist/types/components/shared/RichTextEditor/plugins/Link.d.ts +3 -0
- package/dist/types/components/shared/RichTextEditor/plugins/Link.d.ts.map +1 -0
- package/dist/types/components/utils/contants.d.ts +5 -0
- package/dist/types/components/utils/contants.d.ts.map +1 -0
- package/dist/types/components/utils/devices.d.ts +1 -0
- package/dist/types/components/utils/devices.d.ts.map +1 -1
- package/dist/types/components/utils/intersection.d.ts +4 -0
- package/dist/types/components/utils/intersection.d.ts.map +1 -0
- package/dist/types/components/utils/keys.d.ts +5 -0
- package/dist/types/components/utils/keys.d.ts.map +1 -0
- package/dist/types/components/utils/queries.d.ts +6 -4
- package/dist/types/components/utils/queries.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/prop-controllers/descriptors.d.ts +1 -1
- package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
- package/dist/types/prop-controllers/index.d.ts +2 -0
- package/dist/types/prop-controllers/index.d.ts.map +1 -1
- package/dist/types/prop-controllers/instances.d.ts +63 -4
- package/dist/types/prop-controllers/instances.d.ts.map +1 -1
- package/dist/types/runtimes/react.d.ts.map +1 -1
- package/dist/types/state/actions.d.ts +88 -13
- package/dist/types/state/actions.d.ts.map +1 -1
- package/dist/types/state/modules/box-models.d.ts +5 -5
- package/dist/types/state/modules/box-models.d.ts.map +1 -1
- package/dist/types/state/modules/prop-controller-handles.d.ts +4 -8
- package/dist/types/state/modules/prop-controller-handles.d.ts.map +1 -1
- package/dist/types/state/react-builder-preview.d.ts +2 -0
- package/dist/types/state/react-builder-preview.d.ts.map +1 -1
- package/dist/types/state/react-page.d.ts +1 -0
- package/dist/types/state/react-page.d.ts.map +1 -1
- package/dist/types/utils/coalesce.d.ts +3 -0
- package/dist/types/utils/coalesce.d.ts.map +1 -0
- package/dist/types/utils/constants.d.ts +6 -0
- package/dist/types/utils/constants.d.ts.map +1 -0
- package/dist/types/utils/intersection.d.ts +4 -0
- package/dist/types/utils/intersection.d.ts.map +1 -0
- package/dist/types/utils/keys.d.ts +5 -0
- package/dist/types/utils/keys.d.ts.map +1 -0
- package/dist/types/utils/shallowMerge.d.ts +2 -0
- package/dist/types/utils/shallowMerge.d.ts.map +1 -0
- package/package.json +35 -4
- package/prop-controllers.js +1 -0
- package/react.js +1 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
|
+
var __publicField = (obj, key, value) => {
|
|
5
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
6
|
+
return value;
|
|
7
|
+
};
|
|
8
|
+
var descriptors = require("./descriptors.cjs.js");
|
|
9
|
+
const BuilderEditMode = {
|
|
10
|
+
BUILD: "build",
|
|
11
|
+
CONTENT: "content"
|
|
12
|
+
};
|
|
13
|
+
const RichTextPropControllerMessageType = {
|
|
14
|
+
CHANGE_BUILDER_EDIT_MODE: "CHANGE_BUILDER_EDIT_MODE",
|
|
15
|
+
INITIALIZE_EDITOR: "INITIALIZE_EDITOR",
|
|
16
|
+
CHANGE_EDITOR_VALUE: "CHANGE_EDITOR_VALUE",
|
|
17
|
+
FOCUS: "FOCUS",
|
|
18
|
+
BLUR: "BLUR",
|
|
19
|
+
UNDO: "UNDO",
|
|
20
|
+
REDO: "REDO"
|
|
21
|
+
};
|
|
22
|
+
class PropController {
|
|
23
|
+
constructor(send) {
|
|
24
|
+
__publicField(this, "send");
|
|
25
|
+
this.send = send;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
class DefaultPropController extends PropController {
|
|
29
|
+
recv(_message) {
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
class RichTextPropController extends PropController {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
__publicField(this, "editor", null);
|
|
36
|
+
}
|
|
37
|
+
recv(message) {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
switch (message.type) {
|
|
40
|
+
case RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE: {
|
|
41
|
+
switch (message.editMode) {
|
|
42
|
+
case BuilderEditMode.BUILD:
|
|
43
|
+
(_a = this.editor) == null ? void 0 : _a.deselect().blur();
|
|
44
|
+
break;
|
|
45
|
+
case BuilderEditMode.CONTENT:
|
|
46
|
+
(_b = this.editor) == null ? void 0 : _b.focus().moveToRangeOfDocument();
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
setSlateEditor(editor) {
|
|
54
|
+
this.editor = editor;
|
|
55
|
+
this.send({
|
|
56
|
+
type: RichTextPropControllerMessageType.INITIALIZE_EDITOR,
|
|
57
|
+
value: editor.value.toJSON({ preserveSelection: false })
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
onChange(change) {
|
|
61
|
+
this.send({
|
|
62
|
+
type: RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE,
|
|
63
|
+
value: change.value.toJSON({ preserveSelection: true })
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
focus() {
|
|
67
|
+
this.send({ type: RichTextPropControllerMessageType.FOCUS });
|
|
68
|
+
}
|
|
69
|
+
blur() {
|
|
70
|
+
this.send({ type: RichTextPropControllerMessageType.BLUR });
|
|
71
|
+
}
|
|
72
|
+
undo() {
|
|
73
|
+
this.send({ type: RichTextPropControllerMessageType.UNDO });
|
|
74
|
+
}
|
|
75
|
+
redo() {
|
|
76
|
+
this.send({ type: RichTextPropControllerMessageType.REDO });
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function createPropController(descriptor, send) {
|
|
80
|
+
switch (descriptor.type) {
|
|
81
|
+
case descriptors.Types.RichText:
|
|
82
|
+
return new RichTextPropController(send);
|
|
83
|
+
default:
|
|
84
|
+
return new DefaultPropController(send);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.RichTextPropControllerMessageType = RichTextPropControllerMessageType;
|
|
88
|
+
exports.createPropController = createPropController;
|
|
89
|
+
//# sourceMappingURL=instances.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instances.cjs.js","sources":["../src/utils/constants.ts","../src/prop-controllers/instances.ts"],"sourcesContent":["export const BuilderEditMode = {\n BUILD: 'build',\n CONTENT: 'content',\n} as const\n\nexport type BuilderEditMode = typeof BuilderEditMode[keyof typeof BuilderEditMode]\n","import { Editor } from 'slate-react'\nimport { ValueJSON } from 'slate'\nimport { OnChangeParam } from 'slate-react'\nimport { Descriptor, RichTextDescriptor, Types } from './descriptors'\nimport { BuilderEditMode } from '../utils/constants'\n\nexport const RichTextPropControllerMessageType = {\n CHANGE_BUILDER_EDIT_MODE: 'CHANGE_BUILDER_EDIT_MODE',\n INITIALIZE_EDITOR: 'INITIALIZE_EDITOR',\n CHANGE_EDITOR_VALUE: 'CHANGE_EDITOR_VALUE',\n FOCUS: 'FOCUS',\n BLUR: 'BLUR',\n UNDO: 'UNDO',\n REDO: 'REDO',\n} as const\n\ntype ChangeBuilderEditModeRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE\n editMode: BuilderEditMode\n}\n\ntype InitializeEditorRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.INITIALIZE_EDITOR\n value: ValueJSON\n}\n\ntype ChangeEditorValueRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE\n value: ValueJSON\n}\n\ntype FocusRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.FOCUS }\n\ntype BlurRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.BLUR }\n\ntype UndoRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.UNDO }\n\ntype RedoRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.REDO }\n\nexport type RichTextPropControllerMessage =\n | ChangeBuilderEditModeRichTextPropControllerMessage\n | InitializeEditorRichTextPropControllerMessage\n | ChangeEditorValueRichTextPropControllerMessage\n | FocusRichTextPropControllerMessage\n | BlurRichTextPropControllerMessage\n | UndoRichTextPropControllerMessage\n | RedoRichTextPropControllerMessage\n\nexport type PropControllerMessage = RichTextPropControllerMessage\n\ntype Send<T = PropControllerMessage> = (message: T) => void\n\nexport abstract class PropController<T = PropControllerMessage> {\n protected send: Send<T>\n\n constructor(send: Send<T>) {\n this.send = send\n }\n\n abstract recv(message: T): void\n}\n\nclass DefaultPropController extends PropController {\n recv(_message: PropControllerMessage): void {\n // Do nothing.\n }\n}\n\nclass RichTextPropController extends PropController<RichTextPropControllerMessage> {\n private editor: Editor | null = null\n\n recv(message: RichTextPropControllerMessage): void {\n switch (message.type) {\n case RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE: {\n switch (message.editMode) {\n case BuilderEditMode.BUILD:\n this.editor?.deselect().blur()\n break\n\n case BuilderEditMode.CONTENT:\n this.editor?.focus().moveToRangeOfDocument()\n break\n }\n\n break\n }\n }\n }\n\n setSlateEditor(editor: Editor) {\n this.editor = editor\n\n this.send({\n type: RichTextPropControllerMessageType.INITIALIZE_EDITOR,\n value: editor.value.toJSON({ preserveSelection: false }),\n })\n }\n\n onChange(change: OnChangeParam) {\n this.send({\n type: RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE,\n value: change.value.toJSON({ preserveSelection: true }),\n })\n }\n\n focus() {\n this.send({ type: RichTextPropControllerMessageType.FOCUS })\n }\n\n blur() {\n this.send({ type: RichTextPropControllerMessageType.BLUR })\n }\n\n undo() {\n this.send({ type: RichTextPropControllerMessageType.UNDO })\n }\n\n redo() {\n this.send({ type: RichTextPropControllerMessageType.REDO })\n }\n}\n\ntype DescriptorPropController<T extends Descriptor> = T extends { type: typeof Types.RichText }\n ? RichTextPropController\n : DefaultPropController\n\nexport type DescriptorsPropControllers<T extends Record<string, Descriptor>> = {\n [K in keyof T]: undefined extends T[K]\n ? DescriptorPropController<Exclude<T[K], undefined>>\n : DescriptorPropController<T[K]>\n}\n\nexport function createPropController(\n descriptor: RichTextDescriptor,\n send: Send<RichTextPropControllerMessage>,\n): RichTextPropController\nexport function createPropController(descriptor: Descriptor, send: Send): PropController\nexport function createPropController(descriptor: Descriptor, send: Send): PropController {\n switch (descriptor.type) {\n case Types.RichText:\n return new RichTextPropController(send)\n\n default:\n return new DefaultPropController(send)\n }\n}\n"],"names":["Types"],"mappings":";;;;;;;;MAAa,kBAAkB;AAAA,EAC7B,OAAO;AAAA,EACP,SAAS;AAAA;MCIE,oCAAoC;AAAA,EAC/C,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA;qBAuCwD;AAAA,EAG9D,YAAY,MAAe;AAFjB;SAGH,OAAO;AAAA;AAAA;AAMhB,oCAAoC,eAAe;AAAA,EACjD,KAAK,UAAuC;AAAA;AAAA;AAK9C,qCAAqC,eAA8C;AAAA,EAAnF;AAAA;AACU,kCAAwB;AAAA;AAAA,EAEhC,KAAK,SAA8C;;YACzC,QAAQ;AAAA,WACT,kCAAkC,0BAA0B;gBACvD,QAAQ;AAAA,eACT,gBAAgB;uBACd,8BAAQ,WAAW;;eAGrB,gBAAgB;uBACd,8BAAQ,QAAQ;;;;;;;EAS/B,eAAe,QAAgB;SACxB,SAAS;SAET,KAAK;AAAA,MACR,MAAM,kCAAkC;AAAA,MACxC,OAAO,OAAO,MAAM,OAAO,EAAE,mBAAmB;AAAA;AAAA;AAAA,EAIpD,SAAS,QAAuB;SACzB,KAAK;AAAA,MACR,MAAM,kCAAkC;AAAA,MACxC,OAAO,OAAO,MAAM,OAAO,EAAE,mBAAmB;AAAA;AAAA;AAAA,EAIpD,QAAQ;SACD,KAAK,EAAE,MAAM,kCAAkC;AAAA;AAAA,EAGtD,OAAO;SACA,KAAK,EAAE,MAAM,kCAAkC;AAAA;AAAA,EAGtD,OAAO;SACA,KAAK,EAAE,MAAM,kCAAkC;AAAA;AAAA,EAGtD,OAAO;SACA,KAAK,EAAE,MAAM,kCAAkC;AAAA;AAAA;8BAmBnB,YAAwB,MAA4B;UAC/E,WAAW;AAAA,SACZA,kBAAM;aACF,IAAI,uBAAuB;AAAA;aAG3B,IAAI,sBAAsB;AAAA;AAAA;;;"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import { T as Types } from "./descriptors.es.js";
|
|
8
|
+
const BuilderEditMode = {
|
|
9
|
+
BUILD: "build",
|
|
10
|
+
CONTENT: "content"
|
|
11
|
+
};
|
|
12
|
+
const RichTextPropControllerMessageType = {
|
|
13
|
+
CHANGE_BUILDER_EDIT_MODE: "CHANGE_BUILDER_EDIT_MODE",
|
|
14
|
+
INITIALIZE_EDITOR: "INITIALIZE_EDITOR",
|
|
15
|
+
CHANGE_EDITOR_VALUE: "CHANGE_EDITOR_VALUE",
|
|
16
|
+
FOCUS: "FOCUS",
|
|
17
|
+
BLUR: "BLUR",
|
|
18
|
+
UNDO: "UNDO",
|
|
19
|
+
REDO: "REDO"
|
|
20
|
+
};
|
|
21
|
+
class PropController {
|
|
22
|
+
constructor(send) {
|
|
23
|
+
__publicField(this, "send");
|
|
24
|
+
this.send = send;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
class DefaultPropController extends PropController {
|
|
28
|
+
recv(_message) {
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
class RichTextPropController extends PropController {
|
|
32
|
+
constructor() {
|
|
33
|
+
super(...arguments);
|
|
34
|
+
__publicField(this, "editor", null);
|
|
35
|
+
}
|
|
36
|
+
recv(message) {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
switch (message.type) {
|
|
39
|
+
case RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE: {
|
|
40
|
+
switch (message.editMode) {
|
|
41
|
+
case BuilderEditMode.BUILD:
|
|
42
|
+
(_a = this.editor) == null ? void 0 : _a.deselect().blur();
|
|
43
|
+
break;
|
|
44
|
+
case BuilderEditMode.CONTENT:
|
|
45
|
+
(_b = this.editor) == null ? void 0 : _b.focus().moveToRangeOfDocument();
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
setSlateEditor(editor) {
|
|
53
|
+
this.editor = editor;
|
|
54
|
+
this.send({
|
|
55
|
+
type: RichTextPropControllerMessageType.INITIALIZE_EDITOR,
|
|
56
|
+
value: editor.value.toJSON({ preserveSelection: false })
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
onChange(change) {
|
|
60
|
+
this.send({
|
|
61
|
+
type: RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE,
|
|
62
|
+
value: change.value.toJSON({ preserveSelection: true })
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
focus() {
|
|
66
|
+
this.send({ type: RichTextPropControllerMessageType.FOCUS });
|
|
67
|
+
}
|
|
68
|
+
blur() {
|
|
69
|
+
this.send({ type: RichTextPropControllerMessageType.BLUR });
|
|
70
|
+
}
|
|
71
|
+
undo() {
|
|
72
|
+
this.send({ type: RichTextPropControllerMessageType.UNDO });
|
|
73
|
+
}
|
|
74
|
+
redo() {
|
|
75
|
+
this.send({ type: RichTextPropControllerMessageType.REDO });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function createPropController(descriptor, send) {
|
|
79
|
+
switch (descriptor.type) {
|
|
80
|
+
case Types.RichText:
|
|
81
|
+
return new RichTextPropController(send);
|
|
82
|
+
default:
|
|
83
|
+
return new DefaultPropController(send);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
export { RichTextPropControllerMessageType as R, createPropController as c };
|
|
87
|
+
//# sourceMappingURL=instances.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instances.es.js","sources":["../src/utils/constants.ts","../src/prop-controllers/instances.ts"],"sourcesContent":["export const BuilderEditMode = {\n BUILD: 'build',\n CONTENT: 'content',\n} as const\n\nexport type BuilderEditMode = typeof BuilderEditMode[keyof typeof BuilderEditMode]\n","import { Editor } from 'slate-react'\nimport { ValueJSON } from 'slate'\nimport { OnChangeParam } from 'slate-react'\nimport { Descriptor, RichTextDescriptor, Types } from './descriptors'\nimport { BuilderEditMode } from '../utils/constants'\n\nexport const RichTextPropControllerMessageType = {\n CHANGE_BUILDER_EDIT_MODE: 'CHANGE_BUILDER_EDIT_MODE',\n INITIALIZE_EDITOR: 'INITIALIZE_EDITOR',\n CHANGE_EDITOR_VALUE: 'CHANGE_EDITOR_VALUE',\n FOCUS: 'FOCUS',\n BLUR: 'BLUR',\n UNDO: 'UNDO',\n REDO: 'REDO',\n} as const\n\ntype ChangeBuilderEditModeRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE\n editMode: BuilderEditMode\n}\n\ntype InitializeEditorRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.INITIALIZE_EDITOR\n value: ValueJSON\n}\n\ntype ChangeEditorValueRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE\n value: ValueJSON\n}\n\ntype FocusRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.FOCUS }\n\ntype BlurRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.BLUR }\n\ntype UndoRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.UNDO }\n\ntype RedoRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.REDO }\n\nexport type RichTextPropControllerMessage =\n | ChangeBuilderEditModeRichTextPropControllerMessage\n | InitializeEditorRichTextPropControllerMessage\n | ChangeEditorValueRichTextPropControllerMessage\n | FocusRichTextPropControllerMessage\n | BlurRichTextPropControllerMessage\n | UndoRichTextPropControllerMessage\n | RedoRichTextPropControllerMessage\n\nexport type PropControllerMessage = RichTextPropControllerMessage\n\ntype Send<T = PropControllerMessage> = (message: T) => void\n\nexport abstract class PropController<T = PropControllerMessage> {\n protected send: Send<T>\n\n constructor(send: Send<T>) {\n this.send = send\n }\n\n abstract recv(message: T): void\n}\n\nclass DefaultPropController extends PropController {\n recv(_message: PropControllerMessage): void {\n // Do nothing.\n }\n}\n\nclass RichTextPropController extends PropController<RichTextPropControllerMessage> {\n private editor: Editor | null = null\n\n recv(message: RichTextPropControllerMessage): void {\n switch (message.type) {\n case RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE: {\n switch (message.editMode) {\n case BuilderEditMode.BUILD:\n this.editor?.deselect().blur()\n break\n\n case BuilderEditMode.CONTENT:\n this.editor?.focus().moveToRangeOfDocument()\n break\n }\n\n break\n }\n }\n }\n\n setSlateEditor(editor: Editor) {\n this.editor = editor\n\n this.send({\n type: RichTextPropControllerMessageType.INITIALIZE_EDITOR,\n value: editor.value.toJSON({ preserveSelection: false }),\n })\n }\n\n onChange(change: OnChangeParam) {\n this.send({\n type: RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE,\n value: change.value.toJSON({ preserveSelection: true }),\n })\n }\n\n focus() {\n this.send({ type: RichTextPropControllerMessageType.FOCUS })\n }\n\n blur() {\n this.send({ type: RichTextPropControllerMessageType.BLUR })\n }\n\n undo() {\n this.send({ type: RichTextPropControllerMessageType.UNDO })\n }\n\n redo() {\n this.send({ type: RichTextPropControllerMessageType.REDO })\n }\n}\n\ntype DescriptorPropController<T extends Descriptor> = T extends { type: typeof Types.RichText }\n ? RichTextPropController\n : DefaultPropController\n\nexport type DescriptorsPropControllers<T extends Record<string, Descriptor>> = {\n [K in keyof T]: undefined extends T[K]\n ? DescriptorPropController<Exclude<T[K], undefined>>\n : DescriptorPropController<T[K]>\n}\n\nexport function createPropController(\n descriptor: RichTextDescriptor,\n send: Send<RichTextPropControllerMessage>,\n): RichTextPropController\nexport function createPropController(descriptor: Descriptor, send: Send): PropController\nexport function createPropController(descriptor: Descriptor, send: Send): PropController {\n switch (descriptor.type) {\n case Types.RichText:\n return new RichTextPropController(send)\n\n default:\n return new DefaultPropController(send)\n }\n}\n"],"names":[],"mappings":";;;;;;;MAAa,kBAAkB;AAAA,EAC7B,OAAO;AAAA,EACP,SAAS;AAAA;MCIE,oCAAoC;AAAA,EAC/C,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA;qBAuCwD;AAAA,EAG9D,YAAY,MAAe;AAFjB;SAGH,OAAO;AAAA;AAAA;AAMhB,oCAAoC,eAAe;AAAA,EACjD,KAAK,UAAuC;AAAA;AAAA;AAK9C,qCAAqC,eAA8C;AAAA,EAAnF;AAAA;AACU,kCAAwB;AAAA;AAAA,EAEhC,KAAK,SAA8C;;YACzC,QAAQ;AAAA,WACT,kCAAkC,0BAA0B;gBACvD,QAAQ;AAAA,eACT,gBAAgB;uBACd,8BAAQ,WAAW;;eAGrB,gBAAgB;uBACd,8BAAQ,QAAQ;;;;;;;EAS/B,eAAe,QAAgB;SACxB,SAAS;SAET,KAAK;AAAA,MACR,MAAM,kCAAkC;AAAA,MACxC,OAAO,OAAO,MAAM,OAAO,EAAE,mBAAmB;AAAA;AAAA;AAAA,EAIpD,SAAS,QAAuB;SACzB,KAAK;AAAA,MACR,MAAM,kCAAkC;AAAA,MACxC,OAAO,OAAO,MAAM,OAAO,EAAE,mBAAmB;AAAA;AAAA;AAAA,EAIpD,QAAQ;SACD,KAAK,EAAE,MAAM,kCAAkC;AAAA;AAAA,EAGtD,OAAO;SACA,KAAK,EAAE,MAAM,kCAAkC;AAAA;AAAA,EAGtD,OAAO;SACA,KAAK,EAAE,MAAM,kCAAkC;AAAA;AAAA,EAGtD,OAAO;SACA,KAAK,EAAE,MAAM,kCAAkC;AAAA;AAAA;8BAmBnB,YAAwB,MAA4B;UAC/E,WAAW;AAAA,SACZ,MAAM;aACF,IAAI,uBAAuB;AAAA;aAG3B,IAAI,sBAAsB;AAAA;AAAA;;"}
|
package/dist/main.cjs.js
CHANGED
|
@@ -5,4 +5,5 @@ var actions = require("./actions.cjs.js");
|
|
|
5
5
|
exports.ActionTypes = actions.ActionTypes;
|
|
6
6
|
exports.changeDocument = actions.changeDocument;
|
|
7
7
|
exports.changeDocumentElementScrollTop = actions.changeDocumentElementScrollTop;
|
|
8
|
+
exports.messageHostPropController = actions.messageHostPropController;
|
|
8
9
|
//# sourceMappingURL=main.cjs.js.map
|
package/dist/main.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
package/dist/main.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as ActionTypes, c as changeDocument, a as changeDocumentElementScrollTop } from "./actions.es.js";
|
|
1
|
+
export { A as ActionTypes, c as changeDocument, a as changeDocumentElementScrollTop, m as messageHostPropController } from "./actions.es.js";
|
|
2
2
|
//# sourceMappingURL=main.es.js.map
|
|
@@ -2,5 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports[Symbol.toStringTag] = "Module";
|
|
4
4
|
var descriptors = require("./descriptors.cjs.js");
|
|
5
|
+
var instances = require("./instances.cjs.js");
|
|
5
6
|
exports.Props = descriptors.descriptors;
|
|
7
|
+
exports.RichTextPropControllerMessageType = instances.RichTextPropControllerMessageType;
|
|
6
8
|
//# sourceMappingURL=prop-controllers.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prop-controllers.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prop-controllers.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prop-controllers.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prop-controllers.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __spreadValues = (a, b) => {
|
|
10
|
+
for (var prop in b || (b = {}))
|
|
11
|
+
if (__hasOwnProp.call(b, prop))
|
|
12
|
+
__defNormalProp(a, prop, b[prop]);
|
|
13
|
+
if (__getOwnPropSymbols)
|
|
14
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
+
if (__propIsEnum.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
}
|
|
18
|
+
return a;
|
|
19
|
+
};
|
|
20
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
2
21
|
exports[Symbol.toStringTag] = "Module";
|
|
3
22
|
var react = require("./react.cjs2.js");
|
|
4
23
|
var actions = require("./actions.cjs.js");
|
|
5
24
|
var boxModels = require("./box-models.cjs.js");
|
|
25
|
+
var instances = require("./instances.cjs.js");
|
|
6
26
|
require("react");
|
|
7
27
|
require("./descriptors.cjs.js");
|
|
8
28
|
require("react/jsx-runtime");
|
|
@@ -688,9 +708,9 @@ function nextHash() {
|
|
|
688
708
|
var usingWeakMap = typeof WeakMap === "function";
|
|
689
709
|
var weakMap;
|
|
690
710
|
if (usingWeakMap) {
|
|
691
|
-
weakMap = new WeakMap();
|
|
711
|
+
weakMap = /* @__PURE__ */ new WeakMap();
|
|
692
712
|
}
|
|
693
|
-
var symbolMap = Object.create(null);
|
|
713
|
+
var symbolMap = /* @__PURE__ */ Object.create(null);
|
|
694
714
|
var _objHashUID = 0;
|
|
695
715
|
var UID_HASH_KEY = "__immutablehash__";
|
|
696
716
|
if (typeof Symbol === "function") {
|
|
@@ -4104,7 +4124,7 @@ function apply(data, operation) {
|
|
|
4104
4124
|
});
|
|
4105
4125
|
return applied;
|
|
4106
4126
|
}
|
|
4107
|
-
function getInitialState({
|
|
4127
|
+
function getInitialState$1({
|
|
4108
4128
|
rootElements
|
|
4109
4129
|
} = {}) {
|
|
4110
4130
|
return react.getInitialState({ rootElements });
|
|
@@ -4115,7 +4135,7 @@ function getReadOnlyDocumentsStateSlice(state) {
|
|
|
4115
4135
|
function getDocumentRootElement(state, documentKey) {
|
|
4116
4136
|
return react.getDocumentRootElement(getReadOnlyDocumentsStateSlice(state), documentKey);
|
|
4117
4137
|
}
|
|
4118
|
-
function reducer$
|
|
4138
|
+
function reducer$2(state = getInitialState$1(), action) {
|
|
4119
4139
|
switch (action.type) {
|
|
4120
4140
|
case actions.ActionTypes.CHANGE_DOCUMENT: {
|
|
4121
4141
|
const currentRootElement = getDocumentRootElement(state, action.payload.documentKey);
|
|
@@ -4128,13 +4148,62 @@ function reducer$1(state = getInitialState(), action) {
|
|
|
4128
4148
|
return state;
|
|
4129
4149
|
}
|
|
4130
4150
|
}
|
|
4151
|
+
function isPropControllersHandle(value) {
|
|
4152
|
+
if (typeof value === "object" && value !== null && "setPropControllers" in value && typeof value.setPropControllers === "function") {
|
|
4153
|
+
return true;
|
|
4154
|
+
}
|
|
4155
|
+
return false;
|
|
4156
|
+
}
|
|
4157
|
+
function getInitialState() {
|
|
4158
|
+
return { handles: /* @__PURE__ */ new Map(), instances: /* @__PURE__ */ new Map() };
|
|
4159
|
+
}
|
|
4160
|
+
function getPropControllersHandle(state, documentKey, elementKey) {
|
|
4161
|
+
var _a, _b;
|
|
4162
|
+
return (_b = (_a = state.handles.get(documentKey)) == null ? void 0 : _a.get(elementKey)) != null ? _b : null;
|
|
4163
|
+
}
|
|
4164
|
+
function getPropController(state, documentKey, elementKey, propName) {
|
|
4165
|
+
var _a, _b, _c;
|
|
4166
|
+
return (_c = (_b = (_a = state.instances.get(documentKey)) == null ? void 0 : _a.get(elementKey)) == null ? void 0 : _b[propName]) != null ? _c : null;
|
|
4167
|
+
}
|
|
4168
|
+
function reducer$1(state = getInitialState(), action) {
|
|
4169
|
+
var _a, _b, _c, _d;
|
|
4170
|
+
switch (action.type) {
|
|
4171
|
+
case actions.ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE: {
|
|
4172
|
+
const { documentKey, elementKey, handle } = action.payload;
|
|
4173
|
+
return __spreadProps(__spreadValues({}, state), {
|
|
4174
|
+
handles: new Map(state.handles).set(documentKey, new Map((_a = state.handles.get(documentKey)) != null ? _a : []).set(elementKey, handle))
|
|
4175
|
+
});
|
|
4176
|
+
}
|
|
4177
|
+
case actions.ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE: {
|
|
4178
|
+
const { documentKey, elementKey } = action.payload;
|
|
4179
|
+
const nextHandles = new Map((_b = state.handles.get(documentKey)) != null ? _b : []);
|
|
4180
|
+
const deleted = nextHandles.delete(elementKey);
|
|
4181
|
+
return deleted ? __spreadProps(__spreadValues({}, state), { handles: new Map(state.handles).set(documentKey, nextHandles) }) : state;
|
|
4182
|
+
}
|
|
4183
|
+
case actions.ActionTypes.REGISTER_PROP_CONTROLLERS: {
|
|
4184
|
+
const { documentKey, elementKey, propControllers } = action.payload;
|
|
4185
|
+
return __spreadProps(__spreadValues({}, state), {
|
|
4186
|
+
instances: new Map(state.instances).set(documentKey, new Map((_c = state.instances.get(documentKey)) != null ? _c : []).set(elementKey, propControllers))
|
|
4187
|
+
});
|
|
4188
|
+
}
|
|
4189
|
+
case actions.ActionTypes.UNREGISTER_PROP_CONTROLLERS: {
|
|
4190
|
+
const { documentKey, elementKey } = action.payload;
|
|
4191
|
+
const nextInstances = new Map((_d = state.instances.get(documentKey)) != null ? _d : []);
|
|
4192
|
+
const deleted = nextInstances.delete(elementKey);
|
|
4193
|
+
return deleted ? __spreadProps(__spreadValues({}, state), { instances: new Map(state.instances).set(documentKey, nextInstances) }) : state;
|
|
4194
|
+
}
|
|
4195
|
+
default:
|
|
4196
|
+
return state;
|
|
4197
|
+
}
|
|
4198
|
+
}
|
|
4131
4199
|
const reducer = react.combineReducers({
|
|
4132
|
-
documents: reducer$
|
|
4200
|
+
documents: reducer$2,
|
|
4133
4201
|
reactComponents: react.reducer,
|
|
4134
4202
|
boxModels: boxModels.reducer,
|
|
4135
4203
|
componentsMeta: react.reducer$1,
|
|
4136
4204
|
propControllers: react.reducer$2,
|
|
4137
|
-
|
|
4205
|
+
propControllerHandles: reducer$1,
|
|
4206
|
+
isInBuilder: (_state = true, _action) => true
|
|
4138
4207
|
});
|
|
4139
4208
|
function getBoxModelsStateSlice(state) {
|
|
4140
4209
|
return state.boxModels;
|
|
@@ -4145,8 +4214,8 @@ function getMeasurables(state) {
|
|
|
4145
4214
|
function getBoxModels(state) {
|
|
4146
4215
|
return boxModels.getBoxModels(getBoxModelsStateSlice(state));
|
|
4147
4216
|
}
|
|
4148
|
-
function getBoxModel(state, elementKey) {
|
|
4149
|
-
return boxModels.getBoxModel(getBoxModelsStateSlice(state), elementKey);
|
|
4217
|
+
function getBoxModel(state, documentKey, elementKey) {
|
|
4218
|
+
return boxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey);
|
|
4150
4219
|
}
|
|
4151
4220
|
function getComponentsMetaStateSlice(state) {
|
|
4152
4221
|
return state.componentsMeta;
|
|
@@ -4160,31 +4229,52 @@ function getPropControllersStateSlice(state) {
|
|
|
4160
4229
|
function getComponentPropControllerDescriptors(state, componentType) {
|
|
4161
4230
|
return react.getComponentPropControllerDescriptors(getPropControllersStateSlice(state), componentType);
|
|
4162
4231
|
}
|
|
4232
|
+
function getPropControllerHandlesStateSlice(state) {
|
|
4233
|
+
return state.propControllerHandles;
|
|
4234
|
+
}
|
|
4163
4235
|
function measureElements() {
|
|
4164
4236
|
return (dispatch, getState) => {
|
|
4165
4237
|
const measurables = getMeasurables(getState());
|
|
4166
4238
|
const currentBoxModels = getBoxModels(getState());
|
|
4167
|
-
const measuredBoxModels = new Map(
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
const currentBoxModel = getBoxModel(getState(), elementKey);
|
|
4178
|
-
if (currentBoxModel == null || !deepEqual$1(currentBoxModel, measuredBoxModel)) {
|
|
4179
|
-
changedBoxModels.set(elementKey, measuredBoxModel);
|
|
4239
|
+
const measuredBoxModels = /* @__PURE__ */ new Map();
|
|
4240
|
+
measurables.forEach((documentMeasurables, documentKey) => {
|
|
4241
|
+
const measuredDocumentBoxModels = /* @__PURE__ */ new Map();
|
|
4242
|
+
documentMeasurables.forEach((measurable, elementKey) => {
|
|
4243
|
+
const boxModel = boxModels.measure(measurable);
|
|
4244
|
+
if (boxModel != null)
|
|
4245
|
+
measuredDocumentBoxModels.set(elementKey, boxModel);
|
|
4246
|
+
});
|
|
4247
|
+
if (measuredDocumentBoxModels.size > 0) {
|
|
4248
|
+
measuredBoxModels.set(documentKey, measuredDocumentBoxModels);
|
|
4180
4249
|
}
|
|
4181
4250
|
});
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4251
|
+
const changedBoxModels = /* @__PURE__ */ new Map();
|
|
4252
|
+
currentBoxModels.forEach((currentDocumentBoxModels, documentKey) => {
|
|
4253
|
+
currentDocumentBoxModels.forEach((_boxModel, elementKey) => {
|
|
4254
|
+
var _a;
|
|
4255
|
+
const changedDocumentBoxModels = /* @__PURE__ */ new Map();
|
|
4256
|
+
if (!((_a = measuredBoxModels.get(documentKey)) == null ? void 0 : _a.has(elementKey))) {
|
|
4257
|
+
changedDocumentBoxModels.set(elementKey, null);
|
|
4258
|
+
}
|
|
4259
|
+
if (changedDocumentBoxModels.size > 0) {
|
|
4260
|
+
changedBoxModels.set(documentKey, changedDocumentBoxModels);
|
|
4261
|
+
}
|
|
4186
4262
|
});
|
|
4187
|
-
}
|
|
4263
|
+
});
|
|
4264
|
+
measuredBoxModels.forEach((measuredDocumentBoxModels, documentKey) => {
|
|
4265
|
+
const changedDocumentBoxModels = /* @__PURE__ */ new Map();
|
|
4266
|
+
measuredDocumentBoxModels.forEach((measuredBoxModel, elementKey) => {
|
|
4267
|
+
const currentBoxModel = getBoxModel(getState(), documentKey, elementKey);
|
|
4268
|
+
if (currentBoxModel == null || !deepEqual$1(currentBoxModel, measuredBoxModel)) {
|
|
4269
|
+
changedDocumentBoxModels.set(elementKey, measuredBoxModel);
|
|
4270
|
+
}
|
|
4271
|
+
});
|
|
4272
|
+
if (changedDocumentBoxModels.size > 0) {
|
|
4273
|
+
changedBoxModels.set(documentKey, changedDocumentBoxModels);
|
|
4274
|
+
}
|
|
4275
|
+
});
|
|
4276
|
+
if (changedBoxModels.size > 0)
|
|
4277
|
+
dispatch(actions.changeElementBoxModels(changedBoxModels));
|
|
4188
4278
|
};
|
|
4189
4279
|
}
|
|
4190
4280
|
function startMeasuringElements() {
|
|
@@ -4242,16 +4332,14 @@ function measureBoxModelsMiddleware() {
|
|
|
4242
4332
|
return ({ dispatch }) => (next) => {
|
|
4243
4333
|
return (action) => {
|
|
4244
4334
|
switch (action.type) {
|
|
4245
|
-
case actions.ActionTypes.
|
|
4335
|
+
case actions.ActionTypes.REGISTER_COMPONENT_HANDLE: {
|
|
4246
4336
|
if (boxModels.isMeasurable(action.payload.componentHandle)) {
|
|
4247
|
-
dispatch(actions.registerMeasurable(action.payload.elementKey, action.payload.componentHandle));
|
|
4248
|
-
} else {
|
|
4249
|
-
dispatch(actions.unregisterMeasurable(action.payload.elementKey));
|
|
4337
|
+
dispatch(actions.registerMeasurable(action.payload.documentKey, action.payload.elementKey, action.payload.componentHandle));
|
|
4250
4338
|
}
|
|
4251
4339
|
break;
|
|
4252
4340
|
}
|
|
4253
|
-
case actions.ActionTypes.
|
|
4254
|
-
dispatch(actions.unregisterMeasurable(action.payload.elementKey));
|
|
4341
|
+
case actions.ActionTypes.UNREGISTER_COMPONENT_HANDLE:
|
|
4342
|
+
dispatch(actions.unregisterMeasurable(action.payload.documentKey, action.payload.elementKey));
|
|
4255
4343
|
break;
|
|
4256
4344
|
}
|
|
4257
4345
|
return next(action);
|
|
@@ -4279,6 +4367,7 @@ function messageChannelMiddleware() {
|
|
|
4279
4367
|
case actions.ActionTypes.REGISTER_COMPONENT:
|
|
4280
4368
|
case actions.ActionTypes.UNREGISTER_COMPONENT:
|
|
4281
4369
|
case actions.ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE:
|
|
4370
|
+
case actions.ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER:
|
|
4282
4371
|
messageChannel.port1.postMessage(action);
|
|
4283
4372
|
break;
|
|
4284
4373
|
case actions.ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP:
|
|
@@ -4289,10 +4378,60 @@ function messageChannelMiddleware() {
|
|
|
4289
4378
|
};
|
|
4290
4379
|
};
|
|
4291
4380
|
}
|
|
4381
|
+
function createAndRegisterPropControllers(documentKey, elementKey) {
|
|
4382
|
+
return (dispatch, getState) => {
|
|
4383
|
+
const descriptors = react.getElementPropControllerDescriptors(getState(), documentKey, elementKey);
|
|
4384
|
+
if (descriptors == null)
|
|
4385
|
+
return null;
|
|
4386
|
+
const propControllers = Object.entries(descriptors).reduce((acc, [propName, descriptor]) => {
|
|
4387
|
+
const propController = instances.createPropController(descriptor, (message) => dispatch(actions.messageBuilderPropController(documentKey, elementKey, propName, message)));
|
|
4388
|
+
return __spreadProps(__spreadValues({}, acc), { [propName]: propController });
|
|
4389
|
+
}, {});
|
|
4390
|
+
dispatch(actions.registerPropControllers(documentKey, elementKey, propControllers));
|
|
4391
|
+
return propControllers;
|
|
4392
|
+
};
|
|
4393
|
+
}
|
|
4394
|
+
function registerAndSetPropControllersHandle(documentKey, elementKey, handle) {
|
|
4395
|
+
return (dispatch) => {
|
|
4396
|
+
dispatch(actions.registerPropControllersHandle(documentKey, elementKey, handle));
|
|
4397
|
+
const propControllers = dispatch(createAndRegisterPropControllers(documentKey, elementKey));
|
|
4398
|
+
handle.setPropControllers(propControllers);
|
|
4399
|
+
};
|
|
4400
|
+
}
|
|
4401
|
+
function unregisterAndUnsetPropControllersHandle(documentKey, elementKey) {
|
|
4402
|
+
return (dispatch, getState) => {
|
|
4403
|
+
const handle = getPropControllersHandle(getPropControllerHandlesStateSlice(getState()), documentKey, elementKey);
|
|
4404
|
+
handle == null ? void 0 : handle.setPropControllers(null);
|
|
4405
|
+
dispatch(actions.unregisterPropControllers(documentKey, elementKey));
|
|
4406
|
+
};
|
|
4407
|
+
}
|
|
4408
|
+
function propControllerHandlesMiddleware() {
|
|
4409
|
+
return ({ dispatch, getState }) => (next) => {
|
|
4410
|
+
return (action) => {
|
|
4411
|
+
switch (action.type) {
|
|
4412
|
+
case actions.ActionTypes.REGISTER_COMPONENT_HANDLE: {
|
|
4413
|
+
if (isPropControllersHandle(action.payload.componentHandle)) {
|
|
4414
|
+
dispatch(registerAndSetPropControllersHandle(action.payload.documentKey, action.payload.elementKey, action.payload.componentHandle));
|
|
4415
|
+
}
|
|
4416
|
+
break;
|
|
4417
|
+
}
|
|
4418
|
+
case actions.ActionTypes.UNREGISTER_COMPONENT_HANDLE:
|
|
4419
|
+
dispatch(unregisterAndUnsetPropControllersHandle(action.payload.documentKey, action.payload.elementKey));
|
|
4420
|
+
break;
|
|
4421
|
+
case actions.ActionTypes.MESSAGE_HOST_PROP_CONTROLLER: {
|
|
4422
|
+
const propController = getPropController(getPropControllerHandlesStateSlice(getState()), action.payload.documentKey, action.payload.elementKey, action.payload.propName);
|
|
4423
|
+
if (propController)
|
|
4424
|
+
propController.recv(action.payload.message);
|
|
4425
|
+
}
|
|
4426
|
+
}
|
|
4427
|
+
return next(action);
|
|
4428
|
+
};
|
|
4429
|
+
};
|
|
4430
|
+
}
|
|
4292
4431
|
function configureStore({
|
|
4293
4432
|
preloadedState
|
|
4294
4433
|
} = {}) {
|
|
4295
|
-
return react.createStore(reducer, preloadedState, react.applyMiddleware(react.thunk, measureBoxModelsMiddleware(), messageChannelMiddleware()));
|
|
4434
|
+
return react.createStore(reducer, preloadedState, react.applyMiddleware(react.thunk, measureBoxModelsMiddleware(), messageChannelMiddleware(), propControllerHandlesMiddleware()));
|
|
4296
4435
|
}
|
|
4297
4436
|
exports.createBox = boxModels.createBox;
|
|
4298
4437
|
exports.getBox = boxModels.getBox;
|