@builder.io/react 8.0.6-1 → 8.0.6-2

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 (224) hide show
  1. package/dist/builder-react-lite.cjs.js +2 -0
  2. package/dist/builder-react-lite.cjs.js.map +1 -0
  3. package/dist/builder-react-lite.esm.js +2 -0
  4. package/dist/builder-react-lite.esm.js.map +1 -0
  5. package/dist/builder-react.browser.js +11 -0
  6. package/dist/builder-react.browser.js.map +1 -0
  7. package/dist/builder-react.cjs.js +2 -0
  8. package/dist/builder-react.cjs.js.map +1 -0
  9. package/dist/builder-react.es5.js +2 -0
  10. package/dist/builder-react.es5.js.map +1 -0
  11. package/dist/builder-react.unpkg.js +11 -0
  12. package/dist/builder-react.unpkg.js.map +1 -0
  13. package/dist/lib/lib/on-change.js +228 -0
  14. package/dist/lib/lib/on-change.js.map +1 -0
  15. package/dist/lib/package.json +110 -0
  16. package/dist/lib/rollup.config.js +131 -0
  17. package/dist/lib/rollup.config.js.map +1 -0
  18. package/dist/lib/src/blocks/Button.js +86 -0
  19. package/dist/lib/src/blocks/Button.js.map +1 -0
  20. package/dist/lib/src/blocks/Columns.js +243 -0
  21. package/dist/lib/src/blocks/Columns.js.map +1 -0
  22. package/dist/lib/src/blocks/CustomCode.js +227 -0
  23. package/dist/lib/src/blocks/CustomCode.js.map +1 -0
  24. package/dist/lib/src/blocks/Embed.js +114 -0
  25. package/dist/lib/src/blocks/Embed.js.map +1 -0
  26. package/dist/lib/src/blocks/Fragment.js +45 -0
  27. package/dist/lib/src/blocks/Fragment.js.map +1 -0
  28. package/dist/lib/src/blocks/Image.js +532 -0
  29. package/dist/lib/src/blocks/Image.js.map +1 -0
  30. package/dist/lib/src/blocks/Mutation.js +93 -0
  31. package/dist/lib/src/blocks/Mutation.js.map +1 -0
  32. package/dist/lib/src/blocks/PersonalizationContainer.js +174 -0
  33. package/dist/lib/src/blocks/PersonalizationContainer.js.map +1 -0
  34. package/dist/lib/src/blocks/Router.js +354 -0
  35. package/dist/lib/src/blocks/Router.js.map +1 -0
  36. package/dist/lib/src/blocks/Section.js +150 -0
  37. package/dist/lib/src/blocks/Section.js.map +1 -0
  38. package/dist/lib/src/blocks/Slot.js +41 -0
  39. package/dist/lib/src/blocks/Slot.js.map +1 -0
  40. package/dist/lib/src/blocks/StateProvider.js +61 -0
  41. package/dist/lib/src/blocks/StateProvider.js.map +1 -0
  42. package/dist/lib/src/blocks/Symbol.js +192 -0
  43. package/dist/lib/src/blocks/Symbol.js.map +1 -0
  44. package/dist/lib/src/blocks/Text.js +132 -0
  45. package/dist/lib/src/blocks/Text.js.map +1 -0
  46. package/dist/lib/src/blocks/Video.js +261 -0
  47. package/dist/lib/src/blocks/Video.js.map +1 -0
  48. package/dist/lib/src/blocks/forms/Button.js +74 -0
  49. package/dist/lib/src/blocks/forms/Button.js.map +1 -0
  50. package/dist/lib/src/blocks/forms/Form.js +590 -0
  51. package/dist/lib/src/blocks/forms/Form.js.map +1 -0
  52. package/dist/lib/src/blocks/forms/Input.js +133 -0
  53. package/dist/lib/src/blocks/forms/Input.js.map +1 -0
  54. package/dist/lib/src/blocks/forms/Label.js +81 -0
  55. package/dist/lib/src/blocks/forms/Label.js.map +1 -0
  56. package/dist/lib/src/blocks/forms/Select.js +104 -0
  57. package/dist/lib/src/blocks/forms/Select.js.map +1 -0
  58. package/dist/lib/src/blocks/forms/TextArea.js +89 -0
  59. package/dist/lib/src/blocks/forms/TextArea.js.map +1 -0
  60. package/dist/lib/src/blocks/raw/Img.js +66 -0
  61. package/dist/lib/src/blocks/raw/Img.js.map +1 -0
  62. package/dist/lib/src/blocks/raw/RawText.js +47 -0
  63. package/dist/lib/src/blocks/raw/RawText.js.map +1 -0
  64. package/dist/lib/src/builder-react-lite.js +31 -0
  65. package/dist/lib/src/builder-react-lite.js.map +1 -0
  66. package/dist/lib/src/builder-react.js +106 -0
  67. package/dist/lib/src/builder-react.js.map +1 -0
  68. package/dist/lib/src/components/Link.js +35 -0
  69. package/dist/lib/src/components/Link.js.map +1 -0
  70. package/dist/lib/src/components/builder-block.component.js +556 -0
  71. package/dist/lib/src/components/builder-block.component.js.map +1 -0
  72. package/dist/lib/src/components/builder-blocks.component.js +167 -0
  73. package/dist/lib/src/components/builder-blocks.component.js.map +1 -0
  74. package/dist/lib/src/components/builder-component.component.js +1126 -0
  75. package/dist/lib/src/components/builder-component.component.js.map +1 -0
  76. package/dist/lib/src/components/builder-content.component.js +321 -0
  77. package/dist/lib/src/components/builder-content.component.js.map +1 -0
  78. package/dist/lib/src/components/insert-spacer.component.js +106 -0
  79. package/dist/lib/src/components/insert-spacer.component.js.map +1 -0
  80. package/dist/lib/src/components/no-wrap.js +7 -0
  81. package/dist/lib/src/components/no-wrap.js.map +1 -0
  82. package/dist/lib/src/components/variants-provider.component.js +108 -0
  83. package/dist/lib/src/components/variants-provider.component.js.map +1 -0
  84. package/dist/lib/src/constants/device-sizes.constant.js +91 -0
  85. package/dist/lib/src/constants/device-sizes.constant.js.map +1 -0
  86. package/dist/lib/src/constants/file-types.constant.js +72 -0
  87. package/dist/lib/src/constants/file-types.constant.js.map +1 -0
  88. package/dist/lib/src/decorators/builder-block.decorator.js +10 -0
  89. package/dist/lib/src/decorators/builder-block.decorator.js.map +1 -0
  90. package/dist/lib/src/functions/apply-patch-with-mutation.js +80 -0
  91. package/dist/lib/src/functions/apply-patch-with-mutation.js.map +1 -0
  92. package/dist/lib/src/functions/apply-patch-with-mutation.test.js +54 -0
  93. package/dist/lib/src/functions/apply-patch-with-mutation.test.js.map +1 -0
  94. package/dist/lib/src/functions/block-to-html-string.js +21 -0
  95. package/dist/lib/src/functions/block-to-html-string.js.map +1 -0
  96. package/dist/lib/src/functions/debonce-next-tick.js +43 -0
  97. package/dist/lib/src/functions/debonce-next-tick.js.map +1 -0
  98. package/dist/lib/src/functions/extract-localized-values.js +35 -0
  99. package/dist/lib/src/functions/extract-localized-values.js.map +1 -0
  100. package/dist/lib/src/functions/filter-with-custom-targeting.js +88 -0
  101. package/dist/lib/src/functions/filter-with-custom-targeting.js.map +1 -0
  102. package/dist/lib/src/functions/get-builder-pixel.js +27 -0
  103. package/dist/lib/src/functions/get-builder-pixel.js.map +1 -0
  104. package/dist/lib/src/functions/get.js +12 -0
  105. package/dist/lib/src/functions/get.js.map +1 -0
  106. package/dist/lib/src/functions/is-debug.js +8 -0
  107. package/dist/lib/src/functions/is-debug.js.map +1 -0
  108. package/dist/lib/src/functions/no-wrap.js +60 -0
  109. package/dist/lib/src/functions/no-wrap.js.map +1 -0
  110. package/dist/lib/src/functions/safe-dynamic-require.js +51 -0
  111. package/dist/lib/src/functions/safe-dynamic-require.js.map +1 -0
  112. package/dist/lib/src/functions/set.js +21 -0
  113. package/dist/lib/src/functions/set.js.map +1 -0
  114. package/dist/lib/src/functions/should-force-browser-runtime-in-node.js +22 -0
  115. package/dist/lib/src/functions/should-force-browser-runtime-in-node.js.map +1 -0
  116. package/dist/lib/src/functions/string-to-function.js +166 -0
  117. package/dist/lib/src/functions/string-to-function.js.map +1 -0
  118. package/dist/lib/src/functions/throttle.js +42 -0
  119. package/dist/lib/src/functions/throttle.js.map +1 -0
  120. package/dist/lib/src/functions/traverse.js +72 -0
  121. package/dist/lib/src/functions/traverse.js.map +1 -0
  122. package/dist/lib/src/functions/try-eval.js +75 -0
  123. package/dist/lib/src/functions/try-eval.js.map +1 -0
  124. package/dist/lib/src/functions/update-metadata.js +42 -0
  125. package/dist/lib/src/functions/update-metadata.js.map +1 -0
  126. package/dist/lib/src/functions/utils.js +20 -0
  127. package/dist/lib/src/functions/utils.js.map +1 -0
  128. package/dist/lib/src/functions/with-builder.js +10 -0
  129. package/dist/lib/src/functions/with-builder.js.map +1 -0
  130. package/dist/lib/src/functions/with-children.js +77 -0
  131. package/dist/lib/src/functions/with-children.js.map +1 -0
  132. package/dist/lib/src/hooks/useIsPreviewing.js +16 -0
  133. package/dist/lib/src/hooks/useIsPreviewing.js.map +1 -0
  134. package/dist/lib/src/scripts/init-editing.js +18 -0
  135. package/dist/lib/src/scripts/init-editing.js.map +1 -0
  136. package/dist/lib/src/sdk-version.js +5 -0
  137. package/dist/lib/src/sdk-version.js.map +1 -0
  138. package/dist/lib/src/store/builder-async-requests.js +19 -0
  139. package/dist/lib/src/store/builder-async-requests.js.map +1 -0
  140. package/dist/lib/src/store/builder-meta.js +13 -0
  141. package/dist/lib/src/store/builder-meta.js.map +1 -0
  142. package/dist/lib/src/store/builder-store.js +15 -0
  143. package/dist/lib/src/store/builder-store.js.map +1 -0
  144. package/dist/lib/src/to-error.js +22 -0
  145. package/dist/lib/src/to-error.js.map +1 -0
  146. package/dist/lib/test/basic.test.js +212 -0
  147. package/dist/lib/test/basic.test.js.map +1 -0
  148. package/dist/lib/test/functions/render-block.js +24 -0
  149. package/dist/lib/test/functions/render-block.js.map +1 -0
  150. package/dist/lib/test/image.test.js +107 -0
  151. package/dist/lib/test/image.test.js.map +1 -0
  152. package/dist/lib/test/setupTests.js +8 -0
  153. package/dist/lib/test/setupTests.js.map +1 -0
  154. package/dist/types/lib/on-change.d.ts +8 -0
  155. package/dist/types/rollup.config.d.ts +44 -0
  156. package/dist/types/src/blocks/Button.d.ts +7 -0
  157. package/dist/types/src/blocks/Columns.d.ts +1 -0
  158. package/dist/types/src/blocks/CustomCode.d.ts +1 -0
  159. package/dist/types/src/blocks/Embed.d.ts +1 -0
  160. package/dist/types/src/blocks/Fragment.d.ts +5 -0
  161. package/dist/types/src/blocks/Image.d.ts +6 -0
  162. package/dist/types/src/blocks/Mutation.d.ts +8 -0
  163. package/dist/types/src/blocks/PersonalizationContainer.d.ts +19 -0
  164. package/dist/types/src/blocks/Router.d.ts +32 -0
  165. package/dist/types/src/blocks/Section.d.ts +1 -0
  166. package/dist/types/src/blocks/Slot.d.ts +5 -0
  167. package/dist/types/src/blocks/StateProvider.d.ts +1 -0
  168. package/dist/types/src/blocks/Symbol.d.ts +19 -0
  169. package/dist/types/src/blocks/Text.d.ts +6 -0
  170. package/dist/types/src/blocks/Video.d.ts +1 -0
  171. package/dist/types/src/blocks/forms/Button.d.ts +5 -0
  172. package/dist/types/src/blocks/forms/Form.d.ts +24 -0
  173. package/dist/types/src/blocks/forms/Input.d.ts +10 -0
  174. package/dist/types/src/blocks/forms/Label.d.ts +8 -0
  175. package/dist/types/src/blocks/forms/Select.d.ts +12 -0
  176. package/dist/types/src/blocks/forms/TextArea.d.ts +9 -0
  177. package/dist/types/src/blocks/raw/Img.d.ts +7 -0
  178. package/dist/types/src/blocks/raw/RawText.d.ts +8 -0
  179. package/dist/types/src/builder-react-lite.d.ts +17 -0
  180. package/dist/types/src/builder-react.d.ts +45 -0
  181. package/dist/types/src/components/Link.d.ts +9 -0
  182. package/dist/types/src/components/builder-block.component.d.ts +50 -0
  183. package/dist/types/src/components/builder-blocks.component.d.ts +29 -0
  184. package/dist/types/src/components/builder-component.component.d.ts +324 -0
  185. package/dist/types/src/components/builder-content.component.d.ts +271 -0
  186. package/dist/types/src/components/insert-spacer.component.d.ts +13 -0
  187. package/dist/types/src/components/no-wrap.d.ts +2 -0
  188. package/dist/types/src/components/variants-provider.component.d.ts +8 -0
  189. package/dist/types/src/constants/device-sizes.constant.d.ts +57 -0
  190. package/dist/types/src/constants/file-types.constant.d.ts +2 -0
  191. package/dist/types/src/decorators/builder-block.decorator.d.ts +5 -0
  192. package/dist/types/src/functions/apply-patch-with-mutation.d.ts +5 -0
  193. package/dist/types/src/functions/apply-patch-with-mutation.test.d.ts +1 -0
  194. package/dist/types/src/functions/block-to-html-string.d.ts +3 -0
  195. package/dist/types/src/functions/debonce-next-tick.d.ts +2 -0
  196. package/dist/types/src/functions/extract-localized-values.d.ts +2 -0
  197. package/dist/types/src/functions/filter-with-custom-targeting.d.ts +15 -0
  198. package/dist/types/src/functions/get-builder-pixel.d.ts +2 -0
  199. package/dist/types/src/functions/get.d.ts +1 -0
  200. package/dist/types/src/functions/is-debug.d.ts +1 -0
  201. package/dist/types/src/functions/no-wrap.d.ts +33 -0
  202. package/dist/types/src/functions/safe-dynamic-require.d.ts +3 -0
  203. package/dist/types/src/functions/set.d.ts +1 -0
  204. package/dist/types/src/functions/should-force-browser-runtime-in-node.d.ts +1 -0
  205. package/dist/types/src/functions/string-to-function.d.ts +7 -0
  206. package/dist/types/src/functions/throttle.d.ts +1 -0
  207. package/dist/types/src/functions/traverse.d.ts +34 -0
  208. package/dist/types/src/functions/try-eval.d.ts +1 -0
  209. package/dist/types/src/functions/update-metadata.d.ts +17 -0
  210. package/dist/types/src/functions/utils.d.ts +2 -0
  211. package/dist/types/src/functions/with-builder.d.ts +2 -0
  212. package/dist/types/src/functions/with-children.d.ts +29 -0
  213. package/dist/types/src/hooks/useIsPreviewing.d.ts +1 -0
  214. package/dist/types/src/scripts/init-editing.d.ts +1 -0
  215. package/dist/types/src/sdk-version.d.ts +1 -0
  216. package/dist/types/src/store/builder-async-requests.d.ts +13 -0
  217. package/dist/types/src/store/builder-meta.d.ts +6 -0
  218. package/dist/types/src/store/builder-store.d.ts +10 -0
  219. package/dist/types/src/to-error.d.ts +13 -0
  220. package/dist/types/test/basic.test.d.ts +4 -0
  221. package/dist/types/test/functions/render-block.d.ts +3 -0
  222. package/dist/types/test/image.test.d.ts +1 -0
  223. package/dist/types/test/setupTests.d.ts +0 -0
  224. package/package.json +1 -1
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ 'use client';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.tryEval = void 0;
5
+ var sdk_1 = require("@builder.io/sdk");
6
+ var safe_dynamic_require_1 = require("./safe-dynamic-require");
7
+ var is_debug_1 = require("./is-debug");
8
+ var string_to_function_1 = require("./string-to-function");
9
+ var should_force_browser_runtime_in_node_1 = require("./should-force-browser-runtime-in-node");
10
+ var tryEval = function (str, data, errors) {
11
+ if (data === void 0) { data = {}; }
12
+ var value = str;
13
+ if (!(typeof value === 'string' && value.trim())) {
14
+ return;
15
+ }
16
+ var useReturn = !(value.includes(';') || value.includes(' return '));
17
+ var fn = function () {
18
+ /* Intentionally empty */
19
+ };
20
+ try {
21
+ if (sdk_1.Builder.isBrowser) {
22
+ // tslint:disable-next-line:no-function-constructor-with-string-args
23
+ // TODO: VM in node......
24
+ fn = new Function('state',
25
+ // TODO: remove the with () {} - make a page v3 that doesn't use this
26
+ "var rootState = state;\n if (typeof Proxy !== 'undefined') {\n rootState = new Proxy(rootState, {\n set: function () {\n return false;\n },\n get: function (target, key) {\n if (key === 'state') {\n return state;\n }\n return target[key]\n }\n });\n }\n with (rootState) {\n ".concat(useReturn ? "return (".concat(str, ");") : str, ";\n }"));
27
+ }
28
+ }
29
+ catch (error) {
30
+ if (sdk_1.Builder.isBrowser) {
31
+ console.warn('Could not compile javascript', error);
32
+ }
33
+ else {
34
+ // Add to req.options.errors to return to client
35
+ }
36
+ }
37
+ try {
38
+ if (sdk_1.Builder.isBrowser || (0, should_force_browser_runtime_in_node_1.shouldForceBrowserRuntimeInNode)()) {
39
+ return fn(data || {});
40
+ }
41
+ else {
42
+ // Below is a hack to get certain code to *only* load in the server build, to not screw with
43
+ // browser bundler's like rollup and webpack. Our rollup plugin strips these comments only
44
+ // for the server build
45
+ var ivm = (0, safe_dynamic_require_1.safeDynamicRequire)('isolated-vm');
46
+ var context = (0, string_to_function_1.getIsolateContext)();
47
+ var fnString = (0, string_to_function_1.makeFn)(str, useReturn, ['state']);
48
+ var resultStr = context.evalClosureSync(fnString, [new ivm.Reference(data || {})]);
49
+ try {
50
+ // returning objects throw errors in isolated vm, so we stringify it and parse it back
51
+ return JSON.parse(resultStr);
52
+ }
53
+ catch (_error) {
54
+ return resultStr;
55
+ }
56
+ }
57
+ }
58
+ catch (error) {
59
+ if (errors) {
60
+ errors.push(error);
61
+ }
62
+ if (sdk_1.Builder.isBrowser) {
63
+ console.warn('Builder custom code error:', error.message, 'in', str, error.stack);
64
+ }
65
+ else {
66
+ if ((0, is_debug_1.isDebug)()) {
67
+ console.debug('Builder custom code error:', error.message, 'in', str, error.stack);
68
+ }
69
+ // Add to req.options.errors to return to client
70
+ }
71
+ }
72
+ return;
73
+ };
74
+ exports.tryEval = tryEval;
75
+ //# sourceMappingURL=try-eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"try-eval.js","sourceRoot":"","sources":["../../../../src/functions/try-eval.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AACb,uCAA0C;AAC1C,+DAA4D;AAC5D,uCAAqC;AACrC,2DAAiE;AACjE,+FAAyF;AAElF,IAAM,OAAO,GAAG,UAAC,GAAY,EAAE,IAAc,EAAE,MAAgB;IAAhC,qBAAA,EAAA,SAAc;IAClD,IAAM,KAAK,GAAG,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE;QAChD,OAAO;KACR;IACD,IAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,IAAI,EAAE,GAAa;QACjB,yBAAyB;IAC3B,CAAC,CAAC;IACF,IAAI;QACF,IAAI,aAAO,CAAC,SAAS,EAAE;YACrB,oEAAoE;YACpE,yBAAyB;YACzB,EAAE,GAAG,IAAI,QAAQ,CACf,OAAO;YACP,qEAAqE;YACrE,4bAeI,SAAS,CAAC,CAAC,CAAC,kBAAW,GAAG,OAAI,CAAC,CAAC,CAAC,GAAG,iBACtC,CACH,CAAC;SACH;KACF;IAAC,OAAO,KAAU,EAAE;QACnB,IAAI,aAAO,CAAC,SAAS,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;SACrD;aAAM;YACL,gDAAgD;SACjD;KACF;IACD,IAAI;QACF,IAAI,aAAO,CAAC,SAAS,IAAI,IAAA,sEAA+B,GAAE,EAAE;YAC1D,OAAO,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;SACvB;aAAM;YACL,4FAA4F;YAC5F,0FAA0F;YAC1F,uBAAuB;YACvB,IAAM,GAAG,GAAG,IAAA,yCAAkB,EAAC,aAAa,CAAC,CAAC;YAC9C,IAAM,OAAO,GAAG,IAAA,sCAAiB,GAAE,CAAC;YACpC,IAAM,QAAQ,GAAG,IAAA,2BAAM,EAAC,GAAI,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACpD,IAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACrF,IAAI;gBACF,sFAAsF;gBACtF,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAC9B;YAAC,OAAO,MAAW,EAAE;gBACpB,OAAO,SAAS,CAAC;aAClB;SACF;KACF;IAAC,OAAO,KAAU,EAAE;QACnB,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QAED,IAAI,aAAO,CAAC,SAAS,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;SACnF;aAAM;YACL,IAAI,IAAA,kBAAO,GAAE,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;aACpF;YACD,gDAAgD;SACjD;KACF;IAED,OAAO;AACT,CAAC,CAAC;AA5EW,QAAA,OAAO,WA4ElB"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateMetadata = void 0;
4
+ var sdk_1 = require("@builder.io/sdk");
5
+ /**
6
+ * Update metadata for a Builder component
7
+ *
8
+ * @param component Builder react component
9
+ * @param fn Updater
10
+ *
11
+ * @example
12
+ * updatMetadata(TextBlock, current => ({
13
+ * ...current,
14
+ * fields: [
15
+ * ...curent.fields,
16
+ * { name: 'myNewField', type: 'string' }
17
+ * ]
18
+ * }))
19
+ */
20
+ function updateMetadata(component, fn) {
21
+ var match = sdk_1.Builder.components.find(function (item) {
22
+ if (typeof component === 'string') {
23
+ return item.name === component;
24
+ }
25
+ else {
26
+ return item.class === item;
27
+ }
28
+ }) || null;
29
+ var updated = fn(match);
30
+ if (match && updated) {
31
+ // re-registering the same component will replace it
32
+ sdk_1.Builder.registerComponent(updated.class || match.class, updated);
33
+ }
34
+ else if (match && !updated) {
35
+ // TODO: have a way to message to remove component
36
+ }
37
+ else if (!match && updated) {
38
+ sdk_1.Builder.registerComponent(updated.class, updated);
39
+ }
40
+ }
41
+ exports.updateMetadata = updateMetadata;
42
+ //# sourceMappingURL=update-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-metadata.js","sourceRoot":"","sources":["../../../../src/functions/update-metadata.ts"],"names":[],"mappings":";;;AAAA,uCAAqD;AAErD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,cAAc,CAC5B,SAA4B,EAC5B,EAA2D;IAE3D,IAAM,KAAK,GACT,aAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAA,IAAI;QAC1B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACjC,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;SAChC;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;SAC5B;IACH,CAAC,CAAC,IAAI,IAAI,CAAC;IAEb,IAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,KAAK,IAAI,OAAO,EAAE;QACpB,oDAAoD;QACpD,aAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KAClE;SAAM,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE;QAC5B,kDAAkD;KACnD;SAAM,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE;QAC5B,aAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACnD;AACH,CAAC;AAtBD,wCAsBC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.omit = exports.fastClone = void 0;
4
+ // TODO: pull from builder internal utils
5
+ var fastClone = function (obj) { return JSON.parse(JSON.stringify(obj)); };
6
+ exports.fastClone = fastClone;
7
+ var omit = function (obj) {
8
+ var values = [];
9
+ for (var _i = 1; _i < arguments.length; _i++) {
10
+ values[_i - 1] = arguments[_i];
11
+ }
12
+ var newObject = Object.assign({}, obj);
13
+ for (var _a = 0, values_1 = values; _a < values_1.length; _a++) {
14
+ var key = values_1[_a];
15
+ delete newObject[key];
16
+ }
17
+ return newObject;
18
+ };
19
+ exports.omit = omit;
20
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/functions/utils.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAClC,IAAM,SAAS,GAAG,UAAmB,GAAM,IAAQ,OAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAA/B,CAA+B,CAAC;AAA7E,QAAA,SAAS,aAAoE;AAEnF,IAAM,IAAI,GAAG,UAAmB,GAAM;IAAE,gBAAsB;SAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;QAAtB,+BAAsB;;IACnE,IAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACzC,KAAkB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;QAArB,IAAM,GAAG,eAAA;QACZ,OAAQ,SAAiB,CAAC,GAAG,CAAC,CAAC;KAChC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AANW,QAAA,IAAI,QAMf"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withBuilder = void 0;
4
+ var builder_block_decorator_1 = require("../decorators/builder-block.decorator");
5
+ function withBuilder(component, options) {
6
+ (0, builder_block_decorator_1.BuilderBlock)(options)(component);
7
+ return component;
8
+ }
9
+ exports.withBuilder = withBuilder;
10
+ //# sourceMappingURL=with-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-builder.js","sourceRoot":"","sources":["../../../../src/functions/with-builder.ts"],"names":[],"mappings":";;;AACA,iFAAqE;AAErE,SAAgB,WAAW,CAAC,SAAmB,EAAE,OAAkB;IACjE,IAAA,sCAAY,EAAC,OAAO,CAAC,CAAC,SAAgB,CAAC,CAAC;IACxC,OAAO,SAAS,CAAC;AACnB,CAAC;AAHD,kCAGC"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ 'use client';
3
+ var __assign = (this && this.__assign) || function () {
4
+ __assign = Object.assign || function(t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
+ t[p] = s[p];
9
+ }
10
+ return t;
11
+ };
12
+ return __assign.apply(this, arguments);
13
+ };
14
+ var __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.withChildren = void 0;
19
+ var react_1 = __importDefault(require("react"));
20
+ var builder_block_component_1 = require("../components/builder-block.component");
21
+ var isBuilderElement = function (item) {
22
+ return Boolean(typeof item === 'object' && item && (item === null || item === void 0 ? void 0 : item['@type']) === '@builder.io/sdk:Element');
23
+ };
24
+ /**
25
+ * Higher order component for passing Builder.io children as React children
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ *
30
+ * const MyButton = props => <Button>
31
+ * {children}
32
+ * </Button>
33
+ *
34
+ * const ButtonWithBuilderChildren = withChildren(MyButton)
35
+ *
36
+ * Builder.registerComponent(ButtonWithBuilderChildren, {
37
+ * name: 'MyButton',
38
+ * defaultChildren: [
39
+ * {
40
+ * '@type': '@builder.io/sdk:Element'
41
+ * }
42
+ * ]
43
+ * })
44
+ * ```
45
+ */
46
+ var withChildren = function (Component) {
47
+ var HOC = react_1.default.forwardRef(function (props, ref) {
48
+ var _a, _b;
49
+ var useProps = __assign({}, props);
50
+ var children = props.children ||
51
+ (props.builderBlock &&
52
+ props.builderBlock.children &&
53
+ props.builderBlock.children.map(function (child) { return react_1.default.createElement(builder_block_component_1.BuilderBlock, { key: child.id, block: child }); }));
54
+ var componentOptions = (_b = (_a = props.builderBlock) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.options;
55
+ if (!!componentOptions) {
56
+ Object.keys(componentOptions).forEach(function (key) {
57
+ var value = componentOptions[key];
58
+ if (Array.isArray(value) && value.every(isBuilderElement)) {
59
+ useProps[key] = value.map(function (child) { return react_1.default.createElement(builder_block_component_1.BuilderBlock, { key: child.id, block: child }); });
60
+ }
61
+ else if (isBuilderElement(value)) {
62
+ useProps[key] = react_1.default.createElement(builder_block_component_1.BuilderBlock, { block: value });
63
+ }
64
+ });
65
+ }
66
+ return (
67
+ // getting type errors due to `@types/react` version mismatches. Can safely ignore.
68
+ // @ts-ignore
69
+ react_1.default.createElement(Component, __assign({}, useProps, { ref: ref }), children));
70
+ });
71
+ HOC.builderOptions = {
72
+ canHaveChildren: true,
73
+ };
74
+ return HOC;
75
+ };
76
+ exports.withChildren = withChildren;
77
+ //# sourceMappingURL=with-children.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-children.js","sourceRoot":"","sources":["../../../../src/functions/with-children.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;AACb,gDAA0B;AAE1B,iFAAqE;AAErE,IAAM,gBAAgB,GAAG,UAAC,IAAa;IACrC,OAAO,OAAO,CACZ,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAW,OAAO,CAAC,MAAK,yBAAyB,CAC3F,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,IAAM,YAAY,GAAG,UAAmB,SAAiC;IAC9E,IAAM,GAAG,GAAG,eAAK,CAAC,UAAU,CAC1B,UAAC,KAAK,EAAE,GAAG;;QACT,IAAM,QAAQ,gBAAQ,KAAK,CAAE,CAAC;QAC9B,IAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ;YACd,CAAC,KAAK,CAAC,YAAY;gBACjB,KAAK,CAAC,YAAY,CAAC,QAAQ;gBAC3B,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,8BAAC,sCAAY,IAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,GAAI,EAA7C,CAA6C,CAAC,CAAC,CAAC;QAE7F,IAAM,gBAAgB,GAAG,MAAA,MAAA,KAAK,CAAC,YAAY,0CAAE,SAAS,0CAAE,OAAO,CAAC;QAChE,IAAI,CAAC,CAAC,gBAAgB,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;gBACvC,IAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE;oBACzD,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,8BAAC,sCAAY,IAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,GAAI,EAA7C,CAA6C,CAAC,CAAC;iBACnF;qBAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;oBAClC,QAAQ,CAAC,GAAG,CAAC,GAAG,8BAAC,sCAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;iBAChD;YACH,CAAC,CAAC,CAAC;SACJ;QAED,OAAO;QACL,mFAAmF;QACnF,aAAa;QACb,8BAAC,SAAS,eAAK,QAAQ,IAAE,GAAG,EAAE,GAAG,KAC9B,QAAQ,CACC,CACb,CAAC;IACJ,CAAC,CACF,CAAC;IAED,GAAW,CAAC,cAAc,GAAG;QAC5B,eAAe,EAAE,IAAI;KACtB,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AArCW,QAAA,YAAY,gBAqCvB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useIsPreviewing = void 0;
4
+ var react_1 = require("react");
5
+ var sdk_1 = require("@builder.io/sdk");
6
+ function useIsPreviewing() {
7
+ var _a = (0, react_1.useState)(false), isPreviewing = _a[0], setIsPreviewing = _a[1];
8
+ (0, react_1.useEffect)(function () {
9
+ if (sdk_1.Builder.isEditing || sdk_1.Builder.isPreviewing) {
10
+ setIsPreviewing(true);
11
+ }
12
+ }, []);
13
+ return isPreviewing;
14
+ }
15
+ exports.useIsPreviewing = useIsPreviewing;
16
+ //# sourceMappingURL=useIsPreviewing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsPreviewing.js","sourceRoot":"","sources":["../../../../src/hooks/useIsPreviewing.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAC5C,uCAA0C;AAE1C,SAAgB,eAAe;IACvB,IAAA,KAAkC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAhD,YAAY,QAAA,EAAE,eAAe,QAAmB,CAAC;IAExD,IAAA,iBAAS,EAAC;QACR,IAAI,aAAO,CAAC,SAAS,IAAI,aAAO,CAAC,YAAY,EAAE;YAC7C,eAAe,CAAC,IAAI,CAAC,CAAC;SACvB;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,YAAY,CAAC;AACtB,CAAC;AAVD,0CAUC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ var sdk_version_1 = require("../sdk-version");
5
+ if (typeof window !== 'undefined') {
6
+ (_a = window.parent) === null || _a === void 0 ? void 0 : _a.postMessage({
7
+ type: 'builder.isReactSdk',
8
+ data: {
9
+ value: true,
10
+ supportsPatchUpdates: 'v4',
11
+ supportsCustomBreakpoints: true,
12
+ supportsGlobalSymbols: true,
13
+ blockLevelPersonalization: true,
14
+ version: sdk_version_1.SDK_VERSION,
15
+ },
16
+ }, '*');
17
+ }
18
+ //# sourceMappingURL=init-editing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-editing.js","sourceRoot":"","sources":["../../../../src/scripts/init-editing.ts"],"names":[],"mappings":";;;AAAA,8CAA6C;AAE7C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;QACE,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI;YACX,oBAAoB,EAAE,IAAI;YAC1B,yBAAyB,EAAE,IAAI;YAC/B,qBAAqB,EAAE,IAAI;YAC3B,yBAAyB,EAAE,IAAI;YAC/B,OAAO,EAAE,yBAAW;SACrB;KACF,EACD,GAAG,CACJ,CAAC;CACH"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SDK_VERSION = void 0;
4
+ exports.SDK_VERSION = '8.0.6-2';
5
+ //# sourceMappingURL=sdk-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-version.js","sourceRoot":"","sources":["../../../src/sdk-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,4BAA4B,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BuilderAsyncRequestsContext = exports.isRequestInfo = exports.isPromise = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var isPromise = function (thing) {
9
+ return typeof thing.then === 'function';
10
+ };
11
+ exports.isPromise = isPromise;
12
+ var isRequestInfo = function (thing) { return !(0, exports.isPromise)(thing); };
13
+ exports.isRequestInfo = isRequestInfo;
14
+ exports.BuilderAsyncRequestsContext = react_1.default.createContext({
15
+ requests: [],
16
+ errors: [],
17
+ logs: [],
18
+ });
19
+ //# sourceMappingURL=builder-async-requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder-async-requests.js","sourceRoot":"","sources":["../../../../src/store/builder-async-requests.ts"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AASnB,IAAM,SAAS,GAAG,UAAC,KAAuB;IAC/C,OAAA,OAAQ,KAAa,CAAC,IAAI,KAAK,UAAU;AAAzC,CAAyC,CAAC;AAD/B,QAAA,SAAS,aACsB;AACrC,IAAM,aAAa,GAAG,UAAC,KAAuB,IAA2B,OAAA,CAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,EAAjB,CAAiB,CAAC;AAArF,QAAA,aAAa,iBAAwE;AAErF,QAAA,2BAA2B,GAAG,eAAK,CAAC,aAAa,CAAC;IAC7D,QAAQ,EAAE,EAAwB;IAClC,MAAM,EAAE,EAAa;IACrB,IAAI,EAAE,EAAc;CACrB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BuilderMetaContext = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ exports.BuilderMetaContext = react_1.default.createContext({
9
+ emailMode: false,
10
+ ampMode: false,
11
+ isServer: false,
12
+ });
13
+ //# sourceMappingURL=builder-meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder-meta.js","sourceRoot":"","sources":["../../../../src/store/builder-meta.ts"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAEb,QAAA,kBAAkB,GAAG,eAAK,CAAC,aAAa,CAAC;IACpD,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BuilderStoreContext = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ exports.BuilderStoreContext = react_1.default.createContext({
9
+ state: {},
10
+ rootState: {},
11
+ content: {},
12
+ context: {},
13
+ update: function (mutator) { return null; },
14
+ });
15
+ //# sourceMappingURL=builder-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder-store.js","sourceRoot":"","sources":["../../../../src/store/builder-store.ts"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAEb,QAAA,mBAAmB,GAAG,eAAK,CAAC,aAAa,CAAe;IACnE,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,UAAC,OAA4B,IAAK,OAAA,IAAI,EAAJ,CAAI;CAC/C,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toError = void 0;
4
+ /**
5
+ * Safe conversion to error type. Intended to be used in catch blocks where the
6
+ * value is not guaranteed to be an error.
7
+ *
8
+ * @example
9
+ * try {
10
+ * throw new Error('Something went wrong')
11
+ * }
12
+ * catch (err: unknown) {
13
+ * const error: Error = toError(err)
14
+ * }
15
+ */
16
+ function toError(err) {
17
+ if (err instanceof Error)
18
+ return err;
19
+ return new Error(String(err));
20
+ }
21
+ exports.toError = toError;
22
+ //# sourceMappingURL=to-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-error.js","sourceRoot":"","sources":["../../../src/to-error.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,SAAgB,OAAO,CAAC,GAAY;IAClC,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC;IACrC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAChC,CAAC;AAHD,0BAGC"}
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ /**
3
+ * @jest-environment jsdom
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ var React = __importStar(require("react"));
30
+ var server_1 = require("react-dom/server");
31
+ var react_1 = require("@testing-library/react");
32
+ var sdk_1 = require("@builder.io/sdk");
33
+ var builder_react_1 = require("../src/builder-react");
34
+ var render_block_1 = require("./functions/render-block");
35
+ var reactTestRenderer = __importStar(require("react-test-renderer"));
36
+ var get_builder_pixel_1 = require("../src/functions/get-builder-pixel");
37
+ sdk_1.builder.init('null');
38
+ describe('Dummy test', function () {
39
+ it('tests run correctly', function () {
40
+ expect(true).toBeTruthy();
41
+ });
42
+ });
43
+ var server = function (cb) {
44
+ sdk_1.Builder.isServer = true;
45
+ try {
46
+ cb();
47
+ }
48
+ finally {
49
+ sdk_1.Builder.isServer = false;
50
+ }
51
+ };
52
+ describe('Renders tons of components', function () {
53
+ var blocks = [
54
+ (0, render_block_1.block)('Columns', {
55
+ columns: [{ blocks: [(0, render_block_1.el)()] }, { blocks: [(0, render_block_1.el)()] }],
56
+ }),
57
+ (0, render_block_1.block)('CustomCode', {
58
+ code: '<!-- hello -->',
59
+ }),
60
+ (0, render_block_1.block)('Embed', {
61
+ content: '<!-- hello -->',
62
+ }),
63
+ (0, render_block_1.block)('Symbol'),
64
+ (0, render_block_1.block)('Router'),
65
+ (0, render_block_1.block)('Image', { image: 'foobar' }),
66
+ (0, render_block_1.block)('Form:Form'),
67
+ (0, render_block_1.block)('Video', { video: 'foobar' }),
68
+ (0, render_block_1.block)('Button', { text: 'foobar' }),
69
+ (0, render_block_1.block)('Section', null, { children: [(0, render_block_1.el)()] }),
70
+ (0, render_block_1.block)('Form:SubmitButton', { text: 'foobar' }),
71
+ (0, render_block_1.block)('Form:Input', { type: 'text' }),
72
+ (0, render_block_1.block)('Form:Label'),
73
+ (0, render_block_1.block)('Form:Select'),
74
+ (0, render_block_1.block)('Form:TextArea', { placeholder: 'foobar' }),
75
+ (0, render_block_1.block)('Raw:Img', { image: 'foobar' }),
76
+ ];
77
+ var getRenderExampleElement = function () { return (React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
78
+ data: {
79
+ blocks: blocks,
80
+ },
81
+ } })); };
82
+ it('works with dom', function () {
83
+ var testApi = (0, react_1.render)(getRenderExampleElement());
84
+ });
85
+ it('works with SSR', function () {
86
+ (0, server_1.renderToString)(getRenderExampleElement());
87
+ });
88
+ });
89
+ describe('Data rendering', function () {
90
+ var TEXT_STRING = 'Hello 1234';
91
+ var bindingBlock = (0, render_block_1.el)({
92
+ bindings: {
93
+ 'component.options.text': 'state.foo',
94
+ },
95
+ component: {
96
+ name: 'Text',
97
+ },
98
+ });
99
+ var getBindingExampleElement = function () { return (React.createElement(builder_react_1.BuilderPage, { model: "page", data: { foo: TEXT_STRING }, content: {
100
+ data: {
101
+ blocks: [bindingBlock],
102
+ },
103
+ } })); };
104
+ it('works with dom', function () {
105
+ var testApi = (0, react_1.render)(getBindingExampleElement());
106
+ expect(testApi.getByText(TEXT_STRING)).toBeInTheDocument();
107
+ });
108
+ it('works with SSR', function () {
109
+ server(function () {
110
+ var renderedString = (0, server_1.renderToString)(getBindingExampleElement());
111
+ expect(renderedString).toContain(TEXT_STRING);
112
+ });
113
+ });
114
+ });
115
+ describe('Content changes when new content provided', function () {
116
+ var textA = 'textA';
117
+ var textB = 'textB';
118
+ var idA = 'id-a';
119
+ var idB = 'id-b';
120
+ it('Handles content passed and changed correctly', function () {
121
+ var testApi = (0, react_1.render)(React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
122
+ id: idA,
123
+ data: {
124
+ blocks: [(0, render_block_1.block)('Text', { text: textA })],
125
+ },
126
+ } }));
127
+ expect(testApi.getByText(textA)).toBeInTheDocument();
128
+ testApi.rerender(React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
129
+ id: idB,
130
+ data: {
131
+ blocks: [(0, render_block_1.block)('Text', { text: textB })],
132
+ },
133
+ } }));
134
+ expect(testApi.getByText(textB)).toBeInTheDocument();
135
+ });
136
+ it('Should be in controlled mode for null or underined content', function () {
137
+ var testApi = (0, react_1.render)(React.createElement(builder_react_1.BuilderPage, { model: "page", content: undefined }));
138
+ expect(testApi.queryByText(textB)).toBeNull();
139
+ testApi.rerender(React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
140
+ id: idB,
141
+ data: {
142
+ blocks: [(0, render_block_1.block)('Text', { text: textB })],
143
+ },
144
+ } }));
145
+ expect(testApi.getByText(textB)).toBeInTheDocument();
146
+ });
147
+ it('Should be in controlled mode for null or underined content', function () {
148
+ var testApi = (0, react_1.render)(React.createElement(builder_react_1.BuilderPage, { model: "page" }));
149
+ expect(testApi.queryByText(textB)).toBeNull();
150
+ testApi.rerender(React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
151
+ id: idB,
152
+ data: {
153
+ blocks: [(0, render_block_1.block)('Text', { text: textB })],
154
+ },
155
+ } }));
156
+ expect(testApi.getByText(textB)).toBeInTheDocument();
157
+ });
158
+ });
159
+ describe('Builder Pixel', function () {
160
+ it('Should NOT be added if blocks array is empty', function () {
161
+ var renderedBlock = reactTestRenderer.create(React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
162
+ id: 'id',
163
+ data: {
164
+ blocks: [],
165
+ },
166
+ } }));
167
+ expect(renderedBlock).toMatchSnapshot();
168
+ });
169
+ it('Should NOT be added again if already present in blocks array', function () {
170
+ var renderedBlock = reactTestRenderer.create(React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
171
+ id: 'id',
172
+ data: {
173
+ blocks: [(0, get_builder_pixel_1.getBuilderPixel)('null')],
174
+ },
175
+ } }));
176
+ expect(renderedBlock).toMatchSnapshot();
177
+ });
178
+ it('Should be added if pixel is missing and blocks array has other block(s)', function () {
179
+ var renderedBlock = reactTestRenderer.create(React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
180
+ id: 'id',
181
+ data: {
182
+ blocks: [
183
+ {
184
+ '@type': '@builder.io/sdk:Element',
185
+ '@version': 2,
186
+ id: 'builder-270035a08d734ae88ea177daff3595c0',
187
+ component: {
188
+ name: 'Text',
189
+ options: {
190
+ text: '<p>some text...</p>',
191
+ },
192
+ },
193
+ responsiveStyles: {
194
+ large: {
195
+ display: 'flex',
196
+ flexDirection: 'column',
197
+ position: 'relative',
198
+ flexShrink: '0',
199
+ boxSizing: 'border-box',
200
+ marginTop: '20px',
201
+ lineHeight: 'normal',
202
+ height: 'auto',
203
+ },
204
+ },
205
+ },
206
+ ],
207
+ },
208
+ } }));
209
+ expect(renderedBlock).toMatchSnapshot();
210
+ });
211
+ });
212
+ //# sourceMappingURL=basic.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.test.js","sourceRoot":"","sources":["../../../test/basic.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.block = exports.el = void 0;
15
+ var el = function (options, useId) { return (__assign({ '@type': '@builder.io/sdk:Element', id: "builder-".concat(useId ? useId : Math.random().toString().split('.')[1]) }, options)); };
16
+ exports.el = el;
17
+ var block = function (name, options, elOptions, useId) {
18
+ return (0, exports.el)(__assign(__assign({}, elOptions), { component: {
19
+ name: name,
20
+ options: options,
21
+ } }), useId);
22
+ };
23
+ exports.block = block;
24
+ //# sourceMappingURL=render-block.js.map