@makeswift/runtime 0.10.11 → 0.10.13

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 (163) hide show
  1. package/dist/Box.cjs.js +2 -1
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +3 -2
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +2 -1
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +3 -2
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +2 -1
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +3 -2
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +2 -1
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +3 -2
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +2 -1
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +3 -2
  20. package/dist/Divider.es.js.map +1 -1
  21. package/dist/Embed.cjs.js +1 -0
  22. package/dist/Embed.cjs.js.map +1 -1
  23. package/dist/Embed.es.js +2 -1
  24. package/dist/Embed.es.js.map +1 -1
  25. package/dist/Form.cjs.js +2 -1
  26. package/dist/Form.cjs.js.map +1 -1
  27. package/dist/Form.es.js +3 -2
  28. package/dist/Form.es.js.map +1 -1
  29. package/dist/Image.cjs.js +20 -4
  30. package/dist/Image.cjs.js.map +1 -1
  31. package/dist/Image.es.js +21 -5
  32. package/dist/Image.es.js.map +1 -1
  33. package/dist/LiveProvider.cjs.js +2 -1
  34. package/dist/LiveProvider.cjs.js.map +1 -1
  35. package/dist/LiveProvider.es.js +3 -2
  36. package/dist/LiveProvider.es.js.map +1 -1
  37. package/dist/Navigation.cjs.js +2 -1
  38. package/dist/Navigation.cjs.js.map +1 -1
  39. package/dist/Navigation.es.js +3 -2
  40. package/dist/Navigation.es.js.map +1 -1
  41. package/dist/PreviewProvider.cjs.js +2 -1
  42. package/dist/PreviewProvider.cjs.js.map +1 -1
  43. package/dist/PreviewProvider.es.js +3 -2
  44. package/dist/PreviewProvider.es.js.map +1 -1
  45. package/dist/ReadOnlyText.cjs.js +2 -1
  46. package/dist/ReadOnlyText.cjs.js.map +1 -1
  47. package/dist/ReadOnlyText.es.js +3 -2
  48. package/dist/ReadOnlyText.es.js.map +1 -1
  49. package/dist/ReadOnlyTextV2.cjs.js +2 -1
  50. package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
  51. package/dist/ReadOnlyTextV2.es.js +3 -2
  52. package/dist/ReadOnlyTextV2.es.js.map +1 -1
  53. package/dist/Root.cjs.js +2 -1
  54. package/dist/Root.cjs.js.map +1 -1
  55. package/dist/Root.es.js +3 -2
  56. package/dist/Root.es.js.map +1 -1
  57. package/dist/SocialLinks.cjs.js +2 -1
  58. package/dist/SocialLinks.cjs.js.map +1 -1
  59. package/dist/SocialLinks.es.js +3 -2
  60. package/dist/SocialLinks.es.js.map +1 -1
  61. package/dist/Video.cjs.js +1 -0
  62. package/dist/Video.cjs.js.map +1 -1
  63. package/dist/Video.es.js +2 -1
  64. package/dist/Video.es.js.map +1 -1
  65. package/dist/builder.cjs.js +1 -0
  66. package/dist/builder.cjs.js.map +1 -1
  67. package/dist/builder.es.js +1 -0
  68. package/dist/builder.es.js.map +1 -1
  69. package/dist/components.cjs.js +2 -1
  70. package/dist/components.cjs.js.map +1 -1
  71. package/dist/components.es.js +2 -1
  72. package/dist/components.es.js.map +1 -1
  73. package/dist/control-serialization.cjs.js +1 -0
  74. package/dist/control-serialization.cjs.js.map +1 -1
  75. package/dist/control-serialization.es.js +2 -1
  76. package/dist/control-serialization.es.js.map +1 -1
  77. package/dist/controls.cjs.js +14 -10
  78. package/dist/controls.cjs.js.map +1 -1
  79. package/dist/controls.es.js +3 -2
  80. package/dist/controls.es.js.map +1 -1
  81. package/dist/index.cjs.js +30 -10
  82. package/dist/index.cjs.js.map +1 -1
  83. package/dist/index.cjs2.js +1 -0
  84. package/dist/index.cjs2.js.map +1 -1
  85. package/dist/index.cjs8.js +2 -1
  86. package/dist/index.cjs8.js.map +1 -1
  87. package/dist/index.cjs9.js +2 -1
  88. package/dist/index.cjs9.js.map +1 -1
  89. package/dist/index.es.js +23 -3
  90. package/dist/index.es.js.map +1 -1
  91. package/dist/index.es2.js +2 -1
  92. package/dist/index.es2.js.map +1 -1
  93. package/dist/index.es4.js +1 -1
  94. package/dist/index.es5.js +1 -1
  95. package/dist/index.es6.js +1 -1
  96. package/dist/index.es8.js +3 -2
  97. package/dist/index.es8.js.map +1 -1
  98. package/dist/index.es9.js +3 -2
  99. package/dist/index.es9.js.map +1 -1
  100. package/dist/main.cjs.js +1 -0
  101. package/dist/main.cjs.js.map +1 -1
  102. package/dist/main.es.js +1 -0
  103. package/dist/main.es.js.map +1 -1
  104. package/dist/next.cjs.js +2 -1
  105. package/dist/next.cjs.js.map +1 -1
  106. package/dist/next.es.js +2 -1
  107. package/dist/next.es.js.map +1 -1
  108. package/dist/number.cjs.js +14 -0
  109. package/dist/number.cjs.js.map +1 -0
  110. package/dist/number.es.js +10 -0
  111. package/dist/number.es.js.map +1 -0
  112. package/dist/prop-controllers.cjs.js +3 -0
  113. package/dist/prop-controllers.cjs.js.map +1 -1
  114. package/dist/prop-controllers.es.js +2 -1
  115. package/dist/prop-controllers.es.js.map +1 -1
  116. package/dist/react-page.cjs.js +109 -28
  117. package/dist/react-page.cjs.js.map +1 -1
  118. package/dist/react-page.es.js +101 -30
  119. package/dist/react-page.es.js.map +1 -1
  120. package/dist/react.cjs.js +2 -1
  121. package/dist/react.cjs.js.map +1 -1
  122. package/dist/react.es.js +2 -1
  123. package/dist/react.es.js.map +1 -1
  124. package/dist/slate.cjs.js +2 -1
  125. package/dist/slate.cjs.js.map +1 -1
  126. package/dist/slate.es.js +3 -2
  127. package/dist/slate.es.js.map +1 -1
  128. package/dist/toText.cjs.js +1 -0
  129. package/dist/toText.cjs.js.map +1 -1
  130. package/dist/toText.es.js +2 -1
  131. package/dist/toText.es.js.map +1 -1
  132. package/dist/types/src/components/builtin/Image/Image.d.ts.map +1 -1
  133. package/dist/types/src/controls/control.d.ts +1 -0
  134. package/dist/types/src/controls/control.d.ts.map +1 -1
  135. package/dist/types/src/controls/list.d.ts +3 -0
  136. package/dist/types/src/controls/list.d.ts.map +1 -1
  137. package/dist/types/src/controls/shape.d.ts +3 -0
  138. package/dist/types/src/controls/shape.d.ts.map +1 -1
  139. package/dist/types/src/next/api-handler/handlers/translatable-data.d.ts +13 -0
  140. package/dist/types/src/next/api-handler/handlers/translatable-data.d.ts.map +1 -0
  141. package/dist/types/src/next/api-handler/index.d.ts +2 -1
  142. package/dist/types/src/next/api-handler/index.d.ts.map +1 -1
  143. package/dist/types/src/next/client.d.ts +2 -1
  144. package/dist/types/src/next/client.d.ts.map +1 -1
  145. package/dist/types/src/prop-controllers/copy/image.d.ts +2 -2
  146. package/dist/types/src/prop-controllers/copy/image.d.ts.map +1 -1
  147. package/dist/types/src/prop-controllers/copy/images.d.ts +2 -2
  148. package/dist/types/src/prop-controllers/copy/images.d.ts.map +1 -1
  149. package/dist/types/src/prop-controllers/descriptors.d.ts +32 -5
  150. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  151. package/dist/types/src/prop-controllers/index.d.ts +3 -1
  152. package/dist/types/src/prop-controllers/index.d.ts.map +1 -1
  153. package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -1
  154. package/dist/types/src/runtimes/react/index.d.ts +2 -0
  155. package/dist/types/src/runtimes/react/index.d.ts.map +1 -1
  156. package/dist/types/src/state/react-page.d.ts +1 -0
  157. package/dist/types/src/state/react-page.d.ts.map +1 -1
  158. package/dist/types/types/locale.d.ts +1 -1
  159. package/package.json +2 -1
  160. package/dist/text-input.cjs.js +0 -26
  161. package/dist/text-input.cjs.js.map +0 -1
  162. package/dist/text-input.es.js +0 -18
  163. package/dist/text-input.es.js.map +0 -1
package/dist/main.es.js CHANGED
@@ -5,6 +5,7 @@ import "zod";
5
5
  import "redux";
6
6
  import "redux-thunk";
7
7
  import "./state/breakpoints.es.js";
8
+ import "ts-pattern";
8
9
  import "corporate-ipsum";
9
10
  import "slate";
10
11
  import "uuid";
@@ -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
@@ -11,6 +11,7 @@ require("redux-thunk");
11
11
  require("./actions.cjs.js");
12
12
  require("zod");
13
13
  require("./state/breakpoints.cjs.js");
14
+ require("ts-pattern");
14
15
  require("corporate-ipsum");
15
16
  require("slate");
16
17
  require("uuid");
@@ -18,7 +19,7 @@ require("@emotion/css");
18
19
  require("@emotion/serialize");
19
20
  require("@emotion/utils");
20
21
  require("is-hotkey");
21
- require("./text-input.cjs.js");
22
+ require("./number.cjs.js");
22
23
  require("./combobox.cjs.js");
23
24
  require("use-sync-external-store/shim");
24
25
  require("./types.cjs.js");
@@ -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
@@ -9,6 +9,7 @@ import "redux-thunk";
9
9
  import "./actions.es.js";
10
10
  import "zod";
11
11
  import "./state/breakpoints.es.js";
12
+ import "ts-pattern";
12
13
  import "corporate-ipsum";
13
14
  import "slate";
14
15
  import "uuid";
@@ -16,7 +17,7 @@ import "@emotion/css";
16
17
  import "@emotion/serialize";
17
18
  import "@emotion/utils";
18
19
  import "is-hotkey";
19
- import "./text-input.es.js";
20
+ import "./number.es.js";
20
21
  import "./combobox.es.js";
21
22
  import "use-sync-external-store/shim";
22
23
  import "./types.es.js";
@@ -1 +1 @@
1
- {"version":3,"file":"next.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"next.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ const CheckboxControlType = "makeswift::controls::checkbox";
3
+ function Checkbox(config = {}) {
4
+ return { type: CheckboxControlType, config };
5
+ }
6
+ const NumberControlType = "makeswift::controls::number";
7
+ function Number(config = {}) {
8
+ return { type: NumberControlType, config };
9
+ }
10
+ exports.Checkbox = Checkbox;
11
+ exports.CheckboxControlType = CheckboxControlType;
12
+ exports.Number = Number;
13
+ exports.NumberControlType = NumberControlType;
14
+ //# sourceMappingURL=number.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.cjs.js","sources":["../src/controls/checkbox.ts","../src/controls/number.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"],"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;;;;;"}
@@ -0,0 +1,10 @@
1
+ const CheckboxControlType = "makeswift::controls::checkbox";
2
+ function Checkbox(config = {}) {
3
+ return { type: CheckboxControlType, config };
4
+ }
5
+ const NumberControlType = "makeswift::controls::number";
6
+ function Number(config = {}) {
7
+ return { type: NumberControlType, config };
8
+ }
9
+ export { CheckboxControlType as C, NumberControlType as N, Checkbox as a, Number as b };
10
+ //# sourceMappingURL=number.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.es.js","sources":["../src/controls/checkbox.ts","../src/controls/number.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"],"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;;"}
@@ -6,6 +6,7 @@ require("redux-thunk");
6
6
  require("./actions.cjs.js");
7
7
  require("zod");
8
8
  require("./state/breakpoints.cjs.js");
9
+ require("ts-pattern");
9
10
  require("corporate-ipsum");
10
11
  require("slate");
11
12
  require("uuid");
@@ -19,4 +20,6 @@ exports.Introspection = reactPage.introspection;
19
20
  exports.Props = reactPage.descriptors;
20
21
  exports.RichTextPropControllerMessageType = reactPage.RichTextPropControllerMessageType;
21
22
  exports.TableFormFieldsMessageType = reactPage.TableFormFieldsMessageType;
23
+ exports.imageCopy = reactPage.copy;
24
+ exports.imagesCopy = reactPage.copy$1;
22
25
  //# sourceMappingURL=prop-controllers.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prop-controllers.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"prop-controllers.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,10 @@
1
- export { i as Introspection, d as Props, R as RichTextPropControllerMessageType, T as TableFormFieldsMessageType } from "./react-page.es.js";
1
+ export { i as Introspection, d as Props, R as RichTextPropControllerMessageType, T as TableFormFieldsMessageType, a as imageCopy, b as imagesCopy } from "./react-page.es.js";
2
2
  import "redux";
3
3
  import "redux-thunk";
4
4
  import "./actions.es.js";
5
5
  import "zod";
6
6
  import "./state/breakpoints.es.js";
7
+ import "ts-pattern";
7
8
  import "corporate-ipsum";
8
9
  import "slate";
9
10
  import "uuid";
@@ -1 +1 @@
1
- {"version":3,"file":"prop-controllers.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"prop-controllers.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -39,6 +39,7 @@ var redux = require("redux");
39
39
  var thunk = require("redux-thunk");
40
40
  var actions = require("./actions.cjs.js");
41
41
  var state_breakpoints = require("./state/breakpoints.cjs.js");
42
+ var tsPattern = require("ts-pattern");
42
43
  var ipsum = require("corporate-ipsum");
43
44
  var slate = require("slate");
44
45
  var uuid = require("uuid");
@@ -612,10 +613,10 @@ function Grid(options = {}) {
612
613
  return { type: Types.Grid, options };
613
614
  }
614
615
  function Image$1(options = {}) {
615
- return { type: Types.Image, options };
616
+ return { type: Types.Image, version: 1, options };
616
617
  }
617
618
  function Images(options = {}) {
618
- return { type: Types.Images, options };
619
+ return { type: Types.Images, version: 1, options };
619
620
  }
620
621
  function Link$1(options = {}) {
621
622
  return { type: Types.Link, options };
@@ -729,10 +730,10 @@ function TableFormFields(options = {}) {
729
730
  function Typeahead(options) {
730
731
  return { type: Types.Typeahead, options };
731
732
  }
732
- function TextArea(options = {}) {
733
+ function TextArea$1(options = {}) {
733
734
  return { type: Types.TextArea, options };
734
735
  }
735
- function TextInput(options = {}) {
736
+ function TextInput$1(options = {}) {
736
737
  return { type: Types.TextInput, options };
737
738
  }
738
739
  function TextStyle(options = {}) {
@@ -800,8 +801,8 @@ var descriptors = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePro
800
801
  Table,
801
802
  TableFormFields,
802
803
  Typeahead,
803
- TextArea,
804
- TextInput,
804
+ TextArea: TextArea$1,
805
+ TextInput: TextInput$1,
805
806
  TextStyle,
806
807
  Video,
807
808
  WidthPropControllerFormat,
@@ -1093,6 +1094,9 @@ function getListTypographyIds(definition2, value) {
1093
1094
  function getListPageIds(definition2, value) {
1094
1095
  return introspectListData(definition2, value, getPageIds);
1095
1096
  }
1097
+ function getListTranslatableData(definition2, data) {
1098
+ return Object.fromEntries(data.map((item) => [item.id, getTranslatableData(definition2.config.type, item.value)]));
1099
+ }
1096
1100
  const ShapeControlType = "makeswift::controls::shape";
1097
1101
  function Shape(config) {
1098
1102
  return { type: ShapeControlType, config };
@@ -1166,6 +1170,20 @@ function getShapePageIds(definition2, data) {
1166
1170
  function getShapeFileIds(definition2, data) {
1167
1171
  return introspectShapeData(definition2, data, getFileIds);
1168
1172
  }
1173
+ function getShapeTranslatableData(definition2, data) {
1174
+ return Object.fromEntries(Object.entries(definition2.config.type).map(([key, definition22]) => [
1175
+ key,
1176
+ getTranslatableData(definition22, data[key])
1177
+ ]));
1178
+ }
1179
+ const TextAreaControlType = "makeswift::controls::text-area";
1180
+ function TextArea(config = {}) {
1181
+ return { type: TextAreaControlType, config };
1182
+ }
1183
+ const TextInputControlType = "makeswift::controls::text-input";
1184
+ function TextInput(config = {}) {
1185
+ return { type: TextInputControlType, config };
1186
+ }
1169
1187
  const SlotControlType = "makeswift::controls::slot";
1170
1188
  function Slot() {
1171
1189
  return { type: SlotControlType };
@@ -1420,11 +1438,14 @@ if (void 0) {
1420
1438
  });
1421
1439
  });
1422
1440
  }
1423
- function copy$9(value, context) {
1424
- var _a;
1425
- if (value == null)
1426
- return value;
1427
- return (_a = context.replacementContext.fileIds.get(value)) != null ? _a : value;
1441
+ function copy$9(descriptor, value, context) {
1442
+ return tsPattern.match([descriptor, value]).with([tsPattern.P.any, tsPattern.P.string], ([, v]) => {
1443
+ var _a;
1444
+ return (_a = context.replacementContext.fileIds.get(v)) != null ? _a : v;
1445
+ }).with([{ version: 1 }, { type: "makeswift-file", version: 1 }], ([, v]) => {
1446
+ var _a;
1447
+ return (_a = context.replacementContext.fileIds.get(v.id)) != null ? _a : v.id;
1448
+ }).otherwise(([, v]) => v);
1428
1449
  }
1429
1450
  if (void 0) {
1430
1451
  const { describe, test, expect } = void 0;
@@ -1444,26 +1465,30 @@ if (void 0) {
1444
1465
  globalElementIds: /* @__PURE__ */ new Map(),
1445
1466
  globalElementData: /* @__PURE__ */ new Map()
1446
1467
  };
1447
- const result = copy$9(data, {
1448
- replacementContext,
1449
- copyElement: (node) => node
1468
+ const result = copy$9({ type: "Image", options: {} }, data, {
1469
+ replacementContext
1450
1470
  });
1451
1471
  expect(result).toMatchObject(expected);
1452
1472
  });
1453
1473
  });
1454
1474
  }
1455
- function copy$8(value, context) {
1475
+ function copy$8(descriptor, value, context) {
1456
1476
  if (value == null)
1457
1477
  return value;
1458
1478
  return value.map(copyImagesPanelItem);
1459
1479
  function copyImagesPanelItem(imagesPanelItem) {
1460
- var _a;
1461
1480
  const { file } = imagesPanelItem.props;
1462
1481
  if (file == null)
1463
1482
  return imagesPanelItem;
1464
1483
  return __spreadProps(__spreadValues({}, imagesPanelItem), {
1465
1484
  props: __spreadProps(__spreadValues({}, imagesPanelItem.props), {
1466
- file: (_a = context.replacementContext.fileIds.get(file)) != null ? _a : file
1485
+ file: tsPattern.match([descriptor, file]).with([tsPattern.P.any, tsPattern.P.string], ([, f]) => {
1486
+ var _a;
1487
+ return (_a = context.replacementContext.fileIds.get(f)) != null ? _a : f;
1488
+ }).with([{ version: 1 }, { type: "makeswift-file", version: 1 }], ([, f]) => {
1489
+ var _a;
1490
+ return (_a = context.replacementContext.fileIds.get(f.id)) != null ? _a : f.id;
1491
+ }).otherwise(([, f]) => f)
1467
1492
  })
1468
1493
  });
1469
1494
  }
@@ -1499,9 +1524,8 @@ if (void 0) {
1499
1524
  globalElementIds: /* @__PURE__ */ new Map(),
1500
1525
  globalElementData: /* @__PURE__ */ new Map()
1501
1526
  };
1502
- const result = copy$8(data, {
1503
- replacementContext,
1504
- copyElement: (node) => node
1527
+ const result = copy$8({ type: "Images", options: {} }, data, {
1528
+ replacementContext
1505
1529
  });
1506
1530
  expect(result).toMatchObject(expected);
1507
1531
  });
@@ -1940,9 +1964,9 @@ function copy$1(descriptor, value, context) {
1940
1964
  case "Shadows":
1941
1965
  return copy$a(value, context);
1942
1966
  case "Image":
1943
- return copy$9(value, context);
1967
+ return copy$9(descriptor, value, context);
1944
1968
  case "Images":
1945
- return copy$8(value, context);
1969
+ return copy$8(descriptor, value, context);
1946
1970
  case "ResponsiveColor":
1947
1971
  return copy$7(value, context);
1948
1972
  case "TableFormFields":
@@ -3993,6 +4017,21 @@ function merge(definition2, a, b = a, context) {
3993
4017
  return b;
3994
4018
  }
3995
4019
  }
4020
+ function getTranslatableData(definition2, data) {
4021
+ switch (definition2.type) {
4022
+ case Types.TextInput:
4023
+ case Types.TextArea:
4024
+ case TextInputControlType:
4025
+ case TextAreaControlType:
4026
+ return data;
4027
+ case ListControlType:
4028
+ return getListTranslatableData(definition2, data);
4029
+ case ShapeControlType:
4030
+ return getShapeTranslatableData(definition2, data);
4031
+ default:
4032
+ return null;
4033
+ }
4034
+ }
3996
4035
  const StyleV2ControlType = "makeswift::controls::style-v2";
3997
4036
  const unstable_useStyleV2ClassName = useStyle;
3998
4037
  function unstable_StyleV2(config) {
@@ -4327,12 +4366,11 @@ function getFileIds(descriptor, prop) {
4327
4366
  case Types.Backgrounds:
4328
4367
  return getBackgroundsFileIds(prop);
4329
4368
  case Types.Image: {
4330
- const value = prop;
4331
- return value == null ? [] : [value];
4369
+ return tsPattern.match(prop).with(tsPattern.P.string, (v) => [v]).with({ type: "makeswift-file", version: 1 }, (v) => [v.id]).with({ type: "external-file", version: 1 }, () => []).exhaustive();
4332
4370
  }
4333
4371
  case Types.Images: {
4334
4372
  const value = prop;
4335
- return (_a = value == null ? void 0 : value.flatMap((item) => item.props.file == null ? [] : [item.props.file])) != null ? _a : [];
4373
+ return (_a = value == null ? void 0 : value.flatMap((item) => tsPattern.match(item.props.file).with(tsPattern.P.string, (f) => [f]).with({ type: "makeswift-file", version: 1 }, (f) => [f.id]).with({ type: "external-file", version: 1 }, () => []).with(tsPattern.P.nullish, () => []).otherwise(() => []))) != null ? _a : [];
4336
4374
  }
4337
4375
  case ImageControlType: {
4338
4376
  const value = prop;
@@ -4640,6 +4678,39 @@ function copyElementTree(state, elementTree, replacementContext) {
4640
4678
  const copy$12 = JSON.parse(JSON.stringify(elementTree));
4641
4679
  return copyElementTreeNode(state, createReplacementContext(replacementContext))(copy$12);
4642
4680
  }
4681
+ function* traverseElementTree(state, elementTree) {
4682
+ yield elementTree;
4683
+ if (isElementReference(elementTree))
4684
+ return;
4685
+ const descriptors2 = getComponentPropControllerDescriptors(state, elementTree.type);
4686
+ if (descriptors2 == null)
4687
+ return;
4688
+ for (const [propKey, descriptor] of Object.entries(descriptors2)) {
4689
+ const children = getElementChildren(descriptor, elementTree.props[propKey]);
4690
+ for (const child of children) {
4691
+ if (!isElementReference(child))
4692
+ yield* traverseElementTree(state, child);
4693
+ yield child;
4694
+ }
4695
+ }
4696
+ }
4697
+ function getElementTreeTranslatableData(state, elementTree) {
4698
+ const translatableData = {};
4699
+ for (const element of traverseElementTree(state, elementTree)) {
4700
+ if (isElementReference(element))
4701
+ continue;
4702
+ const descriptors2 = getComponentPropControllerDescriptors(state, element.type);
4703
+ if (descriptors2 == null)
4704
+ continue;
4705
+ Object.entries(descriptors2).forEach(([propName, descriptor]) => {
4706
+ const translatablePropData = getTranslatableData(descriptor, element.props[propName]);
4707
+ if (translatablePropData != null) {
4708
+ translatableData[`${element.key}:${propName}`] = translatablePropData;
4709
+ }
4710
+ });
4711
+ }
4712
+ return translatableData;
4713
+ }
4643
4714
  function getIsInBuilder(state) {
4644
4715
  return state.isInBuilder;
4645
4716
  }
@@ -4757,8 +4828,12 @@ exports.Table = Table;
4757
4828
  exports.TableFormFields = TableFormFields;
4758
4829
  exports.TableFormFieldsMessageType = TableFormFieldsMessageType;
4759
4830
  exports.TextAlignPlugin = TextAlignPlugin;
4760
- exports.TextArea = TextArea;
4761
- exports.TextInput = TextInput;
4831
+ exports.TextArea = TextArea$1;
4832
+ exports.TextArea$1 = TextArea;
4833
+ exports.TextAreaControlType = TextAreaControlType;
4834
+ exports.TextInput = TextInput$1;
4835
+ exports.TextInput$1 = TextInput;
4836
+ exports.TextInputControlType = TextInputControlType;
4762
4837
  exports.TextStyle = TextStyle;
4763
4838
  exports.Types = Types;
4764
4839
  exports.TypographyActions = TypographyActions;
@@ -4768,7 +4843,9 @@ exports.Video = Video;
4768
4843
  exports.Width = Width;
4769
4844
  exports.WidthPropControllerFormat = WidthPropControllerFormat;
4770
4845
  exports.configureStore = configureStore;
4771
- exports.copy = copy;
4846
+ exports.copy = copy$9;
4847
+ exports.copy$1 = copy$8;
4848
+ exports.copy$2 = copy;
4772
4849
  exports.copyColorData = copyColorData;
4773
4850
  exports.copyElementTree = copyElementTree;
4774
4851
  exports.copyImageData = copyImageData;
@@ -4801,6 +4878,7 @@ exports.getElement = getElement;
4801
4878
  exports.getElementChildren = getElementChildren;
4802
4879
  exports.getElementId = getElementId;
4803
4880
  exports.getElementPropControllerDescriptors = getElementPropControllerDescriptors;
4881
+ exports.getElementTreeTranslatableData = getElementTreeTranslatableData;
4804
4882
  exports.getFileIds = getFileIds;
4805
4883
  exports.getInitialState = getInitialState$7;
4806
4884
  exports.getInitialState$1 = getInitialState$2;
@@ -4810,6 +4888,7 @@ exports.getListElementChildren = getListElementChildren;
4810
4888
  exports.getListFileIds = getListFileIds;
4811
4889
  exports.getListPageIds = getListPageIds;
4812
4890
  exports.getListSwatchIds = getListSwatchIds;
4891
+ exports.getListTranslatableData = getListTranslatableData;
4813
4892
  exports.getListTypographyIds = getListTypographyIds;
4814
4893
  exports.getLocales = getLocales;
4815
4894
  exports.getPageIds = getPageIds;
@@ -4823,9 +4902,11 @@ exports.getShapeElementChildren = getShapeElementChildren;
4823
4902
  exports.getShapeFileIds = getShapeFileIds;
4824
4903
  exports.getShapePageIds = getShapePageIds;
4825
4904
  exports.getShapeSwatchIds = getShapeSwatchIds;
4905
+ exports.getShapeTranslatableData = getShapeTranslatableData;
4826
4906
  exports.getShapeTypographyIds = getShapeTypographyIds;
4827
4907
  exports.getSwatchIds = getSwatchIds;
4828
4908
  exports.getTableIds = getTableIds;
4909
+ exports.getTranslatableData = getTranslatableData;
4829
4910
  exports.getTypographyIds = getTypographyIds;
4830
4911
  exports.getTypographySwatchIds = getTypographySwatchIds;
4831
4912
  exports.getTypographyTypographyIds = getTypographyTypographyIds;