@makeswift/runtime 0.0.16 → 0.0.19
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/api.cjs.js +1 -0
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +1 -0
- package/dist/api.es.js.map +1 -1
- package/dist/builder.cjs.js +1 -1
- package/dist/builder.es.js +1 -1
- package/dist/components.cjs.js +6 -4
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +6 -4
- package/dist/components.es.js.map +1 -1
- package/dist/constants.cjs.js +10 -363
- package/dist/constants.cjs.js.map +1 -1
- package/dist/constants.es.js +1 -354
- package/dist/constants.es.js.map +1 -1
- package/dist/control-serialization.cjs.js +43 -3
- package/dist/control-serialization.cjs.js.map +1 -1
- package/dist/control-serialization.es.js +41 -1
- package/dist/control-serialization.es.js.map +1 -1
- package/dist/controls.cjs.js +12 -9
- package/dist/controls.cjs.js.map +1 -1
- package/dist/controls.es.js +3 -2
- package/dist/controls.es.js.map +1 -1
- package/dist/descriptors.cjs.js.map +1 -1
- package/dist/descriptors.es.js.map +1 -1
- package/dist/graphql.cjs.js +365 -0
- package/dist/graphql.cjs.js.map +1 -0
- package/dist/graphql.es.js +356 -0
- package/dist/graphql.es.js.map +1 -0
- package/dist/image.cjs.js +14 -0
- package/dist/image.cjs.js.map +1 -0
- package/dist/image.es.js +10 -0
- package/dist/image.es.js.map +1 -0
- package/dist/index.cjs.js +404 -152
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +358 -106
- package/dist/index.es.js.map +1 -1
- package/dist/main.cjs.js +1 -0
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.es.js +1 -0
- package/dist/main.es.js.map +1 -1
- package/dist/next.cjs.js +6 -4
- package/dist/next.cjs.js.map +1 -1
- package/dist/next.es.js +6 -4
- package/dist/next.es.js.map +1 -1
- package/dist/react-builder-preview.cjs.js +8 -6
- package/dist/react-builder-preview.cjs.js.map +1 -1
- package/dist/react-builder-preview.es.js +9 -7
- package/dist/react-builder-preview.es.js.map +1 -1
- package/dist/react-page.cjs.js +260 -0
- package/dist/react-page.cjs.js.map +1 -1
- package/dist/react-page.es.js +254 -1
- package/dist/react-page.es.js.map +1 -1
- package/dist/react.cjs.js +6 -4
- package/dist/react.cjs.js.map +1 -1
- package/dist/react.es.js +6 -4
- package/dist/react.es.js.map +1 -1
- package/dist/shape.cjs.js +20 -0
- package/dist/shape.cjs.js.map +1 -0
- package/dist/shape.es.js +14 -0
- package/dist/shape.es.js.map +1 -0
- package/dist/text-input.cjs.js +0 -18
- package/dist/text-input.cjs.js.map +1 -1
- package/dist/text-input.es.js +1 -13
- package/dist/text-input.es.js.map +1 -1
- package/dist/types/api/introspection.d.ts +10 -0
- package/dist/types/api/introspection.d.ts.map +1 -0
- package/dist/types/api/react.d.ts +0 -1
- package/dist/types/api/react.d.ts.map +1 -1
- package/dist/types/builder/serialization/control-serialization.d.ts +3 -3
- package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
- package/dist/types/builder/serialization/controls/combobox.d.ts +5 -0
- package/dist/types/builder/serialization/controls/combobox.d.ts.map +1 -0
- package/dist/types/builder/serialization/controls/shape.d.ts +5 -0
- package/dist/types/builder/serialization/controls/shape.d.ts.map +1 -0
- package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
- package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
- package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
- package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
- package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
- package/dist/types/components/builtin/Embed/Embed.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/Input/index.d.ts +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/Input/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/Label/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/RadioButton/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/TextArea/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/services/cssField.d.ts +1 -1
- package/dist/types/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Root/Root.d.ts.map +1 -1
- package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
- package/dist/types/components/builtin/Text/Text.d.ts.map +1 -1
- package/dist/types/components/builtin/Video/Video.d.ts.map +1 -1
- package/dist/types/components/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
- package/dist/types/components/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/dist/types/components/hooks/useMediaQuery.d.ts.map +1 -1
- package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
- package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
- package/dist/types/components/shared/BackgroundsContainer/components/Parallax/index.d.ts.map +1 -1
- package/dist/types/components/utils/queries.d.ts +2 -0
- package/dist/types/components/utils/queries.d.ts.map +1 -1
- package/dist/types/controls/combobox.d.ts +22 -0
- package/dist/types/controls/combobox.d.ts.map +1 -0
- package/dist/types/controls/control.d.ts +3 -2
- package/dist/types/controls/control.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/types.d.ts +3 -0
- package/dist/types/controls/types.d.ts.map +1 -1
- package/dist/types/prop-controllers/descriptors.d.ts +4 -3
- package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
- package/dist/types/prop-controllers/introspection.d.ts +5 -0
- package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/combobox.d.ts +4 -0
- package/dist/types/runtimes/react/controls/combobox.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/control.d.ts +3 -2
- package/dist/types/runtimes/react/controls/control.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls.d.ts.map +1 -1
- package/dist/types/runtimes/react/index.d.ts +1 -1
- package/dist/types/runtimes/react/index.d.ts.map +1 -1
- package/dist/types/state/react-page.d.ts +1 -0
- package/dist/types/state/react-page.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/list.cjs.js +0 -8
- package/dist/list.cjs.js.map +0 -1
- package/dist/list.es.js +0 -6
- package/dist/list.es.js.map +0 -1
package/dist/react-page.es.js
CHANGED
|
@@ -21,6 +21,8 @@ import { combineReducers, createStore, applyMiddleware } from "redux";
|
|
|
21
21
|
import thunk from "redux-thunk";
|
|
22
22
|
import { A as ActionTypes } from "./actions.es.js";
|
|
23
23
|
import { T as Types } from "./descriptors.es.js";
|
|
24
|
+
import { C as ColorControlType, I as ImageControlType } from "./image.es.js";
|
|
25
|
+
import "./style.es.js";
|
|
24
26
|
function isElementReference(element) {
|
|
25
27
|
return !("props" in element);
|
|
26
28
|
}
|
|
@@ -161,6 +163,257 @@ function getElementId$1(descriptor, prop) {
|
|
|
161
163
|
return null;
|
|
162
164
|
}
|
|
163
165
|
}
|
|
166
|
+
function getElementSwatchIds(descriptor, prop) {
|
|
167
|
+
var _a, _b, _c, _d, _e;
|
|
168
|
+
if (prop == null)
|
|
169
|
+
return [];
|
|
170
|
+
switch (descriptor.type) {
|
|
171
|
+
case Types.Backgrounds: {
|
|
172
|
+
const value = prop;
|
|
173
|
+
return (_a = value == null ? void 0 : value.flatMap((override) => override.value).flatMap((backgroundItem) => {
|
|
174
|
+
var _a2;
|
|
175
|
+
switch (backgroundItem.type) {
|
|
176
|
+
case "color":
|
|
177
|
+
return ((_a2 = backgroundItem.payload) == null ? void 0 : _a2.swatchId) == null ? [] : [backgroundItem.payload.swatchId];
|
|
178
|
+
case "gradient":
|
|
179
|
+
return backgroundItem.payload.stops.flatMap((stop) => stop.color == null ? [] : stop.color.swatchId);
|
|
180
|
+
default:
|
|
181
|
+
return [];
|
|
182
|
+
}
|
|
183
|
+
})) != null ? _a : [];
|
|
184
|
+
}
|
|
185
|
+
case Types.Border: {
|
|
186
|
+
const value = prop;
|
|
187
|
+
return (_b = value == null ? void 0 : value.flatMap((override) => override.value).flatMap((borderValue) => {
|
|
188
|
+
var _a2, _b2, _c2, _d2, _e2, _f, _g, _h;
|
|
189
|
+
return [
|
|
190
|
+
(_b2 = (_a2 = borderValue.borderTop) == null ? void 0 : _a2.color) == null ? void 0 : _b2.swatchId,
|
|
191
|
+
(_d2 = (_c2 = borderValue.borderRight) == null ? void 0 : _c2.color) == null ? void 0 : _d2.swatchId,
|
|
192
|
+
(_f = (_e2 = borderValue.borderBottom) == null ? void 0 : _e2.color) == null ? void 0 : _f.swatchId,
|
|
193
|
+
(_h = (_g = borderValue.borderLeft) == null ? void 0 : _g.color) == null ? void 0 : _h.swatchId
|
|
194
|
+
].filter((swatchId) => swatchId != null);
|
|
195
|
+
})) != null ? _b : [];
|
|
196
|
+
}
|
|
197
|
+
case Types.NavigationLinks: {
|
|
198
|
+
const value = prop;
|
|
199
|
+
return (_c = value == null ? void 0 : value.flatMap((item) => {
|
|
200
|
+
var _a2, _b2, _c2, _d2;
|
|
201
|
+
switch (item.type) {
|
|
202
|
+
case "button":
|
|
203
|
+
case "dropdown":
|
|
204
|
+
return [
|
|
205
|
+
...(_b2 = (_a2 = item.payload.color) == null ? void 0 : _a2.map((override) => override.value).map((color) => color.swatchId)) != null ? _b2 : [],
|
|
206
|
+
...(_d2 = (_c2 = item.payload.textColor) == null ? void 0 : _c2.map((override) => override.value).map((color) => color.swatchId)) != null ? _d2 : []
|
|
207
|
+
];
|
|
208
|
+
}
|
|
209
|
+
})) != null ? _c : [];
|
|
210
|
+
}
|
|
211
|
+
case Types.ResponsiveColor: {
|
|
212
|
+
const value = prop;
|
|
213
|
+
return (_d = value == null ? void 0 : value.map((override) => override.value).map((color) => color.swatchId)) != null ? _d : [];
|
|
214
|
+
}
|
|
215
|
+
case Types.Shadows: {
|
|
216
|
+
const value = prop;
|
|
217
|
+
return (_e = value == null ? void 0 : value.flatMap((override) => override.value).map((item) => {
|
|
218
|
+
var _a2;
|
|
219
|
+
return (_a2 = item.payload.color) == null ? void 0 : _a2.swatchId;
|
|
220
|
+
}).filter((swatchId) => swatchId != null)) != null ? _e : [];
|
|
221
|
+
}
|
|
222
|
+
case Types.RichText: {
|
|
223
|
+
let getNodeSwatchIds = function(node) {
|
|
224
|
+
var _a2, _b2, _c2, _d2;
|
|
225
|
+
switch (node.object) {
|
|
226
|
+
case "document":
|
|
227
|
+
case "block":
|
|
228
|
+
case "inline":
|
|
229
|
+
return (_b2 = (_a2 = node.nodes) == null ? void 0 : _a2.flatMap(getNodeSwatchIds)) != null ? _b2 : [];
|
|
230
|
+
case "text":
|
|
231
|
+
return (_d2 = (_c2 = node.marks) == null ? void 0 : _c2.flatMap(getMarkSwatchIds)) != null ? _d2 : [];
|
|
232
|
+
default:
|
|
233
|
+
return [];
|
|
234
|
+
}
|
|
235
|
+
}, getMarkSwatchIds = function(mark) {
|
|
236
|
+
var _a2, _b2;
|
|
237
|
+
return (_b2 = (_a2 = mark.data) == null ? void 0 : _a2.value.style.map((override) => override.value).flatMap((typographyStyle) => {
|
|
238
|
+
var _a3;
|
|
239
|
+
return (_a3 = typographyStyle.color) == null ? void 0 : _a3.swatchId;
|
|
240
|
+
}).filter((swatchId) => swatchId != null)) != null ? _b2 : [];
|
|
241
|
+
};
|
|
242
|
+
const value = prop;
|
|
243
|
+
if (value == null || value.document == null)
|
|
244
|
+
return [];
|
|
245
|
+
return getNodeSwatchIds(value.document);
|
|
246
|
+
}
|
|
247
|
+
case ColorControlType: {
|
|
248
|
+
const value = prop;
|
|
249
|
+
return (value == null ? void 0 : value.swatchId) == null ? [] : [value.swatchId];
|
|
250
|
+
}
|
|
251
|
+
default:
|
|
252
|
+
return [];
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
function getFileIds(descriptor, prop) {
|
|
256
|
+
var _a, _b;
|
|
257
|
+
if (prop == null)
|
|
258
|
+
return [];
|
|
259
|
+
switch (descriptor.type) {
|
|
260
|
+
case Types.Backgrounds: {
|
|
261
|
+
const value = prop;
|
|
262
|
+
return (_a = value == null ? void 0 : value.flatMap((override) => override.value).flatMap((backgroundItem) => {
|
|
263
|
+
switch (backgroundItem.type) {
|
|
264
|
+
case "image":
|
|
265
|
+
return [backgroundItem.payload.imageId];
|
|
266
|
+
default:
|
|
267
|
+
return [];
|
|
268
|
+
}
|
|
269
|
+
})) != null ? _a : [];
|
|
270
|
+
}
|
|
271
|
+
case Types.Image: {
|
|
272
|
+
const value = prop;
|
|
273
|
+
return value == null ? [] : [value];
|
|
274
|
+
}
|
|
275
|
+
case Types.Images: {
|
|
276
|
+
const value = prop;
|
|
277
|
+
return (_b = value == null ? void 0 : value.flatMap((item) => item.props.file == null ? [] : [item.props.file])) != null ? _b : [];
|
|
278
|
+
}
|
|
279
|
+
case ImageControlType: {
|
|
280
|
+
const value = prop;
|
|
281
|
+
return value == null ? [] : [value];
|
|
282
|
+
}
|
|
283
|
+
default:
|
|
284
|
+
return [];
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
function getTypographyIds(descriptor, prop) {
|
|
288
|
+
if (prop == null)
|
|
289
|
+
return [];
|
|
290
|
+
switch (descriptor.type) {
|
|
291
|
+
case Types.RichText: {
|
|
292
|
+
let getNodeTypographyIds = function(node) {
|
|
293
|
+
var _a, _b, _c, _d;
|
|
294
|
+
switch (node.object) {
|
|
295
|
+
case "document":
|
|
296
|
+
case "block":
|
|
297
|
+
case "inline":
|
|
298
|
+
return (_b = (_a = node.nodes) == null ? void 0 : _a.flatMap(getNodeTypographyIds)) != null ? _b : [];
|
|
299
|
+
case "text":
|
|
300
|
+
return (_d = (_c = node.marks) == null ? void 0 : _c.flatMap(getMarkTypographyIds)) != null ? _d : [];
|
|
301
|
+
default:
|
|
302
|
+
return [];
|
|
303
|
+
}
|
|
304
|
+
}, getMarkTypographyIds = function(mark) {
|
|
305
|
+
var _a;
|
|
306
|
+
return [(_a = mark.data) == null ? void 0 : _a.value.id].filter((id) => id != null);
|
|
307
|
+
};
|
|
308
|
+
const value = prop;
|
|
309
|
+
if (value == null || value.document == null)
|
|
310
|
+
return [];
|
|
311
|
+
return getNodeTypographyIds(value.document);
|
|
312
|
+
}
|
|
313
|
+
default:
|
|
314
|
+
return [];
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
function getTableIds(descriptor, prop) {
|
|
318
|
+
if (prop == null)
|
|
319
|
+
return [];
|
|
320
|
+
switch (descriptor.type) {
|
|
321
|
+
case Types.Table: {
|
|
322
|
+
const value = prop;
|
|
323
|
+
return value == null ? [] : [value];
|
|
324
|
+
}
|
|
325
|
+
default:
|
|
326
|
+
return [];
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
function getPageIds(descriptor, prop) {
|
|
330
|
+
var _a;
|
|
331
|
+
if (prop == null)
|
|
332
|
+
return [];
|
|
333
|
+
switch (descriptor.type) {
|
|
334
|
+
case Types.Link: {
|
|
335
|
+
const value = prop;
|
|
336
|
+
if (value == null)
|
|
337
|
+
return [];
|
|
338
|
+
switch (value.type) {
|
|
339
|
+
case "OPEN_PAGE":
|
|
340
|
+
return value.payload.pageId == null ? [] : [value.payload.pageId];
|
|
341
|
+
default:
|
|
342
|
+
return [];
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
case Types.NavigationLinks: {
|
|
346
|
+
const value = prop;
|
|
347
|
+
if (value == null)
|
|
348
|
+
return [];
|
|
349
|
+
return (_a = value == null ? void 0 : value.flatMap((item) => {
|
|
350
|
+
var _a2, _b;
|
|
351
|
+
switch (item.type) {
|
|
352
|
+
case "button": {
|
|
353
|
+
if (item.payload.link == null)
|
|
354
|
+
return [];
|
|
355
|
+
switch (item.payload.link.type) {
|
|
356
|
+
case "OPEN_PAGE":
|
|
357
|
+
return item.payload.link.payload.pageId == null ? [] : [item.payload.link.payload.pageId];
|
|
358
|
+
default:
|
|
359
|
+
return [];
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
case "dropdown": {
|
|
363
|
+
return (_b = (_a2 = item.payload.links) == null ? void 0 : _a2.flatMap((link) => {
|
|
364
|
+
if (link.payload.link == null)
|
|
365
|
+
return [];
|
|
366
|
+
switch (link.payload.link.type) {
|
|
367
|
+
case "OPEN_PAGE":
|
|
368
|
+
return link.payload.link.payload.pageId == null ? [] : [link.payload.link.payload.pageId];
|
|
369
|
+
default:
|
|
370
|
+
return [];
|
|
371
|
+
}
|
|
372
|
+
})) != null ? _b : [];
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
})) != null ? _a : [];
|
|
376
|
+
}
|
|
377
|
+
case Types.RichText: {
|
|
378
|
+
let getNodePageIds = function(node) {
|
|
379
|
+
var _a2, _b;
|
|
380
|
+
switch (node.object) {
|
|
381
|
+
case "document":
|
|
382
|
+
case "block":
|
|
383
|
+
return (_b = (_a2 = node.nodes) == null ? void 0 : _a2.flatMap(getNodePageIds)) != null ? _b : [];
|
|
384
|
+
case "inline":
|
|
385
|
+
return getInlinePageIds(node);
|
|
386
|
+
default:
|
|
387
|
+
return [];
|
|
388
|
+
}
|
|
389
|
+
}, getInlinePageIds = function(inline) {
|
|
390
|
+
var _a2, _b, _c, _d;
|
|
391
|
+
switch (inline.type) {
|
|
392
|
+
case "link": {
|
|
393
|
+
const nodePageIds = (_b = (_a2 = inline.nodes) == null ? void 0 : _a2.flatMap(getNodePageIds)) != null ? _b : [];
|
|
394
|
+
const dataPageIds = inline.data ? getLinkDataPageIds(inline.data) : [];
|
|
395
|
+
return [...nodePageIds, ...dataPageIds];
|
|
396
|
+
}
|
|
397
|
+
default:
|
|
398
|
+
return (_d = (_c = inline.nodes) == null ? void 0 : _c.flatMap(getNodePageIds)) != null ? _d : [];
|
|
399
|
+
}
|
|
400
|
+
}, getLinkDataPageIds = function(link) {
|
|
401
|
+
switch (link.type) {
|
|
402
|
+
case "OPEN_PAGE":
|
|
403
|
+
return link.payload.pageId == null ? [] : [link.payload.pageId];
|
|
404
|
+
default:
|
|
405
|
+
return [];
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
const value = prop;
|
|
409
|
+
if (value == null || value.document == null)
|
|
410
|
+
return [];
|
|
411
|
+
return getNodePageIds(value.document);
|
|
412
|
+
}
|
|
413
|
+
default:
|
|
414
|
+
return [];
|
|
415
|
+
}
|
|
416
|
+
}
|
|
164
417
|
const reducer = combineReducers({
|
|
165
418
|
documents: reducer$5,
|
|
166
419
|
reactComponents: reducer$4,
|
|
@@ -248,5 +501,5 @@ function configureStore({
|
|
|
248
501
|
} = {}) {
|
|
249
502
|
return createStore(reducer, __spreadProps(__spreadValues({}, preloadedState), { documents: getInitialState$4({ rootElements }) }), applyMiddleware(thunk));
|
|
250
503
|
}
|
|
251
|
-
export {
|
|
504
|
+
export { getElementPropControllerDescriptors as A, getElementSwatchIds as a, getFileIds as b, createDocument as c, getTypographyIds as d, getTableIds as e, getPageIds as f, getPropControllerDescriptors as g, getElementChildren as h, isElementReference as i, createDocumentReference as j, getComponentPropControllerDescriptors as k, getIsInBuilder as l, configureStore as m, getElementId as n, getReactComponent as o, getDocument as p, getInitialState$4 as q, reducer$5 as r, getDocument$1 as s, reducer$4 as t, reducer$3 as u, reducer$2 as v, reducer$1 as w, getComponentsMeta as x, getComponentPropControllerDescriptors$1 as y, getElement as z };
|
|
252
505
|
//# sourceMappingURL=react-page.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-page.es.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 { Descriptor, ElementIDValue, GridValue, Types } from './descriptors'\nimport { Data, Element } from '../state/react-page'\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","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\nfunction 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","reactComponents","Map","state","type","getReactComponents","get","action","ActionTypes","REGISTER_REACT_COMPONENT","set","payload","component","UNREGISTER_REACT_COMPONENT","nextState","deleted","delete","getPropControllerDescriptors","Documents.reducer","ReactComponents.reducer","ComponentsMeta.reducer","PropControllers.reducer","IsInBuilder.reducer","Documents.getDocument","ReactComponents.getReactComponent","PropControllers.getPropControllerDescriptors","PropControllers.getComponentPropControllerDescriptors","Documents.isElementReference","Introspection.getElementChildren","Introspection.getElementId","Documents.getInitialState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-page.es.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","reactComponents","Map","state","type","getReactComponents","get","action","ActionTypes","REGISTER_REACT_COMPONENT","set","payload","component","UNREGISTER_REACT_COMPONENT","nextState","deleted","delete","getPropControllerDescriptors","Documents.reducer","ReactComponents.reducer","ComponentsMeta.reducer","PropControllers.reducer","IsInBuilder.reducer","Documents.getDocument","ReactComponents.getReactComponent","PropControllers.getPropControllerDescriptors","PropControllers.getComponentPropControllerDescriptors","Documents.isElementReference","Introspection.getElementChildren","Introspection.getElementId","Documents.getInitialState"],"mappings":"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"}
|
package/dist/react.cjs.js
CHANGED
|
@@ -4,18 +4,20 @@ var actions = require("./actions.cjs.js");
|
|
|
4
4
|
var index = require("./index.cjs.js");
|
|
5
5
|
require("react");
|
|
6
6
|
require("use-sync-external-store/shim/with-selector");
|
|
7
|
-
require("@apollo/client");
|
|
8
7
|
require("./react-page.cjs.js");
|
|
9
8
|
require("redux");
|
|
10
9
|
require("redux-thunk");
|
|
11
10
|
require("./descriptors.cjs.js");
|
|
12
11
|
require("./style.cjs.js");
|
|
12
|
+
require("./image.cjs.js");
|
|
13
13
|
require("styled-components");
|
|
14
14
|
require("framer-motion");
|
|
15
15
|
require("@emotion/css");
|
|
16
|
-
require("@apollo/client
|
|
16
|
+
require("@apollo/client");
|
|
17
|
+
require("@apollo/client/link/batch-http");
|
|
17
18
|
require("slate");
|
|
18
|
-
require("
|
|
19
|
+
require("./graphql.cjs.js");
|
|
20
|
+
require("./shape.cjs.js");
|
|
19
21
|
require("react/jsx-runtime");
|
|
20
22
|
require("html-react-parser");
|
|
21
23
|
require("next/head");
|
|
@@ -24,6 +26,7 @@ require("scroll-into-view-if-needed");
|
|
|
24
26
|
require("next/link");
|
|
25
27
|
require("react-use-gesture");
|
|
26
28
|
require("@popmotion/popcorn");
|
|
29
|
+
require("uuid/v4");
|
|
27
30
|
require("next/image");
|
|
28
31
|
require("formik");
|
|
29
32
|
require("./box-models.cjs.js");
|
|
@@ -36,7 +39,6 @@ require("is-hotkey");
|
|
|
36
39
|
require("slate-react");
|
|
37
40
|
require("@convertkit/slate-lists");
|
|
38
41
|
require("./text-input.cjs.js");
|
|
39
|
-
require("./list.cjs.js");
|
|
40
42
|
require("react-dom");
|
|
41
43
|
exports.ActionTypes = actions.ActionTypes;
|
|
42
44
|
exports.changeDocument = actions.changeDocument;
|
package/dist/react.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"react.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/react.es.js
CHANGED
|
@@ -2,18 +2,20 @@ export { A as ActionTypes, c as changeDocument } from "./actions.es.js";
|
|
|
2
2
|
export { D as DocumentReference, E as Element, P as PageProvider, a as ReactRuntime, R as RuntimeProvider, u as useIsInBuilder, b as usePageId } from "./index.es.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import "use-sync-external-store/shim/with-selector";
|
|
5
|
-
import "@apollo/client";
|
|
6
5
|
import "./react-page.es.js";
|
|
7
6
|
import "redux";
|
|
8
7
|
import "redux-thunk";
|
|
9
8
|
import "./descriptors.es.js";
|
|
10
9
|
import "./style.es.js";
|
|
10
|
+
import "./image.es.js";
|
|
11
11
|
import "styled-components";
|
|
12
12
|
import "framer-motion";
|
|
13
13
|
import "@emotion/css";
|
|
14
|
-
import "@apollo/client
|
|
14
|
+
import "@apollo/client";
|
|
15
|
+
import "@apollo/client/link/batch-http";
|
|
15
16
|
import "slate";
|
|
16
|
-
import "
|
|
17
|
+
import "./graphql.es.js";
|
|
18
|
+
import "./shape.es.js";
|
|
17
19
|
import "react/jsx-runtime";
|
|
18
20
|
import "html-react-parser";
|
|
19
21
|
import "next/head";
|
|
@@ -22,6 +24,7 @@ import "scroll-into-view-if-needed";
|
|
|
22
24
|
import "next/link";
|
|
23
25
|
import "react-use-gesture";
|
|
24
26
|
import "@popmotion/popcorn";
|
|
27
|
+
import "uuid/v4";
|
|
25
28
|
import "next/image";
|
|
26
29
|
import "formik";
|
|
27
30
|
import "./box-models.es.js";
|
|
@@ -34,6 +37,5 @@ import "is-hotkey";
|
|
|
34
37
|
import "slate-react";
|
|
35
38
|
import "@convertkit/slate-lists";
|
|
36
39
|
import "./text-input.es.js";
|
|
37
|
-
import "./list.es.js";
|
|
38
40
|
import "react-dom";
|
|
39
41
|
//# sourceMappingURL=react.es.js.map
|
package/dist/react.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"react.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const ComboboxControlType = "makeswift::controls::combobox";
|
|
3
|
+
function Combobox(config) {
|
|
4
|
+
return { type: ComboboxControlType, config };
|
|
5
|
+
}
|
|
6
|
+
const ListControlType = "makeswift::controls::list";
|
|
7
|
+
function List(config) {
|
|
8
|
+
return { type: ListControlType, config };
|
|
9
|
+
}
|
|
10
|
+
const ShapeControlType = "makeswift::controls::shape";
|
|
11
|
+
function Shape(config) {
|
|
12
|
+
return { type: ShapeControlType, config };
|
|
13
|
+
}
|
|
14
|
+
exports.Combobox = Combobox;
|
|
15
|
+
exports.ComboboxControlType = ComboboxControlType;
|
|
16
|
+
exports.List = List;
|
|
17
|
+
exports.ListControlType = ListControlType;
|
|
18
|
+
exports.Shape = Shape;
|
|
19
|
+
exports.ShapeControlType = ShapeControlType;
|
|
20
|
+
//# sourceMappingURL=shape.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shape.cjs.js","sources":["../src/controls/combobox.ts","../src/controls/list.ts","../src/controls/shape.ts"],"sourcesContent":["import { Data } from './types'\n\nexport const ComboboxControlType = 'makeswift::controls::combobox'\n\ntype ComboboxControlOption<T extends Data> = { id: string; label: string; value: T }\n\ntype ComboboxControlConfig<T extends Data = Data> = {\n label?: string\n getOptions(query: string): ComboboxControlOption<T>[] | Promise<ComboboxControlOption<T>[]>\n}\n\nexport type ComboboxControlDefinition<C extends ComboboxControlConfig = ComboboxControlConfig> = {\n type: typeof ComboboxControlType\n config: C\n}\n\nexport type ComboboxControlDefinitionOption<T extends ComboboxControlDefinition> =\n T['config'] extends ComboboxControlConfig<infer U> ? U : never\n\nexport type ComboboxControlData<T extends ComboboxControlDefinition = ComboboxControlDefinition> =\n ComboboxControlOption<ComboboxControlDefinitionOption<T>>\n\nexport function Combobox<T extends string, C extends ComboboxControlConfig<T>>(\n config: C & {\n getOptions(query: string): ComboboxControlOption<T>[] | Promise<ComboboxControlOption<T>[]>\n },\n): ComboboxControlDefinition<C> {\n return { type: ComboboxControlType, config }\n}\n","import { ControlDefinition, ControlDefinitionData } from './control'\n\nexport const ListControlType = 'makeswift::controls::list'\n\ntype ListControlConfig<T extends ControlDefinition = ControlDefinition> = {\n type: T\n label?: string\n /**\n * @todos\n * - Make `item` the control's transformed \"value\" instead of \"data.\"\n */\n getItemLabel?(item: ControlDefinitionData<T> | undefined): string\n}\n\nexport type ListControlDefinition<C extends ListControlConfig = ListControlConfig> = {\n type: typeof ListControlType\n config: C\n}\n\nexport function List<T extends ControlDefinition, C extends ListControlConfig<T>>(\n config: C & { type: T },\n): ListControlDefinition<C> {\n return { type: ListControlType, config }\n}\n\nexport type ListControlItemData<T extends ListControlDefinition> = {\n id: string\n type: T['config']['type']['type']\n value: ControlDefinitionData<T['config']['type']>\n}\n\nexport type ListControlData<T extends ListControlDefinition = ListControlDefinition> =\n ListControlItemData<T>[]\n","import { ControlDefinition, ControlDefinitionData } from './control'\n\nexport const ShapeControlType = 'makeswift::controls::shape'\n\ntype ShapeControlConfig = {\n type: Record<string, ControlDefinition>\n}\n\nexport type ShapeControlDefinition<C extends ShapeControlConfig = ShapeControlConfig> = {\n type: typeof ShapeControlType\n config: C\n}\n\nexport function Shape<C extends ShapeControlConfig>(config: C): ShapeControlDefinition<C> {\n return { type: ShapeControlType, config }\n}\n\nexport type ShapeControlData<T extends ShapeControlDefinition = ShapeControlDefinition> = {\n [K in keyof T['config']['type']]?: ControlDefinitionData<T['config']['type'][K]>\n}\n"],"names":[],"mappings":";AAEO,MAAM,sBAAsB;AAoB5B,kBACL,QAG8B;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;AC1BO,MAAM,kBAAkB;AAiBxB,cACL,QAC0B;AACnB,SAAA,EAAE,MAAM,iBAAiB;AAClC;ACrBO,MAAM,mBAAmB;AAWzB,eAA6C,QAAsC;AACjF,SAAA,EAAE,MAAM,kBAAkB;AACnC;;;;;;;"}
|
package/dist/shape.es.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const ComboboxControlType = "makeswift::controls::combobox";
|
|
2
|
+
function Combobox(config) {
|
|
3
|
+
return { type: ComboboxControlType, config };
|
|
4
|
+
}
|
|
5
|
+
const ListControlType = "makeswift::controls::list";
|
|
6
|
+
function List(config) {
|
|
7
|
+
return { type: ListControlType, config };
|
|
8
|
+
}
|
|
9
|
+
const ShapeControlType = "makeswift::controls::shape";
|
|
10
|
+
function Shape(config) {
|
|
11
|
+
return { type: ShapeControlType, config };
|
|
12
|
+
}
|
|
13
|
+
export { ComboboxControlType as C, ListControlType as L, ShapeControlType as S, Combobox as a, List as b, Shape as c };
|
|
14
|
+
//# sourceMappingURL=shape.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shape.es.js","sources":["../src/controls/combobox.ts","../src/controls/list.ts","../src/controls/shape.ts"],"sourcesContent":["import { Data } from './types'\n\nexport const ComboboxControlType = 'makeswift::controls::combobox'\n\ntype ComboboxControlOption<T extends Data> = { id: string; label: string; value: T }\n\ntype ComboboxControlConfig<T extends Data = Data> = {\n label?: string\n getOptions(query: string): ComboboxControlOption<T>[] | Promise<ComboboxControlOption<T>[]>\n}\n\nexport type ComboboxControlDefinition<C extends ComboboxControlConfig = ComboboxControlConfig> = {\n type: typeof ComboboxControlType\n config: C\n}\n\nexport type ComboboxControlDefinitionOption<T extends ComboboxControlDefinition> =\n T['config'] extends ComboboxControlConfig<infer U> ? U : never\n\nexport type ComboboxControlData<T extends ComboboxControlDefinition = ComboboxControlDefinition> =\n ComboboxControlOption<ComboboxControlDefinitionOption<T>>\n\nexport function Combobox<T extends string, C extends ComboboxControlConfig<T>>(\n config: C & {\n getOptions(query: string): ComboboxControlOption<T>[] | Promise<ComboboxControlOption<T>[]>\n },\n): ComboboxControlDefinition<C> {\n return { type: ComboboxControlType, config }\n}\n","import { ControlDefinition, ControlDefinitionData } from './control'\n\nexport const ListControlType = 'makeswift::controls::list'\n\ntype ListControlConfig<T extends ControlDefinition = ControlDefinition> = {\n type: T\n label?: string\n /**\n * @todos\n * - Make `item` the control's transformed \"value\" instead of \"data.\"\n */\n getItemLabel?(item: ControlDefinitionData<T> | undefined): string\n}\n\nexport type ListControlDefinition<C extends ListControlConfig = ListControlConfig> = {\n type: typeof ListControlType\n config: C\n}\n\nexport function List<T extends ControlDefinition, C extends ListControlConfig<T>>(\n config: C & { type: T },\n): ListControlDefinition<C> {\n return { type: ListControlType, config }\n}\n\nexport type ListControlItemData<T extends ListControlDefinition> = {\n id: string\n type: T['config']['type']['type']\n value: ControlDefinitionData<T['config']['type']>\n}\n\nexport type ListControlData<T extends ListControlDefinition = ListControlDefinition> =\n ListControlItemData<T>[]\n","import { ControlDefinition, ControlDefinitionData } from './control'\n\nexport const ShapeControlType = 'makeswift::controls::shape'\n\ntype ShapeControlConfig = {\n type: Record<string, ControlDefinition>\n}\n\nexport type ShapeControlDefinition<C extends ShapeControlConfig = ShapeControlConfig> = {\n type: typeof ShapeControlType\n config: C\n}\n\nexport function Shape<C extends ShapeControlConfig>(config: C): ShapeControlDefinition<C> {\n return { type: ShapeControlType, config }\n}\n\nexport type ShapeControlData<T extends ShapeControlDefinition = ShapeControlDefinition> = {\n [K in keyof T['config']['type']]?: ControlDefinitionData<T['config']['type'][K]>\n}\n"],"names":[],"mappings":"AAEO,MAAM,sBAAsB;AAoB5B,kBACL,QAG8B;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;AC1BO,MAAM,kBAAkB;AAiBxB,cACL,QAC0B;AACnB,SAAA,EAAE,MAAM,iBAAiB;AAClC;ACrBO,MAAM,mBAAmB;AAWzB,eAA6C,QAAsC;AACjF,SAAA,EAAE,MAAM,kBAAkB;AACnC;;"}
|
package/dist/text-input.cjs.js
CHANGED
|
@@ -3,14 +3,6 @@ const CheckboxControlType = "makeswift::controls::checkbox";
|
|
|
3
3
|
function Checkbox(config = {}) {
|
|
4
4
|
return { type: CheckboxControlType, config };
|
|
5
5
|
}
|
|
6
|
-
const ColorControlType = "makeswift::controls::color";
|
|
7
|
-
function Color(config = {}) {
|
|
8
|
-
return { type: ColorControlType, config };
|
|
9
|
-
}
|
|
10
|
-
const ImageControlType = "makeswift::controls::image";
|
|
11
|
-
function Image(config = {}) {
|
|
12
|
-
return { type: ImageControlType, config };
|
|
13
|
-
}
|
|
14
6
|
const NumberControlType = "makeswift::controls::number";
|
|
15
7
|
function Number(config = {}) {
|
|
16
8
|
return { type: NumberControlType, config };
|
|
@@ -19,10 +11,6 @@ const SelectControlType = "makeswift::controls::select";
|
|
|
19
11
|
function Select(config) {
|
|
20
12
|
return { type: SelectControlType, config };
|
|
21
13
|
}
|
|
22
|
-
const ShapeControlType = "makeswift::controls::shape";
|
|
23
|
-
function Shape(config) {
|
|
24
|
-
return { type: ShapeControlType, config };
|
|
25
|
-
}
|
|
26
14
|
const TextAreaControlType = "makeswift::controls::text-area";
|
|
27
15
|
function TextArea(config = {}) {
|
|
28
16
|
return { type: TextAreaControlType, config };
|
|
@@ -33,16 +21,10 @@ function TextInput(config = {}) {
|
|
|
33
21
|
}
|
|
34
22
|
exports.Checkbox = Checkbox;
|
|
35
23
|
exports.CheckboxControlType = CheckboxControlType;
|
|
36
|
-
exports.Color = Color;
|
|
37
|
-
exports.ColorControlType = ColorControlType;
|
|
38
|
-
exports.Image = Image;
|
|
39
|
-
exports.ImageControlType = ImageControlType;
|
|
40
24
|
exports.Number = Number;
|
|
41
25
|
exports.NumberControlType = NumberControlType;
|
|
42
26
|
exports.Select = Select;
|
|
43
27
|
exports.SelectControlType = SelectControlType;
|
|
44
|
-
exports.Shape = Shape;
|
|
45
|
-
exports.ShapeControlType = ShapeControlType;
|
|
46
28
|
exports.TextArea = TextArea;
|
|
47
29
|
exports.TextAreaControlType = TextAreaControlType;
|
|
48
30
|
exports.TextInput = TextInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-input.cjs.js","sources":["../src/controls/checkbox.ts","../src/controls/
|
|
1
|
+
{"version":3,"file":"text-input.cjs.js","sources":["../src/controls/checkbox.ts","../src/controls/number.ts","../src/controls/select.ts","../src/controls/text-area.ts","../src/controls/text-input.ts"],"sourcesContent":["export type CheckboxControlData = boolean\n\nexport const CheckboxControlType = 'makeswift::controls::checkbox'\n\ntype CheckboxControlConfig = {\n label?: string\n defaultValue?: boolean\n}\n\nexport type CheckboxControlDefinition<C extends CheckboxControlConfig = CheckboxControlConfig> = {\n type: typeof CheckboxControlType\n config: C\n}\n\nexport function Checkbox<C extends CheckboxControlConfig>(\n config: C = {} as C,\n): CheckboxControlDefinition<C> {\n return { type: CheckboxControlType, config }\n}\n","export type NumberControlData = number\n\nexport const NumberControlType = 'makeswift::controls::number'\n\ntype NumberControlConfig = {\n label?: string\n labelOrientation?: 'vertical' | 'horizontal'\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n}\n\nexport type NumberControlDefinition<C extends NumberControlConfig = NumberControlConfig> = {\n type: typeof NumberControlType\n config: C\n}\n\nexport function Number<C extends NumberControlConfig>(\n config: C = {} as C,\n): NumberControlDefinition<C> {\n return { type: NumberControlType, config }\n}\n","export const SelectControlType = 'makeswift::controls::select'\n\ntype SelectControlOption<T extends string> = { value: T; label: string }\n\ntype SelectControlConfig<T extends string = string> = {\n label?: string\n labelOrientation?: 'horizontal' | 'vertical'\n options: SelectControlOption<T>[]\n defaultValue?: T\n}\n\nexport type SelectControlDefinition<C extends SelectControlConfig = SelectControlConfig> = {\n type: typeof SelectControlType\n config: C\n}\n\nexport type SelectControlDefinitionOption<T extends SelectControlDefinition> =\n T['config'] extends SelectControlConfig<infer U> ? U : never\n\nexport type SelectControlData<T extends SelectControlDefinition = SelectControlDefinition> =\n SelectControlDefinitionOption<T>\n\nexport function Select<T extends string, C extends SelectControlConfig<T>>(\n config: C & { options: SelectControlOption<T>[] },\n): SelectControlDefinition<C> {\n return { type: SelectControlType, config }\n}\n","export type TextAreaControlData = string\n\nexport const TextAreaControlType = 'makeswift::controls::text-area'\n\ntype TextAreaControlConfig = {\n label?: string\n defaultValue?: string\n rows?: number\n}\n\nexport type TextAreaControlDefinition<C extends TextAreaControlConfig = TextAreaControlConfig> = {\n type: typeof TextAreaControlType\n config: C\n}\n\nexport function TextArea<C extends TextAreaControlConfig>(\n config: C = {} as C,\n): TextAreaControlDefinition<C> {\n return { type: TextAreaControlType, config }\n}\n","export type TextInputControlData = string\n\nexport const TextInputControlType = 'makeswift::controls::text-input'\n\ntype TextInputControlConfig = {\n label?: string\n defaultValue?: string\n}\n\nexport type TextInputControlDefinition<C extends TextInputControlConfig = TextInputControlConfig> =\n {\n type: typeof TextInputControlType\n config: C\n }\n\nexport function TextInput<C extends TextInputControlConfig>(\n config: C = {} as C,\n): TextInputControlDefinition<C> {\n return { type: TextInputControlType, config }\n}\n"],"names":[],"mappings":";AAEO,MAAM,sBAAsB;AAajC,kBAAA,SAAY,IACkB;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;AChBO,MAAM,oBAAoB;AAkB/B,gBAAA,SAAY,IACgB;AACrB,SAAA,EAAE,MAAM,mBAAmB;AACpC;ACvBO,MAAM,oBAAoB;AAsB1B,gBACL,QAC4B;AACrB,SAAA,EAAE,MAAM,mBAAmB;AACpC;ACxBO,MAAM,sBAAsB;AAcjC,kBAAA,SAAY,IACkB;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;ACjBO,MAAM,uBAAuB;AAclC,mBAAA,SAAY,IACmB;AACxB,SAAA,EAAE,MAAM,sBAAsB;AACvC;;;;;;;;;;;"}
|
package/dist/text-input.es.js
CHANGED
|
@@ -2,14 +2,6 @@ const CheckboxControlType = "makeswift::controls::checkbox";
|
|
|
2
2
|
function Checkbox(config = {}) {
|
|
3
3
|
return { type: CheckboxControlType, config };
|
|
4
4
|
}
|
|
5
|
-
const ColorControlType = "makeswift::controls::color";
|
|
6
|
-
function Color(config = {}) {
|
|
7
|
-
return { type: ColorControlType, config };
|
|
8
|
-
}
|
|
9
|
-
const ImageControlType = "makeswift::controls::image";
|
|
10
|
-
function Image(config = {}) {
|
|
11
|
-
return { type: ImageControlType, config };
|
|
12
|
-
}
|
|
13
5
|
const NumberControlType = "makeswift::controls::number";
|
|
14
6
|
function Number(config = {}) {
|
|
15
7
|
return { type: NumberControlType, config };
|
|
@@ -18,10 +10,6 @@ const SelectControlType = "makeswift::controls::select";
|
|
|
18
10
|
function Select(config) {
|
|
19
11
|
return { type: SelectControlType, config };
|
|
20
12
|
}
|
|
21
|
-
const ShapeControlType = "makeswift::controls::shape";
|
|
22
|
-
function Shape(config) {
|
|
23
|
-
return { type: ShapeControlType, config };
|
|
24
|
-
}
|
|
25
13
|
const TextAreaControlType = "makeswift::controls::text-area";
|
|
26
14
|
function TextArea(config = {}) {
|
|
27
15
|
return { type: TextAreaControlType, config };
|
|
@@ -30,5 +18,5 @@ const TextInputControlType = "makeswift::controls::text-input";
|
|
|
30
18
|
function TextInput(config = {}) {
|
|
31
19
|
return { type: TextInputControlType, config };
|
|
32
20
|
}
|
|
33
|
-
export {
|
|
21
|
+
export { CheckboxControlType as C, NumberControlType as N, SelectControlType as S, TextAreaControlType as T, TextInputControlType as a, Checkbox as b, Number as c, Select as d, TextArea as e, TextInput as f };
|
|
34
22
|
//# sourceMappingURL=text-input.es.js.map
|