@makeswift/runtime 0.10.14 → 0.10.16

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 (133) hide show
  1. package/dist/Box.cjs.js +1 -0
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +1 -0
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +1 -0
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +1 -0
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +1 -0
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +1 -0
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +1 -0
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +1 -0
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +1 -0
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +1 -0
  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 +1 -0
  24. package/dist/Embed.es.js.map +1 -1
  25. package/dist/Form.cjs.js +1 -0
  26. package/dist/Form.cjs.js.map +1 -1
  27. package/dist/Form.es.js +1 -0
  28. package/dist/Form.es.js.map +1 -1
  29. package/dist/Image.cjs.js +1 -0
  30. package/dist/Image.cjs.js.map +1 -1
  31. package/dist/Image.es.js +1 -0
  32. package/dist/Image.es.js.map +1 -1
  33. package/dist/LiveProvider.cjs.js +1 -0
  34. package/dist/LiveProvider.cjs.js.map +1 -1
  35. package/dist/LiveProvider.es.js +1 -0
  36. package/dist/LiveProvider.es.js.map +1 -1
  37. package/dist/Navigation.cjs.js +1 -0
  38. package/dist/Navigation.cjs.js.map +1 -1
  39. package/dist/Navigation.es.js +1 -0
  40. package/dist/Navigation.es.js.map +1 -1
  41. package/dist/PreviewProvider.cjs.js +1 -0
  42. package/dist/PreviewProvider.cjs.js.map +1 -1
  43. package/dist/PreviewProvider.es.js +1 -0
  44. package/dist/PreviewProvider.es.js.map +1 -1
  45. package/dist/ReadOnlyText.cjs.js +1 -0
  46. package/dist/ReadOnlyText.cjs.js.map +1 -1
  47. package/dist/ReadOnlyText.es.js +1 -0
  48. package/dist/ReadOnlyText.es.js.map +1 -1
  49. package/dist/ReadOnlyTextV2.cjs.js +1 -0
  50. package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
  51. package/dist/ReadOnlyTextV2.es.js +1 -0
  52. package/dist/ReadOnlyTextV2.es.js.map +1 -1
  53. package/dist/Root.cjs.js +1 -0
  54. package/dist/Root.cjs.js.map +1 -1
  55. package/dist/Root.es.js +1 -0
  56. package/dist/Root.es.js.map +1 -1
  57. package/dist/SocialLinks.cjs.js +1 -0
  58. package/dist/SocialLinks.cjs.js.map +1 -1
  59. package/dist/SocialLinks.es.js +1 -0
  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 +1 -0
  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 +1 -0
  70. package/dist/components.cjs.js.map +1 -1
  71. package/dist/components.es.js +1 -0
  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 +1 -0
  76. package/dist/control-serialization.es.js.map +1 -1
  77. package/dist/controls.cjs.js +1 -0
  78. package/dist/controls.cjs.js.map +1 -1
  79. package/dist/controls.es.js +1 -0
  80. package/dist/controls.es.js.map +1 -1
  81. package/dist/index.cjs.js +19 -12
  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 +1 -0
  86. package/dist/index.cjs8.js.map +1 -1
  87. package/dist/index.cjs9.js +1 -0
  88. package/dist/index.cjs9.js.map +1 -1
  89. package/dist/index.es.js +19 -12
  90. package/dist/index.es.js.map +1 -1
  91. package/dist/index.es2.js +1 -0
  92. package/dist/index.es2.js.map +1 -1
  93. package/dist/index.es8.js +1 -0
  94. package/dist/index.es8.js.map +1 -1
  95. package/dist/index.es9.js +1 -0
  96. package/dist/index.es9.js.map +1 -1
  97. package/dist/main.cjs.js +1 -0
  98. package/dist/main.cjs.js.map +1 -1
  99. package/dist/main.es.js +1 -0
  100. package/dist/main.es.js.map +1 -1
  101. package/dist/next.cjs.js +1 -0
  102. package/dist/next.cjs.js.map +1 -1
  103. package/dist/next.es.js +1 -0
  104. package/dist/next.es.js.map +1 -1
  105. package/dist/prop-controllers.cjs.js +1 -0
  106. package/dist/prop-controllers.cjs.js.map +1 -1
  107. package/dist/prop-controllers.es.js +1 -0
  108. package/dist/prop-controllers.es.js.map +1 -1
  109. package/dist/react-page.cjs.js +48 -4
  110. package/dist/react-page.cjs.js.map +1 -1
  111. package/dist/react-page.es.js +47 -4
  112. package/dist/react-page.es.js.map +1 -1
  113. package/dist/react.cjs.js +1 -0
  114. package/dist/react.cjs.js.map +1 -1
  115. package/dist/react.es.js +1 -0
  116. package/dist/react.es.js.map +1 -1
  117. package/dist/slate.cjs.js +1 -0
  118. package/dist/slate.cjs.js.map +1 -1
  119. package/dist/slate.es.js +1 -0
  120. package/dist/slate.es.js.map +1 -1
  121. package/dist/toText.cjs.js +1 -0
  122. package/dist/toText.cjs.js.map +1 -1
  123. package/dist/toText.es.js +1 -0
  124. package/dist/toText.es.js.map +1 -1
  125. package/dist/types/src/controls/control.d.ts.map +1 -1
  126. package/dist/types/src/controls/image.d.ts +16 -1
  127. package/dist/types/src/controls/image.d.ts.map +1 -1
  128. package/dist/types/src/controls/rich-text-v2/translatableData.d.ts +3 -0
  129. package/dist/types/src/controls/rich-text-v2/translatableData.d.ts.map +1 -0
  130. package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -1
  131. package/dist/types/src/runtimes/react/controls/image.d.ts.map +1 -1
  132. package/dist/types/types/locale.d.ts +1 -1
  133. package/package.json +3 -1
@@ -10,6 +10,7 @@ require("ts-pattern");
10
10
  require("corporate-ipsum");
11
11
  require("slate");
12
12
  require("uuid");
13
+ require("escape-html");
13
14
  require("react");
14
15
  require("@emotion/css");
15
16
  require("@emotion/serialize");
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -8,6 +8,7 @@ import "ts-pattern";
8
8
  import "corporate-ipsum";
9
9
  import "slate";
10
10
  import "uuid";
11
+ import "escape-html";
11
12
  import "react";
12
13
  import "@emotion/css";
13
14
  import "@emotion/serialize";
@@ -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":";;;;;;;;;;;;;;;;;"}
@@ -43,6 +43,7 @@ var tsPattern = require("ts-pattern");
43
43
  var ipsum = require("corporate-ipsum");
44
44
  var slate = require("slate");
45
45
  var uuid = require("uuid");
46
+ var escapeHtml = require("escape-html");
46
47
  var React = require("react");
47
48
  var css = require("@emotion/css");
48
49
  var serialize = require("@emotion/serialize");
@@ -54,6 +55,7 @@ function _interopDefaultLegacy(e) {
54
55
  }
55
56
  var thunk__default = /* @__PURE__ */ _interopDefaultLegacy(thunk);
56
57
  var ipsum__default = /* @__PURE__ */ _interopDefaultLegacy(ipsum);
58
+ var escapeHtml__default = /* @__PURE__ */ _interopDefaultLegacy(escapeHtml);
57
59
  var React__default = /* @__PURE__ */ _interopDefaultLegacy(React);
58
60
  var isHotkey__default = /* @__PURE__ */ _interopDefaultLegacy(isHotkey);
59
61
  const ComponentIcon = {
@@ -814,14 +816,19 @@ const ImageControlValueFormat = {
814
816
  WithDimensions: "makeswift::controls::image::format::with-dimensions"
815
817
  };
816
818
  function Image(config = {}) {
817
- return { type: ImageControlType, config };
819
+ return { type: ImageControlType, config, version: 1 };
818
820
  }
819
821
  Image.Format = ImageControlValueFormat;
820
822
  function copyImageData(value, context) {
821
- var _a;
822
823
  if (value == null)
823
824
  return value;
824
- return (_a = context.replacementContext.fileIds.get(value)) != null ? _a : value;
825
+ return tsPattern.match(value).with(tsPattern.P.string, (id) => {
826
+ var _a;
827
+ return (_a = context.replacementContext.fileIds.get(id)) != null ? _a : id;
828
+ }).with({ type: "makeswift-file" }, ({ id }) => {
829
+ var _a;
830
+ return (_a = context.replacementContext.fileIds.get(id)) != null ? _a : id;
831
+ }).otherwise((val) => val);
825
832
  }
826
833
  if (void 0) {
827
834
  const { describe, test, expect } = void 0;
@@ -3981,6 +3988,41 @@ function copyRichTextV2Data(data, context) {
3981
3988
  });
3982
3989
  }
3983
3990
  }
3991
+ function hashTranslationString(s) {
3992
+ let hash = 0;
3993
+ for (let i = 0, len = s.length; i < len; i++) {
3994
+ let chr = s.charCodeAt(i);
3995
+ hash = (hash << 5) - hash + chr;
3996
+ hash |= 0;
3997
+ }
3998
+ return hash.toString();
3999
+ }
4000
+ function getRichTextV2TranslatableDescendant(definition2, descendant) {
4001
+ if (slate.Text.isText(descendant)) {
4002
+ let string = escapeHtml__default["default"](descendant.text);
4003
+ return string;
4004
+ }
4005
+ const children = descendant.children.map((child) => getRichTextV2TranslatableDescendant(definition2, child)).join("");
4006
+ switch (descendant.type) {
4007
+ case InlineType.Link:
4008
+ return `<a>${children}</a>`;
4009
+ case InlineType.Link:
4010
+ return `<sup>${children}</sup>`;
4011
+ case InlineType.Link:
4012
+ return `<sub>${children}</sub>`;
4013
+ case InlineType.Link:
4014
+ return `<code>${children}</code>`;
4015
+ default:
4016
+ return children;
4017
+ }
4018
+ }
4019
+ function getRichTextV2TranslatableData(definition2, data) {
4020
+ return data.descendants.reduce((acc, descendant) => {
4021
+ const value = getRichTextV2TranslatableDescendant(definition2, descendant);
4022
+ const key = hashTranslationString(value);
4023
+ return __spreadProps(__spreadValues({}, acc), { [key]: value });
4024
+ }, {});
4025
+ }
3984
4026
  function copy(definition2, value, context) {
3985
4027
  switch (definition2.type) {
3986
4028
  case Types.Backgrounds:
@@ -4034,6 +4076,8 @@ function getTranslatableData(definition2, data) {
4034
4076
  case TextInputControlType:
4035
4077
  case TextAreaControlType:
4036
4078
  return data;
4079
+ case RichTextV2ControlType:
4080
+ return getRichTextV2TranslatableData(definition2, data);
4037
4081
  case ListControlType:
4038
4082
  return getListTranslatableData(definition2, data);
4039
4083
  case ShapeControlType:
@@ -4381,7 +4425,7 @@ function getFileIds(descriptor, prop) {
4381
4425
  }
4382
4426
  case ImageControlType: {
4383
4427
  const value = prop;
4384
- return value == null ? [] : [value];
4428
+ return tsPattern.match(value).with(tsPattern.P.string, (f) => [f]).with({ type: "makeswift-file" }, (f) => [f.id]).with({ type: "external-file" }, () => []).otherwise(() => []);
4385
4429
  }
4386
4430
  case ShapeControlType: {
4387
4431
  return getShapeFileIds(descriptor, prop);