@makeswift/runtime 0.26.0 → 0.26.1-canary.0
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/dist/cjs/api-handler/handlers/manifest.js +1 -1
- package/dist/cjs/builder/index.js +22 -18
- package/dist/cjs/builder/index.js.map +1 -1
- package/dist/cjs/builder/serialization/control-serialization.js +7 -3
- package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
- package/dist/cjs/controls/rich-text-v2/rich-text-v2.js +0 -21
- package/dist/cjs/controls/rich-text-v2/rich-text-v2.js.map +1 -1
- package/dist/cjs/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js +72 -0
- package/dist/cjs/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js.map +1 -0
- package/dist/cjs/controls/visitors/message-port-serializer/function-serialization.js +79 -0
- package/dist/cjs/controls/visitors/message-port-serializer/function-serialization.js.map +1 -0
- package/dist/cjs/controls/visitors/message-port-serializer/index.js +36 -0
- package/dist/cjs/controls/visitors/message-port-serializer/index.js.map +1 -0
- package/dist/cjs/next/hooks/use-router-locale-sync.js +2 -2
- package/dist/cjs/next/hooks/use-router-locale-sync.js.map +1 -1
- package/dist/cjs/runtimes/react/components/ElementRegistration.js +4 -3
- package/dist/cjs/runtimes/react/components/ElementRegistration.js.map +1 -1
- package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js +5 -10
- package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-cache-data.js +2 -2
- package/dist/cjs/runtimes/react/hooks/use-cache-data.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-register-document.js +5 -4
- package/dist/cjs/runtimes/react/hooks/use-register-document.js.map +1 -1
- package/dist/cjs/runtimes/react/react-runtime-core.js +4 -3
- package/dist/cjs/runtimes/react/react-runtime-core.js.map +1 -1
- package/dist/cjs/state/actions/index.js +42 -0
- package/dist/cjs/state/actions/index.js.map +1 -0
- package/dist/cjs/state/actions/internal.js +174 -0
- package/dist/cjs/state/actions/internal.js.map +1 -0
- package/dist/cjs/state/builder-api.js +150 -0
- package/dist/cjs/state/builder-api.js.map +1 -0
- package/dist/cjs/state/host-api.js +103 -0
- package/dist/cjs/state/host-api.js.map +1 -0
- package/dist/cjs/state/makeswift-api-client.js +4 -2
- package/dist/cjs/state/makeswift-api-client.js.map +1 -1
- package/dist/cjs/state/react-builder-preview.js +21 -18
- package/dist/cjs/state/react-builder-preview.js.map +1 -1
- package/dist/cjs/state/react-page.js +5 -4
- package/dist/cjs/state/react-page.js.map +1 -1
- package/dist/cjs/state/shared-api.js +117 -0
- package/dist/cjs/state/shared-api.js.map +1 -0
- package/dist/esm/api-handler/handlers/manifest.js +1 -1
- package/dist/esm/builder/index.js +13 -9
- package/dist/esm/builder/index.js.map +1 -1
- package/dist/esm/builder/serialization/control-serialization.js +10 -3
- package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
- package/dist/esm/controls/rich-text-v2/rich-text-v2.js +0 -22
- package/dist/esm/controls/rich-text-v2/rich-text-v2.js.map +1 -1
- package/dist/esm/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js +53 -0
- package/dist/esm/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js.map +1 -0
- package/dist/esm/controls/visitors/message-port-serializer/function-serialization.js +52 -0
- package/dist/esm/controls/visitors/message-port-serializer/function-serialization.js.map +1 -0
- package/dist/esm/controls/visitors/message-port-serializer/index.js +13 -0
- package/dist/esm/controls/visitors/message-port-serializer/index.js.map +1 -0
- package/dist/esm/next/hooks/use-router-locale-sync.js +1 -1
- package/dist/esm/next/hooks/use-router-locale-sync.js.map +1 -1
- package/dist/esm/runtimes/react/components/ElementRegistration.js +2 -1
- package/dist/esm/runtimes/react/components/ElementRegistration.js.map +1 -1
- package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js +5 -10
- package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-cache-data.js +1 -1
- package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-register-document.js +2 -5
- package/dist/esm/runtimes/react/hooks/use-register-document.js.map +1 -1
- package/dist/esm/runtimes/react/react-runtime-core.js +2 -1
- package/dist/esm/runtimes/react/react-runtime-core.js.map +1 -1
- package/dist/esm/state/actions/index.js +17 -0
- package/dist/esm/state/actions/index.js.map +1 -0
- package/dist/esm/state/actions/internal.js +135 -0
- package/dist/esm/state/actions/internal.js.map +1 -0
- package/dist/esm/state/builder-api.js +110 -0
- package/dist/esm/state/builder-api.js.map +1 -0
- package/dist/esm/state/host-api.js +68 -0
- package/dist/esm/state/host-api.js.map +1 -0
- package/dist/esm/state/makeswift-api-client.js +3 -1
- package/dist/esm/state/makeswift-api-client.js.map +1 -1
- package/dist/esm/state/react-builder-preview.js +10 -8
- package/dist/esm/state/react-builder-preview.js.map +1 -1
- package/dist/esm/state/react-page.js +3 -7
- package/dist/esm/state/react-page.js.map +1 -1
- package/dist/esm/state/shared-api.js +83 -0
- package/dist/esm/state/shared-api.js.map +1 -0
- package/dist/types/builder/index.d.ts +3 -2
- package/dist/types/builder/index.d.ts.map +1 -1
- package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
- package/dist/types/client/index.d.ts +16 -16
- package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +1 -2
- package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
- package/dist/types/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.d.ts +9 -0
- package/dist/types/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.d.ts.map +1 -0
- package/dist/types/controls/visitors/message-port-serializer/function-serialization.d.ts +16 -0
- package/dist/types/controls/visitors/message-port-serializer/function-serialization.d.ts.map +1 -0
- package/dist/types/controls/visitors/message-port-serializer/function-serialization.test.d.ts +2 -0
- package/dist/types/controls/visitors/message-port-serializer/function-serialization.test.d.ts.map +1 -0
- package/dist/types/controls/visitors/message-port-serializer/index.d.ts +3 -0
- package/dist/types/controls/visitors/message-port-serializer/index.d.ts.map +1 -0
- package/dist/types/locale.d.ts +1 -1
- package/dist/types/runtimes/react/components/ElementRegistration.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-register-document.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-store.d.ts +1 -1
- package/dist/types/runtimes/react/react-runtime-core.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
- package/dist/types/state/actions/index.d.ts +58 -0
- package/dist/types/state/actions/index.d.ts.map +1 -0
- package/dist/types/state/actions/internal.d.ts +154 -0
- package/dist/types/state/actions/internal.d.ts.map +1 -0
- package/dist/types/state/builder-api.d.ts +163 -0
- package/dist/types/state/builder-api.d.ts.map +1 -0
- package/dist/types/state/host-api.d.ts +109 -0
- package/dist/types/state/host-api.d.ts.map +1 -0
- package/dist/types/state/makeswift-api-client.d.ts.map +1 -1
- package/dist/types/state/react-builder-preview.d.ts.map +1 -1
- package/dist/types/state/react-page.d.ts.map +1 -1
- package/dist/types/state/shared-api.d.ts +104 -0
- package/dist/types/state/shared-api.d.ts.map +1 -0
- package/package.json +3 -3
- package/dist/cjs/state/actions.js +0 -423
- package/dist/cjs/state/actions.js.map +0 -1
- package/dist/esm/state/actions.js +0 -349
- package/dist/esm/state/actions.js.map +0 -1
- package/dist/types/state/actions.d.ts +0 -461
- package/dist/types/state/actions.d.ts.map +0 -1
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var builder_api_exports = {};
|
|
20
|
+
__export(builder_api_exports, {
|
|
21
|
+
BuilderActionTypes: () => BuilderActionTypes,
|
|
22
|
+
changeDocumentElementSize: () => changeDocumentElementSize,
|
|
23
|
+
changeElementBoxModels: () => changeElementBoxModels,
|
|
24
|
+
elementFromPointChange: () => elementFromPointChange,
|
|
25
|
+
handlePointerMove: () => handlePointerMove,
|
|
26
|
+
handleWheel: () => handleWheel,
|
|
27
|
+
makeswiftConnectionCheck: () => makeswiftConnectionCheck,
|
|
28
|
+
messageBuilderPropController: () => messageBuilderPropController,
|
|
29
|
+
mountComponent: () => mountComponent,
|
|
30
|
+
mountComponentEffect: () => mountComponentEffect,
|
|
31
|
+
registerBuilderComponent: () => registerBuilderComponent,
|
|
32
|
+
registerBuilderDocument: () => registerBuilderDocument,
|
|
33
|
+
registerBuilderDocumentsEffect: () => registerBuilderDocumentsEffect,
|
|
34
|
+
setIsInBuilder: () => setIsInBuilder,
|
|
35
|
+
unmountComponent: () => unmountComponent,
|
|
36
|
+
unregisterBuilderComponent: () => unregisterBuilderComponent,
|
|
37
|
+
unregisterBuilderDocument: () => unregisterBuilderDocument
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(builder_api_exports);
|
|
40
|
+
var import_shared_api = require("./shared-api");
|
|
41
|
+
const BuilderActionTypes = {
|
|
42
|
+
...import_shared_api.SharedActionTypes,
|
|
43
|
+
MAKESWIFT_CONNECTION_CHECK: "MAKESWIFT_CONNECTION_CHECK",
|
|
44
|
+
CHANGE_ELEMENT_BOX_MODELS: "CHANGE_ELEMENT_BOX_MODELS",
|
|
45
|
+
MOUNT_COMPONENT: "MOUNT_COMPONENT",
|
|
46
|
+
UNMOUNT_COMPONENT: "UNMOUNT_COMPONENT",
|
|
47
|
+
CHANGE_DOCUMENT_ELEMENT_SIZE: "CHANGE_DOCUMENT_ELEMENT_SIZE",
|
|
48
|
+
MESSAGE_BUILDER_PROP_CONTROLLER: "MESSAGE_BUILDER_PROP_CONTROLLER",
|
|
49
|
+
HANDLE_WHEEL: "HANDLE_WHEEL",
|
|
50
|
+
HANDLE_POINTER_MOVE: "HANDLE_POINTER_MOVE",
|
|
51
|
+
ELEMENT_FROM_POINT_CHANGE: "ELEMENT_FROM_POINT_CHANGE",
|
|
52
|
+
SET_IS_IN_BUILDER: "SET_IS_IN_BUILDER",
|
|
53
|
+
REGISTER_BUILDER_DOCUMENT: "REGISTER_BUILDER_DOCUMENT",
|
|
54
|
+
UNREGISTER_BUILDER_DOCUMENT: "UNREGISTER_BUILDER_DOCUMENT",
|
|
55
|
+
REGISTER_BUILDER_COMPONENT: "REGISTER_BUILDER_COMPONENT",
|
|
56
|
+
UNREGISTER_BUILDER_COMPONENT: "UNREGISTER_BUILDER_COMPONENT",
|
|
57
|
+
HANDLE_HOST_NAVIGATE: "HANDLE_HOST_NAVIGATE"
|
|
58
|
+
};
|
|
59
|
+
function makeswiftConnectionCheck(payload) {
|
|
60
|
+
return { type: BuilderActionTypes.MAKESWIFT_CONNECTION_CHECK, payload };
|
|
61
|
+
}
|
|
62
|
+
function changeElementBoxModels(changedElementBoxModels) {
|
|
63
|
+
return {
|
|
64
|
+
type: BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS,
|
|
65
|
+
payload: { changedElementBoxModels }
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function mountComponent(documentKey, elementKey) {
|
|
69
|
+
return { type: BuilderActionTypes.MOUNT_COMPONENT, payload: { documentKey, elementKey } };
|
|
70
|
+
}
|
|
71
|
+
function unmountComponent(documentKey, elementKey) {
|
|
72
|
+
return { type: BuilderActionTypes.UNMOUNT_COMPONENT, payload: { documentKey, elementKey } };
|
|
73
|
+
}
|
|
74
|
+
function mountComponentEffect(documentKey, elementKey) {
|
|
75
|
+
return (dispatch) => {
|
|
76
|
+
dispatch(mountComponent(documentKey, elementKey));
|
|
77
|
+
return () => {
|
|
78
|
+
dispatch(unmountComponent(documentKey, elementKey));
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function changeDocumentElementSize(size) {
|
|
83
|
+
return { type: BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } };
|
|
84
|
+
}
|
|
85
|
+
function messageBuilderPropController(documentKey, elementKey, propName, message) {
|
|
86
|
+
return {
|
|
87
|
+
type: BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER,
|
|
88
|
+
payload: { documentKey, elementKey, propName, message }
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function handleWheel(payload) {
|
|
92
|
+
return { type: BuilderActionTypes.HANDLE_WHEEL, payload };
|
|
93
|
+
}
|
|
94
|
+
function handlePointerMove(payload) {
|
|
95
|
+
return { type: BuilderActionTypes.HANDLE_POINTER_MOVE, payload };
|
|
96
|
+
}
|
|
97
|
+
function elementFromPointChange(keys) {
|
|
98
|
+
return { type: BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE, payload: { keys } };
|
|
99
|
+
}
|
|
100
|
+
function setIsInBuilder(isInBuilder) {
|
|
101
|
+
return { type: BuilderActionTypes.SET_IS_IN_BUILDER, payload: isInBuilder };
|
|
102
|
+
}
|
|
103
|
+
function registerBuilderDocument(document) {
|
|
104
|
+
return {
|
|
105
|
+
type: BuilderActionTypes.REGISTER_BUILDER_DOCUMENT,
|
|
106
|
+
payload: { documentKey: document.key, document }
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function unregisterBuilderDocument(documentKey) {
|
|
110
|
+
return { type: BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT, payload: { documentKey } };
|
|
111
|
+
}
|
|
112
|
+
function registerBuilderDocumentsEffect(documents) {
|
|
113
|
+
return (dispatch) => {
|
|
114
|
+
documents.forEach((document) => dispatch(registerBuilderDocument(document)));
|
|
115
|
+
return () => {
|
|
116
|
+
documents.forEach((document) => dispatch(unregisterBuilderDocument(document.key)));
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function registerBuilderComponent(payload, transferables) {
|
|
121
|
+
return {
|
|
122
|
+
type: BuilderActionTypes.REGISTER_BUILDER_COMPONENT,
|
|
123
|
+
payload,
|
|
124
|
+
transferables
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
function unregisterBuilderComponent(payload) {
|
|
128
|
+
return { type: BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT, payload };
|
|
129
|
+
}
|
|
130
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
131
|
+
0 && (module.exports = {
|
|
132
|
+
BuilderActionTypes,
|
|
133
|
+
changeDocumentElementSize,
|
|
134
|
+
changeElementBoxModels,
|
|
135
|
+
elementFromPointChange,
|
|
136
|
+
handlePointerMove,
|
|
137
|
+
handleWheel,
|
|
138
|
+
makeswiftConnectionCheck,
|
|
139
|
+
messageBuilderPropController,
|
|
140
|
+
mountComponent,
|
|
141
|
+
mountComponentEffect,
|
|
142
|
+
registerBuilderComponent,
|
|
143
|
+
registerBuilderDocument,
|
|
144
|
+
registerBuilderDocumentsEffect,
|
|
145
|
+
setIsInBuilder,
|
|
146
|
+
unmountComponent,
|
|
147
|
+
unregisterBuilderComponent,
|
|
148
|
+
unregisterBuilderDocument
|
|
149
|
+
});
|
|
150
|
+
//# sourceMappingURL=builder-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/state/builder-api.ts"],"sourcesContent":["import { type ThunkAction } from '@reduxjs/toolkit'\n\nimport { type SerializedControl } from '../builder'\nimport { type PropControllerMessage } from '../prop-controllers/instances'\n\nimport { type Document } from './modules/read-only-documents'\nimport { type BoxModel } from './modules/box-models'\nimport { type ComponentMeta } from './modules/components-meta'\n\nimport { type Size } from './react-builder-preview'\nimport { type DocumentPayload, type SharedAction, SharedActionTypes } from './shared-api'\n\nexport const BuilderActionTypes = {\n ...SharedActionTypes,\n\n MAKESWIFT_CONNECTION_CHECK: 'MAKESWIFT_CONNECTION_CHECK',\n\n CHANGE_ELEMENT_BOX_MODELS: 'CHANGE_ELEMENT_BOX_MODELS',\n\n MOUNT_COMPONENT: 'MOUNT_COMPONENT',\n UNMOUNT_COMPONENT: 'UNMOUNT_COMPONENT',\n\n CHANGE_DOCUMENT_ELEMENT_SIZE: 'CHANGE_DOCUMENT_ELEMENT_SIZE',\n MESSAGE_BUILDER_PROP_CONTROLLER: 'MESSAGE_BUILDER_PROP_CONTROLLER',\n\n HANDLE_WHEEL: 'HANDLE_WHEEL',\n HANDLE_POINTER_MOVE: 'HANDLE_POINTER_MOVE',\n\n ELEMENT_FROM_POINT_CHANGE: 'ELEMENT_FROM_POINT_CHANGE',\n\n SET_IS_IN_BUILDER: 'SET_IS_IN_BUILDER',\n\n REGISTER_BUILDER_DOCUMENT: 'REGISTER_BUILDER_DOCUMENT',\n UNREGISTER_BUILDER_DOCUMENT: 'UNREGISTER_BUILDER_DOCUMENT',\n\n REGISTER_BUILDER_COMPONENT: 'REGISTER_BUILDER_COMPONENT',\n UNREGISTER_BUILDER_COMPONENT: 'UNREGISTER_BUILDER_COMPONENT',\n\n HANDLE_HOST_NAVIGATE: 'HANDLE_HOST_NAVIGATE',\n} as const\n\ntype MakeswiftConnectionCheckAction = {\n type: typeof BuilderActionTypes.MAKESWIFT_CONNECTION_CHECK\n payload: { currentUrl: string }\n}\n\ntype ChangeElementBoxModelsAction = {\n type: typeof BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS\n payload: { changedElementBoxModels: Map<string, Map<string, BoxModel | null>> }\n}\n\ntype MountComponentAction = {\n type: typeof BuilderActionTypes.MOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype UnmountComponentAction = {\n type: typeof BuilderActionTypes.UNMOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype ChangeDocumentElementSizeAction = {\n type: typeof BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE\n payload: { size: Size }\n}\n\ntype MessageBuilderPropControllerAction<T = PropControllerMessage> = {\n type: typeof BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype HandleWheelAction = {\n type: typeof BuilderActionTypes.HANDLE_WHEEL\n payload: { deltaX: number; deltaY: number }\n}\n\ntype HandlePointerMoveAction = {\n type: typeof BuilderActionTypes.HANDLE_POINTER_MOVE\n payload: { clientX: number; clientY: number }\n}\n\ntype ElementFromPointChangeAction = {\n type: typeof BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE\n payload: { keys: { documentKey: string; elementKey: string } | null }\n}\n\ntype SetIsInBuilderAction = {\n type: typeof BuilderActionTypes.SET_IS_IN_BUILDER\n payload: boolean\n}\n\ntype RegisterBuilderDocumentAction = {\n type: typeof BuilderActionTypes.REGISTER_BUILDER_DOCUMENT\n payload: { documentKey: string; document: DocumentPayload }\n}\n\ntype UnregisterBuilderDocumentAction = {\n type: typeof BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT\n payload: { documentKey: string }\n}\n\ntype RegisterBuilderComponentAction = {\n type: typeof BuilderActionTypes.REGISTER_BUILDER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n serializedControls: Record<string, SerializedControl>\n }\n transferables?: Transferable[]\n}\n\ntype UnregisterBuilderComponentAction = {\n type: typeof BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT\n payload: { type: string }\n}\n\ntype HandleHostNavigateAction = {\n type: typeof BuilderActionTypes.HANDLE_HOST_NAVIGATE\n payload: { url: string | null }\n}\n\nexport type BuilderAction =\n | SharedAction\n | MakeswiftConnectionCheckAction\n | ChangeElementBoxModelsAction\n | MountComponentAction\n | UnmountComponentAction\n | ChangeDocumentElementSizeAction\n | MessageBuilderPropControllerAction\n | HandleWheelAction\n | HandlePointerMoveAction\n | ElementFromPointChangeAction\n | SetIsInBuilderAction\n | RegisterBuilderDocumentAction\n | UnregisterBuilderDocumentAction\n | RegisterBuilderComponentAction\n | UnregisterBuilderComponentAction\n | HandleHostNavigateAction\n\nexport function makeswiftConnectionCheck(\n payload: MakeswiftConnectionCheckAction['payload'],\n): MakeswiftConnectionCheckAction {\n return { type: BuilderActionTypes.MAKESWIFT_CONNECTION_CHECK, payload }\n}\n\nexport function changeElementBoxModels(\n changedElementBoxModels: Map<string, Map<string, BoxModel | null>>,\n): ChangeElementBoxModelsAction {\n return {\n type: BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS,\n payload: { changedElementBoxModels },\n }\n}\n\nexport function mountComponent(documentKey: string, elementKey: string): MountComponentAction {\n return { type: BuilderActionTypes.MOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function unmountComponent(documentKey: string, elementKey: string): UnmountComponentAction {\n return { type: BuilderActionTypes.UNMOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function mountComponentEffect(\n documentKey: string,\n elementKey: string,\n): ThunkAction<() => void, unknown, unknown, BuilderAction> {\n return dispatch => {\n dispatch(mountComponent(documentKey, elementKey))\n\n return () => {\n dispatch(unmountComponent(documentKey, elementKey))\n }\n }\n}\n\nexport function changeDocumentElementSize(size: Size): ChangeDocumentElementSizeAction {\n return { type: BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } }\n}\n\nexport function messageBuilderPropController<T>(\n documentKey: string,\n elementKey: string,\n propName: string,\n message: T,\n): MessageBuilderPropControllerAction<T> {\n return {\n type: BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function handleWheel(payload: { deltaX: number; deltaY: number }): HandleWheelAction {\n return { type: BuilderActionTypes.HANDLE_WHEEL, payload }\n}\n\nexport function handlePointerMove(payload: {\n clientX: number\n clientY: number\n}): HandlePointerMoveAction {\n return { type: BuilderActionTypes.HANDLE_POINTER_MOVE, payload }\n}\n\nexport function elementFromPointChange(\n keys: {\n documentKey: string\n elementKey: string\n } | null,\n): ElementFromPointChangeAction {\n return { type: BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE, payload: { keys } }\n}\n\nexport function setIsInBuilder(isInBuilder: boolean): SetIsInBuilderAction {\n return { type: BuilderActionTypes.SET_IS_IN_BUILDER, payload: isInBuilder }\n}\n\nexport function registerBuilderDocument(document: Document): RegisterBuilderDocumentAction {\n return {\n type: BuilderActionTypes.REGISTER_BUILDER_DOCUMENT,\n payload: { documentKey: document.key, document },\n }\n}\n\nexport function unregisterBuilderDocument(documentKey: string): UnregisterBuilderDocumentAction {\n return { type: BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerBuilderDocumentsEffect(\n documents: Document[],\n): ThunkAction<() => void, unknown, unknown, BuilderAction> {\n return dispatch => {\n documents.forEach(document => dispatch(registerBuilderDocument(document)))\n\n return () => {\n documents.forEach(document => dispatch(unregisterBuilderDocument(document.key)))\n }\n }\n}\n\nexport function registerBuilderComponent(\n payload: RegisterBuilderComponentAction['payload'],\n transferables?: Transferable[],\n): RegisterBuilderComponentAction {\n return {\n type: BuilderActionTypes.REGISTER_BUILDER_COMPONENT,\n payload,\n transferables,\n }\n}\n\nexport function unregisterBuilderComponent(\n payload: UnregisterBuilderComponentAction['payload'],\n): UnregisterBuilderComponentAction {\n return { type: BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT, payload }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,wBAA2E;AAEpE,MAAM,qBAAqB;AAAA,EAChC,GAAG;AAAA,EAEH,4BAA4B;AAAA,EAE5B,2BAA2B;AAAA,EAE3B,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EAEnB,8BAA8B;AAAA,EAC9B,iCAAiC;AAAA,EAEjC,cAAc;AAAA,EACd,qBAAqB;AAAA,EAErB,2BAA2B;AAAA,EAE3B,mBAAmB;AAAA,EAEnB,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAE7B,4BAA4B;AAAA,EAC5B,8BAA8B;AAAA,EAE9B,sBAAsB;AACxB;AAoGO,SAAS,yBACd,SACgC;AAChC,SAAO,EAAE,MAAM,mBAAmB,4BAA4B,QAAQ;AACxE;AAEO,SAAS,uBACd,yBAC8B;AAC9B,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB,SAAS,EAAE,wBAAwB;AAAA,EACrC;AACF;AAEO,SAAS,eAAe,aAAqB,YAA0C;AAC5F,SAAO,EAAE,MAAM,mBAAmB,iBAAiB,SAAS,EAAE,aAAa,WAAW,EAAE;AAC1F;AAEO,SAAS,iBAAiB,aAAqB,YAA4C;AAChG,SAAO,EAAE,MAAM,mBAAmB,mBAAmB,SAAS,EAAE,aAAa,WAAW,EAAE;AAC5F;AAEO,SAAS,qBACd,aACA,YAC0D;AAC1D,SAAO,cAAY;AACjB,aAAS,eAAe,aAAa,UAAU,CAAC;AAEhD,WAAO,MAAM;AACX,eAAS,iBAAiB,aAAa,UAAU,CAAC;AAAA,IACpD;AAAA,EACF;AACF;AAEO,SAAS,0BAA0B,MAA6C;AACrF,SAAO,EAAE,MAAM,mBAAmB,8BAA8B,SAAS,EAAE,KAAK,EAAE;AACpF;AAEO,SAAS,6BACd,aACA,YACA,UACA,SACuC;AACvC,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB,SAAS,EAAE,aAAa,YAAY,UAAU,QAAQ;AAAA,EACxD;AACF;AAEO,SAAS,YAAY,SAAgE;AAC1F,SAAO,EAAE,MAAM,mBAAmB,cAAc,QAAQ;AAC1D;AAEO,SAAS,kBAAkB,SAGN;AAC1B,SAAO,EAAE,MAAM,mBAAmB,qBAAqB,QAAQ;AACjE;AAEO,SAAS,uBACd,MAI8B;AAC9B,SAAO,EAAE,MAAM,mBAAmB,2BAA2B,SAAS,EAAE,KAAK,EAAE;AACjF;AAEO,SAAS,eAAe,aAA4C;AACzE,SAAO,EAAE,MAAM,mBAAmB,mBAAmB,SAAS,YAAY;AAC5E;AAEO,SAAS,wBAAwB,UAAmD;AACzF,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB,SAAS,EAAE,aAAa,SAAS,KAAK,SAAS;AAAA,EACjD;AACF;AAEO,SAAS,0BAA0B,aAAsD;AAC9F,SAAO,EAAE,MAAM,mBAAmB,6BAA6B,SAAS,EAAE,YAAY,EAAE;AAC1F;AAEO,SAAS,+BACd,WAC0D;AAC1D,SAAO,cAAY;AACjB,cAAU,QAAQ,cAAY,SAAS,wBAAwB,QAAQ,CAAC,CAAC;AAEzE,WAAO,MAAM;AACX,gBAAU,QAAQ,cAAY,SAAS,0BAA0B,SAAS,GAAG,CAAC,CAAC;AAAA,IACjF;AAAA,EACF;AACF;AAEO,SAAS,yBACd,SACA,eACgC;AAChC,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,2BACd,SACkC;AAClC,SAAO,EAAE,MAAM,mBAAmB,8BAA8B,QAAQ;AAC1E;","names":[]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var host_api_exports = {};
|
|
20
|
+
__export(host_api_exports, {
|
|
21
|
+
HostActionTypes: () => HostActionTypes,
|
|
22
|
+
builderPointerMove: () => builderPointerMove,
|
|
23
|
+
changeApiResource: () => changeApiResource,
|
|
24
|
+
changeDocument: () => changeDocument,
|
|
25
|
+
changeDocumentElementScrollTop: () => changeDocumentElementScrollTop,
|
|
26
|
+
cleanUp: () => cleanUp,
|
|
27
|
+
evictApiResource: () => evictApiResource,
|
|
28
|
+
init: () => init,
|
|
29
|
+
messageHostPropController: () => messageHostPropController,
|
|
30
|
+
scrollDocumentElement: () => scrollDocumentElement,
|
|
31
|
+
setBuilderEditMode: () => setBuilderEditMode,
|
|
32
|
+
unregisterPropControllers: () => unregisterPropControllers
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(host_api_exports);
|
|
35
|
+
const HostActionTypes = {
|
|
36
|
+
INIT: "INIT",
|
|
37
|
+
CLEAN_UP: "CLEAN_UP",
|
|
38
|
+
CHANGE_DOCUMENT: "CHANGE_DOCUMENT",
|
|
39
|
+
CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: "CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP",
|
|
40
|
+
SCROLL_DOCUMENT_ELEMENT: "SCROLL_DOCUMENT_ELEMENT",
|
|
41
|
+
REGISTER_PROP_CONTROLLERS: "REGISTER_PROP_CONTROLLERS",
|
|
42
|
+
UNREGISTER_PROP_CONTROLLERS: "UNREGISTER_PROP_CONTROLLERS",
|
|
43
|
+
MESSAGE_HOST_PROP_CONTROLLER: "MESSAGE_HOST_PROP_CONTROLLER",
|
|
44
|
+
CHANGE_API_RESOURCE: "CHANGE_API_RESOURCE",
|
|
45
|
+
EVICT_API_RESOURCE: "EVICT_API_RESOURCE",
|
|
46
|
+
SET_BUILDER_EDIT_MODE: "SET_BUILDER_EDIT_MODE",
|
|
47
|
+
BUILDER_POINTER_MOVE: "BUILDER_POINTER_MOVE"
|
|
48
|
+
};
|
|
49
|
+
function init() {
|
|
50
|
+
return { type: HostActionTypes.INIT };
|
|
51
|
+
}
|
|
52
|
+
function cleanUp() {
|
|
53
|
+
return { type: HostActionTypes.CLEAN_UP };
|
|
54
|
+
}
|
|
55
|
+
function changeDocument(documentKey, operation) {
|
|
56
|
+
return { type: HostActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } };
|
|
57
|
+
}
|
|
58
|
+
function changeDocumentElementScrollTop(scrollTop) {
|
|
59
|
+
return { type: HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } };
|
|
60
|
+
}
|
|
61
|
+
function scrollDocumentElement(scrollTopDelta) {
|
|
62
|
+
return { type: HostActionTypes.SCROLL_DOCUMENT_ELEMENT, payload: { scrollTopDelta } };
|
|
63
|
+
}
|
|
64
|
+
function unregisterPropControllers(documentKey, elementKey) {
|
|
65
|
+
return { type: HostActionTypes.UNREGISTER_PROP_CONTROLLERS, payload: { documentKey, elementKey } };
|
|
66
|
+
}
|
|
67
|
+
function messageHostPropController(documentKey, elementKey, propName, message) {
|
|
68
|
+
return {
|
|
69
|
+
type: HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER,
|
|
70
|
+
payload: { documentKey, elementKey, propName, message }
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function changeApiResource(resource, locale) {
|
|
74
|
+
return { type: HostActionTypes.CHANGE_API_RESOURCE, payload: { resource, locale } };
|
|
75
|
+
}
|
|
76
|
+
function evictApiResource(id, locale) {
|
|
77
|
+
return { type: HostActionTypes.EVICT_API_RESOURCE, payload: { id, locale } };
|
|
78
|
+
}
|
|
79
|
+
function setBuilderEditMode(editMode) {
|
|
80
|
+
return {
|
|
81
|
+
type: HostActionTypes.SET_BUILDER_EDIT_MODE,
|
|
82
|
+
payload: { editMode }
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function builderPointerMove(pointer) {
|
|
86
|
+
return { type: HostActionTypes.BUILDER_POINTER_MOVE, payload: { pointer } };
|
|
87
|
+
}
|
|
88
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
89
|
+
0 && (module.exports = {
|
|
90
|
+
HostActionTypes,
|
|
91
|
+
builderPointerMove,
|
|
92
|
+
changeApiResource,
|
|
93
|
+
changeDocument,
|
|
94
|
+
changeDocumentElementScrollTop,
|
|
95
|
+
cleanUp,
|
|
96
|
+
evictApiResource,
|
|
97
|
+
init,
|
|
98
|
+
messageHostPropController,
|
|
99
|
+
scrollDocumentElement,
|
|
100
|
+
setBuilderEditMode,
|
|
101
|
+
unregisterPropControllers
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=host-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/state/host-api.ts"],"sourcesContent":["import { type Operation } from 'ot-json0'\n\nimport { ControlInstance } from '@makeswift/controls'\n\nimport { type PropControllerMessage } from '../prop-controllers/instances'\nimport { type APIResource, APIResourceLocale } from '../api/types'\n\nimport { BuilderEditMode } from './modules/builder-edit-mode'\nimport { type Point } from './modules/pointer'\n\nexport const HostActionTypes = {\n INIT: 'INIT',\n CLEAN_UP: 'CLEAN_UP',\n\n CHANGE_DOCUMENT: 'CHANGE_DOCUMENT',\n\n CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: 'CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP',\n SCROLL_DOCUMENT_ELEMENT: 'SCROLL_DOCUMENT_ELEMENT',\n\n REGISTER_PROP_CONTROLLERS: 'REGISTER_PROP_CONTROLLERS',\n UNREGISTER_PROP_CONTROLLERS: 'UNREGISTER_PROP_CONTROLLERS',\n MESSAGE_HOST_PROP_CONTROLLER: 'MESSAGE_HOST_PROP_CONTROLLER',\n\n CHANGE_API_RESOURCE: 'CHANGE_API_RESOURCE',\n EVICT_API_RESOURCE: 'EVICT_API_RESOURCE',\n\n SET_BUILDER_EDIT_MODE: 'SET_BUILDER_EDIT_MODE',\n\n BUILDER_POINTER_MOVE: 'BUILDER_POINTER_MOVE',\n} as const\n\ntype InitAction = { type: typeof HostActionTypes.INIT }\n\ntype CleanUpAction = { type: typeof HostActionTypes.CLEAN_UP }\n\ntype ChangeDocumentAction = {\n type: typeof HostActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\ntype ScrollDocumentElementAction = {\n type: typeof HostActionTypes.SCROLL_DOCUMENT_ELEMENT\n payload: { scrollTopDelta: number }\n}\n\ntype RegisterPropControllersAction = {\n type: typeof HostActionTypes.REGISTER_PROP_CONTROLLERS\n payload: {\n documentKey: string\n elementKey: string\n propControllers: Record<string, ControlInstance>\n }\n}\n\ntype UnregisterPropControllersAction = {\n type: typeof HostActionTypes.UNREGISTER_PROP_CONTROLLERS\n payload: { documentKey: string; elementKey: string }\n}\n\ntype MessageHostPropControllerAction<T = PropControllerMessage> = {\n type: typeof HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype ChangeAPIResourceAction = {\n type: typeof HostActionTypes.CHANGE_API_RESOURCE\n payload: { resource: APIResource; locale?: string | null }\n}\n\ntype EvictAPIResourceAction = {\n type: typeof HostActionTypes.EVICT_API_RESOURCE\n payload: { id: string; locale?: string | null }\n}\n\ntype SetBuilderEditModeAction = {\n type: typeof HostActionTypes.SET_BUILDER_EDIT_MODE\n payload: { editMode: BuilderEditMode }\n}\n\ntype BuilderPointerMoveAction = {\n type: typeof HostActionTypes.BUILDER_POINTER_MOVE\n payload: { pointer: Point | null }\n}\n\nexport type HostAction =\n | InitAction\n | CleanUpAction\n | ChangeDocumentAction\n | ChangeDocumentElementScrollTopAction\n | ScrollDocumentElementAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | MessageHostPropControllerAction\n | ChangeAPIResourceAction\n | EvictAPIResourceAction\n | SetBuilderEditModeAction\n | BuilderPointerMoveAction\n\nexport function init(): InitAction {\n return { type: HostActionTypes.INIT }\n}\n\nexport function cleanUp(): CleanUpAction {\n return { type: HostActionTypes.CLEAN_UP }\n}\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: HostActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n\nexport function scrollDocumentElement(scrollTopDelta: number): ScrollDocumentElementAction {\n return { type: HostActionTypes.SCROLL_DOCUMENT_ELEMENT, payload: { scrollTopDelta } }\n}\n\n\nexport function unregisterPropControllers(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersAction {\n return { type: HostActionTypes.UNREGISTER_PROP_CONTROLLERS, payload: { documentKey, elementKey } }\n}\n\nexport function messageHostPropController<T>(\n documentKey: string,\n elementKey: string,\n propName: string,\n message: T,\n): MessageHostPropControllerAction<T> {\n return {\n type: HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function changeApiResource<R extends APIResource>(\n resource: R,\n locale?: APIResourceLocale<R>,\n): ChangeAPIResourceAction {\n return { type: HostActionTypes.CHANGE_API_RESOURCE, payload: { resource, locale } }\n}\n\nexport function evictApiResource(id: string, locale?: string | null): EvictAPIResourceAction {\n return { type: HostActionTypes.EVICT_API_RESOURCE, payload: { id, locale } }\n}\n\nexport function setBuilderEditMode(editMode: BuilderEditMode): SetBuilderEditModeAction {\n return {\n type: HostActionTypes.SET_BUILDER_EDIT_MODE,\n payload: { editMode },\n }\n}\n\nexport function builderPointerMove(pointer: Point | null): BuilderPointerMoveAction {\n return { type: HostActionTypes.BUILDER_POINTER_MOVE, payload: { pointer } }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,MAAM,kBAAkB;AAAA,EAC7B,MAAM;AAAA,EACN,UAAU;AAAA,EAEV,iBAAiB;AAAA,EAEjB,oCAAoC;AAAA,EACpC,yBAAyB;AAAA,EAEzB,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAC7B,8BAA8B;AAAA,EAE9B,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EAEpB,uBAAuB;AAAA,EAEvB,sBAAsB;AACxB;AA0EO,SAAS,OAAmB;AACjC,SAAO,EAAE,MAAM,gBAAgB,KAAK;AACtC;AAEO,SAAS,UAAyB;AACvC,SAAO,EAAE,MAAM,gBAAgB,SAAS;AAC1C;AAEO,SAAS,eAAe,aAAqB,WAA4C;AAC9F,SAAO,EAAE,MAAM,gBAAgB,iBAAiB,SAAS,EAAE,aAAa,UAAU,EAAE;AACtF;AAEO,SAAS,+BACd,WACsC;AACtC,SAAO,EAAE,MAAM,gBAAgB,oCAAoC,SAAS,EAAE,UAAU,EAAE;AAC5F;AAEO,SAAS,sBAAsB,gBAAqD;AACzF,SAAO,EAAE,MAAM,gBAAgB,yBAAyB,SAAS,EAAE,eAAe,EAAE;AACtF;AAGO,SAAS,0BACd,aACA,YACiC;AACjC,SAAO,EAAE,MAAM,gBAAgB,6BAA6B,SAAS,EAAE,aAAa,WAAW,EAAE;AACnG;AAEO,SAAS,0BACd,aACA,YACA,UACA,SACoC;AACpC,SAAO;AAAA,IACL,MAAM,gBAAgB;AAAA,IACtB,SAAS,EAAE,aAAa,YAAY,UAAU,QAAQ;AAAA,EACxD;AACF;AAEO,SAAS,kBACd,UACA,QACyB;AACzB,SAAO,EAAE,MAAM,gBAAgB,qBAAqB,SAAS,EAAE,UAAU,OAAO,EAAE;AACpF;AAEO,SAAS,iBAAiB,IAAY,QAAgD;AAC3F,SAAO,EAAE,MAAM,gBAAgB,oBAAoB,SAAS,EAAE,IAAI,OAAO,EAAE;AAC7E;AAEO,SAAS,mBAAmB,UAAqD;AACtF,SAAO;AAAA,IACL,MAAM,gBAAgB;AAAA,IACtB,SAAS,EAAE,SAAS;AAAA,EACtB;AACF;AAEO,SAAS,mBAAmB,SAAiD;AAClF,SAAO,EAAE,MAAM,gBAAgB,sBAAsB,SAAS,EAAE,QAAQ,EAAE;AAC5E;","names":[]}
|
|
@@ -38,6 +38,8 @@ var import_toolkit = require("@reduxjs/toolkit");
|
|
|
38
38
|
var APIResources = __toESM(require("./modules/api-resources"));
|
|
39
39
|
var LocalizedResourcesMap = __toESM(require("./modules/localized-resources-map"));
|
|
40
40
|
var import_actions = require("./actions");
|
|
41
|
+
var import_internal = require("./actions/internal");
|
|
42
|
+
var import_shared_api = require("./shared-api");
|
|
41
43
|
var import_toolkit2 = require("./toolkit");
|
|
42
44
|
var import_api = require("../api");
|
|
43
45
|
const reducer = (0, import_toolkit.combineReducers)({
|
|
@@ -124,7 +126,7 @@ function fetchAPIResource(resourceType, resourceId, fetch, locale) {
|
|
|
124
126
|
`/api/makeswift/localized-global-elements/${resourceId}/${locale}`
|
|
125
127
|
);
|
|
126
128
|
dispatch(
|
|
127
|
-
(0,
|
|
129
|
+
(0, import_shared_api.setLocalizedResourceId)({
|
|
128
130
|
locale,
|
|
129
131
|
resourceId,
|
|
130
132
|
localizedResourceId: resource?.id ?? null
|
|
@@ -145,7 +147,7 @@ function fetchAPIResource(resourceType, resourceId, fetch, locale) {
|
|
|
145
147
|
default:
|
|
146
148
|
resource = null;
|
|
147
149
|
}
|
|
148
|
-
dispatch((0,
|
|
150
|
+
dispatch((0, import_internal.apiResourceFulfilled)(resourceType, resourceId, resource, locale));
|
|
149
151
|
return resource;
|
|
150
152
|
};
|
|
151
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/state/makeswift-api-client.ts"],"sourcesContent":["import {\n configureStore as configureReduxStore,\n combineReducers,\n type ThunkAction,\n type ThunkMiddleware,\n type ThunkDispatch,\n UnknownAction,\n} from '@reduxjs/toolkit'\n\nimport * as APIResources from './modules/api-resources'\nimport * as LocalizedResourcesMap from './modules/localized-resources-map'\nimport { type Action, ActionTypes, apiResourceFulfilled, setLocalizedResourceId } from './actions'\nimport { actionMiddleware, middlewareOptions, devToolsConfig } from './toolkit'\n\nimport {\n APIResourceType,\n type APIResource,\n type Swatch,\n type File,\n type Typography,\n type GlobalElement,\n type PagePathnameSlice,\n type Table,\n type LocalizedGlobalElement,\n type APIResourceLocale,\n} from '../api'\n\nconst reducer = combineReducers({\n apiResources: APIResources.reducer,\n localizedResourcesMap: LocalizedResourcesMap.reducer,\n})\n\nexport type State = ReturnType<typeof reducer>\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\nexport type HttpFetch = (url: string | URL, init?: RequestInit) => Promise<Response>\n\nexport type SerializedState = {\n apiResources: APIResources.SerializedState\n localizedResourcesMap: LocalizedResourcesMap.SerializedState\n}\n\nfunction getLocalizedResourceId(\n state: State,\n locale: string,\n resourceId: string,\n): string | undefined | null {\n return LocalizedResourcesMap.getLocalizedResourceId(\n state.localizedResourcesMap,\n locale,\n resourceId,\n )\n}\n\nexport function getHasAPIResource<T extends APIResourceType>(\n state: State,\n resourceType: APIResourceType,\n resourceId: string,\n locale?: APIResourceLocale<T>,\n): boolean {\n switch (resourceType) {\n case APIResourceType.LocalizedGlobalElement:\n if (locale == null) {\n console.error(`Attempt to access ${resourceType} ${resourceId} without a locale`)\n return false\n }\n\n const localizedId = getLocalizedResourceId(state, locale, resourceId)\n return (\n localizedId != null &&\n APIResources.getHasAPIResource(state.apiResources, resourceType, localizedId, locale)\n )\n\n default:\n return APIResources.getHasAPIResource(state.apiResources, resourceType, resourceId, locale)\n }\n}\n\nexport function getAPIResource<T extends APIResourceType>(\n state: State,\n resourceType: T,\n resourceId: string,\n locale?: APIResourceLocale<T>,\n): Extract<APIResource, { __typename: T }> | null {\n switch (resourceType) {\n case APIResourceType.LocalizedGlobalElement:\n if (locale == null) {\n console.error(`Attempt to access ${resourceType} ${resourceId} without a locale`)\n return null\n }\n\n const localizedId = getLocalizedResourceId(state, locale, resourceId)\n return localizedId != null\n ? APIResources.getAPIResource(state.apiResources, resourceType, localizedId, locale)\n : null\n\n default:\n return APIResources.getAPIResource(state.apiResources, resourceType, resourceId, locale)\n }\n}\n\ntype Thunk<ReturnType> = ThunkAction<ReturnType, State, unknown, Action>\n\nexport function fetchAPIResource<T extends APIResourceType>(\n resourceType: T,\n resourceId: string,\n fetch: HttpFetch,\n locale?: APIResourceLocale<T>,\n): Thunk<Promise<Extract<APIResource, { __typename: T }> | null>> {\n const fetchJson = async <T>(url: string): Promise<T | null> => {\n const response = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n\n if (response.status === 404) return null\n if (!response.ok) throw new Error(response.statusText)\n\n if (response.headers.get('content-type')?.includes('application/json') !== true) {\n throw new Error(\n `Expected JSON response from \"${url}\" but got \"${response.headers.get('content-type')}\"`,\n )\n }\n\n return response.json()\n }\n\n return async (dispatch, getState) => {\n const state = getState()\n\n if (getHasAPIResource(state, resourceType, resourceId, locale)) {\n return getAPIResource(state, resourceType, resourceId, locale)\n }\n\n let resource: APIResource | null\n\n switch (resourceType) {\n case APIResourceType.Swatch:\n resource = await fetchJson<Swatch>(`/api/makeswift/swatches/${resourceId}`)\n break\n\n case APIResourceType.File:\n resource = await fetchJson<File>(`/api/makeswift/files/${resourceId}`)\n break\n\n case APIResourceType.Typography:\n resource = await fetchJson<Typography>(`/api/makeswift/typographies/${resourceId}`)\n break\n\n case APIResourceType.GlobalElement:\n resource = await fetchJson<GlobalElement>(`/api/makeswift/global-elements/${resourceId}`)\n break\n\n case APIResourceType.LocalizedGlobalElement: {\n if (locale == null) throw new Error('Locale is required to fetch LocalizedGlobalElement')\n\n // If `getLocalizedResourceId` returns null, it means we have tried to fetch the resource,\n // but the resource is not available. If we haven't fetched it yet, it'll return undefined.\n if (getLocalizedResourceId(state, locale, resourceId) === null) {\n return null\n }\n\n resource = await fetchJson<LocalizedGlobalElement>(\n `/api/makeswift/localized-global-elements/${resourceId}/${locale}`,\n )\n\n dispatch(\n setLocalizedResourceId({\n locale,\n resourceId,\n localizedResourceId: resource?.id ?? null,\n }),\n )\n\n break\n }\n\n case APIResourceType.PagePathnameSlice: {\n const url = new URL(`/api/makeswift/page-pathname-slices/${resourceId}`, 'http://n')\n\n if (locale != null) url.searchParams.set('locale', locale)\n\n resource = await fetchJson<PagePathnameSlice>(url.pathname + url.search)\n break\n }\n\n case APIResourceType.Table:\n resource = await fetchJson<Table>(`/api/makeswift/tables/${resourceId}`)\n break\n\n default:\n resource = null\n }\n\n dispatch(apiResourceFulfilled(resourceType, resourceId, resource, locale))\n\n return resource as Extract<APIResource, { __typename: T }> | null\n }\n}\n\n// FIXME: this middleware can be removed once we've upgraded the builder\n// to always provide the locale when dispatching resource actions\nfunction defaultLocaleMiddleware(\n defaultLocale: string | undefined,\n): ThunkMiddleware<State, UnknownAction> {\n return actionMiddleware(() => next => {\n return (action: Action) => {\n switch (action.type) {\n case ActionTypes.CHANGE_API_RESOURCE:\n case ActionTypes.EVICT_API_RESOURCE:\n case ActionTypes.SET_LOCALIZED_RESOURCE_ID: {\n const { locale } = action.payload\n return next({\n ...action,\n payload: { ...action.payload, locale: locale ?? defaultLocale },\n } as Action)\n }\n }\n\n return next(action)\n }\n })\n}\n\nexport function configureStore({\n defaultLocale,\n serializedState,\n}: {\n defaultLocale: string | undefined\n serializedState?: SerializedState\n}) {\n return configureReduxStore({\n reducer,\n preloadedState: {\n apiResources: APIResources.getInitialState(serializedState?.apiResources),\n localizedResourcesMap: LocalizedResourcesMap.getInitialState(\n serializedState?.localizedResourcesMap,\n ),\n },\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(defaultLocaleMiddleware(defaultLocale)),\n\n devTools: devToolsConfig({\n name: `API client store (${new Date().toISOString()})`,\n actionsDenylist: [\n ActionTypes.BUILDER_POINTER_MOVE,\n ActionTypes.HANDLE_POINTER_MOVE,\n ActionTypes.ELEMENT_FROM_POINT_CHANGE,\n ],\n }),\n })\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"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","names":["import_toolkit","configureReduxStore"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/state/makeswift-api-client.ts"],"sourcesContent":["import {\n configureStore as configureReduxStore,\n combineReducers,\n type ThunkAction,\n type ThunkMiddleware,\n type ThunkDispatch,\n UnknownAction,\n} from '@reduxjs/toolkit'\n\nimport * as APIResources from './modules/api-resources'\nimport * as LocalizedResourcesMap from './modules/localized-resources-map'\nimport { type Action, ActionTypes } from './actions'\nimport { apiResourceFulfilled } from './actions/internal'\nimport { setLocalizedResourceId } from './shared-api'\nimport { actionMiddleware, middlewareOptions, devToolsConfig } from './toolkit'\n\nimport {\n APIResourceType,\n type APIResource,\n type Swatch,\n type File,\n type Typography,\n type GlobalElement,\n type PagePathnameSlice,\n type Table,\n type LocalizedGlobalElement,\n type APIResourceLocale,\n} from '../api'\n\nconst reducer = combineReducers({\n apiResources: APIResources.reducer,\n localizedResourcesMap: LocalizedResourcesMap.reducer,\n})\n\nexport type State = ReturnType<typeof reducer>\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\nexport type HttpFetch = (url: string | URL, init?: RequestInit) => Promise<Response>\n\nexport type SerializedState = {\n apiResources: APIResources.SerializedState\n localizedResourcesMap: LocalizedResourcesMap.SerializedState\n}\n\nfunction getLocalizedResourceId(\n state: State,\n locale: string,\n resourceId: string,\n): string | undefined | null {\n return LocalizedResourcesMap.getLocalizedResourceId(\n state.localizedResourcesMap,\n locale,\n resourceId,\n )\n}\n\nexport function getHasAPIResource<T extends APIResourceType>(\n state: State,\n resourceType: APIResourceType,\n resourceId: string,\n locale?: APIResourceLocale<T>,\n): boolean {\n switch (resourceType) {\n case APIResourceType.LocalizedGlobalElement:\n if (locale == null) {\n console.error(`Attempt to access ${resourceType} ${resourceId} without a locale`)\n return false\n }\n\n const localizedId = getLocalizedResourceId(state, locale, resourceId)\n return (\n localizedId != null &&\n APIResources.getHasAPIResource(state.apiResources, resourceType, localizedId, locale)\n )\n\n default:\n return APIResources.getHasAPIResource(state.apiResources, resourceType, resourceId, locale)\n }\n}\n\nexport function getAPIResource<T extends APIResourceType>(\n state: State,\n resourceType: T,\n resourceId: string,\n locale?: APIResourceLocale<T>,\n): Extract<APIResource, { __typename: T }> | null {\n switch (resourceType) {\n case APIResourceType.LocalizedGlobalElement:\n if (locale == null) {\n console.error(`Attempt to access ${resourceType} ${resourceId} without a locale`)\n return null\n }\n\n const localizedId = getLocalizedResourceId(state, locale, resourceId)\n return localizedId != null\n ? APIResources.getAPIResource(state.apiResources, resourceType, localizedId, locale)\n : null\n\n default:\n return APIResources.getAPIResource(state.apiResources, resourceType, resourceId, locale)\n }\n}\n\ntype Thunk<ReturnType> = ThunkAction<ReturnType, State, unknown, Action>\n\nexport function fetchAPIResource<T extends APIResourceType>(\n resourceType: T,\n resourceId: string,\n fetch: HttpFetch,\n locale?: APIResourceLocale<T>,\n): Thunk<Promise<Extract<APIResource, { __typename: T }> | null>> {\n const fetchJson = async <T>(url: string): Promise<T | null> => {\n const response = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n\n if (response.status === 404) return null\n if (!response.ok) throw new Error(response.statusText)\n\n if (response.headers.get('content-type')?.includes('application/json') !== true) {\n throw new Error(\n `Expected JSON response from \"${url}\" but got \"${response.headers.get('content-type')}\"`,\n )\n }\n\n return response.json()\n }\n\n return async (dispatch, getState) => {\n const state = getState()\n\n if (getHasAPIResource(state, resourceType, resourceId, locale)) {\n return getAPIResource(state, resourceType, resourceId, locale)\n }\n\n let resource: APIResource | null\n\n switch (resourceType) {\n case APIResourceType.Swatch:\n resource = await fetchJson<Swatch>(`/api/makeswift/swatches/${resourceId}`)\n break\n\n case APIResourceType.File:\n resource = await fetchJson<File>(`/api/makeswift/files/${resourceId}`)\n break\n\n case APIResourceType.Typography:\n resource = await fetchJson<Typography>(`/api/makeswift/typographies/${resourceId}`)\n break\n\n case APIResourceType.GlobalElement:\n resource = await fetchJson<GlobalElement>(`/api/makeswift/global-elements/${resourceId}`)\n break\n\n case APIResourceType.LocalizedGlobalElement: {\n if (locale == null) throw new Error('Locale is required to fetch LocalizedGlobalElement')\n\n // If `getLocalizedResourceId` returns null, it means we have tried to fetch the resource,\n // but the resource is not available. If we haven't fetched it yet, it'll return undefined.\n if (getLocalizedResourceId(state, locale, resourceId) === null) {\n return null\n }\n\n resource = await fetchJson<LocalizedGlobalElement>(\n `/api/makeswift/localized-global-elements/${resourceId}/${locale}`,\n )\n\n dispatch(\n setLocalizedResourceId({\n locale,\n resourceId,\n localizedResourceId: resource?.id ?? null,\n }),\n )\n\n break\n }\n\n case APIResourceType.PagePathnameSlice: {\n const url = new URL(`/api/makeswift/page-pathname-slices/${resourceId}`, 'http://n')\n\n if (locale != null) url.searchParams.set('locale', locale)\n\n resource = await fetchJson<PagePathnameSlice>(url.pathname + url.search)\n break\n }\n\n case APIResourceType.Table:\n resource = await fetchJson<Table>(`/api/makeswift/tables/${resourceId}`)\n break\n\n default:\n resource = null\n }\n\n dispatch(apiResourceFulfilled(resourceType, resourceId, resource, locale))\n\n return resource as Extract<APIResource, { __typename: T }> | null\n }\n}\n\n// FIXME: this middleware can be removed once we've upgraded the builder\n// to always provide the locale when dispatching resource actions\nfunction defaultLocaleMiddleware(\n defaultLocale: string | undefined,\n): ThunkMiddleware<State, UnknownAction> {\n return actionMiddleware(() => next => {\n return (action: Action) => {\n switch (action.type) {\n case ActionTypes.CHANGE_API_RESOURCE:\n case ActionTypes.EVICT_API_RESOURCE:\n case ActionTypes.SET_LOCALIZED_RESOURCE_ID: {\n const { locale } = action.payload\n return next({\n ...action,\n payload: { ...action.payload, locale: locale ?? defaultLocale },\n } as Action)\n }\n }\n\n return next(action)\n }\n })\n}\n\nexport function configureStore({\n defaultLocale,\n serializedState,\n}: {\n defaultLocale: string | undefined\n serializedState?: SerializedState\n}) {\n return configureReduxStore({\n reducer,\n preloadedState: {\n apiResources: APIResources.getInitialState(serializedState?.apiResources),\n localizedResourcesMap: LocalizedResourcesMap.getInitialState(\n serializedState?.localizedResourcesMap,\n ),\n },\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(defaultLocaleMiddleware(defaultLocale)),\n\n devTools: devToolsConfig({\n name: `API client store (${new Date().toISOString()})`,\n actionsDenylist: [\n ActionTypes.BUILDER_POINTER_MOVE,\n ActionTypes.HANDLE_POINTER_MOVE,\n ActionTypes.ELEMENT_FROM_POINT_CHANGE,\n ],\n }),\n })\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"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","names":["import_toolkit","configureReduxStore"]}
|
|
@@ -57,6 +57,9 @@ var Breakpoints = __toESM(require("./modules/breakpoints"));
|
|
|
57
57
|
var import_setup_teardown = require("./mixins/setup-teardown");
|
|
58
58
|
var ReactPage = __toESM(require("./react-page"));
|
|
59
59
|
var import_actions = require("./actions");
|
|
60
|
+
var import_builder_api = require("./builder-api");
|
|
61
|
+
var import_shared_api = require("./shared-api");
|
|
62
|
+
var import_internal = require("./actions/internal");
|
|
60
63
|
var import_toolkit2 = require("./toolkit");
|
|
61
64
|
var import_instances = require("../prop-controllers/instances");
|
|
62
65
|
var import_builder = require("../builder");
|
|
@@ -173,7 +176,7 @@ function measureElements() {
|
|
|
173
176
|
}
|
|
174
177
|
});
|
|
175
178
|
if (changedBoxModels.size > 0)
|
|
176
|
-
dispatch((0,
|
|
179
|
+
dispatch((0, import_builder_api.changeElementBoxModels)(changedBoxModels));
|
|
177
180
|
};
|
|
178
181
|
}
|
|
179
182
|
function startMeasuringElements() {
|
|
@@ -210,7 +213,7 @@ function lockDocumentScroll() {
|
|
|
210
213
|
window.document.documentElement.removeEventListener("wheel", handleWheelEvent);
|
|
211
214
|
};
|
|
212
215
|
function handleWheelEvent({ deltaX, deltaY }) {
|
|
213
|
-
dispatch((0,
|
|
216
|
+
dispatch((0, import_builder_api.handleWheel)({ deltaX, deltaY }));
|
|
214
217
|
}
|
|
215
218
|
};
|
|
216
219
|
}
|
|
@@ -221,7 +224,7 @@ function startHandlingPointerMoveEvent() {
|
|
|
221
224
|
window.document.documentElement.removeEventListener("pointermove", handlePointerMoveEvent);
|
|
222
225
|
};
|
|
223
226
|
function handlePointerMoveEvent({ clientX, clientY }) {
|
|
224
|
-
dispatch((0,
|
|
227
|
+
dispatch((0, import_builder_api.handlePointerMove)({ clientX, clientY }));
|
|
225
228
|
}
|
|
226
229
|
};
|
|
227
230
|
}
|
|
@@ -262,7 +265,7 @@ function startMeasuringDocumentElement() {
|
|
|
262
265
|
const nextSize = getElementSize(window.document.documentElement);
|
|
263
266
|
if (!(0, import_deepEqual.default)(lastSize, nextSize)) {
|
|
264
267
|
lastSize = nextSize;
|
|
265
|
-
dispatch((0,
|
|
268
|
+
dispatch((0, import_builder_api.changeDocumentElementSize)(nextSize));
|
|
266
269
|
}
|
|
267
270
|
animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
|
|
268
271
|
}
|
|
@@ -309,7 +312,7 @@ function startPollingElementFromPoint() {
|
|
|
309
312
|
if (elementFromPoint !== lastElementFromPoint) {
|
|
310
313
|
lastElementFromPoint = elementFromPoint;
|
|
311
314
|
const keys = dispatch(elementKeysFromElementFromPoint(elementFromPoint));
|
|
312
|
-
dispatch((0,
|
|
315
|
+
dispatch((0, import_builder_api.elementFromPointChange)(keys));
|
|
313
316
|
}
|
|
314
317
|
animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest);
|
|
315
318
|
}
|
|
@@ -323,12 +326,12 @@ function registerBuilderComponents() {
|
|
|
323
326
|
const descriptors = getComponentPropControllerDescriptors(state, type);
|
|
324
327
|
if (descriptors != null) {
|
|
325
328
|
const [serializedControls, transferables] = (0, import_builder.serializeControls)(descriptors);
|
|
326
|
-
dispatch((0,
|
|
329
|
+
dispatch((0, import_builder_api.registerBuilderComponent)({ type, meta, serializedControls }, transferables));
|
|
327
330
|
}
|
|
328
331
|
});
|
|
329
332
|
return () => {
|
|
330
333
|
componentsMeta.forEach((_, type) => {
|
|
331
|
-
dispatch((0,
|
|
334
|
+
dispatch((0, import_builder_api.unregisterBuilderComponent)({ type }));
|
|
332
335
|
});
|
|
333
336
|
};
|
|
334
337
|
};
|
|
@@ -337,11 +340,11 @@ function registerBuilderDocuments() {
|
|
|
337
340
|
return (dispatch, getState) => {
|
|
338
341
|
const documents = Documents.getDocuments(getDocumentsStateSlice(getState()));
|
|
339
342
|
documents.forEach((document2) => {
|
|
340
|
-
dispatch((0,
|
|
343
|
+
dispatch((0, import_builder_api.registerBuilderDocument)(document2));
|
|
341
344
|
});
|
|
342
345
|
return () => {
|
|
343
346
|
documents.forEach((_document, documentKey) => {
|
|
344
|
-
dispatch((0,
|
|
347
|
+
dispatch((0, import_builder_api.unregisterBuilderDocument)(documentKey));
|
|
345
348
|
});
|
|
346
349
|
};
|
|
347
350
|
};
|
|
@@ -357,8 +360,8 @@ function initialize(channel) {
|
|
|
357
360
|
const stopPollingElementFromPoint = dispatch(startPollingElementFromPoint());
|
|
358
361
|
const unregisterBuilderComponents = dispatch(registerBuilderComponents());
|
|
359
362
|
const breakpoints = ReactPage.getBreakpoints(getState());
|
|
360
|
-
dispatch((0,
|
|
361
|
-
dispatch((0,
|
|
363
|
+
dispatch((0, import_shared_api.setBreakpoints)(breakpoints));
|
|
364
|
+
dispatch((0, import_builder_api.setIsInBuilder)(true));
|
|
362
365
|
channel.dispatchBuffered();
|
|
363
366
|
return () => {
|
|
364
367
|
unregisterBuilderDocuments();
|
|
@@ -369,7 +372,7 @@ function initialize(channel) {
|
|
|
369
372
|
stopHandlingPointerMoveEvent();
|
|
370
373
|
stopPollingElementFromPoint();
|
|
371
374
|
unregisterBuilderComponents();
|
|
372
|
-
dispatch((0,
|
|
375
|
+
dispatch((0, import_builder_api.setIsInBuilder)(false));
|
|
373
376
|
};
|
|
374
377
|
};
|
|
375
378
|
}
|
|
@@ -380,7 +383,7 @@ function measureBoxModelsMiddleware() {
|
|
|
380
383
|
case import_actions.ActionTypes.REGISTER_COMPONENT_HANDLE: {
|
|
381
384
|
if (BoxModels.isMeasurable(action.payload.componentHandle)) {
|
|
382
385
|
dispatch(
|
|
383
|
-
(0,
|
|
386
|
+
(0, import_internal.registerMeasurable)(
|
|
384
387
|
action.payload.documentKey,
|
|
385
388
|
action.payload.elementKey,
|
|
386
389
|
action.payload.componentHandle
|
|
@@ -390,7 +393,7 @@ function measureBoxModelsMiddleware() {
|
|
|
390
393
|
break;
|
|
391
394
|
}
|
|
392
395
|
case import_actions.ActionTypes.UNREGISTER_COMPONENT_HANDLE:
|
|
393
|
-
dispatch((0,
|
|
396
|
+
dispatch((0, import_internal.unregisterMeasurable)(action.payload.documentKey, action.payload.elementKey));
|
|
394
397
|
break;
|
|
395
398
|
}
|
|
396
399
|
return next(action);
|
|
@@ -461,13 +464,13 @@ function createAndRegisterPropControllers(documentKey, elementKey) {
|
|
|
461
464
|
(acc, [propName, descriptor]) => {
|
|
462
465
|
const propController = (0, import_instances.createPropController)(
|
|
463
466
|
descriptor,
|
|
464
|
-
(message) => dispatch((0,
|
|
467
|
+
(message) => dispatch((0, import_builder_api.messageBuilderPropController)(documentKey, elementKey, propName, message))
|
|
465
468
|
);
|
|
466
469
|
return { ...acc, [propName]: propController };
|
|
467
470
|
},
|
|
468
471
|
{}
|
|
469
472
|
);
|
|
470
|
-
dispatch((0,
|
|
473
|
+
dispatch((0, import_internal.registerPropControllers)(documentKey, elementKey, propControllers));
|
|
471
474
|
return propControllers;
|
|
472
475
|
};
|
|
473
476
|
}
|
|
@@ -482,7 +485,7 @@ function propControllerHandlesMiddleware() {
|
|
|
482
485
|
createAndRegisterPropControllers(documentKey, elementKey)
|
|
483
486
|
);
|
|
484
487
|
if (element != null && !ReactPage.isElementReference(element) && PropControllerHandles.isPropControllersHandle(componentHandle)) {
|
|
485
|
-
dispatch((0,
|
|
488
|
+
dispatch((0, import_internal.registerPropControllersHandle)(documentKey, elementKey, componentHandle));
|
|
486
489
|
componentHandle.setPropControllers(propControllers);
|
|
487
490
|
}
|
|
488
491
|
break;
|
|
@@ -495,7 +498,7 @@ function propControllerHandlesMiddleware() {
|
|
|
495
498
|
elementKey
|
|
496
499
|
);
|
|
497
500
|
handle?.setPropControllers(null);
|
|
498
|
-
dispatch((0,
|
|
501
|
+
dispatch((0, import_internal.unregisterPropControllers)(documentKey, elementKey));
|
|
499
502
|
break;
|
|
500
503
|
}
|
|
501
504
|
case import_actions.ActionTypes.MESSAGE_HOST_PROP_CONTROLLER: {
|