@makeswift/runtime 0.1.8 → 0.1.10
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/Box.cjs.js +2 -3
- package/dist/Box.cjs.js.map +1 -1
- package/dist/Box.es.js +2 -3
- package/dist/Box.es.js.map +1 -1
- package/dist/Button.cjs.js +4 -3
- package/dist/Button.cjs.js.map +1 -1
- package/dist/Button.es.js +4 -3
- package/dist/Button.es.js.map +1 -1
- package/dist/Carousel.cjs.js +5 -4
- package/dist/Carousel.cjs.js.map +1 -1
- package/dist/Carousel.es.js +5 -4
- package/dist/Carousel.es.js.map +1 -1
- package/dist/Countdown.cjs.js +5 -4
- package/dist/Countdown.cjs.js.map +1 -1
- package/dist/Countdown.es.js +5 -4
- package/dist/Countdown.es.js.map +1 -1
- package/dist/Divider.cjs.js +4 -3
- package/dist/Divider.cjs.js.map +1 -1
- package/dist/Divider.es.js +4 -3
- package/dist/Divider.es.js.map +1 -1
- package/dist/Embed.cjs.js +4 -3
- package/dist/Embed.cjs.js.map +1 -1
- package/dist/Embed.es.js +4 -3
- package/dist/Embed.es.js.map +1 -1
- package/dist/Form.cjs.js +3 -4
- package/dist/Form.cjs.js.map +1 -1
- package/dist/Form.es.js +3 -4
- package/dist/Form.es.js.map +1 -1
- package/dist/Image.cjs2.js +4 -3
- package/dist/Image.cjs2.js.map +1 -1
- package/dist/Image.es2.js +4 -3
- package/dist/Image.es2.js.map +1 -1
- package/dist/Navigation.cjs.js +4 -3
- package/dist/Navigation.cjs.js.map +1 -1
- package/dist/Navigation.es.js +4 -3
- package/dist/Navigation.es.js.map +1 -1
- package/dist/Root.cjs.js +4 -3
- package/dist/Root.cjs.js.map +1 -1
- package/dist/Root.es.js +4 -3
- package/dist/Root.es.js.map +1 -1
- package/dist/SocialLinks.cjs.js +4 -3
- package/dist/SocialLinks.cjs.js.map +1 -1
- package/dist/SocialLinks.es.js +4 -3
- package/dist/SocialLinks.es.js.map +1 -1
- package/dist/Text.cjs.js +2 -3
- package/dist/Text.cjs.js.map +1 -1
- package/dist/Text.es.js +2 -3
- package/dist/Text.es.js.map +1 -1
- package/dist/Video.cjs.js +5 -4
- package/dist/Video.cjs.js.map +1 -1
- package/dist/Video.es.js +5 -4
- package/dist/Video.es.js.map +1 -1
- package/dist/actions.es.js +1 -1
- package/dist/builder.cjs.js +0 -2
- package/dist/builder.cjs.js.map +1 -1
- package/dist/builder.es.js +0 -2
- package/dist/builder.es.js.map +1 -1
- package/dist/components.cjs.js +2 -3
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +2 -3
- package/dist/components.es.js.map +1 -1
- package/dist/control-serialization.cjs.js +37 -39
- package/dist/control-serialization.cjs.js.map +1 -1
- package/dist/control-serialization.es.js +1 -3
- package/dist/control-serialization.es.js.map +1 -1
- package/dist/controls.cjs.js +9 -5
- package/dist/controls.cjs.js.map +1 -1
- package/dist/controls.es.js +2 -2
- package/dist/cssMediaRules.cjs.js +1 -13
- package/dist/cssMediaRules.cjs.js.map +1 -1
- package/dist/cssMediaRules.es.js +1 -13
- package/dist/cssMediaRules.es.js.map +1 -1
- package/dist/image.cjs.js +269 -1
- package/dist/image.cjs.js.map +1 -1
- package/dist/image.es.js +230 -1
- package/dist/image.es.js.map +1 -1
- package/dist/index.cjs.js +382 -187
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +212 -18
- package/dist/index.es.js.map +1 -1
- package/dist/index.es2.js +1 -1
- package/dist/index.es3.js +1 -1
- package/dist/main.cjs.js +2 -3
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.es.js +2 -3
- package/dist/main.es.js.map +1 -1
- package/dist/next.cjs.js +4 -3
- package/dist/next.cjs.js.map +1 -1
- package/dist/next.es.js +5 -4
- package/dist/next.es.js.map +1 -1
- package/dist/prop-controllers.cjs.js +5 -6
- package/dist/prop-controllers.cjs.js.map +1 -1
- package/dist/prop-controllers.es.js +2 -3
- package/dist/prop-controllers.es.js.map +1 -1
- package/dist/react-builder-preview.cjs.js +21 -78
- package/dist/react-builder-preview.cjs.js.map +1 -1
- package/dist/react-builder-preview.es.js +28 -85
- package/dist/react-builder-preview.es.js.map +1 -1
- package/dist/react-page.cjs.js +113 -48
- package/dist/react-page.cjs.js.map +1 -1
- package/dist/react-page.es.js +80 -20
- package/dist/react-page.es.js.map +1 -1
- package/dist/react.cjs.js +4 -3
- package/dist/react.cjs.js.map +1 -1
- package/dist/react.es.js +4 -3
- package/dist/react.es.js.map +1 -1
- package/dist/{instances.cjs.js → slot.cjs.js} +28 -4
- package/dist/slot.cjs.js.map +1 -0
- package/dist/{instances.es.js → slot.es.js} +23 -3
- package/dist/slot.es.js.map +1 -0
- package/dist/types/box-model.d.ts +1 -1
- package/dist/types/box-model.d.ts.map +1 -1
- package/dist/types/controls/index.d.ts +1 -0
- package/dist/types/controls/index.d.ts.map +1 -1
- package/dist/types/controls/slot.d.ts +42 -0
- package/dist/types/controls/slot.d.ts.map +1 -0
- package/dist/types/prop-controllers/descriptors.d.ts +2 -2
- package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
- package/dist/types/prop-controllers/instances.d.ts +3 -2
- package/dist/types/prop-controllers/instances.d.ts.map +1 -1
- package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/slot.d.ts +30 -0
- package/dist/types/runtimes/react/controls/slot.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/style.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls.d.ts.map +1 -1
- package/dist/types/runtimes/react/index.d.ts +4 -0
- package/dist/types/runtimes/react/index.d.ts.map +1 -1
- package/dist/types/runtimes/react/use-style.d.ts +3 -0
- package/dist/types/runtimes/react/use-style.d.ts.map +1 -0
- package/dist/types/state/modules/prop-controller-handles.d.ts +1 -0
- package/dist/types/state/modules/prop-controller-handles.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 +3 -0
- package/dist/types/state/react-page.d.ts.map +1 -1
- package/dist/useBoxShadow.es.js +1 -1
- package/package.json +2 -2
- package/dist/descriptors.cjs.js +0 -232
- package/dist/descriptors.cjs.js.map +0 -1
- package/dist/descriptors.es.js +0 -196
- package/dist/descriptors.es.js.map +0 -1
- package/dist/instances.cjs.js.map +0 -1
- package/dist/instances.es.js.map +0 -1
- package/dist/style.cjs.js +0 -41
- package/dist/style.cjs.js.map +0 -1
- package/dist/style.es.js +0 -38
- package/dist/style.es.js.map +0 -1
package/dist/react-page.cjs.js
CHANGED
|
@@ -21,10 +21,9 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
|
21
21
|
var redux = require("redux");
|
|
22
22
|
var thunk = require("redux-thunk");
|
|
23
23
|
var actions = require("./actions.cjs.js");
|
|
24
|
-
var descriptors = require("./descriptors.cjs.js");
|
|
25
|
-
var color = require("./color.cjs.js");
|
|
26
24
|
var image = require("./image.cjs.js");
|
|
27
|
-
require("./
|
|
25
|
+
var color = require("./color.cjs.js");
|
|
26
|
+
var slot = require("./slot.cjs.js");
|
|
28
27
|
function _interopDefaultLegacy(e) {
|
|
29
28
|
return e && typeof e === "object" && "default" in e ? e : { "default": e };
|
|
30
29
|
}
|
|
@@ -38,7 +37,7 @@ function createDocumentReference(key) {
|
|
|
38
37
|
function createDocument(key, rootElement) {
|
|
39
38
|
return { key, rootElement };
|
|
40
39
|
}
|
|
41
|
-
function getInitialState$
|
|
40
|
+
function getInitialState$5({
|
|
42
41
|
rootElements = /* @__PURE__ */ new Map()
|
|
43
42
|
} = {}) {
|
|
44
43
|
const initialState = /* @__PURE__ */ new Map();
|
|
@@ -54,7 +53,7 @@ function getDocument$1(state, documentKey) {
|
|
|
54
53
|
var _a;
|
|
55
54
|
return (_a = getDocuments(state).get(documentKey)) != null ? _a : null;
|
|
56
55
|
}
|
|
57
|
-
function reducer$
|
|
56
|
+
function reducer$6(state = getInitialState$5(), action) {
|
|
58
57
|
switch (action.type) {
|
|
59
58
|
case actions.ActionTypes.REGISTER_DOCUMENT:
|
|
60
59
|
return new Map(state).set(action.payload.documentKey, action.payload.document);
|
|
@@ -67,7 +66,7 @@ function reducer$5(state = getInitialState$4(), action) {
|
|
|
67
66
|
return state;
|
|
68
67
|
}
|
|
69
68
|
}
|
|
70
|
-
function getInitialState$
|
|
69
|
+
function getInitialState$4({
|
|
71
70
|
reactComponents = /* @__PURE__ */ new Map()
|
|
72
71
|
} = {}) {
|
|
73
72
|
return reactComponents;
|
|
@@ -79,7 +78,7 @@ function getReactComponent$1(state, type) {
|
|
|
79
78
|
var _a;
|
|
80
79
|
return (_a = getReactComponents(state).get(type)) != null ? _a : null;
|
|
81
80
|
}
|
|
82
|
-
function reducer$
|
|
81
|
+
function reducer$5(state = getInitialState$4(), action) {
|
|
83
82
|
switch (action.type) {
|
|
84
83
|
case actions.ActionTypes.REGISTER_REACT_COMPONENT:
|
|
85
84
|
return new Map(state).set(action.payload.type, action.payload.component);
|
|
@@ -92,7 +91,7 @@ function reducer$4(state = getInitialState$3(), action) {
|
|
|
92
91
|
return state;
|
|
93
92
|
}
|
|
94
93
|
}
|
|
95
|
-
function getInitialState$
|
|
94
|
+
function getInitialState$3({
|
|
96
95
|
componentsMeta = /* @__PURE__ */ new Map()
|
|
97
96
|
} = {}) {
|
|
98
97
|
return componentsMeta;
|
|
@@ -100,7 +99,7 @@ function getInitialState$2({
|
|
|
100
99
|
function getComponentsMeta(state) {
|
|
101
100
|
return state;
|
|
102
101
|
}
|
|
103
|
-
function reducer$
|
|
102
|
+
function reducer$4(state = getInitialState$3(), action) {
|
|
104
103
|
switch (action.type) {
|
|
105
104
|
case actions.ActionTypes.REGISTER_COMPONENT:
|
|
106
105
|
return new Map(state).set(action.payload.type, action.payload.meta);
|
|
@@ -113,7 +112,7 @@ function reducer$3(state = getInitialState$2(), action) {
|
|
|
113
112
|
return state;
|
|
114
113
|
}
|
|
115
114
|
}
|
|
116
|
-
function getInitialState$
|
|
115
|
+
function getInitialState$2({
|
|
117
116
|
propControllerDescriptors = /* @__PURE__ */ new Map()
|
|
118
117
|
} = {}) {
|
|
119
118
|
return propControllerDescriptors;
|
|
@@ -125,7 +124,7 @@ function getComponentPropControllerDescriptors$1(state, componentType) {
|
|
|
125
124
|
var _a;
|
|
126
125
|
return (_a = getPropControllerDescriptors$1(state).get(componentType)) != null ? _a : null;
|
|
127
126
|
}
|
|
128
|
-
function reducer$
|
|
127
|
+
function reducer$3(state = getInitialState$2(), action) {
|
|
129
128
|
switch (action.type) {
|
|
130
129
|
case actions.ActionTypes.REGISTER_COMPONENT:
|
|
131
130
|
return new Map(state).set(action.payload.type, action.payload.propControllerDescriptors);
|
|
@@ -138,6 +137,58 @@ function reducer$2(state = getInitialState$1(), action) {
|
|
|
138
137
|
return state;
|
|
139
138
|
}
|
|
140
139
|
}
|
|
140
|
+
function isPropControllersHandle(value) {
|
|
141
|
+
if (typeof value === "object" && value !== null && "setPropControllers" in value && typeof value.setPropControllers === "function") {
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
function getInitialState$1() {
|
|
147
|
+
return { handles: /* @__PURE__ */ new Map(), instances: /* @__PURE__ */ new Map() };
|
|
148
|
+
}
|
|
149
|
+
function getPropControllersHandle(state, documentKey, elementKey) {
|
|
150
|
+
var _a, _b;
|
|
151
|
+
return (_b = (_a = state.handles.get(documentKey)) == null ? void 0 : _a.get(elementKey)) != null ? _b : null;
|
|
152
|
+
}
|
|
153
|
+
function getPropControllers$1(state, documentKey, elementKey) {
|
|
154
|
+
var _a, _b;
|
|
155
|
+
return (_b = (_a = state.instances.get(documentKey)) == null ? void 0 : _a.get(elementKey)) != null ? _b : null;
|
|
156
|
+
}
|
|
157
|
+
function getPropController(state, documentKey, elementKey, propName) {
|
|
158
|
+
var _a, _b;
|
|
159
|
+
return (_b = (_a = getPropControllers$1(state, documentKey, elementKey)) == null ? void 0 : _a[propName]) != null ? _b : null;
|
|
160
|
+
}
|
|
161
|
+
function reducer$2(state = getInitialState$1(), action) {
|
|
162
|
+
var _a, _b, _c, _d;
|
|
163
|
+
switch (action.type) {
|
|
164
|
+
case actions.ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE: {
|
|
165
|
+
const { documentKey, elementKey, handle } = action.payload;
|
|
166
|
+
return __spreadProps(__spreadValues({}, state), {
|
|
167
|
+
handles: new Map(state.handles).set(documentKey, new Map((_a = state.handles.get(documentKey)) != null ? _a : []).set(elementKey, handle))
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
case actions.ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE: {
|
|
171
|
+
const { documentKey, elementKey } = action.payload;
|
|
172
|
+
const nextHandles = new Map((_b = state.handles.get(documentKey)) != null ? _b : []);
|
|
173
|
+
const deleted = nextHandles.delete(elementKey);
|
|
174
|
+
return deleted ? __spreadProps(__spreadValues({}, state), { handles: new Map(state.handles).set(documentKey, nextHandles) }) : state;
|
|
175
|
+
}
|
|
176
|
+
case actions.ActionTypes.REGISTER_PROP_CONTROLLERS: {
|
|
177
|
+
const { documentKey, elementKey, propControllers } = action.payload;
|
|
178
|
+
return __spreadProps(__spreadValues({}, state), {
|
|
179
|
+
instances: new Map(state.instances).set(documentKey, new Map((_c = state.instances.get(documentKey)) != null ? _c : []).set(elementKey, propControllers))
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
case actions.ActionTypes.UNREGISTER_PROP_CONTROLLERS: {
|
|
183
|
+
const { documentKey, elementKey } = action.payload;
|
|
184
|
+
const nextInstances = new Map((_d = state.instances.get(documentKey)) != null ? _d : []);
|
|
185
|
+
const deleted = nextInstances.delete(elementKey);
|
|
186
|
+
return deleted ? __spreadProps(__spreadValues({}, state), { instances: new Map(state.instances).set(documentKey, nextInstances) }) : state;
|
|
187
|
+
}
|
|
188
|
+
default:
|
|
189
|
+
return state;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
141
192
|
function getInitialState() {
|
|
142
193
|
return false;
|
|
143
194
|
}
|
|
@@ -153,7 +204,9 @@ function getElementChildren(descriptor, prop) {
|
|
|
153
204
|
if (prop == null)
|
|
154
205
|
return [];
|
|
155
206
|
switch (descriptor.type) {
|
|
156
|
-
case
|
|
207
|
+
case image.Types.Grid:
|
|
208
|
+
return prop.elements;
|
|
209
|
+
case slot.SlotControlType:
|
|
157
210
|
return prop.elements;
|
|
158
211
|
default:
|
|
159
212
|
return [];
|
|
@@ -163,7 +216,7 @@ function getElementId$1(descriptor, prop) {
|
|
|
163
216
|
if (prop == null)
|
|
164
217
|
return null;
|
|
165
218
|
switch (descriptor.type) {
|
|
166
|
-
case
|
|
219
|
+
case image.Types.ElementID:
|
|
167
220
|
return prop;
|
|
168
221
|
default:
|
|
169
222
|
return null;
|
|
@@ -174,7 +227,7 @@ function getElementSwatchIds(descriptor, prop) {
|
|
|
174
227
|
if (prop == null)
|
|
175
228
|
return [];
|
|
176
229
|
switch (descriptor.type) {
|
|
177
|
-
case
|
|
230
|
+
case image.Types.Backgrounds: {
|
|
178
231
|
const value = prop;
|
|
179
232
|
return (_a = value == null ? void 0 : value.flatMap((override) => override.value).flatMap((backgroundItem) => {
|
|
180
233
|
var _a2;
|
|
@@ -188,7 +241,7 @@ function getElementSwatchIds(descriptor, prop) {
|
|
|
188
241
|
}
|
|
189
242
|
})) != null ? _a : [];
|
|
190
243
|
}
|
|
191
|
-
case
|
|
244
|
+
case image.Types.Border: {
|
|
192
245
|
const value = prop;
|
|
193
246
|
return (_b = value == null ? void 0 : value.flatMap((override) => override.value).flatMap((borderValue) => {
|
|
194
247
|
var _a2, _b2, _c2, _d2, _e2, _f, _g, _h;
|
|
@@ -200,7 +253,7 @@ function getElementSwatchIds(descriptor, prop) {
|
|
|
200
253
|
].filter((swatchId) => swatchId != null);
|
|
201
254
|
})) != null ? _b : [];
|
|
202
255
|
}
|
|
203
|
-
case
|
|
256
|
+
case image.Types.NavigationLinks: {
|
|
204
257
|
const value = prop;
|
|
205
258
|
return (_c = value == null ? void 0 : value.flatMap((item) => {
|
|
206
259
|
var _a2, _b2, _c2, _d2;
|
|
@@ -214,18 +267,18 @@ function getElementSwatchIds(descriptor, prop) {
|
|
|
214
267
|
}
|
|
215
268
|
})) != null ? _c : [];
|
|
216
269
|
}
|
|
217
|
-
case
|
|
270
|
+
case image.Types.ResponsiveColor: {
|
|
218
271
|
const value = prop;
|
|
219
272
|
return (_d = value == null ? void 0 : value.map((override) => override.value).map((color2) => color2.swatchId)) != null ? _d : [];
|
|
220
273
|
}
|
|
221
|
-
case
|
|
274
|
+
case image.Types.Shadows: {
|
|
222
275
|
const value = prop;
|
|
223
276
|
return (_e = value == null ? void 0 : value.flatMap((override) => override.value).map((item) => {
|
|
224
277
|
var _a2;
|
|
225
278
|
return (_a2 = item.payload.color) == null ? void 0 : _a2.swatchId;
|
|
226
279
|
}).filter((swatchId) => swatchId != null)) != null ? _e : [];
|
|
227
280
|
}
|
|
228
|
-
case
|
|
281
|
+
case image.Types.RichText: {
|
|
229
282
|
let getNodeSwatchIds = function(node) {
|
|
230
283
|
var _a2, _b2, _c2, _d2;
|
|
231
284
|
switch (node.object) {
|
|
@@ -239,11 +292,11 @@ function getElementSwatchIds(descriptor, prop) {
|
|
|
239
292
|
return [];
|
|
240
293
|
}
|
|
241
294
|
}, getMarkSwatchIds = function(mark) {
|
|
242
|
-
var _a2, _b2, _c2;
|
|
243
|
-
return (_c2 = (_b2 = (_a2 = mark.data) == null ? void 0 : _a2.value) == null ? void 0 : _b2.style.map((override) => override.value).flatMap((typographyStyle) => {
|
|
295
|
+
var _a2, _b2, _c2, _d2;
|
|
296
|
+
return (_d2 = (_c2 = (_b2 = (_a2 = mark.data) == null ? void 0 : _a2.value) == null ? void 0 : _b2.style) == null ? void 0 : _c2.map((override) => override.value).flatMap((typographyStyle) => {
|
|
244
297
|
var _a3;
|
|
245
298
|
return (_a3 = typographyStyle.color) == null ? void 0 : _a3.swatchId;
|
|
246
|
-
}).filter((swatchId) => swatchId != null)) != null ?
|
|
299
|
+
}).filter((swatchId) => swatchId != null)) != null ? _d2 : [];
|
|
247
300
|
};
|
|
248
301
|
const value = prop;
|
|
249
302
|
if (value == null || value.document == null)
|
|
@@ -263,7 +316,7 @@ function getFileIds(descriptor, prop) {
|
|
|
263
316
|
if (prop == null)
|
|
264
317
|
return [];
|
|
265
318
|
switch (descriptor.type) {
|
|
266
|
-
case
|
|
319
|
+
case image.Types.Backgrounds: {
|
|
267
320
|
const value = prop;
|
|
268
321
|
return (_a = value == null ? void 0 : value.flatMap((override) => override.value).flatMap((backgroundItem) => {
|
|
269
322
|
switch (backgroundItem.type) {
|
|
@@ -274,11 +327,11 @@ function getFileIds(descriptor, prop) {
|
|
|
274
327
|
}
|
|
275
328
|
})) != null ? _a : [];
|
|
276
329
|
}
|
|
277
|
-
case
|
|
330
|
+
case image.Types.Image: {
|
|
278
331
|
const value = prop;
|
|
279
332
|
return value == null ? [] : [value];
|
|
280
333
|
}
|
|
281
|
-
case
|
|
334
|
+
case image.Types.Images: {
|
|
282
335
|
const value = prop;
|
|
283
336
|
return (_b = value == null ? void 0 : value.flatMap((item) => item.props.file == null ? [] : [item.props.file])) != null ? _b : [];
|
|
284
337
|
}
|
|
@@ -294,7 +347,7 @@ function getTypographyIds(descriptor, prop) {
|
|
|
294
347
|
if (prop == null)
|
|
295
348
|
return [];
|
|
296
349
|
switch (descriptor.type) {
|
|
297
|
-
case
|
|
350
|
+
case image.Types.RichText: {
|
|
298
351
|
let getNodeTypographyIds = function(node) {
|
|
299
352
|
var _a, _b, _c, _d;
|
|
300
353
|
switch (node.object) {
|
|
@@ -324,7 +377,7 @@ function getTableIds(descriptor, prop) {
|
|
|
324
377
|
if (prop == null)
|
|
325
378
|
return [];
|
|
326
379
|
switch (descriptor.type) {
|
|
327
|
-
case
|
|
380
|
+
case image.Types.Table: {
|
|
328
381
|
const value = prop;
|
|
329
382
|
return value == null ? [] : [value];
|
|
330
383
|
}
|
|
@@ -337,7 +390,7 @@ function getPageIds(descriptor, prop) {
|
|
|
337
390
|
if (prop == null)
|
|
338
391
|
return [];
|
|
339
392
|
switch (descriptor.type) {
|
|
340
|
-
case
|
|
393
|
+
case image.Types.Link: {
|
|
341
394
|
const value = prop;
|
|
342
395
|
if (value == null)
|
|
343
396
|
return [];
|
|
@@ -348,7 +401,7 @@ function getPageIds(descriptor, prop) {
|
|
|
348
401
|
return [];
|
|
349
402
|
}
|
|
350
403
|
}
|
|
351
|
-
case
|
|
404
|
+
case image.Types.NavigationLinks: {
|
|
352
405
|
const value = prop;
|
|
353
406
|
if (value == null)
|
|
354
407
|
return [];
|
|
@@ -380,7 +433,7 @@ function getPageIds(descriptor, prop) {
|
|
|
380
433
|
}
|
|
381
434
|
})) != null ? _a : [];
|
|
382
435
|
}
|
|
383
|
-
case
|
|
436
|
+
case image.Types.RichText: {
|
|
384
437
|
let getNodePageIds = function(node) {
|
|
385
438
|
var _a2, _b;
|
|
386
439
|
switch (node.object) {
|
|
@@ -421,10 +474,11 @@ function getPageIds(descriptor, prop) {
|
|
|
421
474
|
}
|
|
422
475
|
}
|
|
423
476
|
const reducer = redux.combineReducers({
|
|
424
|
-
documents: reducer$
|
|
425
|
-
reactComponents: reducer$
|
|
426
|
-
componentsMeta: reducer$
|
|
427
|
-
propControllers: reducer$
|
|
477
|
+
documents: reducer$6,
|
|
478
|
+
reactComponents: reducer$5,
|
|
479
|
+
componentsMeta: reducer$4,
|
|
480
|
+
propControllers: reducer$3,
|
|
481
|
+
propControllerHandles: reducer$2,
|
|
428
482
|
isInBuilder: reducer$1
|
|
429
483
|
});
|
|
430
484
|
function getDocumentsStateSlice(state) {
|
|
@@ -448,7 +502,13 @@ function getPropControllerDescriptors(state) {
|
|
|
448
502
|
function getComponentPropControllerDescriptors(state, componentType) {
|
|
449
503
|
return getComponentPropControllerDescriptors$1(getPropControllersStateSlice(state), componentType);
|
|
450
504
|
}
|
|
451
|
-
function
|
|
505
|
+
function getPropControllerHandlesStateSlice(state) {
|
|
506
|
+
return state.propControllerHandles;
|
|
507
|
+
}
|
|
508
|
+
function getPropControllers(state, documentKey, elementKey) {
|
|
509
|
+
return getPropControllers$1(getPropControllerHandlesStateSlice(state), documentKey, elementKey);
|
|
510
|
+
}
|
|
511
|
+
function normalizeElement(element, descriptors) {
|
|
452
512
|
const elements = /* @__PURE__ */ new Map();
|
|
453
513
|
const remaining = [element];
|
|
454
514
|
let current;
|
|
@@ -456,7 +516,7 @@ function normalizeElement(element, descriptors2) {
|
|
|
456
516
|
elements.set(current.key, current);
|
|
457
517
|
if (isElementReference(current))
|
|
458
518
|
continue;
|
|
459
|
-
const elementDescriptors =
|
|
519
|
+
const elementDescriptors = descriptors.get(current.type);
|
|
460
520
|
if (elementDescriptors == null)
|
|
461
521
|
continue;
|
|
462
522
|
const parent = current;
|
|
@@ -469,10 +529,10 @@ function normalizeElement(element, descriptors2) {
|
|
|
469
529
|
}
|
|
470
530
|
function getDocumentElements(state, documentKey) {
|
|
471
531
|
const document = getDocument(state, documentKey);
|
|
472
|
-
const
|
|
532
|
+
const descriptors = getPropControllerDescriptors(state);
|
|
473
533
|
if (document == null)
|
|
474
534
|
return /* @__PURE__ */ new Map();
|
|
475
|
-
return normalizeElement(document.rootElement,
|
|
535
|
+
return normalizeElement(document.rootElement, descriptors);
|
|
476
536
|
}
|
|
477
537
|
function getElement(state, documentKey, elementKey) {
|
|
478
538
|
var _a;
|
|
@@ -488,10 +548,10 @@ function getElementId(state, documentKey, elementKey) {
|
|
|
488
548
|
const element = getElement(state, documentKey, elementKey);
|
|
489
549
|
if (element == null || isElementReference(element))
|
|
490
550
|
return null;
|
|
491
|
-
const
|
|
492
|
-
if (
|
|
551
|
+
const descriptors = getComponentPropControllerDescriptors(state, element.type);
|
|
552
|
+
if (descriptors == null)
|
|
493
553
|
return null;
|
|
494
|
-
const elementId = Object.entries(
|
|
554
|
+
const elementId = Object.entries(descriptors).reduce((acc, [propName, descriptor]) => {
|
|
495
555
|
if (acc != null)
|
|
496
556
|
return acc;
|
|
497
557
|
return getElementId$1(descriptor, element.props[propName]);
|
|
@@ -505,7 +565,7 @@ function configureStore({
|
|
|
505
565
|
rootElements,
|
|
506
566
|
preloadedState
|
|
507
567
|
} = {}) {
|
|
508
|
-
return redux.createStore(reducer, __spreadProps(__spreadValues({}, preloadedState), { documents: getInitialState$
|
|
568
|
+
return redux.createStore(reducer, __spreadProps(__spreadValues({}, preloadedState), { documents: getInitialState$5({ rootElements }) }), redux.applyMiddleware(thunk__default["default"]));
|
|
509
569
|
}
|
|
510
570
|
exports.configureStore = configureStore;
|
|
511
571
|
exports.createDocument = createDocument;
|
|
@@ -521,17 +581,22 @@ exports.getElementId = getElementId;
|
|
|
521
581
|
exports.getElementPropControllerDescriptors = getElementPropControllerDescriptors;
|
|
522
582
|
exports.getElementSwatchIds = getElementSwatchIds;
|
|
523
583
|
exports.getFileIds = getFileIds;
|
|
524
|
-
exports.getInitialState = getInitialState$
|
|
584
|
+
exports.getInitialState = getInitialState$5;
|
|
525
585
|
exports.getIsInBuilder = getIsInBuilder;
|
|
526
586
|
exports.getPageIds = getPageIds;
|
|
587
|
+
exports.getPropController = getPropController;
|
|
527
588
|
exports.getPropControllerDescriptors = getPropControllerDescriptors;
|
|
589
|
+
exports.getPropControllers = getPropControllers;
|
|
590
|
+
exports.getPropControllersHandle = getPropControllersHandle;
|
|
528
591
|
exports.getReactComponent = getReactComponent;
|
|
529
592
|
exports.getTableIds = getTableIds;
|
|
530
593
|
exports.getTypographyIds = getTypographyIds;
|
|
531
594
|
exports.isElementReference = isElementReference;
|
|
532
|
-
exports.
|
|
533
|
-
exports.reducer
|
|
534
|
-
exports.reducer$
|
|
535
|
-
exports.reducer$
|
|
536
|
-
exports.reducer$
|
|
595
|
+
exports.isPropControllersHandle = isPropControllersHandle;
|
|
596
|
+
exports.reducer = reducer$6;
|
|
597
|
+
exports.reducer$1 = reducer$5;
|
|
598
|
+
exports.reducer$2 = reducer$4;
|
|
599
|
+
exports.reducer$3 = reducer$3;
|
|
600
|
+
exports.reducer$4 = reducer$2;
|
|
601
|
+
exports.reducer$5 = reducer$1;
|
|
537
602
|
//# sourceMappingURL=react-page.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-page.cjs.js","sources":["../src/state/modules/read-only-documents.ts","../src/state/modules/react-components.tsx","../src/state/modules/components-meta.ts","../src/state/modules/prop-controllers.ts","../src/state/modules/is-in-builder.ts","../src/prop-controllers/introspection.ts","../src/state/react-page.ts"],"sourcesContent":["import { Action, ActionTypes } from '../actions'\n\nexport type Data = undefined | null | boolean | number | string | Data[] | { [key: string]: Data }\n\nexport type ElementData = { type: string; key: string; props: Record<string, Data> }\n\nexport type ElementReference = { type: 'reference'; key: string; value: string }\n\nexport type Element = ElementData | ElementReference\n\nexport function isElementReference(element: Element): element is ElementReference {\n return !('props' in element)\n}\n\nexport type DocumentReference = {\n key: string\n}\n\nexport function createDocumentReference(key: string): DocumentReference {\n return { key }\n}\n\nexport type Document = {\n key: string\n rootElement: Element\n}\n\nexport function createDocument(key: string, rootElement: Element): Document {\n return { key, rootElement }\n}\n\nexport type State = Map<string, Document>\n\nexport function getInitialState({\n rootElements = new Map(),\n}: { rootElements?: Map<string, Element> } = {}): State {\n const initialState = new Map()\n\n rootElements.forEach((rootElement, documentKey) => {\n initialState.set(documentKey, createDocument(documentKey, rootElement))\n })\n\n return initialState\n}\n\nfunction getDocuments(state: State): Map<string, Document> {\n return state\n}\n\nexport function getDocument(state: State, documentKey: string): Document | null {\n return getDocuments(state).get(documentKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_DOCUMENT:\n return new Map(state).set(action.payload.documentKey, action.payload.document)\n\n case ActionTypes.UNREGISTER_DOCUMENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.documentKey)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import type { Component, PropsWithoutRef, ReactElement, RefAttributes } from 'react'\n\nimport { Action, ActionTypes } from '../actions'\n\nexport type ComponentType<P = Record<string, any>, T = any> =\n | { new (props: PropsWithoutRef<P> & RefAttributes<T>, context?: any): Component<P> }\n | ((props: PropsWithoutRef<P> & RefAttributes<T>, context?: any) => ReactElement<any, any> | null)\n\nexport type State = Map<string, ComponentType>\n\nexport function getInitialState({\n reactComponents = new Map(),\n}: { reactComponents?: Map<string, ComponentType> } = {}): State {\n return reactComponents\n}\n\nfunction getReactComponents(state: State): Map<string, ComponentType> {\n return state\n}\n\nexport function getReactComponent(state: State, type: string): ComponentType | null {\n return getReactComponents(state).get(type) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action) {\n switch (action.type) {\n case ActionTypes.REGISTER_REACT_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.component)\n\n case ActionTypes.UNREGISTER_REACT_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\n\nexport type ComponentIcon =\n | 'Carousel40'\n | 'Code40'\n | 'Countdown40'\n | 'Cube40'\n | 'Divider40'\n | 'Form40'\n | 'Navigation40'\n | 'SocialLinks40'\n | 'Video40'\n\nexport type ComponentMeta = { label: string; icon: ComponentIcon; hidden: boolean }\n\nexport type State = Map<string, ComponentMeta>\n\nexport function getInitialState({\n componentsMeta = new Map(),\n}: { componentsMeta?: Map<string, ComponentMeta> } = {}): State {\n return componentsMeta\n}\n\nexport function getComponentsMeta(state: State): Map<string, ComponentMeta> {\n return state\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.meta)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\nimport { PropControllerDescriptor } from '../../prop-controllers'\n\nexport type { PropControllerDescriptor }\n\nexport type State = Map<string, Record<string, PropControllerDescriptor>>\n\nexport function getInitialState({\n propControllerDescriptors = new Map(),\n}: {\n propControllerDescriptors?: Map<string, Record<string, PropControllerDescriptor>>\n} = {}): State {\n return propControllerDescriptors\n}\n\nexport function getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllerDescriptor>> {\n return state\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllerDescriptor> | null {\n return getPropControllerDescriptors(state).get(componentType) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.propControllerDescriptors)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\n\nexport type State = boolean\n\nexport function getInitialState(): State {\n return false\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.SET_IS_IN_BUILDER:\n return action.payload\n\n default:\n return state\n }\n}\n","import { InlineJSON, MarkJSON, NodeJSON } from 'slate'\nimport {\n BackgroundsValue,\n BorderValue,\n Descriptor,\n ElementIDValue,\n GridValue,\n ImagesValue,\n ImageValue,\n LinkValue,\n NavigationLinksValue,\n ResponsiveColorValue,\n RichTextValue,\n ShadowsValue,\n TableValue,\n Types,\n} from './descriptors'\nimport { Data, Element } from '../state/react-page'\nimport { ColorControlData, ColorControlType, ImageControlData, ImageControlType } from '../controls'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n\nexport function getElementSwatchIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Backgrounds: {\n const value = prop as BackgroundsValue\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null\n ? []\n : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap(stop =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n }\n\n case Types.Border: {\n const value = prop as BorderValue\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(borderValue => {\n return [\n borderValue.borderTop?.color?.swatchId,\n borderValue.borderRight?.color?.swatchId,\n borderValue.borderBottom?.color?.swatchId,\n borderValue.borderLeft?.color?.swatchId,\n ].filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null)\n }) ?? []\n )\n }\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n return (\n value?.flatMap(item => {\n switch (item.type) {\n case 'button':\n case 'dropdown':\n return [\n ...(item.payload.color\n ?.map(override => override.value)\n .map(color => color.swatchId) ?? []),\n ...(item.payload.textColor\n ?.map(override => override.value)\n .map(color => color.swatchId) ?? []),\n ]\n }\n }) ?? []\n )\n }\n\n case Types.ResponsiveColor: {\n const value = prop as ResponsiveColorValue\n return value?.map(override => override.value).map(color => color.swatchId) ?? []\n }\n\n case Types.Shadows: {\n const value = prop as ShadowsValue\n return (\n value\n ?.flatMap(override => override.value)\n .map(item => item.payload.color?.swatchId)\n .filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null) ?? []\n )\n }\n\n case Types.RichText: {\n const value = prop as RichTextValue\n\n if (value == null || value.document == null) return []\n\n return getNodeSwatchIds(value.document)\n\n function getNodeSwatchIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n case 'inline':\n return node.nodes?.flatMap(getNodeSwatchIds) ?? []\n\n case 'text':\n return node.marks?.flatMap(getMarkSwatchIds) ?? []\n\n default:\n return []\n }\n }\n\n function getMarkSwatchIds(mark: MarkJSON): string[] {\n return (\n mark.data?.value?.style\n .map((override: any) => override.value)\n .flatMap((typographyStyle: any) => typographyStyle.color?.swatchId)\n .filter((swatchId: any) => swatchId != null) ?? []\n )\n }\n }\n\n case ColorControlType: {\n const value = prop as ColorControlData\n return value?.swatchId == null ? [] : [value.swatchId]\n }\n\n default:\n return []\n }\n}\n\nexport function getFileIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Backgrounds: {\n const value = prop as BackgroundsValue\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n switch (backgroundItem.type) {\n case 'image':\n return [backgroundItem.payload.imageId]\n\n default:\n return []\n }\n }) ?? []\n )\n }\n\n case Types.Image: {\n const value = prop as ImageValue\n return value == null ? [] : [value]\n }\n\n case Types.Images: {\n const value = prop as ImagesValue\n return value?.flatMap(item => (item.props.file == null ? [] : [item.props.file])) ?? []\n }\n\n case ImageControlType: {\n const value = prop as ImageControlData\n return value == null ? [] : [value]\n }\n\n default:\n return []\n }\n}\n\nexport function getTypographyIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.RichText: {\n const value = prop as RichTextValue\n if (value == null || value.document == null) return []\n\n return getNodeTypographyIds(value.document)\n\n function getNodeTypographyIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n case 'inline':\n return node.nodes?.flatMap(getNodeTypographyIds) ?? []\n\n case 'text':\n return node.marks?.flatMap(getMarkTypographyIds) ?? []\n\n default:\n return []\n }\n }\n\n function getMarkTypographyIds(mark: MarkJSON): string[] {\n return [mark.data?.value?.id].filter(id => id != null)\n }\n }\n\n default:\n return []\n }\n}\n\nexport function getTableIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Table: {\n const value = prop as TableValue\n return value == null ? [] : [value]\n }\n\n default:\n return []\n }\n}\n\nexport function getPageIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Link: {\n const value = prop as LinkValue\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n if (value == null) return []\n\n return (\n value?.flatMap(item => {\n switch (item.type) {\n case 'button': {\n if (item.payload.link == null) return []\n\n switch (item.payload.link.type) {\n case 'OPEN_PAGE':\n return item.payload.link.payload.pageId == null\n ? []\n : [item.payload.link.payload.pageId]\n\n default:\n return []\n }\n }\n\n case 'dropdown': {\n return (\n item.payload.links?.flatMap(link => {\n if (link.payload.link == null) return []\n\n switch (link.payload.link.type) {\n case 'OPEN_PAGE':\n return link.payload.link.payload.pageId == null\n ? []\n : [link.payload.link.payload.pageId]\n\n default:\n return []\n }\n }) ?? []\n )\n }\n }\n }) ?? []\n )\n }\n\n case Types.RichText: {\n const value = prop as RichTextValue\n if (value == null || value.document == null) return []\n\n return getNodePageIds(value.document)\n\n function getNodePageIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n return node.nodes?.flatMap(getNodePageIds) ?? []\n\n case 'inline':\n return getInlinePageIds(node)\n\n default:\n return []\n }\n }\n\n function getInlinePageIds(inline: InlineJSON): string[] {\n switch (inline.type) {\n case 'link': {\n const nodePageIds = inline.nodes?.flatMap(getNodePageIds) ?? []\n const dataPageIds = inline.data ? getLinkDataPageIds(inline.data as LinkValue) : []\n\n return [...nodePageIds, ...dataPageIds]\n }\n\n default:\n return inline.nodes?.flatMap(getNodePageIds) ?? []\n }\n }\n\n function getLinkDataPageIds(link: LinkValue): string[] {\n switch (link.type) {\n case 'OPEN_PAGE':\n return link.payload.pageId == null ? [] : [link.payload.pageId]\n\n default:\n return []\n }\n }\n }\n\n default:\n return []\n }\n}\n","import {\n applyMiddleware,\n combineReducers,\n createStore,\n PreloadedState,\n Store as ReduxStore,\n} from 'redux'\nimport thunk, { ThunkDispatch } from 'redux-thunk'\n\nimport * as Documents from './modules/read-only-documents'\nimport * as ReactComponents from './modules/react-components'\nimport * as ComponentsMeta from './modules/components-meta'\nimport * as PropControllers from './modules/prop-controllers'\nimport * as IsInBuilder from './modules/is-in-builder'\nimport * as Introspection from '../prop-controllers/introspection'\nimport { Action } from './actions'\n\nexport type {\n Data,\n Document,\n DocumentReference,\n Element,\n ElementData,\n ElementReference,\n} from './modules/read-only-documents'\nexport {\n createDocument,\n createDocumentReference,\n isElementReference,\n} from './modules/read-only-documents'\nexport type { ComponentType } from './modules/react-components'\n\nconst reducer = combineReducers({\n documents: Documents.reducer,\n reactComponents: ReactComponents.reducer,\n componentsMeta: ComponentsMeta.reducer,\n propControllers: PropControllers.reducer,\n isInBuilder: IsInBuilder.reducer,\n})\n\nexport type State = ReturnType<typeof reducer>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getReactComponentsStateSlice(state: State): ReactComponents.State {\n return state.reactComponents\n}\n\nexport function getReactComponent(\n state: State,\n type: string,\n): ReactComponents.ComponentType | null {\n return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type)\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nexport function getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllers.PropControllerDescriptor>> {\n return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state))\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n return PropControllers.getComponentPropControllerDescriptors(\n getPropControllersStateSlice(state),\n componentType,\n )\n}\n\nfunction normalizeElement(\n element: Documents.Element,\n descriptors: Map<string, Record<string, PropControllers.PropControllerDescriptor>>,\n): Map<string, Documents.Element> {\n const elements = new Map<string, Documents.Element>()\n const remaining = [element]\n let current: Documents.Element | undefined\n\n while ((current = remaining.pop())) {\n elements.set(current.key, current)\n\n if (Documents.isElementReference(current)) continue\n\n const elementDescriptors = descriptors.get(current.type)\n\n if (elementDescriptors == null) continue\n\n const parent = current\n const children = Object.entries(elementDescriptors).reduce((acc, [propName, descriptor]) => {\n return [...acc, ...Introspection.getElementChildren(descriptor, parent.props[propName])]\n }, [] as Documents.Element[])\n\n remaining.push(...children)\n }\n\n return elements\n}\n\nfunction getDocumentElements(state: State, documentKey: string): Map<string, Documents.Element> {\n const document = getDocument(state, documentKey)\n const descriptors = getPropControllerDescriptors(state)\n\n if (document == null) return new Map()\n\n return normalizeElement(document.rootElement, descriptors)\n}\n\nexport function getElement(\n state: State,\n documentKey: string,\n elementKey: string,\n): Documents.Element | null {\n return getDocumentElements(state, documentKey).get(elementKey) ?? null\n}\n\nexport function getElementPropControllerDescriptors(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n return getComponentPropControllerDescriptors(state, element.type)\n}\n\nexport function getElementId(state: State, documentKey: string, elementKey: string): string | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n const descriptors = getComponentPropControllerDescriptors(state, element.type)\n\n if (descriptors == null) return null\n\n const elementId = Object.entries(descriptors).reduce((acc, [propName, descriptor]) => {\n if (acc != null) return acc\n\n return Introspection.getElementId(descriptor, element.props[propName])\n }, null as string | null)\n\n return elementId\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state.isInBuilder\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nexport type Store = ReduxStore<State, Action> & { dispatch: Dispatch }\n\nexport function configureStore({\n rootElements,\n preloadedState,\n}: {\n rootElements?: Map<string, Documents.Element>\n preloadedState?: PreloadedState<State>\n} = {}): Store {\n return createStore(\n reducer,\n { ...preloadedState, documents: Documents.getInitialState({ rootElements }) },\n applyMiddleware(thunk),\n )\n}\n"],"names":["getInitialState","ActionTypes","reactComponents","Map","state","type","getReactComponents","get","action","REGISTER_REACT_COMPONENT","set","payload","component","UNREGISTER_REACT_COMPONENT","nextState","deleted","delete","getPropControllerDescriptors","Types","ColorControlType","ImageControlType","combineReducers","Documents.reducer","ReactComponents.reducer","ComponentsMeta.reducer","PropControllers.reducer","IsInBuilder.reducer","Documents.getDocument","ReactComponents.getReactComponent","PropControllers.getPropControllerDescriptors","PropControllers.getComponentPropControllerDescriptors","Documents.isElementReference","Introspection.getElementChildren","Introspection.getElementId","createStore","Documents.getInitialState","applyMiddleware","thunk"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-page.cjs.js","sources":["../src/state/modules/read-only-documents.ts","../src/state/modules/react-components.tsx","../src/state/modules/components-meta.ts","../src/state/modules/prop-controllers.ts","../src/state/modules/prop-controller-handles.ts","../src/state/modules/is-in-builder.ts","../src/prop-controllers/introspection.ts","../src/state/react-page.ts"],"sourcesContent":["import { Action, ActionTypes } from '../actions'\n\nexport type Data = undefined | null | boolean | number | string | Data[] | { [key: string]: Data }\n\nexport type ElementData = { type: string; key: string; props: Record<string, Data> }\n\nexport type ElementReference = { type: 'reference'; key: string; value: string }\n\nexport type Element = ElementData | ElementReference\n\nexport function isElementReference(element: Element): element is ElementReference {\n return !('props' in element)\n}\n\nexport type DocumentReference = {\n key: string\n}\n\nexport function createDocumentReference(key: string): DocumentReference {\n return { key }\n}\n\nexport type Document = {\n key: string\n rootElement: Element\n}\n\nexport function createDocument(key: string, rootElement: Element): Document {\n return { key, rootElement }\n}\n\nexport type State = Map<string, Document>\n\nexport function getInitialState({\n rootElements = new Map(),\n}: { rootElements?: Map<string, Element> } = {}): State {\n const initialState = new Map()\n\n rootElements.forEach((rootElement, documentKey) => {\n initialState.set(documentKey, createDocument(documentKey, rootElement))\n })\n\n return initialState\n}\n\nfunction getDocuments(state: State): Map<string, Document> {\n return state\n}\n\nexport function getDocument(state: State, documentKey: string): Document | null {\n return getDocuments(state).get(documentKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_DOCUMENT:\n return new Map(state).set(action.payload.documentKey, action.payload.document)\n\n case ActionTypes.UNREGISTER_DOCUMENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.documentKey)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import type { Component, PropsWithoutRef, ReactElement, RefAttributes } from 'react'\n\nimport { Action, ActionTypes } from '../actions'\n\nexport type ComponentType<P = Record<string, any>, T = any> =\n | { new (props: PropsWithoutRef<P> & RefAttributes<T>, context?: any): Component<P> }\n | ((props: PropsWithoutRef<P> & RefAttributes<T>, context?: any) => ReactElement<any, any> | null)\n\nexport type State = Map<string, ComponentType>\n\nexport function getInitialState({\n reactComponents = new Map(),\n}: { reactComponents?: Map<string, ComponentType> } = {}): State {\n return reactComponents\n}\n\nfunction getReactComponents(state: State): Map<string, ComponentType> {\n return state\n}\n\nexport function getReactComponent(state: State, type: string): ComponentType | null {\n return getReactComponents(state).get(type) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action) {\n switch (action.type) {\n case ActionTypes.REGISTER_REACT_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.component)\n\n case ActionTypes.UNREGISTER_REACT_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\n\nexport type ComponentIcon =\n | 'Carousel40'\n | 'Code40'\n | 'Countdown40'\n | 'Cube40'\n | 'Divider40'\n | 'Form40'\n | 'Navigation40'\n | 'SocialLinks40'\n | 'Video40'\n\nexport type ComponentMeta = { label: string; icon: ComponentIcon; hidden: boolean }\n\nexport type State = Map<string, ComponentMeta>\n\nexport function getInitialState({\n componentsMeta = new Map(),\n}: { componentsMeta?: Map<string, ComponentMeta> } = {}): State {\n return componentsMeta\n}\n\nexport function getComponentsMeta(state: State): Map<string, ComponentMeta> {\n return state\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.meta)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\nimport { PropControllerDescriptor } from '../../prop-controllers'\n\nexport type { PropControllerDescriptor }\n\nexport type State = Map<string, Record<string, PropControllerDescriptor>>\n\nexport function getInitialState({\n propControllerDescriptors = new Map(),\n}: {\n propControllerDescriptors?: Map<string, Record<string, PropControllerDescriptor>>\n} = {}): State {\n return propControllerDescriptors\n}\n\nexport function getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllerDescriptor>> {\n return state\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllerDescriptor> | null {\n return getPropControllerDescriptors(state).get(componentType) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.propControllerDescriptors)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\nimport type { DescriptorsPropControllers, PropController } from '../../prop-controllers/instances'\nimport type { Descriptor } from '../../prop-controllers/descriptors'\n\nexport interface PropControllersHandle<\n T extends Record<string, Descriptor> = Record<string, Descriptor>,\n> {\n setPropControllers(propControllers: DescriptorsPropControllers<T> | null): void\n}\n\nexport function isPropControllersHandle(value: unknown): value is PropControllersHandle {\n if (\n typeof value === 'object' &&\n value !== null &&\n 'setPropControllers' in value &&\n typeof (value as { setPropControllers: unknown }).setPropControllers === 'function'\n ) {\n return true\n }\n\n return false\n}\n\nexport type State = {\n handles: Map<string, Map<string, PropControllersHandle>>\n instances: Map<string, Map<string, Record<string, PropController>>>\n}\n\nexport function getInitialState(): State {\n return { handles: new Map(), instances: new Map() }\n}\n\nexport function getPropControllersHandle(\n state: State,\n documentKey: string,\n elementKey: string,\n): PropControllersHandle | null {\n return state.handles.get(documentKey)?.get(elementKey) ?? null\n}\n\nexport function getPropControllers(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropController> | null {\n return state.instances.get(documentKey)?.get(elementKey) ?? null\n}\n\nexport function getPropController(\n state: State,\n documentKey: string,\n elementKey: string,\n propName: string,\n): PropController | null {\n return getPropControllers(state, documentKey, elementKey)?.[propName] ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE: {\n const { documentKey, elementKey, handle } = action.payload\n\n return {\n ...state,\n handles: new Map(state.handles).set(\n documentKey,\n new Map(state.handles.get(documentKey) ?? []).set(elementKey, handle),\n ),\n }\n }\n\n case ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE: {\n const { documentKey, elementKey } = action.payload\n const nextHandles = new Map(state.handles.get(documentKey) ?? [])\n\n const deleted = nextHandles.delete(elementKey)\n\n return deleted\n ? { ...state, handles: new Map(state.handles).set(documentKey, nextHandles) }\n : state\n }\n\n case ActionTypes.REGISTER_PROP_CONTROLLERS: {\n const { documentKey, elementKey, propControllers } = action.payload\n\n return {\n ...state,\n instances: new Map(state.instances).set(\n documentKey,\n new Map(state.instances.get(documentKey) ?? []).set(elementKey, propControllers),\n ),\n }\n }\n\n case ActionTypes.UNREGISTER_PROP_CONTROLLERS: {\n const { documentKey, elementKey } = action.payload\n const nextInstances = new Map(state.instances.get(documentKey) ?? [])\n\n const deleted = nextInstances.delete(elementKey)\n\n return deleted\n ? { ...state, instances: new Map(state.instances).set(documentKey, nextInstances) }\n : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\n\nexport type State = boolean\n\nexport function getInitialState(): State {\n return false\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.SET_IS_IN_BUILDER:\n return action.payload\n\n default:\n return state\n }\n}\n","import { InlineJSON, MarkJSON, NodeJSON } from 'slate'\nimport {\n BackgroundsValue,\n BorderValue,\n Descriptor,\n ElementIDValue,\n GridValue,\n ImagesValue,\n ImageValue,\n LinkValue,\n NavigationLinksValue,\n ResponsiveColorValue,\n RichTextValue,\n ShadowsValue,\n TableValue,\n Types,\n} from './descriptors'\nimport { Data, Element } from '../state/react-page'\nimport {\n ColorControlData,\n ColorControlType,\n ImageControlData,\n ImageControlType,\n SlotControlData,\n SlotControlType,\n} from '../controls'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n case SlotControlType:\n return (prop as SlotControlData).elements\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n\nexport function getElementSwatchIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Backgrounds: {\n const value = prop as BackgroundsValue\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n switch (backgroundItem.type) {\n case 'color':\n return backgroundItem.payload?.swatchId == null\n ? []\n : [backgroundItem.payload.swatchId]\n\n case 'gradient':\n return backgroundItem.payload.stops.flatMap(stop =>\n stop.color == null ? [] : stop.color.swatchId,\n )\n\n default:\n return []\n }\n }) ?? []\n )\n }\n\n case Types.Border: {\n const value = prop as BorderValue\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(borderValue => {\n return [\n borderValue.borderTop?.color?.swatchId,\n borderValue.borderRight?.color?.swatchId,\n borderValue.borderBottom?.color?.swatchId,\n borderValue.borderLeft?.color?.swatchId,\n ].filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null)\n }) ?? []\n )\n }\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n return (\n value?.flatMap(item => {\n switch (item.type) {\n case 'button':\n case 'dropdown':\n return [\n ...(item.payload.color\n ?.map(override => override.value)\n .map(color => color.swatchId) ?? []),\n ...(item.payload.textColor\n ?.map(override => override.value)\n .map(color => color.swatchId) ?? []),\n ]\n }\n }) ?? []\n )\n }\n\n case Types.ResponsiveColor: {\n const value = prop as ResponsiveColorValue\n return value?.map(override => override.value).map(color => color.swatchId) ?? []\n }\n\n case Types.Shadows: {\n const value = prop as ShadowsValue\n return (\n value\n ?.flatMap(override => override.value)\n .map(item => item.payload.color?.swatchId)\n .filter((swatchId): swatchId is NonNullable<typeof swatchId> => swatchId != null) ?? []\n )\n }\n\n case Types.RichText: {\n const value = prop as RichTextValue\n\n if (value == null || value.document == null) return []\n\n return getNodeSwatchIds(value.document)\n\n function getNodeSwatchIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n case 'inline':\n return node.nodes?.flatMap(getNodeSwatchIds) ?? []\n\n case 'text':\n return node.marks?.flatMap(getMarkSwatchIds) ?? []\n\n default:\n return []\n }\n }\n\n function getMarkSwatchIds(mark: MarkJSON): string[] {\n return (\n mark.data?.value?.style\n ?.map((override: any) => override.value)\n .flatMap((typographyStyle: any) => typographyStyle.color?.swatchId)\n .filter((swatchId: any) => swatchId != null) ?? []\n )\n }\n }\n\n case ColorControlType: {\n const value = prop as ColorControlData\n return value?.swatchId == null ? [] : [value.swatchId]\n }\n\n default:\n return []\n }\n}\n\nexport function getFileIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Backgrounds: {\n const value = prop as BackgroundsValue\n return (\n value\n ?.flatMap(override => override.value)\n .flatMap(backgroundItem => {\n switch (backgroundItem.type) {\n case 'image':\n return [backgroundItem.payload.imageId]\n\n default:\n return []\n }\n }) ?? []\n )\n }\n\n case Types.Image: {\n const value = prop as ImageValue\n return value == null ? [] : [value]\n }\n\n case Types.Images: {\n const value = prop as ImagesValue\n return value?.flatMap(item => (item.props.file == null ? [] : [item.props.file])) ?? []\n }\n\n case ImageControlType: {\n const value = prop as ImageControlData\n return value == null ? [] : [value]\n }\n\n default:\n return []\n }\n}\n\nexport function getTypographyIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.RichText: {\n const value = prop as RichTextValue\n if (value == null || value.document == null) return []\n\n return getNodeTypographyIds(value.document)\n\n function getNodeTypographyIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n case 'inline':\n return node.nodes?.flatMap(getNodeTypographyIds) ?? []\n\n case 'text':\n return node.marks?.flatMap(getMarkTypographyIds) ?? []\n\n default:\n return []\n }\n }\n\n function getMarkTypographyIds(mark: MarkJSON): string[] {\n return [mark.data?.value?.id].filter(id => id != null)\n }\n }\n\n default:\n return []\n }\n}\n\nexport function getTableIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Table: {\n const value = prop as TableValue\n return value == null ? [] : [value]\n }\n\n default:\n return []\n }\n}\n\nexport function getPageIds<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Link: {\n const value = prop as LinkValue\n if (value == null) return []\n\n switch (value.type) {\n case 'OPEN_PAGE':\n return value.payload.pageId == null ? [] : [value.payload.pageId]\n\n default:\n return []\n }\n }\n\n case Types.NavigationLinks: {\n const value = prop as NavigationLinksValue\n if (value == null) return []\n\n return (\n value?.flatMap(item => {\n switch (item.type) {\n case 'button': {\n if (item.payload.link == null) return []\n\n switch (item.payload.link.type) {\n case 'OPEN_PAGE':\n return item.payload.link.payload.pageId == null\n ? []\n : [item.payload.link.payload.pageId]\n\n default:\n return []\n }\n }\n\n case 'dropdown': {\n return (\n item.payload.links?.flatMap(link => {\n if (link.payload.link == null) return []\n\n switch (link.payload.link.type) {\n case 'OPEN_PAGE':\n return link.payload.link.payload.pageId == null\n ? []\n : [link.payload.link.payload.pageId]\n\n default:\n return []\n }\n }) ?? []\n )\n }\n }\n }) ?? []\n )\n }\n\n case Types.RichText: {\n const value = prop as RichTextValue\n if (value == null || value.document == null) return []\n\n return getNodePageIds(value.document)\n\n function getNodePageIds(node: NodeJSON): string[] {\n switch (node.object) {\n case 'document':\n case 'block':\n return node.nodes?.flatMap(getNodePageIds) ?? []\n\n case 'inline':\n return getInlinePageIds(node)\n\n default:\n return []\n }\n }\n\n function getInlinePageIds(inline: InlineJSON): string[] {\n switch (inline.type) {\n case 'link': {\n const nodePageIds = inline.nodes?.flatMap(getNodePageIds) ?? []\n const dataPageIds = inline.data ? getLinkDataPageIds(inline.data as LinkValue) : []\n\n return [...nodePageIds, ...dataPageIds]\n }\n\n default:\n return inline.nodes?.flatMap(getNodePageIds) ?? []\n }\n }\n\n function getLinkDataPageIds(link: LinkValue): string[] {\n switch (link.type) {\n case 'OPEN_PAGE':\n return link.payload.pageId == null ? [] : [link.payload.pageId]\n\n default:\n return []\n }\n }\n }\n\n default:\n return []\n }\n}\n","import {\n applyMiddleware,\n combineReducers,\n createStore,\n PreloadedState,\n Store as ReduxStore,\n} from 'redux'\nimport thunk, { ThunkDispatch } from 'redux-thunk'\n\nimport * as Documents from './modules/read-only-documents'\nimport * as ReactComponents from './modules/react-components'\nimport * as ComponentsMeta from './modules/components-meta'\nimport * as PropControllers from './modules/prop-controllers'\nimport * as PropControllerHandles from './modules/prop-controller-handles'\nimport * as IsInBuilder from './modules/is-in-builder'\nimport * as Introspection from '../prop-controllers/introspection'\nimport { Action } from './actions'\n\nexport type {\n Data,\n Document,\n DocumentReference,\n Element,\n ElementData,\n ElementReference,\n} from './modules/read-only-documents'\nexport {\n createDocument,\n createDocumentReference,\n isElementReference,\n} from './modules/read-only-documents'\nexport type { ComponentType } from './modules/react-components'\n\nconst reducer = combineReducers({\n documents: Documents.reducer,\n reactComponents: ReactComponents.reducer,\n componentsMeta: ComponentsMeta.reducer,\n propControllers: PropControllers.reducer,\n propControllerHandles: PropControllerHandles.reducer,\n isInBuilder: IsInBuilder.reducer,\n})\n\nexport type State = ReturnType<typeof reducer>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getReactComponentsStateSlice(state: State): ReactComponents.State {\n return state.reactComponents\n}\n\nexport function getReactComponent(\n state: State,\n type: string,\n): ReactComponents.ComponentType | null {\n return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type)\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nexport function getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllers.PropControllerDescriptor>> {\n return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state))\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n return PropControllers.getComponentPropControllerDescriptors(\n getPropControllersStateSlice(state),\n componentType,\n )\n}\n\nfunction getPropControllerHandlesStateSlice(state: State): PropControllerHandles.State {\n return state.propControllerHandles\n}\n\nexport function getPropControllers(state: State, documentKey: string, elementKey: string) {\n return PropControllerHandles.getPropControllers(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nfunction normalizeElement(\n element: Documents.Element,\n descriptors: Map<string, Record<string, PropControllers.PropControllerDescriptor>>,\n): Map<string, Documents.Element> {\n const elements = new Map<string, Documents.Element>()\n const remaining = [element]\n let current: Documents.Element | undefined\n\n while ((current = remaining.pop())) {\n elements.set(current.key, current)\n\n if (Documents.isElementReference(current)) continue\n\n const elementDescriptors = descriptors.get(current.type)\n\n if (elementDescriptors == null) continue\n\n const parent = current\n const children = Object.entries(elementDescriptors).reduce((acc, [propName, descriptor]) => {\n return [...acc, ...Introspection.getElementChildren(descriptor, parent.props[propName])]\n }, [] as Documents.Element[])\n\n remaining.push(...children)\n }\n\n return elements\n}\n\nfunction getDocumentElements(state: State, documentKey: string): Map<string, Documents.Element> {\n const document = getDocument(state, documentKey)\n const descriptors = getPropControllerDescriptors(state)\n\n if (document == null) return new Map()\n\n return normalizeElement(document.rootElement, descriptors)\n}\n\nexport function getElement(\n state: State,\n documentKey: string,\n elementKey: string,\n): Documents.Element | null {\n return getDocumentElements(state, documentKey).get(elementKey) ?? null\n}\n\nexport function getElementPropControllerDescriptors(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n return getComponentPropControllerDescriptors(state, element.type)\n}\n\nexport function getElementId(state: State, documentKey: string, elementKey: string): string | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n const descriptors = getComponentPropControllerDescriptors(state, element.type)\n\n if (descriptors == null) return null\n\n const elementId = Object.entries(descriptors).reduce((acc, [propName, descriptor]) => {\n if (acc != null) return acc\n\n return Introspection.getElementId(descriptor, element.props[propName])\n }, null as string | null)\n\n return elementId\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state.isInBuilder\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nexport type Store = ReduxStore<State, Action> & { dispatch: Dispatch }\n\nexport function configureStore({\n rootElements,\n preloadedState,\n}: {\n rootElements?: Map<string, Documents.Element>\n preloadedState?: PreloadedState<State>\n} = {}): Store {\n return createStore(\n reducer,\n { ...preloadedState, documents: Documents.getInitialState({ rootElements }) },\n applyMiddleware(thunk),\n )\n}\n"],"names":["getInitialState","ActionTypes","reactComponents","Map","state","type","getReactComponents","get","action","REGISTER_REACT_COMPONENT","set","payload","component","UNREGISTER_REACT_COMPONENT","nextState","deleted","delete","getPropControllerDescriptors","getPropControllers","Types","SlotControlType","ColorControlType","ImageControlType","combineReducers","Documents.reducer","ReactComponents.reducer","ComponentsMeta.reducer","PropControllers.reducer","PropControllerHandles.reducer","IsInBuilder.reducer","Documents.getDocument","ReactComponents.getReactComponent","PropControllers.getPropControllerDescriptors","PropControllers.getComponentPropControllerDescriptors","PropControllerHandles.getPropControllers","Documents.isElementReference","Introspection.getElementChildren","Introspection.getElementId","createStore","Documents.getInitialState","applyMiddleware","thunk"],"mappings":"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"}
|