@makeswift/runtime 0.7.5 → 0.7.7

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.
Files changed (141) hide show
  1. package/dist/Box.cjs.js +0 -1
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +0 -1
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +0 -1
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +0 -1
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +0 -1
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +0 -1
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +0 -1
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +0 -1
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +0 -1
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +0 -1
  20. package/dist/Divider.es.js.map +1 -1
  21. package/dist/EditableText.cjs.js +0 -1
  22. package/dist/EditableText.cjs.js.map +1 -1
  23. package/dist/EditableText.es.js +1 -2
  24. package/dist/EditableText.es.js.map +1 -1
  25. package/dist/Embed.cjs.js +0 -1
  26. package/dist/Embed.cjs.js.map +1 -1
  27. package/dist/Embed.es.js +0 -1
  28. package/dist/Embed.es.js.map +1 -1
  29. package/dist/Form.cjs.js +0 -1
  30. package/dist/Form.cjs.js.map +1 -1
  31. package/dist/Form.es.js +0 -1
  32. package/dist/Form.es.js.map +1 -1
  33. package/dist/Image.cjs.js +0 -1
  34. package/dist/Image.cjs.js.map +1 -1
  35. package/dist/Image.es.js +0 -1
  36. package/dist/Image.es.js.map +1 -1
  37. package/dist/LiveProvider.cjs.js +0 -1
  38. package/dist/LiveProvider.cjs.js.map +1 -1
  39. package/dist/LiveProvider.es.js +0 -1
  40. package/dist/LiveProvider.es.js.map +1 -1
  41. package/dist/Navigation.cjs.js +0 -1
  42. package/dist/Navigation.cjs.js.map +1 -1
  43. package/dist/Navigation.es.js +0 -1
  44. package/dist/Navigation.es.js.map +1 -1
  45. package/dist/PreviewProvider.cjs.js +6 -2
  46. package/dist/PreviewProvider.cjs.js.map +1 -1
  47. package/dist/PreviewProvider.es.js +8 -4
  48. package/dist/PreviewProvider.es.js.map +1 -1
  49. package/dist/ReadOnlyText.cjs.js +0 -1
  50. package/dist/ReadOnlyText.cjs.js.map +1 -1
  51. package/dist/ReadOnlyText.es.js +0 -1
  52. package/dist/ReadOnlyText.es.js.map +1 -1
  53. package/dist/Root.cjs.js +0 -1
  54. package/dist/Root.cjs.js.map +1 -1
  55. package/dist/Root.es.js +0 -1
  56. package/dist/Root.es.js.map +1 -1
  57. package/dist/SocialLinks.cjs.js +0 -1
  58. package/dist/SocialLinks.cjs.js.map +1 -1
  59. package/dist/SocialLinks.es.js +0 -1
  60. package/dist/SocialLinks.es.js.map +1 -1
  61. package/dist/Text.cjs.js +0 -1
  62. package/dist/Text.cjs.js.map +1 -1
  63. package/dist/Text.es.js +0 -1
  64. package/dist/Text.es.js.map +1 -1
  65. package/dist/Video.cjs.js +0 -1
  66. package/dist/Video.cjs.js.map +1 -1
  67. package/dist/Video.es.js +0 -1
  68. package/dist/Video.es.js.map +1 -1
  69. package/dist/builder.cjs.js +0 -1
  70. package/dist/builder.cjs.js.map +1 -1
  71. package/dist/builder.es.js +0 -1
  72. package/dist/builder.es.js.map +1 -1
  73. package/dist/components.cjs.js +0 -1
  74. package/dist/components.cjs.js.map +1 -1
  75. package/dist/components.es.js +0 -1
  76. package/dist/components.es.js.map +1 -1
  77. package/dist/constants.cjs.js +18 -3
  78. package/dist/constants.cjs.js.map +1 -1
  79. package/dist/constants.es.js +17 -3
  80. package/dist/constants.es.js.map +1 -1
  81. package/dist/control-serialization.cjs.js +107 -108
  82. package/dist/control-serialization.cjs.js.map +1 -1
  83. package/dist/control-serialization.es.js +1 -2
  84. package/dist/control-serialization.es.js.map +1 -1
  85. package/dist/controls.cjs.js +14 -11
  86. package/dist/controls.cjs.js.map +1 -1
  87. package/dist/controls.es.js +1 -2
  88. package/dist/controls.es.js.map +1 -1
  89. package/dist/index.cjs.js +133 -114
  90. package/dist/index.cjs.js.map +1 -1
  91. package/dist/index.cjs5.js +0 -1
  92. package/dist/index.cjs5.js.map +1 -1
  93. package/dist/index.es.js +107 -88
  94. package/dist/index.es.js.map +1 -1
  95. package/dist/index.es5.js +0 -1
  96. package/dist/index.es5.js.map +1 -1
  97. package/dist/index.es6.js +1 -1
  98. package/dist/main.cjs.js +0 -1
  99. package/dist/main.cjs.js.map +1 -1
  100. package/dist/main.es.js +0 -1
  101. package/dist/main.es.js.map +1 -1
  102. package/dist/next.cjs.js +0 -1
  103. package/dist/next.cjs.js.map +1 -1
  104. package/dist/next.es.js +0 -1
  105. package/dist/next.es.js.map +1 -1
  106. package/dist/prop-controllers.es.js +1 -1
  107. package/dist/react.cjs.js +0 -1
  108. package/dist/react.cjs.js.map +1 -1
  109. package/dist/react.es.js +0 -1
  110. package/dist/react.es.js.map +1 -1
  111. package/dist/rich-text.cjs.js +499 -7
  112. package/dist/rich-text.cjs.js.map +1 -1
  113. package/dist/rich-text.es.js +484 -7
  114. package/dist/rich-text.es.js.map +1 -1
  115. package/dist/types/src/components/builtin/Button/Button.d.ts +1 -1
  116. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  117. package/dist/types/src/controls/control.d.ts +2 -1
  118. package/dist/types/src/controls/control.d.ts.map +1 -1
  119. package/dist/types/src/controls/list.d.ts +20 -0
  120. package/dist/types/src/controls/list.d.ts.map +1 -1
  121. package/dist/types/src/controls/shape.d.ts +21 -0
  122. package/dist/types/src/controls/shape.d.ts.map +1 -1
  123. package/dist/types/src/prop-controllers/instances.d.ts +3 -2
  124. package/dist/types/src/prop-controllers/instances.d.ts.map +1 -1
  125. package/dist/types/src/runtimes/react/controls/control.d.ts +6 -3
  126. package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -1
  127. package/dist/types/src/runtimes/react/controls/list.d.ts +3 -2
  128. package/dist/types/src/runtimes/react/controls/list.d.ts.map +1 -1
  129. package/dist/types/src/runtimes/react/controls/shape.d.ts +3 -2
  130. package/dist/types/src/runtimes/react/controls/shape.d.ts.map +1 -1
  131. package/dist/types/src/runtimes/react/controls.d.ts.map +1 -1
  132. package/dist/types/src/state/modules/read-only-documents.d.ts +1 -0
  133. package/dist/types/src/state/modules/read-only-documents.d.ts.map +1 -1
  134. package/dist/types/src/state/react-builder-preview.d.ts.map +1 -1
  135. package/dist/types/src/state/react-page.d.ts +6 -0
  136. package/dist/types/src/state/react-page.d.ts.map +1 -1
  137. package/package.json +1 -1
  138. package/dist/control.cjs.js +0 -437
  139. package/dist/control.cjs.js.map +0 -1
  140. package/dist/control.es.js +0 -426
  141. package/dist/control.es.js.map +0 -1
package/dist/index.es5.js CHANGED
@@ -8,7 +8,6 @@ import "redux";
8
8
  import "redux-thunk";
9
9
  import "./actions.es.js";
10
10
  import "./rich-text.es.js";
11
- import "./control.es.js";
12
11
  import "@emotion/css";
13
12
  import "@emotion/serialize";
14
13
  import "@emotion/utils";
@@ -1 +1 @@
1
- {"version":3,"file":"index.es5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.es5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.es6.js CHANGED
@@ -30,7 +30,7 @@ var __objRest = (source, exclude) => {
30
30
  return target;
31
31
  };
32
32
  import { W as useTypography, K as useSwatches, G as findDeviceOverride, o as useStyle, r as responsiveStyle, X as shallowMergeFallbacks, s as colorToString } from "./index.es.js";
33
- import { S as getTypographyStyleSwatchIds, l as isNonNullable } from "./constants.es.js";
33
+ import { T as getTypographyStyleSwatchIds, l as isNonNullable } from "./constants.es.js";
34
34
  import { cx } from "@emotion/css";
35
35
  import { jsx } from "react/jsx-runtime";
36
36
  import { forwardRef } from "react";
package/dist/main.cjs.js CHANGED
@@ -5,7 +5,6 @@ var constants = require("./constants.cjs.js");
5
5
  require("redux");
6
6
  require("redux-thunk");
7
7
  require("./rich-text.cjs.js");
8
- require("./control.cjs.js");
9
8
  exports.ActionTypes = actions.ActionTypes;
10
9
  exports.builderPointerMove = actions.builderPointerMove;
11
10
  exports.changeApiResource = actions.changeApiResource;
@@ -1 +1 @@
1
- {"version":3,"file":"main.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"main.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/main.es.js CHANGED
@@ -3,5 +3,4 @@ export { M as MakeswiftComponentType, c as createDocument } from "./constants.es
3
3
  import "redux";
4
4
  import "redux-thunk";
5
5
  import "./rich-text.es.js";
6
- import "./control.es.js";
7
6
  //# sourceMappingURL=main.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"main.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
package/dist/next.cjs.js CHANGED
@@ -10,7 +10,6 @@ require("redux");
10
10
  require("redux-thunk");
11
11
  require("./actions.cjs.js");
12
12
  require("./rich-text.cjs.js");
13
- require("./control.cjs.js");
14
13
  require("@emotion/css");
15
14
  require("@emotion/serialize");
16
15
  require("@emotion/utils");
@@ -1 +1 @@
1
- {"version":3,"file":"next.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"next.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/next.es.js CHANGED
@@ -8,7 +8,6 @@ import "redux";
8
8
  import "redux-thunk";
9
9
  import "./actions.es.js";
10
10
  import "./rich-text.es.js";
11
- import "./control.es.js";
12
11
  import "@emotion/css";
13
12
  import "@emotion/serialize";
14
13
  import "@emotion/utils";
@@ -1 +1 @@
1
- {"version":3,"file":"next.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"next.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,3 +1,3 @@
1
- export { f as Props, R as RichTextPropControllerMessageType, g as TableFormFieldsMessageType } from "./rich-text.es.js";
1
+ export { d as Props, R as RichTextPropControllerMessageType, b as TableFormFieldsMessageType } from "./rich-text.es.js";
2
2
  import "./actions.es.js";
3
3
  //# sourceMappingURL=prop-controllers.es.js.map
package/dist/react.cjs.js CHANGED
@@ -9,7 +9,6 @@ require("./constants.cjs.js");
9
9
  require("redux");
10
10
  require("redux-thunk");
11
11
  require("./rich-text.cjs.js");
12
- require("./control.cjs.js");
13
12
  require("@emotion/css");
14
13
  require("@emotion/serialize");
15
14
  require("@emotion/utils");
@@ -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
@@ -7,7 +7,6 @@ import "./constants.es.js";
7
7
  import "redux";
8
8
  import "redux-thunk";
9
9
  import "./rich-text.es.js";
10
- import "./control.es.js";
11
10
  import "@emotion/css";
12
11
  import "@emotion/serialize";
13
12
  import "@emotion/utils";
@@ -1 +1 @@
1
- {"version":3,"file":"react.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"react.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -201,10 +201,10 @@ function Image$1(options = {}) {
201
201
  function Images(options = {}) {
202
202
  return { type: Types.Images, options };
203
203
  }
204
- function Link(options = {}) {
204
+ function Link$1(options = {}) {
205
205
  return { type: Types.Link, options };
206
206
  }
207
- function List(options) {
207
+ function List$1(options) {
208
208
  return { type: Types.List, options };
209
209
  }
210
210
  const MarginPropControllerFormat = {
@@ -258,7 +258,7 @@ function Shadows(options = {}) {
258
258
  return { type: Types.Shadows, options };
259
259
  }
260
260
  Shadows.Format = ShadowsPropControllerFormat;
261
- function Shape(options) {
261
+ function Shape$1(options) {
262
262
  return { type: Types.Shape, options };
263
263
  }
264
264
  function SocialLinks(options = {}) {
@@ -310,8 +310,8 @@ var descriptors = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePro
310
310
  Grid,
311
311
  Image: Image$1,
312
312
  Images,
313
- Link,
314
- List,
313
+ Link: Link$1,
314
+ List: List$1,
315
315
  MarginPropControllerFormat,
316
316
  Margin,
317
317
  NavigationLinks,
@@ -327,7 +327,7 @@ var descriptors = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePro
327
327
  RichText: RichText$1,
328
328
  ShadowsPropControllerFormat,
329
329
  Shadows,
330
- Shape,
330
+ Shape: Shape$1,
331
331
  SocialLinks,
332
332
  Table,
333
333
  TableFormFields,
@@ -354,6 +354,26 @@ function copyImageData(value, context) {
354
354
  return value;
355
355
  return (_a = context.replacementContext.fileIds.get(value)) != null ? _a : value;
356
356
  }
357
+ const LinkControlType = "makeswift::controls::link";
358
+ function Link(config = {}) {
359
+ return { type: LinkControlType, config };
360
+ }
361
+ function copyLinkData(value, context) {
362
+ var _a;
363
+ if (value == null)
364
+ return value;
365
+ if (value.type === "OPEN_PAGE") {
366
+ const pageId = value.payload.pageId;
367
+ if (pageId != null) {
368
+ return __spreadProps(__spreadValues({}, value), {
369
+ payload: __spreadProps(__spreadValues({}, value.payload), {
370
+ pageId: (_a = context.replacementContext.pageIds.get(pageId)) != null ? _a : pageId
371
+ })
372
+ });
373
+ }
374
+ }
375
+ return value;
376
+ }
357
377
  const RichTextPropControllerMessageType = {
358
378
  CHANGE_BUILDER_EDIT_MODE: "CHANGE_BUILDER_EDIT_MODE",
359
379
  INITIALIZE_EDITOR: "INITIALIZE_EDITOR",
@@ -450,10 +470,108 @@ function createPropController(descriptor, send) {
450
470
  return new SlotControl(send);
451
471
  case RichTextControlType:
452
472
  return new RichTextControl(send);
473
+ case ListControlType:
474
+ return new ListControl(send, descriptor);
475
+ case ShapeControlType:
476
+ return new ShapeControl(send, descriptor);
453
477
  default:
454
478
  return new DefaultPropController(send);
455
479
  }
456
480
  }
481
+ const ListControlType = "makeswift::controls::list";
482
+ function List(config) {
483
+ return { type: ListControlType, config };
484
+ }
485
+ const ListControlMessageType = {
486
+ LIST_CONTROL_ITEM_CONTROL_MESSAGE: "makeswift::controls::list::message::item-control-message"
487
+ };
488
+ class ListControl extends PropController {
489
+ constructor(send, descriptor) {
490
+ super(send);
491
+ __publicField(this, "controls");
492
+ __publicField(this, "descriptor");
493
+ __publicField(this, "send");
494
+ __publicField(this, "setItemsControl", (value) => {
495
+ const controls = /* @__PURE__ */ new Map();
496
+ if (value == null)
497
+ return;
498
+ const shouldUpdate = () => {
499
+ if (value.length !== this.controls.size)
500
+ return true;
501
+ if (!value.every(({ id }) => this.controls.has(id)))
502
+ return true;
503
+ return false;
504
+ };
505
+ if (!shouldUpdate())
506
+ return this.controls;
507
+ value.forEach((item) => {
508
+ const control = createPropController(this.descriptor.config.type, (message) => this.send({
509
+ type: ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE,
510
+ payload: { message, itemId: item.id }
511
+ }));
512
+ controls.set(item.id, control);
513
+ });
514
+ this.controls = controls;
515
+ return this.controls;
516
+ });
517
+ this.descriptor = descriptor;
518
+ this.send = send;
519
+ this.controls = /* @__PURE__ */ new Map();
520
+ }
521
+ recv() {
522
+ }
523
+ }
524
+ function copyListData(definition, value, context) {
525
+ if (value == null)
526
+ return value;
527
+ return value && value.map((item) => __spreadProps(__spreadValues({}, item), {
528
+ value: copy(definition.config.type, item.value, context)
529
+ }));
530
+ }
531
+ const ShapeControlType = "makeswift::controls::shape";
532
+ function Shape(config) {
533
+ return { type: ShapeControlType, config };
534
+ }
535
+ const ShapeControlMessageType = {
536
+ SHAPE_CONTROL_CHILD_CONTROL_MESSAGE: "makeswift::controls::shape::message::child-control-message"
537
+ };
538
+ class ShapeControl extends PropController {
539
+ constructor(send, descriptor) {
540
+ super(send);
541
+ __publicField(this, "controls");
542
+ __publicField(this, "descriptor");
543
+ __publicField(this, "send");
544
+ __publicField(this, "setControls", () => {
545
+ const controls = /* @__PURE__ */ new Map();
546
+ const children = this.descriptor.config.type;
547
+ Object.keys(children).forEach((key) => {
548
+ const control = createPropController(children[key], (message) => this.send({
549
+ type: ShapeControlMessageType.SHAPE_CONTROL_CHILD_CONTROL_MESSAGE,
550
+ payload: { message, key }
551
+ }));
552
+ controls.set(key, control);
553
+ });
554
+ this.controls = controls;
555
+ return this.controls;
556
+ });
557
+ this.descriptor = descriptor;
558
+ this.send = send;
559
+ this.controls = /* @__PURE__ */ new Map();
560
+ this.setControls();
561
+ }
562
+ recv() {
563
+ }
564
+ }
565
+ function copyShapeData(definition, value, context) {
566
+ if (value == null)
567
+ return value;
568
+ const newValue = {};
569
+ for (const [key, itemDefinition] of Object.entries(definition.config.type)) {
570
+ const prop = value[key];
571
+ newValue[key] = copy(itemDefinition, prop, context);
572
+ }
573
+ return newValue;
574
+ }
457
575
  const SlotControlType = "makeswift::controls::slot";
458
576
  function Slot() {
459
577
  return { type: SlotControlType };
@@ -479,6 +597,365 @@ function copySlotData(value, context) {
479
597
  elements: value.elements.map((element) => context.copyElement(element))
480
598
  });
481
599
  }
600
+ function copy$e(value, context) {
601
+ if (value == null)
602
+ return value;
603
+ return value.map((override) => __spreadProps(__spreadValues({}, override), {
604
+ value: override.value.map((backgroundItem) => {
605
+ var _a, _b;
606
+ switch (backgroundItem.type) {
607
+ case "color":
608
+ return __spreadProps(__spreadValues({}, backgroundItem), {
609
+ payload: backgroundItem.payload === null ? null : __spreadProps(__spreadValues({}, backgroundItem.payload), {
610
+ swatchId: (_a = context.replacementContext.swatchIds.get(backgroundItem.payload.swatchId)) != null ? _a : backgroundItem.payload.swatchId
611
+ })
612
+ });
613
+ case "gradient":
614
+ return __spreadProps(__spreadValues({}, backgroundItem), {
615
+ payload: __spreadProps(__spreadValues({}, backgroundItem.payload), {
616
+ stops: backgroundItem.payload.stops.map((stop) => {
617
+ var _a2;
618
+ return __spreadProps(__spreadValues({}, stop), {
619
+ color: stop.color == null ? null : __spreadProps(__spreadValues({}, stop.color), {
620
+ swatchId: (_a2 = context.replacementContext.swatchIds.get(stop.color.swatchId)) != null ? _a2 : stop.color.swatchId
621
+ })
622
+ });
623
+ })
624
+ })
625
+ });
626
+ case "image":
627
+ return __spreadProps(__spreadValues({}, backgroundItem), {
628
+ payload: __spreadProps(__spreadValues({}, backgroundItem.payload), {
629
+ imageId: (_b = context.replacementContext.fileIds.get(backgroundItem.payload.imageId)) != null ? _b : backgroundItem.payload.imageId
630
+ })
631
+ });
632
+ default:
633
+ return backgroundItem;
634
+ }
635
+ })
636
+ }));
637
+ }
638
+ function copy$d(value, context) {
639
+ if (value == null)
640
+ return void 0;
641
+ return __spreadProps(__spreadValues({}, value), {
642
+ elements: value.elements.map((element) => context.copyElement(element))
643
+ });
644
+ }
645
+ function copy$c(value, context) {
646
+ var _a, _b;
647
+ if (value == null)
648
+ return value;
649
+ switch (value.type) {
650
+ case "OPEN_PAGE": {
651
+ const pageId = value.payload.pageId;
652
+ if (pageId == null)
653
+ return value;
654
+ return __spreadProps(__spreadValues({}, value), {
655
+ payload: __spreadProps(__spreadValues({}, value.payload), {
656
+ pageId: (_a = context.replacementContext.pageIds.get(pageId)) != null ? _a : pageId
657
+ })
658
+ });
659
+ }
660
+ case "SCROLL_TO_ELEMENT": {
661
+ const elementIdConfig = value.payload.elementIdConfig;
662
+ if (elementIdConfig == null)
663
+ return value;
664
+ return __spreadProps(__spreadValues({}, value), {
665
+ payload: __spreadProps(__spreadValues({}, value.payload), {
666
+ elementIdConfig: __spreadProps(__spreadValues({}, elementIdConfig), {
667
+ elementKey: (_b = context.replacementContext.elementKeys.get(elementIdConfig.elementKey)) != null ? _b : elementIdConfig.elementKey
668
+ })
669
+ })
670
+ });
671
+ }
672
+ default:
673
+ return value;
674
+ }
675
+ }
676
+ function copy$b(value, context) {
677
+ if (value == null)
678
+ return value;
679
+ return value.map(copyNavigationLinksPanelItem);
680
+ function copyNavigationLinksPanelItem(item) {
681
+ switch (item.type) {
682
+ case "button":
683
+ case "dropdown": {
684
+ const { color, link } = item.payload;
685
+ return __spreadProps(__spreadValues({}, item), {
686
+ payload: __spreadProps(__spreadValues({}, item.payload), {
687
+ link: link != null ? copy$c(link, context) : void 0,
688
+ color: color != null ? color.map((override) => {
689
+ var _a;
690
+ return __spreadProps(__spreadValues({}, override), {
691
+ value: __spreadProps(__spreadValues({}, override.value), {
692
+ swatchId: (_a = context.replacementContext.swatchIds.get(override.value.swatchId)) != null ? _a : override.value.swatchId
693
+ })
694
+ });
695
+ }) : void 0
696
+ })
697
+ });
698
+ }
699
+ default:
700
+ return item;
701
+ }
702
+ }
703
+ }
704
+ function copy$a(value, context) {
705
+ if (value == null)
706
+ return value;
707
+ return value.map((override) => __spreadProps(__spreadValues({}, override), { value: override.value.map(copyShadowItem) }));
708
+ function copyShadowItem(item) {
709
+ var _a;
710
+ const { color } = item.payload;
711
+ if (color == null)
712
+ return item;
713
+ return __spreadProps(__spreadValues({}, item), {
714
+ payload: __spreadProps(__spreadValues({}, item.payload), {
715
+ color: __spreadProps(__spreadValues({}, color), {
716
+ swatchId: (_a = context.replacementContext.swatchIds.get(color.swatchId)) != null ? _a : color.swatchId
717
+ })
718
+ })
719
+ });
720
+ }
721
+ }
722
+ function copy$9(value, context) {
723
+ var _a;
724
+ if (value == null)
725
+ return value;
726
+ return (_a = context.replacementContext.fileIds.get(value)) != null ? _a : value;
727
+ }
728
+ function copy$8(value, context) {
729
+ if (value == null)
730
+ return value;
731
+ return value.map(copyImagesPanelItem);
732
+ function copyImagesPanelItem(imagesPanelItem) {
733
+ var _a;
734
+ const { file } = imagesPanelItem.props;
735
+ if (file == null)
736
+ return imagesPanelItem;
737
+ return __spreadProps(__spreadValues({}, imagesPanelItem), {
738
+ props: __spreadProps(__spreadValues({}, imagesPanelItem.props), {
739
+ file: (_a = context.replacementContext.fileIds.get(file)) != null ? _a : file
740
+ })
741
+ });
742
+ }
743
+ }
744
+ function copy$7(value, context) {
745
+ if (value == null)
746
+ return value;
747
+ return value.map((override) => __spreadProps(__spreadValues({}, override), { value: copyColorValue(override.value) }));
748
+ function copyColorValue(colorValue) {
749
+ var _a;
750
+ return __spreadProps(__spreadValues({}, colorValue), {
751
+ swatchId: (_a = context.replacementContext.swatchIds.get(colorValue.swatchId)) != null ? _a : colorValue.swatchId
752
+ });
753
+ }
754
+ }
755
+ function copy$6(value, context) {
756
+ if (value == null)
757
+ return value;
758
+ return __spreadProps(__spreadValues({}, value), { fields: value.fields.map(copyFormFieldsPanelItem) });
759
+ function copyFormFieldsPanelItem(item) {
760
+ var _a;
761
+ return __spreadProps(__spreadValues({}, item), {
762
+ tableColumnId: (_a = context.replacementContext.tableColumnIds.get(item.tableColumnId)) != null ? _a : item.tableColumnId
763
+ });
764
+ }
765
+ }
766
+ function copy$5(value, context) {
767
+ var _a;
768
+ if (value == null)
769
+ return value;
770
+ return (_a = context.replacementContext.tableIds.get(value)) != null ? _a : value;
771
+ }
772
+ function copy$4(value, context) {
773
+ if (value == null)
774
+ return value;
775
+ return value.map((override) => __spreadProps(__spreadValues({}, override), { value: copyBorderValue(override.value) }));
776
+ function copyBorderValue({ borderTop, borderRight, borderBottom, borderLeft }) {
777
+ return {
778
+ borderTop: borderTop && copyBorderSide(borderTop),
779
+ borderRight: borderRight && copyBorderSide(borderRight),
780
+ borderBottom: borderBottom && copyBorderSide(borderBottom),
781
+ borderLeft: borderLeft && copyBorderSide(borderLeft)
782
+ };
783
+ }
784
+ function copyBorderSide(borderSide) {
785
+ var _a;
786
+ const { color } = borderSide;
787
+ if (color == null)
788
+ return borderSide;
789
+ return __spreadProps(__spreadValues({}, borderSide), {
790
+ color: __spreadProps(__spreadValues({}, color), {
791
+ swatchId: (_a = context.replacementContext.swatchIds.get(color.swatchId)) != null ? _a : color.swatchId
792
+ })
793
+ });
794
+ }
795
+ }
796
+ function copy$3(value, context) {
797
+ if (value == null)
798
+ return value;
799
+ return __spreadProps(__spreadValues({}, value), { document: value.document ? copyNode(value.document) : value.document });
800
+ function copyNode(node) {
801
+ var _a;
802
+ switch (node.object) {
803
+ case "document":
804
+ case "block":
805
+ case "inline":
806
+ return copyInline(node);
807
+ case "text":
808
+ return __spreadProps(__spreadValues({}, node), { marks: (_a = node.marks) == null ? void 0 : _a.map(copyMark) });
809
+ default:
810
+ return node;
811
+ }
812
+ }
813
+ function copyInline(inline) {
814
+ var _a, _b;
815
+ switch (inline.type) {
816
+ case "link":
817
+ return __spreadProps(__spreadValues({}, inline), {
818
+ nodes: (_a = inline.nodes) == null ? void 0 : _a.map(copyNode),
819
+ data: inline.data ? copyLinkData2(inline.data) : inline.data
820
+ });
821
+ default:
822
+ return __spreadProps(__spreadValues({}, inline), { nodes: (_b = inline.nodes) == null ? void 0 : _b.map(copyNode) });
823
+ }
824
+ }
825
+ function copyLinkData2(data) {
826
+ var _a, _b;
827
+ switch (data.type) {
828
+ case "OPEN_PAGE": {
829
+ const pageId = data.payload.pageId;
830
+ if (pageId == null)
831
+ return data;
832
+ return __spreadProps(__spreadValues({}, data), {
833
+ payload: __spreadProps(__spreadValues({}, data.payload), {
834
+ pageId: (_a = context.replacementContext.pageIds.get(pageId)) != null ? _a : data.payload.pageId
835
+ })
836
+ });
837
+ }
838
+ case "SCROLL_TO_ELEMENT": {
839
+ const elementIdConfig = data.payload.elementIdConfig;
840
+ if (elementIdConfig == null)
841
+ return data;
842
+ return __spreadProps(__spreadValues({}, data), {
843
+ payload: __spreadProps(__spreadValues({}, data.payload), {
844
+ elementIdConfig: __spreadProps(__spreadValues({}, elementIdConfig), {
845
+ elementKey: (_b = context.replacementContext.elementKeys.get(elementIdConfig.elementKey)) != null ? _b : elementIdConfig.elementKey
846
+ })
847
+ })
848
+ });
849
+ }
850
+ default:
851
+ return data;
852
+ }
853
+ }
854
+ function copyMark(mark) {
855
+ var _a, _b, _c, _d;
856
+ switch (mark.type) {
857
+ case "typography": {
858
+ const typographyId = (_a = mark.data) == null ? void 0 : _a.value.id;
859
+ return __spreadProps(__spreadValues({}, mark), {
860
+ data: __spreadProps(__spreadValues({}, mark.data), {
861
+ value: __spreadProps(__spreadValues({}, (_b = mark.data) == null ? void 0 : _b.value), {
862
+ id: (_c = context.replacementContext.typographyIds.get(typographyId)) != null ? _c : typographyId,
863
+ style: (_d = mark.data) == null ? void 0 : _d.value.style.map((override) => {
864
+ var _a2, _b2, _c2;
865
+ return __spreadProps(__spreadValues({}, override), {
866
+ value: __spreadProps(__spreadValues({}, override.value), {
867
+ color: override.value.color == null ? override.value.color : __spreadProps(__spreadValues({}, override.value.color), {
868
+ swatchId: (_c2 = context.replacementContext.swatchIds.get((_a2 = override.value.color) == null ? void 0 : _a2.swatchId)) != null ? _c2 : (_b2 = override.value.color) == null ? void 0 : _b2.swatchId
869
+ })
870
+ })
871
+ });
872
+ })
873
+ })
874
+ })
875
+ });
876
+ }
877
+ default:
878
+ return mark;
879
+ }
880
+ }
881
+ }
882
+ function copy$2(value, context) {
883
+ if (value == null)
884
+ return value;
885
+ if (context.replacementContext.elementHtmlIds.has(value))
886
+ return void 0;
887
+ context.replacementContext.elementHtmlIds.add(value);
888
+ return value;
889
+ }
890
+ function copy$1(descriptor, value, context) {
891
+ switch (descriptor.type) {
892
+ case "Backgrounds":
893
+ return copy$e(value, context);
894
+ case "Grid":
895
+ return copy$d(value, context);
896
+ case "NavigationLinks":
897
+ return copy$b(value, context);
898
+ case "Link":
899
+ return copy$c(value, context);
900
+ case "Shadows":
901
+ return copy$a(value, context);
902
+ case "Image":
903
+ return copy$9(value, context);
904
+ case "Images":
905
+ return copy$8(value, context);
906
+ case "ResponsiveColor":
907
+ return copy$7(value, context);
908
+ case "TableFormFields":
909
+ return copy$6(value, context);
910
+ case "Table":
911
+ return copy$5(value, context);
912
+ case "Border":
913
+ return copy$4(value, context);
914
+ case "RichText":
915
+ return copy$3(value, context);
916
+ case "ElementID":
917
+ return copy$2(value, context);
918
+ default:
919
+ return value;
920
+ }
921
+ }
922
+ function copyElementReference(value, context) {
923
+ return context.replacementContext.globalElementIds.get(value) || value;
924
+ }
925
+ function copy(definition, value, context) {
926
+ switch (definition.type) {
927
+ case Types.Backgrounds:
928
+ case Types.Grid:
929
+ case Types.NavigationLinks:
930
+ case Types.Link:
931
+ case Types.Shadows:
932
+ case Types.Image:
933
+ case Types.Images:
934
+ case Types.ResponsiveColor:
935
+ case Types.TableFormFields:
936
+ case Types.Table:
937
+ case Types.Border:
938
+ case Types.RichText:
939
+ case Types.ElementID:
940
+ return copy$1(definition, value, context);
941
+ case ColorControlType:
942
+ return copyColorData(value, context);
943
+ case ImageControlType:
944
+ return copyImageData(value, context);
945
+ case LinkControlType:
946
+ return copyLinkData(value, context);
947
+ case ShapeControlType:
948
+ return copyShapeData(definition, value, context);
949
+ case ListControlType:
950
+ return copyListData(definition, value, context);
951
+ case StyleControlType:
952
+ return copyStyleData(value, context);
953
+ case SlotControlType:
954
+ return copySlotData(value, context);
955
+ default:
956
+ return value;
957
+ }
958
+ }
482
959
  const RichTextControlType = "makeswift::controls::rich-text";
483
960
  function RichText() {
484
961
  return { type: RichTextControlType };
@@ -564,7 +1041,13 @@ exports.Image$1 = Image;
564
1041
  exports.ImageControlType = ImageControlType;
565
1042
  exports.ImageControlValueFormat = ImageControlValueFormat;
566
1043
  exports.Images = Images;
567
- exports.Link = Link;
1044
+ exports.Link = Link$1;
1045
+ exports.Link$1 = Link;
1046
+ exports.LinkControlType = LinkControlType;
1047
+ exports.List = List;
1048
+ exports.ListControl = ListControl;
1049
+ exports.ListControlMessageType = ListControlMessageType;
1050
+ exports.ListControlType = ListControlType;
568
1051
  exports.Margin = Margin;
569
1052
  exports.MarginPropControllerFormat = MarginPropControllerFormat;
570
1053
  exports.NavigationLinks = NavigationLinks;
@@ -585,6 +1068,10 @@ exports.RichTextControlType = RichTextControlType;
585
1068
  exports.RichTextPropControllerMessageType = RichTextPropControllerMessageType;
586
1069
  exports.Shadows = Shadows;
587
1070
  exports.ShadowsPropControllerFormat = ShadowsPropControllerFormat;
1071
+ exports.Shape = Shape;
1072
+ exports.ShapeControl = ShapeControl;
1073
+ exports.ShapeControlMessageType = ShapeControlMessageType;
1074
+ exports.ShapeControlType = ShapeControlType;
588
1075
  exports.Slot = Slot;
589
1076
  exports.SlotControl = SlotControl;
590
1077
  exports.SlotControlMessageType = SlotControlMessageType;
@@ -603,8 +1090,13 @@ exports.Types = Types;
603
1090
  exports.Video = Video;
604
1091
  exports.Width = Width;
605
1092
  exports.WidthPropControllerFormat = WidthPropControllerFormat;
1093
+ exports.copy = copy;
606
1094
  exports.copyColorData = copyColorData;
1095
+ exports.copyElementReference = copyElementReference;
607
1096
  exports.copyImageData = copyImageData;
1097
+ exports.copyLinkData = copyLinkData;
1098
+ exports.copyListData = copyListData;
1099
+ exports.copyShapeData = copyShapeData;
608
1100
  exports.copySlotData = copySlotData;
609
1101
  exports.copyStyleData = copyStyleData;
610
1102
  exports.createPropController = createPropController;