@builder.io/sdk-react-native 0.4.5 → 0.5.0

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 (249) hide show
  1. package/dist/blocks/button/button.js +6 -2
  2. package/dist/blocks/button/component-info.js +4 -8
  3. package/dist/blocks/columns/columns.js +17 -21
  4. package/dist/blocks/columns/component-info.js +27 -48
  5. package/dist/blocks/custom-code/component-info.js +4 -8
  6. package/dist/blocks/custom-code/custom-code.js +1 -1
  7. package/dist/blocks/embed/component-info.js +7 -11
  8. package/dist/blocks/embed/embed.js +1 -1
  9. package/dist/blocks/embed/helpers.js +2 -6
  10. package/dist/blocks/form/component-info.js +33 -69
  11. package/dist/blocks/form/form.js +2 -203
  12. package/dist/blocks/fragment/fragment.js +1 -1
  13. package/dist/blocks/helpers.js +33 -0
  14. package/dist/blocks/image/component-info.js +21 -47
  15. package/dist/blocks/image/image.helpers.js +2 -2
  16. package/dist/blocks/img/component-info.js +2 -4
  17. package/dist/blocks/img/img.js +2 -1
  18. package/dist/blocks/input/component-info.js +8 -34
  19. package/dist/blocks/input/input.js +2 -1
  20. package/dist/blocks/raw-text/component-info.js +2 -4
  21. package/dist/blocks/raw-text/raw-text.js +3 -2
  22. package/dist/blocks/section/component-info.js +5 -10
  23. package/dist/blocks/section/section.js +2 -1
  24. package/dist/blocks/select/component-info.js +12 -24
  25. package/dist/blocks/select/select.js +2 -1
  26. package/dist/blocks/submit-button/component-info.js +2 -4
  27. package/dist/blocks/submit-button/submit-button.js +2 -1
  28. package/dist/blocks/symbol/component-info.js +7 -12
  29. package/dist/blocks/symbol/symbol.helpers.js +66 -0
  30. package/dist/blocks/symbol/symbol.js +23 -52
  31. package/dist/blocks/text/component-info.js +3 -4
  32. package/dist/blocks/textarea/component-info.js +6 -12
  33. package/dist/blocks/textarea/textarea.js +2 -1
  34. package/dist/blocks/video/component-info.js +21 -41
  35. package/dist/components/block/block.helpers.js +12 -23
  36. package/dist/components/block/block.js +40 -70
  37. package/dist/components/block/components/block-styles.js +1 -1
  38. package/dist/components/block/components/block-wrapper/block-wrapper.js +41 -0
  39. package/dist/components/block/components/block-wrapper.js +56 -0
  40. package/dist/components/block/components/component-ref/component-ref.helpers.js +40 -0
  41. package/dist/components/block/components/component-ref/component-ref.js +63 -0
  42. package/dist/components/block/components/component-ref.js +81 -0
  43. package/dist/components/block/components/interactive-element/interactive-element.helpers.js +35 -0
  44. package/dist/components/block/components/interactive-element/interactive-element.js +36 -0
  45. package/dist/components/block/components/interactive-element.js +46 -0
  46. package/dist/components/block/components/repeated-block.js +4 -4
  47. package/dist/components/blocks/blocks-wrapper.js +5 -2
  48. package/dist/components/blocks/blocks.js +2 -2
  49. package/dist/components/content/builder-editing.js +32 -0
  50. package/dist/components/content/components/enable-editor.js +30 -33
  51. package/dist/components/content/components/styles.helpers.js +55 -0
  52. package/dist/components/content/components/styles.js +61 -0
  53. package/dist/components/content/content.helpers.js +10 -3
  54. package/dist/components/content/content.js +25 -42
  55. package/dist/components/content/wrap-component-ref.js +1 -1
  56. package/dist/components/content-variants/content-variants.js +38 -34
  57. package/dist/components/content-variants/content-variants.types.js +1 -0
  58. package/dist/components/content-variants/helpers.js +61 -25
  59. package/dist/components/inlined-script.js +1 -1
  60. package/dist/components/inlined-styles.js +1 -1
  61. package/dist/constants/device-sizes.js +2 -2
  62. package/dist/constants/sdk-version.js +1 -1
  63. package/dist/context/builder.context.js +1 -1
  64. package/dist/functions/apply-patch-with-mutation.js +75 -0
  65. package/dist/functions/apply-patch-with-mutation.test.js +55 -0
  66. package/dist/functions/camel-to-kebab-case.js +1 -1
  67. package/dist/functions/evaluate/acorn.js +1691 -0
  68. package/dist/functions/evaluate/evaluate.js +72 -0
  69. package/dist/functions/evaluate/index.js +5 -0
  70. package/dist/functions/evaluate/interpreter.js +2903 -0
  71. package/dist/functions/evaluate/non-node-runtime.js +97 -0
  72. package/dist/functions/evaluate/types.js +1 -0
  73. package/dist/functions/evaluate.test.js +12 -6
  74. package/dist/functions/event-handler-name.js +1 -1
  75. package/dist/functions/extract-text-styles.js +3 -9
  76. package/dist/functions/fast-clone.js +1 -1
  77. package/dist/functions/get-block-actions-handler.js +2 -2
  78. package/dist/functions/get-block-actions.js +14 -1
  79. package/dist/functions/get-block-component-options.js +6 -1
  80. package/dist/functions/get-block-properties.js +21 -8
  81. package/dist/functions/get-builder-search-params/fn.test.js +3 -3
  82. package/dist/functions/get-builder-search-params/index.js +4 -4
  83. package/dist/functions/get-content/generate-content-url.js +12 -5
  84. package/dist/functions/get-content/generate-content-url.test.js +31 -17
  85. package/dist/functions/get-content/index.js +36 -12
  86. package/dist/functions/get-content/processCookies.js +7 -0
  87. package/dist/functions/get-processed-block.js +8 -3
  88. package/dist/functions/get-processed-block.test.js +3 -1
  89. package/dist/functions/get-react-native-block-styles.js +6 -1
  90. package/dist/functions/is-non-node-server.js +12 -0
  91. package/dist/functions/on-change.test.js +13 -3
  92. package/dist/functions/register-component.js +24 -19
  93. package/dist/functions/sanitize-react-native-block-styles.js +17 -6
  94. package/dist/functions/set.test.js +9 -3
  95. package/dist/functions/track/helpers.js +5 -5
  96. package/dist/functions/track/index.js +29 -18
  97. package/dist/functions/track/interaction.js +10 -4
  98. package/dist/functions/transform-block-properties.js +2 -0
  99. package/dist/helpers/ab-tests.js +35 -14
  100. package/dist/helpers/canTrack.js +2 -2
  101. package/dist/helpers/css.js +2 -2
  102. package/dist/helpers/flatten.js +10 -7
  103. package/dist/helpers/nullable.js +1 -1
  104. package/dist/helpers/preview-lru-cache/get.js +11 -0
  105. package/dist/helpers/preview-lru-cache/helpers.js +13 -0
  106. package/dist/helpers/preview-lru-cache/init.js +13 -0
  107. package/dist/helpers/preview-lru-cache/set.js +37 -0
  108. package/dist/helpers/preview-lru-cache/types.js +1 -0
  109. package/dist/helpers/sessionId.js +13 -6
  110. package/dist/helpers/url.js +1 -1
  111. package/dist/helpers/visitorId.js +4 -1
  112. package/dist/index-helpers/blocks-exports.js +2 -2
  113. package/dist/scripts/init-editing.js +61 -46
  114. package/package.json +2 -2
  115. package/src/blocks/button/button.jsx +11 -2
  116. package/src/blocks/button/component-info.js +16 -22
  117. package/src/blocks/columns/columns.jsx +27 -26
  118. package/src/blocks/columns/component-info.js +203 -226
  119. package/src/blocks/custom-code/component-info.js +19 -25
  120. package/src/blocks/custom-code/custom-code.jsx +1 -1
  121. package/src/blocks/embed/component-info.js +31 -37
  122. package/src/blocks/embed/embed.jsx +1 -1
  123. package/src/blocks/embed/helpers.js +3 -9
  124. package/src/blocks/form/component-info.js +174 -212
  125. package/src/blocks/form/form.jsx +3 -247
  126. package/src/blocks/fragment/component-info.js +1 -3
  127. package/src/blocks/fragment/fragment.jsx +1 -1
  128. package/src/blocks/helpers.js +27 -0
  129. package/src/blocks/image/component-info.js +105 -133
  130. package/src/blocks/image/image.helpers.js +3 -5
  131. package/src/blocks/img/component-info.js +8 -12
  132. package/src/blocks/img/img.jsx +3 -1
  133. package/src/blocks/input/component-info.js +29 -57
  134. package/src/blocks/input/input.jsx +3 -1
  135. package/src/blocks/raw-text/component-info.js +7 -11
  136. package/src/blocks/raw-text/raw-text.jsx +4 -2
  137. package/src/blocks/section/component-info.js +24 -31
  138. package/src/blocks/section/section.jsx +3 -1
  139. package/src/blocks/select/component-info.js +34 -48
  140. package/src/blocks/select/select.jsx +3 -1
  141. package/src/blocks/submit-button/component-info.js +6 -10
  142. package/src/blocks/submit-button/submit-button.jsx +3 -2
  143. package/src/blocks/symbol/component-info.js +30 -37
  144. package/src/blocks/symbol/symbol.helpers.js +60 -0
  145. package/src/blocks/symbol/symbol.jsx +33 -61
  146. package/src/blocks/text/component-info.js +10 -13
  147. package/src/blocks/textarea/component-info.js +22 -30
  148. package/src/blocks/textarea/textarea.jsx +3 -1
  149. package/src/blocks/video/component-info.js +74 -96
  150. package/src/components/{render-block/render-block.helpers.js → block/block.helpers.js} +26 -44
  151. package/src/components/{render-block/render-block.jsx → block/block.jsx} +68 -81
  152. package/src/components/{render-block → block/components}/block-styles.jsx +18 -17
  153. package/src/components/block/components/block-wrapper.jsx +58 -0
  154. package/src/components/block/components/component-ref/component-ref.helpers.js +41 -0
  155. package/src/components/block/components/component-ref/component-ref.jsx +72 -0
  156. package/src/components/block/components/interactive-element.jsx +37 -0
  157. package/src/components/{render-block/render-repeated-block.jsx → block/components/repeated-block.jsx} +10 -6
  158. package/src/components/blocks/blocks-wrapper.jsx +74 -0
  159. package/src/components/blocks/blocks.jsx +51 -0
  160. package/src/components/{render-content/render-content.jsx → content/components/enable-editor.jsx} +77 -163
  161. package/src/components/{render-content/components/render-styles.helpers.js → content/components/styles.helpers.js} +6 -7
  162. package/src/components/{render-content/components/render-styles.jsx → content/components/styles.jsx} +5 -5
  163. package/src/components/{render-content/render-content.helpers.js → content/content.helpers.js} +15 -15
  164. package/src/components/content/content.jsx +141 -0
  165. package/src/components/content/index.js +2 -0
  166. package/src/components/content/wrap-component-ref.js +2 -0
  167. package/src/components/{render-content-variants/render-content-variants.jsx → content-variants/content-variants.jsx} +20 -23
  168. package/src/components/{render-content-variants → content-variants}/helpers.js +28 -40
  169. package/src/components/inlined-script.jsx +1 -1
  170. package/src/components/inlined-styles.jsx +1 -1
  171. package/src/constants/device-sizes.js +6 -6
  172. package/src/constants/sdk-version.js +1 -1
  173. package/src/context/builder.context.js +1 -1
  174. package/src/functions/apply-patch-with-mutation.js +66 -0
  175. package/src/functions/camel-to-kebab-case.js +2 -4
  176. package/src/functions/evaluate/acorn.js +1595 -0
  177. package/src/functions/{evaluate.js → evaluate/evaluate.js} +36 -10
  178. package/src/functions/evaluate/index.js +2 -0
  179. package/src/functions/evaluate/interpreter.js +2801 -0
  180. package/src/functions/evaluate/non-node-runtime.js +92 -0
  181. package/src/functions/evaluate/types.js +0 -0
  182. package/src/functions/event-handler-name.js +2 -4
  183. package/src/functions/extract-text-styles.js +4 -12
  184. package/src/functions/fast-clone.js +2 -4
  185. package/src/functions/get-block-actions-handler.js +3 -5
  186. package/src/functions/get-block-actions.js +15 -4
  187. package/src/functions/get-block-component-options.js +11 -12
  188. package/src/functions/get-block-properties.js +29 -19
  189. package/src/functions/get-builder-search-params/index.js +5 -10
  190. package/src/functions/get-content/generate-content-url.js +17 -19
  191. package/src/functions/get-content/index.js +43 -29
  192. package/src/functions/get-fetch.js +1 -3
  193. package/src/functions/get-global-this.js +1 -3
  194. package/src/functions/get-processed-block.js +12 -13
  195. package/src/functions/get-react-native-block-styles.js +11 -12
  196. package/src/functions/if-target.js +1 -3
  197. package/src/functions/is-browser.js +1 -3
  198. package/src/functions/is-editing.js +1 -3
  199. package/src/functions/is-iframe.js +1 -3
  200. package/src/functions/is-non-node-server.js +9 -0
  201. package/src/functions/is-previewing.js +1 -3
  202. package/src/functions/on-change.js +1 -4
  203. package/src/functions/register-component.js +34 -42
  204. package/src/functions/register.js +1 -3
  205. package/src/functions/sanitize-react-native-block-styles.js +22 -17
  206. package/src/functions/set-editor-settings.js +1 -3
  207. package/src/functions/set.js +1 -3
  208. package/src/functions/track/helpers.js +3 -5
  209. package/src/functions/track/index.js +45 -43
  210. package/src/functions/track/interaction.js +11 -7
  211. package/src/functions/transform-block-properties.js +2 -0
  212. package/src/helpers/ab-tests.js +45 -28
  213. package/src/helpers/canTrack.js +3 -5
  214. package/src/helpers/css.js +3 -7
  215. package/src/helpers/flatten.js +15 -18
  216. package/src/helpers/localStorage.js +1 -4
  217. package/src/helpers/logger.js +1 -3
  218. package/src/helpers/nullable.js +2 -4
  219. package/src/helpers/preview-lru-cache/get.js +8 -0
  220. package/src/helpers/preview-lru-cache/helpers.js +10 -0
  221. package/src/helpers/preview-lru-cache/init.js +10 -0
  222. package/src/helpers/preview-lru-cache/set.js +35 -0
  223. package/src/helpers/preview-lru-cache/types.js +0 -0
  224. package/src/helpers/sessionId.js +14 -11
  225. package/src/helpers/time.js +1 -3
  226. package/src/helpers/url.js +2 -4
  227. package/src/helpers/uuid.js +4 -6
  228. package/src/helpers/visitorId.js +8 -7
  229. package/src/index-helpers/blocks-exports.js +1 -1
  230. package/src/index.js +2 -17
  231. package/src/scripts/init-editing.js +62 -48
  232. package/src/types/api-version.js +1 -3
  233. package/src/types/builder-props.js +0 -0
  234. package/src/blocks/util.js +0 -8
  235. package/src/components/render-block/render-component.jsx +0 -55
  236. package/src/components/render-blocks.jsx +0 -101
  237. package/src/components/render-content/builder-editing.jsx +0 -16
  238. package/src/components/render-content/index.js +0 -4
  239. package/src/components/render-content/wrap-component-ref.js +0 -4
  240. package/src/functions/evaluate.test.js +0 -17
  241. package/src/functions/get-builder-search-params/fn.test.js +0 -13
  242. package/src/functions/get-content/generate-content-url.test.js +0 -97
  243. package/src/functions/get-processed-block.test.js +0 -34
  244. package/src/functions/on-change.test.js +0 -19
  245. package/src/functions/set.test.js +0 -16
  246. package/src/helpers/url.test.js +0 -21
  247. /package/src/components/{render-block → block}/types.js +0 -0
  248. /package/src/components/{render-content/render-content.types.js → content/content.types.js} +0 -0
  249. /package/src/components/{render-content-variants/render-content-variants.types.js → content-variants/content-variants.types.js} +0 -0
@@ -1,25 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVariantsScriptString = exports.getVariants = exports.getRenderContentScriptString = exports.checkShouldRunVariants = void 0;
4
- const target_1 = require("../../constants/target");
5
- const is_browser_1 = require("../../functions/is-browser");
6
- const getVariants = (content) => Object.values((content == null ? void 0 : content.variations) || {});
3
+ exports.getVariantsScriptString = exports.getVariants = exports.getScriptString = exports.getRenderContentScriptString = exports.checkShouldRunVariants = void 0;
4
+ var __defProp = Object.defineProperty;
5
+ var __defProps = Object.defineProperties;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value
15
+ }) : obj[key] = value;
16
+ var __spreadValues = (a, b) => {
17
+ for (var prop in b || (b = {}))
18
+ if (__hasOwnProp.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ if (__getOwnPropSymbols)
21
+ for (var prop of __getOwnPropSymbols(b)) {
22
+ if (__propIsEnum.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ }
25
+ return a;
26
+ };
27
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
28
+ const target_js_1 = require("../../constants/target.js");
29
+ const is_browser_js_1 = require("../../functions/is-browser.js");
30
+ const getVariants = content => Object.values((content == null ? void 0 : content.variations) || {}).map(variant => __spreadProps(__spreadValues({}, variant), {
31
+ testVariationId: variant.id,
32
+ id: content == null ? void 0 : content.id
33
+ }));
7
34
  exports.getVariants = getVariants;
8
35
  const checkShouldRunVariants = ({ canTrack, content }) => {
9
36
  const hasVariants = getVariants(content).length > 0;
10
- if (!hasVariants) {
37
+ if (target_js_1.TARGET === "reactNative")
11
38
  return false;
12
- }
13
- if (!canTrack) {
39
+ if (!hasVariants)
14
40
  return false;
15
- }
16
- if ((0, is_browser_1.isBrowser)()) {
41
+ if (!canTrack)
42
+ return false;
43
+ if (target_js_1.TARGET === "vue2" || target_js_1.TARGET === "vue3")
44
+ return true;
45
+ if ((0, is_browser_js_1.isBrowser)())
17
46
  return false;
18
- }
19
47
  return true;
20
48
  };
21
49
  exports.checkShouldRunVariants = checkShouldRunVariants;
22
50
  function bldrAbTest(contentId, variants, isHydrationTarget2) {
51
+ var _a;
23
52
  function getAndSetVariantId() {
24
53
  function setCookie(name, value, days) {
25
54
  let expires = "";
@@ -44,7 +73,7 @@ function bldrAbTest(contentId, variants, isHydrationTarget2) {
44
73
  }
45
74
  const cookieName = `builder.tests.${contentId}`;
46
75
  const variantInCookie = getCookie(cookieName);
47
- const availableIDs = variants.map((vr) => vr.id).concat(contentId);
76
+ const availableIDs = variants.map(vr => vr.id).concat(contentId);
48
77
  if (variantInCookie && availableIDs.includes(variantInCookie)) {
49
78
  return variantInCookie;
50
79
  }
@@ -63,14 +92,16 @@ function bldrAbTest(contentId, variants, isHydrationTarget2) {
63
92
  return contentId;
64
93
  }
65
94
  const winningVariantId = getAndSetVariantId();
66
- const styleEl = document.getElementById(`variants-styles-${contentId}`);
95
+ const styleEl = (_a = document.currentScript) == null ? void 0 : _a.previousElementSibling;
67
96
  if (isHydrationTarget2) {
68
97
  styleEl.remove();
69
- const thisScriptEl = document.getElementById(`variants-script-${contentId}`);
98
+ const thisScriptEl = document.currentScript;
70
99
  thisScriptEl == null ? void 0 : thisScriptEl.remove();
71
100
  }
72
101
  else {
73
- const newStyleStr = variants.concat({ id: contentId }).filter((variant) => variant.id !== winningVariantId).map((value) => {
102
+ const newStyleStr = variants.concat({
103
+ id: contentId
104
+ }).filter(variant => variant.id !== winningVariantId).map(value => {
74
105
  return `.variant-${value.id} { display: none; }
75
106
  `;
76
107
  }).join("");
@@ -78,6 +109,7 @@ function bldrAbTest(contentId, variants, isHydrationTarget2) {
78
109
  }
79
110
  }
80
111
  function bldrCntntScrpt(variantContentId, defaultContentId, isHydrationTarget2) {
112
+ var _a;
81
113
  if (!navigator.cookieEnabled) {
82
114
  return;
83
115
  }
@@ -95,7 +127,7 @@ function bldrCntntScrpt(variantContentId, defaultContentId, isHydrationTarget2)
95
127
  }
96
128
  const cookieName = `builder.tests.${defaultContentId}`;
97
129
  const variantId = getCookie(cookieName);
98
- const parentDiv = document.querySelector(`[builder-content-id="${variantContentId}"]`);
130
+ const parentDiv = (_a = document.currentScript) == null ? void 0 : _a.parentElement;
99
131
  const variantIsDefaultContent = variantContentId === defaultContentId;
100
132
  if (variantId === variantContentId) {
101
133
  if (variantIsDefaultContent) {
@@ -118,22 +150,26 @@ function bldrCntntScrpt(variantContentId, defaultContentId, isHydrationTarget2)
118
150
  }
119
151
  return;
120
152
  }
121
- const getIsHydrationTarget = (target) => target === "react" || target === "reactNative" || target === "vue3" || target === "vue2";
122
- const isHydrationTarget = getIsHydrationTarget(target_1.TARGET);
123
- const AB_TEST_FN_NAME = "bldrAbTest";
124
- const CONTENT_FN_NAME = "bldrCntntScrpt";
125
- const getVariantsScriptString = (variants, contentId) => {
153
+ const getIsHydrationTarget = target => target === "react" || target === "reactNative";
154
+ const isHydrationTarget = getIsHydrationTarget(target_js_1.TARGET);
155
+ const AB_TEST_FN_NAME = "builderIoAbTest";
156
+ const CONTENT_FN_NAME = "builderIoRenderContent";
157
+ const getScriptString = () => {
126
158
  const fnStr = bldrAbTest.toString().replace(/\s+/g, " ");
127
159
  const fnStr2 = bldrCntntScrpt.toString().replace(/\s+/g, " ");
128
160
  return `
129
- const ${AB_TEST_FN_NAME} = ${fnStr}
130
- const ${CONTENT_FN_NAME} = ${fnStr2}
131
- ${AB_TEST_FN_NAME}("${contentId}", ${JSON.stringify(variants)}, ${isHydrationTarget})
161
+ window.${AB_TEST_FN_NAME} = ${fnStr}
162
+ window.${CONTENT_FN_NAME} = ${fnStr2}
132
163
  `;
133
164
  };
165
+ exports.getScriptString = getScriptString;
166
+ const getVariantsScriptString = (variants, contentId) => {
167
+ return `
168
+ window.${AB_TEST_FN_NAME}("${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget})`;
169
+ };
134
170
  exports.getVariantsScriptString = getVariantsScriptString;
135
- const getRenderContentScriptString = ({ parentContentId, contentId }) => {
171
+ const getRenderContentScriptString = ({ contentId, variationId }) => {
136
172
  return `
137
- ${CONTENT_FN_NAME}("${contentId}", "${parentContentId}", ${isHydrationTarget})`;
173
+ window.${CONTENT_FN_NAME}("${variationId}", "${contentId}", ${isHydrationTarget})`;
138
174
  };
139
175
  exports.getRenderContentScriptString = getRenderContentScriptString;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- 'use client';
2
+ "use client";
3
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
4
  if (k2 === undefined) k2 = k;
5
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- 'use client';
2
+ "use client";
3
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
4
  if (k2 === undefined) k2 = k;
5
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getSizesForBreakpoints = exports.getMaxWidthQueryForSize = void 0;
4
- const fast_clone_1 = require("../functions/fast-clone");
4
+ const fast_clone_js_1 = require("../functions/fast-clone.js");
5
5
  const SIZES = {
6
6
  small: {
7
7
  min: 320,
@@ -22,7 +22,7 @@ const SIZES = {
22
22
  const getMaxWidthQueryForSize = (size, sizeValues = SIZES) => `@media (max-width: ${sizeValues[size].max}px)`;
23
23
  exports.getMaxWidthQueryForSize = getMaxWidthQueryForSize;
24
24
  const getSizesForBreakpoints = ({ small, medium }) => {
25
- const newSizes = (0, fast_clone_1.fastClone)(SIZES);
25
+ const newSizes = (0, fast_clone_js_1.fastClone)(SIZES);
26
26
  if (!small || !medium) {
27
27
  return newSizes;
28
28
  }
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "0.4.5";
4
+ exports.SDK_VERSION = "0.5.0";
@@ -11,7 +11,7 @@ var stdin_default = (0, react_1.createContext)({
11
11
  rootState: {},
12
12
  apiKey: null,
13
13
  apiVersion: void 0,
14
- registeredComponents: {},
14
+ componentInfos: {},
15
15
  inheritedStyles: {}
16
16
  });
17
17
  exports.default = stdin_default;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyPatchWithMinimalMutationChain = void 0;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value
13
+ }) : obj[key] = value;
14
+ var __spreadValues = (a, b) => {
15
+ for (var prop in b || (b = {}))
16
+ if (__hasOwnProp.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ if (__getOwnPropSymbols)
19
+ for (var prop of __getOwnPropSymbols(b)) {
20
+ if (__propIsEnum.call(b, prop))
21
+ __defNormalProp(a, prop, b[prop]);
22
+ }
23
+ return a;
24
+ };
25
+ const applyPatchWithMinimalMutationChain = (obj, patch, preserveRoot = false) => {
26
+ if (Object(obj) !== obj) {
27
+ return obj;
28
+ }
29
+ const { path, op, value } = patch;
30
+ const pathArr = path.split(/\//);
31
+ if (pathArr[0] === "") {
32
+ pathArr.shift();
33
+ }
34
+ const newObj = preserveRoot ? obj : __spreadValues({}, obj);
35
+ let objPart = newObj;
36
+ for (let i = 0; i < pathArr.length; i++) {
37
+ const isLast = i === pathArr.length - 1;
38
+ const property = pathArr[i];
39
+ if (isLast) {
40
+ if (op === "replace") {
41
+ objPart[property] = value;
42
+ }
43
+ else if (op === "add") {
44
+ const index = Number(property);
45
+ if (Array.isArray(objPart)) {
46
+ if (property === "-") {
47
+ objPart.push(value);
48
+ }
49
+ else {
50
+ objPart.splice(index, 0, value);
51
+ }
52
+ }
53
+ else {
54
+ objPart[property] = value;
55
+ }
56
+ }
57
+ else if (op === "remove") {
58
+ const index = Number(property);
59
+ if (Array.isArray(objPart)) {
60
+ objPart.splice(index, 1);
61
+ }
62
+ else {
63
+ delete objPart[property];
64
+ }
65
+ }
66
+ }
67
+ else {
68
+ const nextProperty = pathArr[i + 1];
69
+ const newPart = Object(objPart[property]) === objPart[property] ? objPart[property] : String(Number(nextProperty)) === nextProperty ? [] : {};
70
+ objPart = objPart[property] = Array.isArray(newPart) ? [...newPart] : __spreadValues({}, newPart);
71
+ }
72
+ }
73
+ return newObj;
74
+ };
75
+ exports.applyPatchWithMinimalMutationChain = applyPatchWithMinimalMutationChain;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const apply_patch_with_mutation_js_1 = require("./apply-patch-with-mutation.js");
4
+ describe("applyPatchWithMinimalMutationChain", () => {
5
+ test("Basic shallow update", () => {
6
+ const obj = {
7
+ foo: "bar"
8
+ };
9
+ const patch = {
10
+ op: "replace",
11
+ path: "/foo",
12
+ value: "60px"
13
+ };
14
+ const applied = (0, apply_patch_with_mutation_js_1.applyPatchWithMinimalMutationChain)(obj, patch);
15
+ expect(applied.foo).toBe("60px");
16
+ expect(applied).not.toBe(obj);
17
+ });
18
+ test("Deep object updates", () => {
19
+ const obj = {
20
+ foo: {
21
+ bar: true
22
+ },
23
+ baz: {}
24
+ };
25
+ const patch = {
26
+ op: "replace",
27
+ path: "/foo/bar",
28
+ value: "60px"
29
+ };
30
+ const applied = (0, apply_patch_with_mutation_js_1.applyPatchWithMinimalMutationChain)(obj, patch);
31
+ expect(applied.foo.bar).toBe("60px");
32
+ expect(applied).not.toBe(obj);
33
+ expect(applied.foo).not.toBe(obj.foo);
34
+ expect(applied.baz).toBe(obj.baz);
35
+ });
36
+ test("Deep array updates", () => {
37
+ const obj = {
38
+ foo: [{
39
+ bar: true
40
+ }],
41
+ baz: {}
42
+ };
43
+ const patch = {
44
+ op: "replace",
45
+ path: "/foo/0/bar",
46
+ value: "60px"
47
+ };
48
+ const applied = (0, apply_patch_with_mutation_js_1.applyPatchWithMinimalMutationChain)(obj, patch);
49
+ expect(applied.foo[0].bar).toBe("60px");
50
+ expect(applied).not.toBe(obj);
51
+ expect(applied.foo).not.toBe(obj.foo);
52
+ expect(applied.foo[0]).not.toBe(obj.foo[0]);
53
+ expect(applied.baz).toBe(obj.baz);
54
+ });
55
+ });
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.camelToKebabCase = void 0;
4
- const camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
4
+ const camelToKebabCase = string => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
5
5
  exports.camelToKebabCase = camelToKebabCase;