@builder.io/sdk-svelte 0.4.4 → 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 (395) hide show
  1. package/package/--package.json +43 -29
  2. package/package/CHANGELOG.md +13 -0
  3. package/package/blocks/BaseText.svelte +1 -1
  4. package/package/blocks/button/button.svelte +18 -33
  5. package/package/blocks/button/button.svelte.d.ts +3 -1
  6. package/package/blocks/button/component-info.d.ts +1 -1
  7. package/package/blocks/button/component-info.js +9 -13
  8. package/package/blocks/columns/columns.svelte +14 -20
  9. package/package/blocks/columns/columns.svelte.d.ts +11 -7
  10. package/package/blocks/columns/component-info.d.ts +1 -1
  11. package/package/blocks/columns/component-info.js +62 -83
  12. package/package/blocks/custom-code/component-info.d.ts +1 -1
  13. package/package/blocks/custom-code/component-info.js +7 -11
  14. package/package/blocks/embed/component-info.d.ts +1 -1
  15. package/package/blocks/embed/component-info.js +8 -15
  16. package/package/blocks/embed/helpers.js +1 -5
  17. package/package/blocks/form/component-info.d.ts +1 -1
  18. package/package/blocks/form/component-info.js +94 -129
  19. package/package/blocks/form/form.svelte +2 -289
  20. package/package/blocks/form/form.svelte.d.ts +1 -57
  21. package/package/blocks/fragment/component-info.d.ts +1 -1
  22. package/package/blocks/fragment/component-info.js +1 -1
  23. package/package/blocks/helpers.d.ts +13 -0
  24. package/package/blocks/helpers.js +40 -0
  25. package/package/blocks/image/component-info.d.ts +1 -1
  26. package/package/blocks/image/component-info.js +33 -63
  27. package/package/blocks/image/image.helpers.js +2 -11
  28. package/package/blocks/image/image.svelte.d.ts +0 -1
  29. package/package/blocks/img/component-info.d.ts +1 -1
  30. package/package/blocks/img/component-info.js +4 -6
  31. package/package/blocks/img/img.svelte +4 -29
  32. package/package/blocks/img/img.svelte.d.ts +3 -1
  33. package/package/blocks/input/component-info.d.ts +1 -1
  34. package/package/blocks/input/component-info.js +15 -40
  35. package/package/blocks/input/input.svelte +4 -29
  36. package/package/blocks/input/input.svelte.d.ts +3 -1
  37. package/package/blocks/raw-text/component-info.d.ts +1 -1
  38. package/package/blocks/raw-text/component-info.js +3 -5
  39. package/package/blocks/raw-text/raw-text.svelte +3 -5
  40. package/package/blocks/raw-text/raw-text.svelte.d.ts +1 -1
  41. package/package/blocks/section/component-info.d.ts +1 -1
  42. package/package/blocks/section/component-info.js +13 -18
  43. package/package/blocks/section/section.svelte +4 -29
  44. package/package/blocks/section/section.svelte.d.ts +3 -1
  45. package/package/blocks/select/component-info.d.ts +1 -1
  46. package/package/blocks/select/component-info.js +22 -34
  47. package/package/blocks/select/select.svelte +4 -29
  48. package/package/blocks/select/select.svelte.d.ts +3 -1
  49. package/package/blocks/submit-button/component-info.d.ts +1 -1
  50. package/package/blocks/submit-button/component-info.js +5 -7
  51. package/package/blocks/submit-button/submit-button.svelte +4 -29
  52. package/package/blocks/submit-button/submit-button.svelte.d.ts +3 -1
  53. package/package/blocks/symbol/component-info.d.ts +1 -1
  54. package/package/blocks/symbol/component-info.js +12 -17
  55. package/package/blocks/symbol/symbol.helpers.d.ts +14 -0
  56. package/package/blocks/symbol/symbol.helpers.js +31 -0
  57. package/package/blocks/symbol/symbol.svelte +38 -85
  58. package/package/blocks/symbol/symbol.svelte.d.ts +13 -7
  59. package/package/blocks/text/component-info.d.ts +1 -1
  60. package/package/blocks/text/component-info.js +6 -7
  61. package/package/blocks/text/text.svelte +1 -1
  62. package/package/blocks/text/text.svelte.d.ts +1 -1
  63. package/package/blocks/textarea/component-info.d.ts +1 -1
  64. package/package/blocks/textarea/component-info.js +13 -19
  65. package/package/blocks/textarea/textarea.svelte +4 -29
  66. package/package/blocks/textarea/textarea.svelte.d.ts +3 -1
  67. package/package/blocks/video/component-info.d.ts +1 -1
  68. package/package/blocks/video/component-info.js +35 -55
  69. package/package/blocks/video/video.svelte +4 -30
  70. package/package/blocks/video/video.svelte.d.ts +2 -0
  71. package/package/components/block/block.helpers.d.ts +13 -0
  72. package/package/components/{render-block/render-block.helpers.js → block/block.helpers.js} +12 -29
  73. package/package/components/block/block.svelte +135 -0
  74. package/package/components/block/block.svelte.d.ts +26 -0
  75. package/package/components/{render-block → block/components}/block-styles.svelte +21 -23
  76. package/package/components/{render-block → block/components}/block-styles.svelte.d.ts +2 -2
  77. package/package/components/block/components/block-wrapper.svelte +53 -0
  78. package/package/components/block/components/block-wrapper.svelte.d.ts +33 -0
  79. package/package/components/block/components/component-ref/component-ref.helpers.d.ts +36 -0
  80. package/package/components/block/components/component-ref/component-ref.helpers.js +22 -0
  81. package/package/components/block/components/component-ref/component-ref.svelte +37 -0
  82. package/package/components/block/components/component-ref/component-ref.svelte.d.ts +24 -0
  83. package/package/components/block/components/interactive-element.svelte +29 -0
  84. package/package/components/block/components/interactive-element.svelte.d.ts +31 -0
  85. package/package/components/{render-block/render-repeated-block.svelte → block/components/repeated-block.svelte} +4 -3
  86. package/package/components/block/components/repeated-block.svelte.d.ts +25 -0
  87. package/package/components/{render-blocks.svelte → blocks/blocks-wrapper.svelte} +3 -20
  88. package/package/components/blocks/blocks-wrapper.svelte.d.ts +29 -0
  89. package/package/components/blocks/blocks.svelte +26 -0
  90. package/package/components/blocks/blocks.svelte.d.ts +28 -0
  91. package/package/components/{render-content/render-content.svelte → content/components/enable-editor.svelte} +51 -169
  92. package/package/components/content/components/enable-editor.svelte.d.ts +36 -0
  93. package/package/components/{render-content/components/render-styles.helpers.d.ts → content/components/styles.helpers.d.ts} +1 -1
  94. package/package/components/{render-content/components/render-styles.helpers.js → content/components/styles.helpers.js} +3 -4
  95. package/package/components/{render-content/components/render-styles.svelte → content/components/styles.svelte} +4 -4
  96. package/package/components/{render-content/components/render-styles.svelte.d.ts → content/components/styles.svelte.d.ts} +5 -5
  97. package/package/components/content/content.helpers.d.ts +7 -0
  98. package/package/components/content/content.helpers.js +30 -0
  99. package/package/components/content/content.svelte +113 -0
  100. package/package/components/content/content.svelte.d.ts +30 -0
  101. package/package/components/content/content.types.d.ts +24 -0
  102. package/package/components/content/index.d.ts +1 -0
  103. package/package/components/content/index.js +1 -0
  104. package/package/components/content-variants/content-variants.svelte +98 -0
  105. package/package/components/content-variants/content-variants.svelte.d.ts +34 -0
  106. package/package/components/content-variants/content-variants.types.d.ts +20 -0
  107. package/package/components/content-variants/helpers.d.ts +41 -0
  108. package/package/components/{render-content-variants → content-variants}/helpers.js +46 -41
  109. package/package/components/inlined-script.svelte +7 -0
  110. package/package/components/inlined-script.svelte.d.ts +21 -0
  111. package/package/components/inlined-styles.svelte.d.ts +21 -0
  112. package/package/constants/builder-registered-components.js +34 -13
  113. package/package/constants/device-sizes.js +9 -8
  114. package/package/constants/sdk-version.d.ts +1 -1
  115. package/package/constants/sdk-version.js +1 -1
  116. package/package/constants/target.d.ts +1 -1
  117. package/package/context/builder.context.d.ts +1 -1
  118. package/package/context/builder.context.js +1 -1
  119. package/package/context/types.d.ts +1 -1
  120. package/package/functions/apply-patch-with-mutation.d.ts +10 -0
  121. package/package/functions/apply-patch-with-mutation.js +54 -0
  122. package/package/functions/evaluate/acorn.d.ts +0 -0
  123. package/package/functions/evaluate/acorn.js +2433 -0
  124. package/package/functions/{evaluate.d.ts → evaluate/evaluate.d.ts} +5 -2
  125. package/package/functions/{evaluate.js → evaluate/evaluate.js} +34 -13
  126. package/package/functions/evaluate/index.d.ts +1 -0
  127. package/package/functions/evaluate/index.js +1 -0
  128. package/package/functions/evaluate/interpreter.d.ts +2 -0
  129. package/package/functions/evaluate/interpreter.js +3853 -0
  130. package/package/functions/evaluate/non-node-runtime.d.ts +2 -0
  131. package/package/functions/evaluate/non-node-runtime.js +84 -0
  132. package/package/functions/evaluate/types.d.ts +10 -0
  133. package/package/functions/extract-text-styles.js +2 -14
  134. package/package/functions/get-block-actions-handler.js +3 -3
  135. package/package/functions/get-block-actions.d.ts +1 -0
  136. package/package/functions/get-block-actions.js +14 -1
  137. package/package/functions/get-block-component-options.js +1 -1
  138. package/package/functions/get-block-properties.d.ts +5 -1
  139. package/package/functions/get-block-properties.js +15 -9
  140. package/package/functions/get-builder-search-params/index.js +3 -7
  141. package/package/functions/get-content/generate-content-url.js +7 -5
  142. package/package/functions/get-content/index.d.ts +2 -6
  143. package/package/functions/get-content/index.js +26 -6
  144. package/package/functions/get-processed-block.d.ts +1 -1
  145. package/package/functions/get-processed-block.js +11 -7
  146. package/package/functions/get-react-native-block-styles.d.ts +1 -1
  147. package/package/functions/get-react-native-block-styles.js +2 -2
  148. package/package/functions/if-target.d.ts +1 -1
  149. package/package/functions/if-target.js +1 -1
  150. package/package/functions/is-editing.js +1 -3
  151. package/package/functions/is-non-node-server.d.ts +4 -0
  152. package/package/functions/is-non-node-server.js +8 -0
  153. package/package/functions/on-change.js +1 -1
  154. package/package/functions/register-component.d.ts +2 -1
  155. package/package/functions/register-component.js +20 -8
  156. package/package/functions/register.js +2 -2
  157. package/package/functions/sanitize-react-native-block-styles.js +13 -5
  158. package/package/functions/set-editor-settings.js +1 -1
  159. package/package/functions/set.js +2 -9
  160. package/package/functions/track/helpers.js +6 -11
  161. package/package/functions/track/index.js +26 -14
  162. package/package/functions/track/interaction.js +15 -16
  163. package/package/helpers/ab-tests.d.ts +2 -2
  164. package/package/helpers/ab-tests.js +48 -30
  165. package/package/helpers/canTrack.js +1 -1
  166. package/package/helpers/cookie.d.ts +2 -2
  167. package/package/helpers/cookie.js +13 -26
  168. package/package/helpers/css.d.ts +1 -1
  169. package/package/helpers/css.js +1 -1
  170. package/package/helpers/flatten.js +8 -8
  171. package/package/helpers/localStorage.d.ts +2 -2
  172. package/package/helpers/localStorage.js +2 -2
  173. package/package/helpers/logger.js +1 -1
  174. package/package/helpers/preview-lru-cache/get.d.ts +1 -0
  175. package/package/helpers/preview-lru-cache/get.js +7 -0
  176. package/package/helpers/preview-lru-cache/helpers.d.ts +1 -0
  177. package/package/helpers/preview-lru-cache/helpers.js +9 -0
  178. package/package/helpers/preview-lru-cache/init.d.ts +6 -0
  179. package/package/helpers/preview-lru-cache/init.js +15 -0
  180. package/package/helpers/preview-lru-cache/set.d.ts +7 -0
  181. package/package/helpers/preview-lru-cache/set.js +9 -0
  182. package/package/helpers/preview-lru-cache/types.d.ts +12 -0
  183. package/package/helpers/preview-lru-cache/types.js +6 -0
  184. package/package/helpers/sessionId.d.ts +2 -2
  185. package/package/helpers/sessionId.js +11 -4
  186. package/package/helpers/uuid.js +1 -1
  187. package/package/helpers/visitorId.d.ts +1 -1
  188. package/package/helpers/visitorId.js +7 -4
  189. package/package/index-helpers/blocks-exports.d.ts +2 -2
  190. package/package/index-helpers/blocks-exports.js +2 -2
  191. package/package/index.d.ts +2 -2
  192. package/package/index.js +1 -1
  193. package/package/scripts/init-editing.js +65 -57
  194. package/package/types/builder-props.d.ts +10 -0
  195. package/package/types/components.d.ts +8 -2
  196. package/package/types/enforced-partials.d.ts +21 -0
  197. package/package/types/targets.d.ts +1 -3
  198. package/package/types/typescript.d.ts +6 -0
  199. package/package.json +2 -2
  200. package/src/blocks/BaseText.svelte +1 -1
  201. package/src/blocks/button/button.svelte +21 -34
  202. package/src/blocks/button/component-info.ts +20 -27
  203. package/src/blocks/columns/columns.svelte +28 -32
  204. package/src/blocks/columns/component-info.ts +205 -240
  205. package/src/blocks/custom-code/component-info.ts +20 -27
  206. package/src/blocks/embed/component-info.ts +34 -51
  207. package/src/blocks/embed/helpers.ts +2 -8
  208. package/src/blocks/form/component-info.ts +204 -253
  209. package/src/blocks/form/form.svelte +1 -368
  210. package/src/blocks/fragment/component-info.ts +3 -5
  211. package/src/blocks/helpers.ts +43 -0
  212. package/src/blocks/image/component-info.ts +113 -161
  213. package/src/blocks/image/image.helpers.ts +5 -33
  214. package/src/blocks/img/component-info.ts +11 -16
  215. package/src/blocks/img/img.svelte +7 -31
  216. package/src/blocks/input/component-info.ts +35 -66
  217. package/src/blocks/input/input.svelte +7 -31
  218. package/src/blocks/raw-text/component-info.ts +8 -12
  219. package/src/blocks/raw-text/raw-text.svelte +2 -5
  220. package/src/blocks/section/component-info.ts +28 -37
  221. package/src/blocks/section/section.svelte +7 -30
  222. package/src/blocks/select/component-info.ts +38 -55
  223. package/src/blocks/select/select.svelte +7 -31
  224. package/src/blocks/submit-button/component-info.ts +10 -15
  225. package/src/blocks/submit-button/submit-button.svelte +7 -30
  226. package/src/blocks/symbol/component-info.ts +31 -39
  227. package/src/blocks/symbol/symbol.helpers.ts +47 -0
  228. package/src/blocks/symbol/symbol.svelte +51 -95
  229. package/src/blocks/text/component-info.ts +14 -18
  230. package/src/blocks/text/text.svelte +2 -2
  231. package/src/blocks/textarea/component-info.ts +26 -36
  232. package/src/blocks/textarea/textarea.svelte +7 -30
  233. package/src/blocks/video/component-info.ts +77 -103
  234. package/src/blocks/video/video.svelte +4 -31
  235. package/src/components/{render-block/render-block.helpers.ts → block/block.helpers.ts} +22 -49
  236. package/src/components/block/block.svelte +158 -0
  237. package/src/components/{render-block → block/components}/block-styles.svelte +24 -25
  238. package/src/components/block/components/block-wrapper.svelte +70 -0
  239. package/src/components/block/components/component-ref/component-ref.helpers.ts +53 -0
  240. package/src/components/block/components/component-ref/component-ref.svelte +41 -0
  241. package/src/components/block/components/interactive-element.svelte +42 -0
  242. package/src/components/block/components/repeated-block.svelte +30 -0
  243. package/src/components/{render-block → block}/types.ts +1 -2
  244. package/src/components/{render-blocks.svelte → blocks/blocks-wrapper.svelte} +14 -32
  245. package/src/components/blocks/blocks.svelte +39 -0
  246. package/src/components/{render-content/render-content.svelte → content/components/enable-editor.svelte} +75 -202
  247. package/src/components/{render-content/components/render-styles.helpers.ts → content/components/styles.helpers.ts} +9 -11
  248. package/src/components/{render-content/components/render-styles.svelte → content/components/styles.svelte} +5 -5
  249. package/src/components/content/content.helpers.ts +42 -0
  250. package/src/components/content/content.svelte +138 -0
  251. package/src/components/content/content.types.ts +23 -0
  252. package/src/components/content/index.ts +1 -0
  253. package/src/components/{render-content → content}/wrap-component-ref.ts +1 -1
  254. package/src/components/content-variants/content-variants.svelte +120 -0
  255. package/src/components/content-variants/content-variants.types.ts +20 -0
  256. package/src/components/{render-content-variants → content-variants}/helpers.ts +53 -94
  257. package/src/components/inlined-script.svelte +13 -0
  258. package/src/constants/builder-registered-components.ts +34 -14
  259. package/src/constants/device-sizes.ts +16 -22
  260. package/src/constants/sdk-version.ts +1 -1
  261. package/src/constants/target.ts +3 -1
  262. package/src/context/builder.context.ts +1 -1
  263. package/src/context/types.ts +2 -7
  264. package/src/functions/apply-patch-with-mutation.ts +61 -0
  265. package/src/functions/camel-to-kebab-case.ts +1 -2
  266. package/src/functions/evaluate/acorn.ts +2501 -0
  267. package/src/functions/evaluate/evaluate.ts +90 -0
  268. package/src/functions/evaluate/index.ts +1 -0
  269. package/src/functions/evaluate/interpreter.ts +3887 -0
  270. package/src/functions/evaluate/non-node-runtime.ts +94 -0
  271. package/src/functions/evaluate/types.ts +10 -0
  272. package/src/functions/extract-text-styles.ts +3 -18
  273. package/src/functions/fast-clone.ts +1 -2
  274. package/src/functions/get-block-actions-handler.ts +11 -20
  275. package/src/functions/get-block-actions.ts +22 -14
  276. package/src/functions/get-block-component-options.ts +2 -3
  277. package/src/functions/get-block-properties.ts +24 -17
  278. package/src/functions/get-builder-search-params/index.ts +5 -21
  279. package/src/functions/get-content/generate-content-url.ts +10 -25
  280. package/src/functions/get-content/index.ts +34 -37
  281. package/src/functions/get-content/types.ts +4 -2
  282. package/src/functions/get-fetch.ts +3 -10
  283. package/src/functions/get-global-this.ts +1 -2
  284. package/src/functions/get-processed-block.ts +14 -21
  285. package/src/functions/get-react-native-block-styles.ts +6 -12
  286. package/src/functions/if-target.ts +2 -3
  287. package/src/functions/is-browser.ts +1 -1
  288. package/src/functions/is-editing.ts +2 -7
  289. package/src/functions/is-iframe.ts +1 -2
  290. package/src/functions/is-non-node-server.ts +9 -0
  291. package/src/functions/is-previewing.ts +1 -4
  292. package/src/functions/on-change.ts +2 -2
  293. package/src/functions/register-component.ts +24 -26
  294. package/src/functions/register.ts +6 -8
  295. package/src/functions/sanitize-react-native-block-styles.ts +17 -24
  296. package/src/functions/set-editor-settings.ts +5 -6
  297. package/src/functions/set.ts +3 -15
  298. package/src/functions/track/helpers.ts +8 -24
  299. package/src/functions/track/index.ts +37 -42
  300. package/src/functions/track/interaction.ts +21 -38
  301. package/src/functions/transform-block-properties.ts +1 -1
  302. package/src/functions/transform-block.ts +1 -1
  303. package/src/helpers/ab-tests.ts +69 -78
  304. package/src/helpers/canTrack.ts +2 -4
  305. package/src/helpers/cookie.ts +15 -46
  306. package/src/helpers/css.ts +4 -13
  307. package/src/helpers/flatten.ts +11 -16
  308. package/src/helpers/localStorage.ts +4 -8
  309. package/src/helpers/logger.ts +2 -2
  310. package/src/helpers/nullable.ts +1 -3
  311. package/src/helpers/preview-lru-cache/get.ts +8 -0
  312. package/src/helpers/preview-lru-cache/helpers.ts +9 -0
  313. package/src/helpers/preview-lru-cache/init.ts +17 -0
  314. package/src/helpers/preview-lru-cache/set.ts +18 -0
  315. package/src/helpers/preview-lru-cache/types.ts +12 -0
  316. package/src/helpers/sessionId.ts +12 -13
  317. package/src/helpers/time.ts +1 -3
  318. package/src/helpers/url.ts +1 -2
  319. package/src/helpers/uuid.ts +3 -3
  320. package/src/helpers/visitorId.ts +14 -17
  321. package/src/index-helpers/blocks-exports.ts +2 -2
  322. package/src/index-helpers/top-of-file.ts +1 -1
  323. package/src/index.ts +2 -13
  324. package/src/scripts/init-editing.ts +85 -98
  325. package/src/types/api-version.ts +1 -1
  326. package/src/types/builder-block.ts +1 -3
  327. package/src/types/builder-content.ts +7 -4
  328. package/src/types/builder-props.ts +10 -0
  329. package/src/types/can-track.ts +1 -1
  330. package/src/types/components.ts +17 -13
  331. package/src/types/deep-partial.ts +1 -7
  332. package/src/types/element.ts +1 -3
  333. package/src/types/enforced-partials.ts +13 -0
  334. package/src/types/input.ts +6 -9
  335. package/src/types/targets.ts +1 -6
  336. package/src/types/typescript.ts +10 -5
  337. package/package/blocks/util.d.ts +0 -4
  338. package/package/blocks/util.js +0 -13
  339. package/package/components/render-block/render-block.helpers.d.ts +0 -12
  340. package/package/components/render-block/render-block.svelte +0 -152
  341. package/package/components/render-block/render-block.svelte.d.ts +0 -24
  342. package/package/components/render-block/render-component.svelte +0 -21
  343. package/package/components/render-block/render-component.svelte.d.ts +0 -34
  344. package/package/components/render-block/render-repeated-block.svelte.d.ts +0 -23
  345. package/package/components/render-blocks.svelte.d.ts +0 -26
  346. package/package/components/render-content/builder-editing.svelte +0 -4
  347. package/package/components/render-content/builder-editing.svelte.d.ts +0 -14
  348. package/package/components/render-content/index.d.ts +0 -1
  349. package/package/components/render-content/index.js +0 -1
  350. package/package/components/render-content/render-content.helpers.d.ts +0 -7
  351. package/package/components/render-content/render-content.helpers.js +0 -30
  352. package/package/components/render-content/render-content.svelte.d.ts +0 -31
  353. package/package/components/render-content/render-content.types.d.ts +0 -38
  354. package/package/components/render-content-variants/helpers.d.ts +0 -17
  355. package/package/components/render-content-variants/render-content-variants.svelte +0 -70
  356. package/package/components/render-content-variants/render-content-variants.svelte.d.ts +0 -23
  357. package/package/components/render-inlined-styles.svelte.d.ts +0 -21
  358. package/package/functions/evaluate.test.js +0 -17
  359. package/package/functions/get-builder-search-params/fn.test.js +0 -13
  360. package/package/functions/get-content/generate-content-url.test.js +0 -97
  361. package/package/functions/get-processed-block.test.js +0 -33
  362. package/package/functions/on-change.test.d.ts +0 -1
  363. package/package/functions/on-change.test.js +0 -20
  364. package/package/functions/set.test.d.ts +0 -1
  365. package/package/functions/set.test.js +0 -16
  366. package/package/helpers/url.test.d.ts +0 -1
  367. package/package/helpers/url.test.js +0 -21
  368. package/src/blocks/util.ts +0 -18
  369. package/src/components/render-block/render-block.svelte +0 -173
  370. package/src/components/render-block/render-component.svelte +0 -40
  371. package/src/components/render-block/render-repeated-block.svelte +0 -25
  372. package/src/components/render-content/builder-editing.svelte +0 -4
  373. package/src/components/render-content/index.ts +0 -1
  374. package/src/components/render-content/render-content.helpers.ts +0 -48
  375. package/src/components/render-content/render-content.types.ts +0 -42
  376. package/src/components/render-content-variants/render-content-variants.svelte +0 -83
  377. package/src/functions/evaluate.test.ts +0 -21
  378. package/src/functions/evaluate.ts +0 -99
  379. package/src/functions/get-builder-search-params/fn.test.ts +0 -19
  380. package/src/functions/get-content/generate-content-url.test.ts +0 -112
  381. package/src/functions/get-processed-block.test.ts +0 -35
  382. package/src/functions/on-change.test.ts +0 -23
  383. package/src/functions/set.test.ts +0 -19
  384. package/src/helpers/url.test.ts +0 -23
  385. /package/package/components/{render-block → block}/types.d.ts +0 -0
  386. /package/package/components/{render-block → block}/types.js +0 -0
  387. /package/package/{functions/evaluate.test.d.ts → components/content/content.types.js} +0 -0
  388. /package/package/components/{render-content → content}/wrap-component-ref.d.ts +0 -0
  389. /package/package/components/{render-content → content}/wrap-component-ref.js +0 -0
  390. /package/package/components/{render-content/render-content.types.js → content-variants/content-variants.types.js} +0 -0
  391. /package/package/components/{render-inlined-styles.svelte → inlined-styles.svelte} +0 -0
  392. /package/package/functions/{get-builder-search-params/fn.test.d.ts → evaluate/types.js} +0 -0
  393. /package/package/{functions/get-content/generate-content-url.test.d.ts → types/builder-props.js} +0 -0
  394. /package/package/{functions/get-processed-block.test.d.ts → types/enforced-partials.js} +0 -0
  395. /package/src/components/{render-inlined-styles.svelte → inlined-styles.svelte} +0 -0
@@ -0,0 +1,138 @@
1
+ <script lang="ts">
2
+ import { writable } from "svelte/store";
3
+
4
+ import { getDefaultRegisteredComponents } from "../../constants/builder-registered-components.js";
5
+ import type {
6
+ BuilderContextInterface,
7
+ BuilderRenderState,
8
+ RegisteredComponents,
9
+ } from "../../context/types.js";
10
+ import {
11
+ components,
12
+ serializeComponentInfo,
13
+ } from "../../functions/register-component.js";
14
+ import Blocks from "../blocks/blocks.svelte";
15
+ import ContentStyles from "./components/styles.svelte";
16
+ import type { ContentProps } from "./content.types.js";
17
+ import {
18
+ getContentInitialValue,
19
+ getContextStateInitialValue,
20
+ } from "./content.helpers.js";
21
+ import { TARGET } from "../../constants/target.js";
22
+ import { getRenderContentScriptString } from "../content-variants/helpers.js";
23
+ import EnableEditor from "./components/enable-editor.svelte";
24
+ import InlinedScript from "../inlined-script.svelte";
25
+ import { wrapComponentRef } from "./wrap-component-ref.js";
26
+ import type { ComponentInfo } from "../../types/components.js";
27
+ import type { Dictionary } from "../../types/typescript.js";
28
+
29
+ export let content: ContentProps["content"];
30
+ export let customComponents: ContentProps["customComponents"];
31
+ export let data: ContentProps["data"];
32
+ export let locale: ContentProps["locale"];
33
+ export let context: ContentProps["context"];
34
+ export let apiKey: ContentProps["apiKey"];
35
+ export let apiVersion: ContentProps["apiVersion"];
36
+ export let model: ContentProps["model"];
37
+ export let canTrack: ContentProps["canTrack"];
38
+ export let includeRefs: ContentProps["includeRefs"];
39
+ export let enrich: ContentProps["enrich"];
40
+ export let classNameProp: ContentProps["classNameProp"];
41
+ export let showContent: ContentProps["showContent"];
42
+ export let isSsrAbTest: ContentProps["isSsrAbTest"];
43
+
44
+ function contentSetState(newRootState: BuilderRenderState) {
45
+ $builderContextSignal.rootState = newRootState;
46
+ }
47
+
48
+ let scriptStr = getRenderContentScriptString({
49
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
50
+ variationId: content?.testVariationId!,
51
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
52
+ contentId: content?.id!,
53
+ });
54
+ let registeredComponents = [
55
+ ...getDefaultRegisteredComponents(),
56
+ // While this `components` object is deprecated, we must maintain support for it.
57
+ // Since users are able to override our default components, we need to make sure that we do not break such
58
+ // existing usage.
59
+ // This is why we spread `components` after the default Builder.io components, but before the `props.customComponents`,
60
+ // which is the new standard way of providing custom components, and must therefore take precedence.
61
+ ...components,
62
+ ...(customComponents || []),
63
+ ].reduce<RegisteredComponents>(
64
+ (acc, { component, ...info }) => ({
65
+ ...acc,
66
+ [info.name]: {
67
+ component: component,
68
+ ...serializeComponentInfo(info),
69
+ },
70
+ }),
71
+ {}
72
+ );
73
+ let builderContextSignal = writable({
74
+ content: getContentInitialValue({
75
+ content: content,
76
+ data: data,
77
+ }),
78
+ localState: undefined,
79
+ rootState: getContextStateInitialValue({
80
+ content: content,
81
+ data: data,
82
+ locale: locale,
83
+ }),
84
+ rootSetState: contentSetState,
85
+ context: context || {},
86
+ apiKey: apiKey,
87
+ apiVersion: apiVersion,
88
+ componentInfos: [
89
+ ...getDefaultRegisteredComponents(),
90
+ // While this `components` object is deprecated, we must maintain support for it.
91
+ // Since users are able to override our default components, we need to make sure that we do not break such
92
+ // existing usage.
93
+ // This is why we spread `components` after the default Builder.io components, but before the `props.customComponents`,
94
+ // which is the new standard way of providing custom components, and must therefore take precedence.
95
+ ...components,
96
+ ...(customComponents || []),
97
+ ].reduce<Dictionary<ComponentInfo>>(
98
+ (acc, { component: _, ...info }) => ({
99
+ ...acc,
100
+ [info.name]: serializeComponentInfo(info),
101
+ }),
102
+ {}
103
+ ),
104
+ inheritedStyles: {},
105
+ });
106
+ </script>
107
+
108
+ <EnableEditor
109
+ {content}
110
+ {model}
111
+ {context}
112
+ {apiKey}
113
+ {canTrack}
114
+ {locale}
115
+ {includeRefs}
116
+ {enrich}
117
+ {classNameProp}
118
+ {showContent}
119
+ {builderContextSignal}
120
+ {...{}}
121
+ >
122
+ {#if isSsrAbTest}
123
+ <InlinedScript {scriptStr} />
124
+ {/if}
125
+
126
+ {#if TARGET !== "reactNative"}
127
+ <ContentStyles
128
+ contentId={$builderContextSignal.content?.id}
129
+ cssCode={$builderContextSignal.content?.data?.cssCode}
130
+ customFonts={$builderContextSignal.content?.data?.customFonts}
131
+ />
132
+ {/if}
133
+ <Blocks
134
+ blocks={$builderContextSignal.content?.data?.blocks}
135
+ context={builderContextSignal}
136
+ {registeredComponents}
137
+ />
138
+ </EnableEditor>
@@ -0,0 +1,23 @@
1
+ import type { BuilderRenderState } from '../../context/types.js';
2
+ import type { EnforcePartials } from '../../types/enforced-partials.js';
3
+ import type { ContentVariantsProps } from '../content-variants/content-variants.types.js';
4
+ interface InternalRenderProps {
5
+ /**
6
+ * TO-DO: improve qwik generator to not remap this name for non-HTML tags, then name it `className`
7
+ */
8
+ classNameProp: string | undefined;
9
+ showContent: boolean;
10
+ isSsrAbTest: boolean;
11
+ }
12
+ export type ContentProps = InternalRenderProps & EnforcePartials<ContentVariantsProps>;
13
+ export interface BuilderComponentStateChange {
14
+ state: BuilderRenderState;
15
+ ref: {
16
+ name?: string;
17
+ props?: {
18
+ builderBlock?: {
19
+ id?: string;
20
+ };
21
+ };
22
+ };
23
+ }
@@ -0,0 +1 @@
1
+ export { default } from './content.svelte'
@@ -3,4 +3,4 @@
3
3
  *
4
4
  * See overrides/* for examples.
5
5
  */
6
- export const wrapComponentRef = (component: any) => component;
6
+ export const wrapComponentRef = (component: any) => component
@@ -0,0 +1,120 @@
1
+ <script context="module" lang="ts">
2
+ type VariantsProviderProps = ContentVariantsProps & {
3
+ /**
4
+ * For internal use only. Do not provide this prop.
5
+ */
6
+ __isNestedRender?: boolean;
7
+ };
8
+ </script>
9
+
10
+ <script lang="ts">
11
+ import { onMount } from "svelte";
12
+
13
+ import {
14
+ checkShouldRunVariants,
15
+ getScriptString,
16
+ getVariants,
17
+ getVariantsScriptString,
18
+ } from "./helpers.js";
19
+ import ContentComponent from "../content/content.svelte";
20
+ import { getDefaultCanTrack } from "../../helpers/canTrack.js";
21
+ import InlinedStyles from "../inlined-styles.svelte";
22
+ import { handleABTestingSync } from "../../helpers/ab-tests.js";
23
+ import InlinedScript from "../inlined-script.svelte";
24
+ import { TARGET } from "../../constants/target.js";
25
+ import type { ContentVariantsProps } from "./content-variants.types.js";
26
+
27
+ export let canTrack: VariantsProviderProps["canTrack"];
28
+ export let content: VariantsProviderProps["content"];
29
+ export let __isNestedRender: VariantsProviderProps["__isNestedRender"];
30
+ export let model: VariantsProviderProps["model"];
31
+ export let data: VariantsProviderProps["data"];
32
+ export let context: VariantsProviderProps["context"];
33
+ export let apiKey: VariantsProviderProps["apiKey"];
34
+ export let apiVersion: VariantsProviderProps["apiVersion"];
35
+ export let customComponents: VariantsProviderProps["customComponents"];
36
+ export let locale: VariantsProviderProps["locale"];
37
+ export let includeRefs: VariantsProviderProps["includeRefs"];
38
+ export let enrich: VariantsProviderProps["enrich"];
39
+
40
+ $: variantScriptStr = () => {
41
+ return getVariantsScriptString(
42
+ getVariants(content).map((value) => ({
43
+ id: value.testVariationId!,
44
+ testRatio: value.testRatio,
45
+ })),
46
+ content?.id || ""
47
+ );
48
+ };
49
+ $: hideVariantsStyleString = () => {
50
+ return getVariants(content)
51
+ .map((value) => `.variant-${value.testVariationId} { display: none; } `)
52
+ .join("");
53
+ };
54
+
55
+ let shouldRenderVariants = checkShouldRunVariants({
56
+ canTrack: getDefaultCanTrack(canTrack),
57
+ content: content,
58
+ });
59
+
60
+ onMount(() => {
61
+ /**
62
+ * We unmount the non-winning variants post-hydration in Vue.
63
+ */
64
+ });
65
+ </script>
66
+
67
+ {#if !__isNestedRender && TARGET !== "reactNative"}
68
+ <InlinedScript scriptStr={getScriptString()} />
69
+ {/if}
70
+
71
+ {#if shouldRenderVariants}
72
+ <InlinedStyles
73
+ id={`variants-styles-${content?.id}`}
74
+ styles={hideVariantsStyleString()}
75
+ />
76
+
77
+ <InlinedScript scriptStr={variantScriptStr()} />
78
+
79
+ {#each getVariants(content) as variant (variant.testVariationId)}
80
+ <ContentComponent
81
+ content={variant}
82
+ showContent={false}
83
+ classNameProp={undefined}
84
+ {model}
85
+ {data}
86
+ {context}
87
+ {apiKey}
88
+ {apiVersion}
89
+ {customComponents}
90
+ {canTrack}
91
+ {locale}
92
+ {includeRefs}
93
+ {enrich}
94
+ isSsrAbTest={shouldRenderVariants}
95
+ />
96
+ {/each}
97
+ {/if}
98
+
99
+ <ContentComponent
100
+ {...{}}
101
+ content={shouldRenderVariants
102
+ ? content
103
+ : handleABTestingSync({
104
+ item: content,
105
+ canTrack: getDefaultCanTrack(canTrack),
106
+ })}
107
+ classNameProp={`variant-${content?.id}`}
108
+ showContent={true}
109
+ {model}
110
+ {data}
111
+ {context}
112
+ {apiKey}
113
+ {apiVersion}
114
+ {customComponents}
115
+ {canTrack}
116
+ {locale}
117
+ {includeRefs}
118
+ {enrich}
119
+ isSsrAbTest={shouldRenderVariants}
120
+ />
@@ -0,0 +1,20 @@
1
+ import type { BuilderRenderContext, RegisteredComponent } from '../../context/types.js';
2
+ import type { ApiVersion } from '../../types/api-version.js';
3
+ import type { BuilderContent } from '../../types/builder-content.js';
4
+ import type { Nullable } from '../../types/typescript.js';
5
+ export interface ContentVariantsProps {
6
+ content?: Nullable<BuilderContent>;
7
+ model?: string;
8
+ data?: {
9
+ [key: string]: any;
10
+ };
11
+ context?: BuilderRenderContext;
12
+ apiKey: string;
13
+ apiVersion?: ApiVersion;
14
+ customComponents?: RegisteredComponent[];
15
+ canTrack?: boolean;
16
+ locale?: string;
17
+ /** @deprecated use `enrich` instead **/
18
+ includeRefs?: boolean;
19
+ enrich?: boolean;
20
+ }
@@ -1,36 +1,40 @@
1
- import { TARGET } from '../../constants/target';
2
- import { isBrowser } from '../../functions/is-browser';
3
- import type { Nullable } from '../../helpers/nullable';
4
- import type { BuilderContent } from '../../types/builder-content';
5
- import type { Target } from '../../types/targets';
6
-
7
- export const getVariants = (content: Nullable<BuilderContent>) =>
8
- Object.values(content?.variations || {});
9
-
1
+ import { TARGET } from '../../constants/target.js';
2
+ import { isBrowser } from '../../functions/is-browser.js';
3
+ import type { Nullable } from '../../helpers/nullable.js';
4
+ import type { BuilderContent } from '../../types/builder-content.js';
5
+ import type { Target } from '../../types/targets.js';
6
+ export const getVariants = (content: Nullable<BuilderContent>) => Object.values(content?.variations || {}).map(variant => ({
7
+ ...variant,
8
+ testVariationId: variant.id,
9
+ id: content?.id
10
+ }));
10
11
  export const checkShouldRunVariants = ({
11
12
  canTrack,
12
- content,
13
+ content
13
14
  }: {
14
15
  canTrack: Nullable<boolean>;
15
16
  content: Nullable<BuilderContent>;
16
17
  }) => {
17
18
  const hasVariants = getVariants(content).length > 0;
18
19
 
19
- if (!hasVariants) {
20
- return false;
21
- }
22
-
23
- if (!canTrack) {
24
- return false;
25
- }
26
-
27
- if (isBrowser()) {
28
- return false;
29
- }
20
+ /**
21
+ * We cannot SSR in React-Native.
22
+ */
23
+ if (TARGET === 'reactNative') return false;
24
+ if (!hasVariants) return false;
25
+ if (!canTrack) return false;
30
26
 
27
+ /**
28
+ * For Vue 2 and Vue 3, we need to (initially) render the variants. This is to avoid hydration mismatch errors.
29
+ * Unlike React, Vue's hydration checks are shallow and do not check the attributes/contents of each element, so we
30
+ * are able to modify the `hidden` HTML attributes and `display` CSS properties without causing a hydration mismatch error.
31
+ *
32
+ * NOTE: after the app is hydrated, we strip the variants from the DOM (on mount) to reduce the amount of HTML in the DOM.
33
+ */
34
+ if (TARGET === 'vue2' || TARGET === 'vue3') return true;
35
+ if (isBrowser()) return false;
31
36
  return true;
32
37
  };
33
-
34
38
  type VariantData = {
35
39
  id: string;
36
40
  testRatio?: number;
@@ -40,11 +44,7 @@ type VariantData = {
40
44
  * NOTE: when this function is stringified, single-line comments can cause weird issues when compiled by Sveltekit.
41
45
  * Make sure to write multi-line comments only.
42
46
  */
43
- function bldrAbTest(
44
- contentId: string,
45
- variants: VariantData[],
46
- isHydrationTarget: boolean
47
- ) {
47
+ function bldrAbTest(contentId: string, variants: VariantData[], isHydrationTarget: boolean) {
48
48
  function getAndSetVariantId(): string {
49
49
  function setCookie(name: string, value: string, days?: number) {
50
50
  let expires = '';
@@ -53,13 +53,7 @@ function bldrAbTest(
53
53
  date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
54
54
  expires = '; expires=' + date.toUTCString();
55
55
  }
56
- document.cookie =
57
- name +
58
- '=' +
59
- (value || '') +
60
- expires +
61
- '; path=/' +
62
- '; Secure; SameSite=None';
56
+ document.cookie = name + '=' + (value || '') + expires + '; path=/' + '; Secure; SameSite=None';
63
57
  }
64
58
  function getCookie(name: string) {
65
59
  const nameEQ = name + '=';
@@ -67,14 +61,13 @@ function bldrAbTest(
67
61
  for (let i = 0; i < ca.length; i++) {
68
62
  let c = ca[i];
69
63
  while (c.charAt(0) === ' ') c = c.substring(1, c.length);
70
- if (c.indexOf(nameEQ) === 0)
71
- return c.substring(nameEQ.length, c.length);
64
+ if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
72
65
  }
73
66
  return null;
74
67
  }
75
68
  const cookieName = `builder.tests.${contentId}`;
76
69
  const variantInCookie = getCookie(cookieName);
77
- const availableIDs = variants.map((vr) => vr.id).concat(contentId);
70
+ const availableIDs = variants.map(vr => vr.id).concat(contentId);
78
71
  /**
79
72
  * cookie already exists
80
73
  */
@@ -101,37 +94,26 @@ function bldrAbTest(
101
94
  * no variant found, assign default content
102
95
  */
103
96
  setCookie(cookieName, contentId);
104
-
105
97
  return contentId;
106
98
  }
107
-
108
99
  const winningVariantId = getAndSetVariantId();
109
-
110
- const styleEl = document.getElementById(
111
- `variants-styles-${contentId}`
112
- ) as HTMLStyleElement;
100
+ const styleEl = (document.currentScript?.previousElementSibling as HTMLStyleElement);
113
101
 
114
102
  /**
115
103
  * For React to work, we need hydration to match SSR, so we completely remove this node and the styles tag.
116
104
  */
117
105
  if (isHydrationTarget) {
118
106
  styleEl.remove();
119
- const thisScriptEl = document.getElementById(
120
- `variants-script-${contentId}`
121
- );
107
+ const thisScriptEl = document.currentScript;
122
108
  thisScriptEl?.remove();
123
109
  } else {
124
110
  /* update styles to hide all variants except the winning variant */
125
- const newStyleStr = variants
126
- .concat({ id: contentId })
127
- .filter((variant) => variant.id !== winningVariantId)
128
- .map((value) => {
129
- return `.variant-${value.id} { display: none; }
111
+ const newStyleStr = variants.concat({
112
+ id: contentId
113
+ }).filter(variant => variant.id !== winningVariantId).map(value => {
114
+ return `.variant-${value.id} { display: none; }
130
115
  `;
131
- })
132
- .join('');
133
-
134
- /* TO-DO: check if this actually updates the style */
116
+ }).join('');
135
117
  styleEl.innerHTML = newStyleStr;
136
118
  }
137
119
  }
@@ -140,15 +122,10 @@ function bldrAbTest(
140
122
  * NOTE: when this function is stringified, single-line comments can cause weird issues when compiled by Sveltekit.
141
123
  * Make sure to write multi-line comments only.
142
124
  */
143
- function bldrCntntScrpt(
144
- variantContentId: string,
145
- defaultContentId: string,
146
- isHydrationTarget: boolean
147
- ) {
125
+ function bldrCntntScrpt(variantContentId: string, defaultContentId: string, isHydrationTarget: boolean) {
148
126
  if (!navigator.cookieEnabled) {
149
127
  return;
150
128
  }
151
-
152
129
  function getCookie(name: string) {
153
130
  const nameEQ = name + '=';
154
131
  const ca = document.cookie.split(';');
@@ -161,14 +138,8 @@ function bldrCntntScrpt(
161
138
  }
162
139
  const cookieName = `builder.tests.${defaultContentId}`;
163
140
  const variantId = getCookie(cookieName);
164
-
165
- /** get parent div by searching on `builder-content-id` attr */
166
- const parentDiv = document.querySelector(
167
- `[builder-content-id="${variantContentId}"]`
168
- );
169
-
141
+ const parentDiv = document.currentScript?.parentElement;
170
142
  const variantIsDefaultContent = variantContentId === defaultContentId;
171
-
172
143
  if (variantId === variantContentId) {
173
144
  if (variantIsDefaultContent) {
174
145
  /** the default content is already visible, no need to do anything */
@@ -199,16 +170,9 @@ function bldrCntntScrpt(
199
170
  */
200
171
  return;
201
172
  }
202
-
203
173
  return;
204
174
  }
205
-
206
- const getIsHydrationTarget = (target: Target) =>
207
- target === 'react' ||
208
- target === 'reactNative' ||
209
- target === 'vue3' ||
210
- target === 'vue2';
211
-
175
+ const getIsHydrationTarget = (target: Target) => target === 'react' || target === 'reactNative';
212
176
  const isHydrationTarget = getIsHydrationTarget(TARGET);
213
177
 
214
178
  /**
@@ -217,32 +181,27 @@ const isHydrationTarget = getIsHydrationTarget(TARGET);
217
181
  *
218
182
  * So we hardcode the function names here, and then use those names in the script string to make sure the function names are consistent.
219
183
  */
220
- const AB_TEST_FN_NAME = 'bldrAbTest';
221
- const CONTENT_FN_NAME = 'bldrCntntScrpt';
222
-
223
- export const getVariantsScriptString = (
224
- variants: VariantData[],
225
- contentId: string
226
- ) => {
184
+ const AB_TEST_FN_NAME = 'builderIoAbTest';
185
+ const CONTENT_FN_NAME = 'builderIoRenderContent';
186
+ export const getScriptString = () => {
227
187
  const fnStr = bldrAbTest.toString().replace(/\s+/g, ' ');
228
188
  const fnStr2 = bldrCntntScrpt.toString().replace(/\s+/g, ' ');
229
-
230
189
  return `
231
- const ${AB_TEST_FN_NAME} = ${fnStr}
232
- const ${CONTENT_FN_NAME} = ${fnStr2}
233
- ${AB_TEST_FN_NAME}("${contentId}", ${JSON.stringify(
234
- variants
235
- )}, ${isHydrationTarget})
190
+ window.${AB_TEST_FN_NAME} = ${fnStr}
191
+ window.${CONTENT_FN_NAME} = ${fnStr2}
236
192
  `;
237
193
  };
238
-
194
+ export const getVariantsScriptString = (variants: VariantData[], contentId: string) => {
195
+ return `
196
+ window.${AB_TEST_FN_NAME}("${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget})`;
197
+ };
239
198
  export const getRenderContentScriptString = ({
240
- parentContentId,
241
199
  contentId,
200
+ variationId
242
201
  }: {
202
+ variationId: string;
243
203
  contentId: string;
244
- parentContentId: string;
245
204
  }) => {
246
205
  return `
247
- ${CONTENT_FN_NAME}("${contentId}", "${parentContentId}", ${isHydrationTarget})`;
248
- };
206
+ window.${CONTENT_FN_NAME}("${variationId}", "${contentId}", ${isHydrationTarget})`;
207
+ }
@@ -0,0 +1,13 @@
1
+ <script context="module" lang="ts">
2
+ interface Props {
3
+ scriptStr: string;
4
+ id?: string;
5
+ }
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ export let scriptStr: Props["scriptStr"];
10
+ export let id: Props["id"];
11
+ </script>
12
+
13
+ <svelte:element this={"script"} {id}>{@html scriptStr}</svelte:element>
@@ -26,17 +26,37 @@ import { componentInfo as customCodeInfo } from '../blocks/custom-code/component
26
26
  * Returns a list of all registered components.
27
27
  * NOTE: This needs to be a function to work around ESM circular dependencies.
28
28
  */
29
- export const getDefaultRegisteredComponents: () => RegisteredComponent[] =
30
- () => [
31
- { component: Button, ...buttonComponentInfo },
32
- { component: Columns, ...columnsComponentInfo },
33
- { component: customCode, ...customCodeInfo },
34
- { component: embed, ...embedComponentInfo },
35
- { component: Fragment, ...fragmentComponentInfo },
36
- { component: Image, ...imageComponentInfo },
37
- { component: Img, ...imgComponentInfo },
38
- { component: Section, ...sectionComponentInfo },
39
- { component: Symbol, ...symbolComponentInfo },
40
- { component: Text, ...textComponentInfo },
41
- { component: Video, ...videoComponentInfo },
42
- ];
29
+ export const getDefaultRegisteredComponents: () => RegisteredComponent[] = () => [{
30
+ component: Button,
31
+ ...buttonComponentInfo
32
+ }, {
33
+ component: Columns,
34
+ ...columnsComponentInfo
35
+ }, {
36
+ component: customCode,
37
+ ...customCodeInfo
38
+ }, {
39
+ component: embed,
40
+ ...embedComponentInfo
41
+ }, {
42
+ component: Fragment,
43
+ ...fragmentComponentInfo
44
+ }, {
45
+ component: Image,
46
+ ...imageComponentInfo
47
+ }, {
48
+ component: Img,
49
+ ...imgComponentInfo
50
+ }, {
51
+ component: Section,
52
+ ...sectionComponentInfo
53
+ }, {
54
+ component: Symbol,
55
+ ...symbolComponentInfo
56
+ }, {
57
+ component: Text,
58
+ ...textComponentInfo
59
+ }, {
60
+ component: Video,
61
+ ...videoComponentInfo
62
+ }]