@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
@@ -1,69 +1,33 @@
1
+ <script context="module"></script>
2
+
1
3
  <script>import { onDestroy, onMount, setContext } from "svelte";
2
- import { writable } from "svelte/store";
3
- import { getDefaultRegisteredComponents } from "../../constants/builder-registered-components.js";
4
- import { evaluate } from "../../functions/evaluate.js";
5
- import { getContent } from "../../functions/get-content/index.js";
6
- import { fetch } from "../../functions/get-fetch.js";
7
- import { isBrowser } from "../../functions/is-browser.js";
8
- import { isEditing } from "../../functions/is-editing.js";
9
- import { isPreviewing } from "../../functions/is-previewing.js";
10
- import { components, createRegisterComponentMessage, } from "../../functions/register-component.js";
11
- import { _track } from "../../functions/track/index.js";
12
- import RenderBlocks from "../render-blocks.svelte";
13
- import RenderContentStyles from "./components/render-styles.svelte";
14
- import builderContext from "../../context/builder.context.js";
15
- import { registerInsertMenu, setupBrowserForEditing, } from "../../scripts/init-editing.js";
16
- import { checkIsDefined } from "../../helpers/nullable.js";
17
- import { getInteractionPropertiesForEvent } from "../../functions/track/interaction.js";
18
- import { getContentInitialValue, getContextStateInitialValue, } from "./render-content.helpers.js";
19
- import { TARGET } from "../../constants/target.js";
20
- import { logger } from "../../helpers/logger.js";
21
- import { getRenderContentScriptString } from "../render-content-variants/helpers.js";
22
- import { wrapComponentRef } from "./wrap-component-ref.js";
23
- const isEvent = (attr) => attr.startsWith("on:");
24
- const isNonEvent = (attr) => !attr.startsWith("on:");
25
- const filterAttrs = (attrs = {}, filter) => {
26
- const validAttr = {};
27
- Object.keys(attrs).forEach((attr) => {
28
- if (filter(attr)) {
29
- validAttr[attr] = attrs[attr];
30
- }
31
- });
32
- return validAttr;
33
- };
34
- const setAttrs = (node, attrs = {}) => {
35
- const attrKeys = Object.keys(attrs);
36
- const setup = (attr) => node.addEventListener(attr.substr(3), attrs[attr]);
37
- const teardown = (attr) => node.removeEventListener(attr.substr(3), attrs[attr]);
38
- attrKeys.map(setup);
39
- return {
40
- update(attrs = {}) {
41
- const attrKeys = Object.keys(attrs);
42
- attrKeys.map(teardown);
43
- attrKeys.map(setup);
44
- },
45
- destroy() {
46
- attrKeys.map(teardown);
47
- },
48
- };
49
- };
4
+ import { evaluate } from "../../../functions/evaluate";
5
+ import { fetch } from "../../../functions/get-fetch.js";
6
+ import { isBrowser } from "../../../functions/is-browser.js";
7
+ import { isEditing } from "../../../functions/is-editing.js";
8
+ import { createRegisterComponentMessage } from "../../../functions/register-component.js";
9
+ import { _track } from "../../../functions/track/index.js";
10
+ import builderContext from "../../../context/builder.context";
11
+ import { registerInsertMenu, setupBrowserForEditing, } from "../../../scripts/init-editing.js";
12
+ import { checkIsDefined } from "../../../helpers/nullable.js";
13
+ import { getInteractionPropertiesForEvent } from "../../../functions/track/interaction.js";
14
+ import { logger } from "../../../helpers/logger.js";
15
+ import { getContent } from "../../../functions/get-content/index.js";
16
+ import { isPreviewing } from "../../../functions/is-previewing.js";
17
+ import "../../../helpers/preview-lru-cache/set.js";
50
18
  export let canTrack;
19
+ export let builderContextSignal;
51
20
  export let model;
52
21
  export let context;
53
22
  export let apiKey;
23
+ export let showContent;
24
+ export let classNameProp;
54
25
  export let content;
55
- export let parentContentId;
56
- export let data;
57
26
  export let locale;
58
- export let apiVersion;
59
- export let customComponents;
60
- export let hideContent;
61
- export let classNameProp;
62
- export let isSsrAbTest;
63
27
  export let includeRefs;
64
28
  export let enrich;
65
29
  function mergeNewContent(newContent) {
66
- $builderContextSignal.content = {
30
+ const newContentValue = {
67
31
  ...$builderContextSignal.content,
68
32
  ...newContent,
69
33
  data: {
@@ -77,18 +41,7 @@ function mergeNewContent(newContent) {
77
41
  $builderContextSignal.content?.meta?.breakpoints,
78
42
  },
79
43
  };
80
- }
81
- function setBreakpoints(breakpoints) {
82
- $builderContextSignal.content = {
83
- ...$builderContextSignal.content,
84
- meta: {
85
- ...$builderContextSignal.content?.meta,
86
- breakpoints,
87
- },
88
- };
89
- }
90
- function contentSetState(newRootState) {
91
- $builderContextSignal.rootState = newRootState;
44
+ $builderContextSignal.content = newContentValue;
92
45
  }
93
46
  function processMessage(event) {
94
47
  const { data } = event;
@@ -101,7 +54,11 @@ function processMessage(event) {
101
54
  return;
102
55
  }
103
56
  if (breakpoints) {
104
- setBreakpoints(breakpoints);
57
+ mergeNewContent({
58
+ meta: {
59
+ breakpoints,
60
+ },
61
+ });
105
62
  }
106
63
  forceReRenderCount = forceReRenderCount + 1; // This is a hack to force Qwik to re-render.
107
64
  break;
@@ -119,10 +76,6 @@ function processMessage(event) {
119
76
  }
120
77
  break;
121
78
  }
122
- case "builder.patchUpdates": {
123
- // TODO
124
- break;
125
- }
126
79
  }
127
80
  }
128
81
  }
@@ -135,7 +88,7 @@ function evaluateJsCode() {
135
88
  context: context || {},
136
89
  localState: undefined,
137
90
  rootState: $builderContextSignal.rootState,
138
- rootSetState: contentSetState,
91
+ rootSetState: $builderContextSignal.rootSetState,
139
92
  });
140
93
  }
141
94
  }
@@ -163,7 +116,7 @@ function evalExpression(expression) {
163
116
  context: context || {},
164
117
  localState: undefined,
165
118
  rootState: $builderContextSignal.rootState,
166
- rootSetState: contentSetState,
119
+ rootSetState: $builderContextSignal.rootSetState,
167
120
  }));
168
121
  }
169
122
  function handleRequest({ url, key }) {
@@ -174,7 +127,8 @@ function handleRequest({ url, key }) {
174
127
  ...$builderContextSignal.rootState,
175
128
  [key]: json,
176
129
  };
177
- contentSetState(newState);
130
+ $builderContextSignal.rootSetState?.(newState);
131
+ httpReqsData[key] = true;
178
132
  })
179
133
  .catch((err) => {
180
134
  console.error("error fetching dynamic data", url, err);
@@ -205,50 +159,12 @@ function emitStateUpdate() {
205
159
  }
206
160
  }
207
161
  let elementRef;
208
- let forceReRenderCount = 0;
209
- let overrideContent = null;
210
- let update = 0;
211
162
  let canTrackToUse = checkIsDefined(canTrack) ? canTrack : true;
163
+ let forceReRenderCount = 0;
164
+ let lastUpdated = 0;
165
+ let shouldSendResetCookie = false;
212
166
  let httpReqsData = {};
213
167
  let clicked = false;
214
- let scriptStr = getRenderContentScriptString({
215
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
216
- contentId: content?.id,
217
- parentContentId: parentContentId,
218
- });
219
- let builderContextSignal = writable({
220
- content: getContentInitialValue({
221
- content: content,
222
- data: data,
223
- }),
224
- localState: undefined,
225
- rootState: getContextStateInitialValue({
226
- content: content,
227
- data: data,
228
- locale: locale,
229
- }),
230
- rootSetState: contentSetState,
231
- context: context || {},
232
- apiKey: apiKey,
233
- apiVersion: apiVersion,
234
- registeredComponents: [
235
- ...getDefaultRegisteredComponents(),
236
- // While this `components` object is deprecated, we must maintain support for it.
237
- // Since users are able to override our default components, we need to make sure that we do not break such
238
- // existing usage.
239
- // This is why we spread `components` after the default Builder.io components, but before the `props.customComponents`,
240
- // which is the new standard way of providing custom components, and must therefore take precedence.
241
- ...components,
242
- ...(customComponents || []),
243
- ].reduce((acc, { component, ...curr }) => ({
244
- ...acc,
245
- [curr.name]: {
246
- component: TARGET === "vue3" ? wrapComponentRef(component) : component,
247
- ...curr,
248
- },
249
- }), {}),
250
- inheritedStyles: {},
251
- });
252
168
  onMount(() => {
253
169
  if (!apiKey) {
254
170
  logger.error("No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop.");
@@ -256,6 +172,7 @@ onMount(() => {
256
172
  if (isBrowser()) {
257
173
  if (isEditing()) {
258
174
  forceReRenderCount = forceReRenderCount + 1;
175
+ window.addEventListener("message", processMessage);
259
176
  registerInsertMenu();
260
177
  setupBrowserForEditing({
261
178
  ...(locale
@@ -274,11 +191,10 @@ onMount(() => {
274
191
  }
275
192
  : {}),
276
193
  });
277
- Object.values($builderContextSignal.registeredComponents).forEach((registeredComponent) => {
194
+ Object.values($builderContextSignal.componentInfos).forEach((registeredComponent) => {
278
195
  const message = createRegisterComponentMessage(registeredComponent);
279
196
  window.parent?.postMessage(message, "*");
280
197
  });
281
- window.addEventListener("message", processMessage);
282
198
  window.addEventListener("builder:component:stateChangeListenerActivated", emitStateUpdate);
283
199
  }
284
200
  if ($builderContextSignal.content) {
@@ -313,7 +229,7 @@ onMount(() => {
313
229
  getContent({
314
230
  model: model,
315
231
  apiKey: apiKey,
316
- apiVersion: apiVersion,
232
+ apiVersion: $builderContextSignal.apiVersion,
317
233
  }).then((content) => {
318
234
  if (content) {
319
235
  mergeNewContent(content);
@@ -332,21 +248,23 @@ function onUpdateFn_0(..._args) {
332
248
  }
333
249
  }
334
250
  $: onUpdateFn_0(...[content]);
335
- function onUpdateFn_1(..._args) {
251
+ function onUpdateFn_1(..._args) { }
252
+ $: onUpdateFn_1(...[shouldSendResetCookie]);
253
+ function onUpdateFn_2(..._args) {
336
254
  evaluateJsCode();
337
255
  }
338
- $: onUpdateFn_1(...[
256
+ $: onUpdateFn_2(...[
339
257
  $builderContextSignal.content?.data?.jsCode,
340
258
  $builderContextSignal.rootState,
341
259
  ]);
342
- function onUpdateFn_2(..._args) {
260
+ function onUpdateFn_3(..._args) {
343
261
  runHttpRequests();
344
262
  }
345
- $: onUpdateFn_2(...[$builderContextSignal.content?.data?.httpRequests]);
346
- function onUpdateFn_3(..._args) {
263
+ $: onUpdateFn_3(...[$builderContextSignal.content?.data?.httpRequests]);
264
+ function onUpdateFn_4(..._args) {
347
265
  emitStateUpdate();
348
266
  }
349
- $: onUpdateFn_3(...[$builderContextSignal.rootState]);
267
+ $: onUpdateFn_4(...[$builderContextSignal.rootState]);
350
268
  setContext(builderContext.key, builderContextSignal);
351
269
  onDestroy(() => {
352
270
  if (isBrowser()) {
@@ -358,58 +276,22 @@ onDestroy(() => {
358
276
 
359
277
  {#if $builderContextSignal.content}
360
278
  <div
279
+ key={forceReRenderCount}
361
280
  bind:this={elementRef}
362
281
  on:click={(event) => {
363
282
  onClick(event);
364
283
  }}
365
284
  builder-content-id={$builderContextSignal.content?.id}
366
285
  builder-model={model}
367
- {...filterAttrs(
368
- TARGET === "reactNative"
369
- ? {
370
- dataSet: {
371
- // currently, we can't set the actual ID here.
372
- // we don't need it right now, we just need to identify content divs for testing.
373
- "builder-content-id": "",
374
- },
375
- }
376
- : {},
377
- isNonEvent
378
- )}
379
- {...hideContent
380
- ? {
286
+ {...{}}
287
+ {...showContent
288
+ ? {}
289
+ : {
381
290
  hidden: true,
382
291
  "aria-hidden": true,
383
- }
384
- : {}}
292
+ }}
385
293
  class={classNameProp}
386
- use:setAttrs={filterAttrs(
387
- TARGET === "reactNative"
388
- ? {
389
- dataSet: {
390
- // currently, we can't set the actual ID here.
391
- // we don't need it right now, we just need to identify content divs for testing.
392
- "builder-content-id": "",
393
- },
394
- }
395
- : {},
396
- isEvent
397
- )}
398
294
  >
399
- {#if isSsrAbTest}
400
- <svelte:element this={"script"}>{@html scriptStr}</svelte:element>
401
- {/if}
402
-
403
- {#if TARGET !== "reactNative"}
404
- <RenderContentStyles
405
- contentId={$builderContextSignal.content?.id}
406
- cssCode={$builderContextSignal.content?.data?.cssCode}
407
- customFonts={$builderContextSignal.content?.data?.customFonts}
408
- />
409
- {/if}
410
- <RenderBlocks
411
- blocks={$builderContextSignal.content?.data?.blocks}
412
- key={forceReRenderCount}
413
- />
295
+ <slot />
414
296
  </div>
415
297
  {/if}
@@ -0,0 +1,36 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ type BuilderEditorProps = Omit<ContentProps, "customComponents" | "data" | "apiVersion" | "isSsrAbTest"> & {
3
+ builderContextSignal: Writable<BuilderContextInterface>;
4
+ setBuilderContextSignal?: (signal: any) => any;
5
+ children?: any;
6
+ };
7
+ import type { BuilderContextInterface } from "../../../context/types.js";
8
+ import type { ContentProps } from "../content.types.js";
9
+ import type { Writable } from "svelte/store";
10
+ declare const __propDef: {
11
+ props: {
12
+ canTrack: BuilderEditorProps["canTrack"];
13
+ builderContextSignal: BuilderEditorProps["builderContextSignal"];
14
+ model: BuilderEditorProps["model"];
15
+ context: BuilderEditorProps["context"];
16
+ apiKey: BuilderEditorProps["apiKey"];
17
+ showContent: BuilderEditorProps["showContent"];
18
+ classNameProp: BuilderEditorProps["classNameProp"];
19
+ content: BuilderEditorProps["content"];
20
+ locale: BuilderEditorProps["locale"];
21
+ includeRefs: BuilderEditorProps["includeRefs"];
22
+ enrich: BuilderEditorProps["enrich"];
23
+ };
24
+ events: {
25
+ [evt: string]: CustomEvent<any>;
26
+ };
27
+ slots: {
28
+ default: {};
29
+ };
30
+ };
31
+ export type EnableEditorProps = typeof __propDef.props;
32
+ export type EnableEditorEvents = typeof __propDef.events;
33
+ export type EnableEditorSlots = typeof __propDef.slots;
34
+ export default class EnableEditor extends SvelteComponentTyped<EnableEditorProps, EnableEditorEvents, EnableEditorSlots> {
35
+ }
36
+ export {};
@@ -9,7 +9,7 @@ export interface CustomFont {
9
9
  export declare const getFontCss: ({ customFonts }: {
10
10
  customFonts?: CustomFont[] | undefined;
11
11
  }) => string;
12
- export declare const getCss: ({ cssCode, contentId, }: {
12
+ export declare const getCss: ({ cssCode, contentId }: {
13
13
  cssCode?: string | undefined;
14
14
  contentId?: string | undefined;
15
15
  }) => string;
@@ -1,7 +1,6 @@
1
1
  const getCssFromFont = (font) => {
2
2
  // TODO: compute what font sizes are used and only load those.......
3
- const family = font.family +
4
- (font.kind && !font.kind.includes('#') ? ', ' + font.kind : '');
3
+ const family = font.family + (font.kind && !font.kind.includes('#') ? ', ' + font.kind : '');
5
4
  const name = family.split(',')[0];
6
5
  const url = font.fileUrl ?? font?.files?.regular;
7
6
  let str = '';
@@ -43,9 +42,9 @@ export const getFontCss = ({ customFonts }) => {
43
42
  // return '';
44
43
  // }
45
44
  // TODO: separate internal data from external
46
- return customFonts?.map((font) => getCssFromFont(font))?.join(' ') || '';
45
+ return customFonts?.map(font => getCssFromFont(font))?.join(' ') || '';
47
46
  };
48
- export const getCss = ({ cssCode, contentId, }) => {
47
+ export const getCss = ({ cssCode, contentId }) => {
49
48
  if (!cssCode) {
50
49
  return '';
51
50
  }
@@ -1,8 +1,8 @@
1
1
  <script context="module"></script>
2
2
 
3
- <script>import RenderInlinedStyles from "../../render-inlined-styles.svelte";
4
- import { getCss } from "./render-styles.helpers";
5
- import { getFontCss } from "./render-styles.helpers";
3
+ <script>import InlinedStyles from "../../inlined-styles.svelte";
4
+ import { getCss } from "./styles.helpers.js";
5
+ import { getFontCss } from "./styles.helpers.js";
6
6
  export let cssCode;
7
7
  export let contentId;
8
8
  export let customFonts;
@@ -30,4 +30,4 @@ ${getFontCss({
30
30
  `.trim();
31
31
  </script>
32
32
 
33
- <RenderInlinedStyles styles={injectedStyles} />
33
+ <InlinedStyles styles={injectedStyles} />
@@ -4,7 +4,7 @@ interface Props {
4
4
  customFonts?: CustomFont[];
5
5
  contentId?: string;
6
6
  }
7
- import type { CustomFont } from "./render-styles.helpers";
7
+ import type { CustomFont } from "./styles.helpers.js";
8
8
  declare const __propDef: {
9
9
  props: {
10
10
  cssCode: Props["cssCode"];
@@ -16,9 +16,9 @@ declare const __propDef: {
16
16
  };
17
17
  slots: {};
18
18
  };
19
- export type RenderStylesProps = typeof __propDef.props;
20
- export type RenderStylesEvents = typeof __propDef.events;
21
- export type RenderStylesSlots = typeof __propDef.slots;
22
- export default class RenderStyles extends SvelteComponentTyped<RenderStylesProps, RenderStylesEvents, RenderStylesSlots> {
19
+ export type StylesProps = typeof __propDef.props;
20
+ export type StylesEvents = typeof __propDef.events;
21
+ export type StylesSlots = typeof __propDef.slots;
22
+ export default class Styles extends SvelteComponentTyped<StylesProps, StylesEvents, StylesSlots> {
23
23
  }
24
24
  export {};
@@ -0,0 +1,7 @@
1
+ import type { BuilderContent } from '../../types/builder-content.js';
2
+ import type { Nullable } from '../../types/typescript.js';
3
+ import type { ContentProps } from './content.types.js';
4
+ export declare const getContextStateInitialValue: ({ content, data, locale }: Pick<ContentProps, 'content' | 'data' | 'locale'>) => {
5
+ [x: string]: unknown;
6
+ };
7
+ export declare const getContentInitialValue: ({ content, data }: Pick<ContentProps, 'content' | 'data'>) => Nullable<BuilderContent>;
@@ -0,0 +1,30 @@
1
+ export const getContextStateInitialValue = ({ content, data, locale }) => {
2
+ const defaultValues = {};
3
+ // set default values for content state inputs
4
+ content?.data?.inputs?.forEach(input => {
5
+ if (input.name && input.defaultValue !== undefined && content?.data?.state && content.data.state[input.name] === undefined) {
6
+ defaultValues[input.name] = input.defaultValue;
7
+ }
8
+ });
9
+ const stateToUse = {
10
+ ...content?.data?.state,
11
+ ...data,
12
+ ...(locale ? {
13
+ locale
14
+ } : {})
15
+ };
16
+ return {
17
+ ...defaultValues,
18
+ ...stateToUse
19
+ };
20
+ };
21
+ export const getContentInitialValue = ({ content, data }) => {
22
+ return !content ? undefined : {
23
+ ...content,
24
+ data: {
25
+ ...content?.data,
26
+ ...data
27
+ },
28
+ meta: content?.meta
29
+ };
30
+ };
@@ -0,0 +1,113 @@
1
+ <script>import { writable } from "svelte/store";
2
+ import { getDefaultRegisteredComponents } from "../../constants/builder-registered-components.js";
3
+ import { components, serializeComponentInfo, } from "../../functions/register-component.js";
4
+ import Blocks from "../blocks/blocks.svelte";
5
+ import ContentStyles from "./components/styles.svelte";
6
+ import { getContentInitialValue, getContextStateInitialValue, } from "./content.helpers.js";
7
+ import { TARGET } from "../../constants/target.js";
8
+ import { getRenderContentScriptString } from "../content-variants/helpers.js";
9
+ import EnableEditor from "./components/enable-editor.svelte";
10
+ import InlinedScript from "../inlined-script.svelte";
11
+ import "./wrap-component-ref.js";
12
+ export let content;
13
+ export let customComponents;
14
+ export let data;
15
+ export let locale;
16
+ export let context;
17
+ export let apiKey;
18
+ export let apiVersion;
19
+ export let model;
20
+ export let canTrack;
21
+ export let includeRefs;
22
+ export let enrich;
23
+ export let classNameProp;
24
+ export let showContent;
25
+ export let isSsrAbTest;
26
+ function contentSetState(newRootState) {
27
+ $builderContextSignal.rootState = newRootState;
28
+ }
29
+ let scriptStr = getRenderContentScriptString({
30
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
31
+ variationId: content?.testVariationId,
32
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
33
+ contentId: content?.id,
34
+ });
35
+ let registeredComponents = [
36
+ ...getDefaultRegisteredComponents(),
37
+ // While this `components` object is deprecated, we must maintain support for it.
38
+ // Since users are able to override our default components, we need to make sure that we do not break such
39
+ // existing usage.
40
+ // This is why we spread `components` after the default Builder.io components, but before the `props.customComponents`,
41
+ // which is the new standard way of providing custom components, and must therefore take precedence.
42
+ ...components,
43
+ ...(customComponents || []),
44
+ ].reduce((acc, { component, ...info }) => ({
45
+ ...acc,
46
+ [info.name]: {
47
+ component: component,
48
+ ...serializeComponentInfo(info),
49
+ },
50
+ }), {});
51
+ let builderContextSignal = writable({
52
+ content: getContentInitialValue({
53
+ content: content,
54
+ data: data,
55
+ }),
56
+ localState: undefined,
57
+ rootState: getContextStateInitialValue({
58
+ content: content,
59
+ data: data,
60
+ locale: locale,
61
+ }),
62
+ rootSetState: contentSetState,
63
+ context: context || {},
64
+ apiKey: apiKey,
65
+ apiVersion: apiVersion,
66
+ componentInfos: [
67
+ ...getDefaultRegisteredComponents(),
68
+ // While this `components` object is deprecated, we must maintain support for it.
69
+ // Since users are able to override our default components, we need to make sure that we do not break such
70
+ // existing usage.
71
+ // This is why we spread `components` after the default Builder.io components, but before the `props.customComponents`,
72
+ // which is the new standard way of providing custom components, and must therefore take precedence.
73
+ ...components,
74
+ ...(customComponents || []),
75
+ ].reduce((acc, { component: _, ...info }) => ({
76
+ ...acc,
77
+ [info.name]: serializeComponentInfo(info),
78
+ }), {}),
79
+ inheritedStyles: {},
80
+ });
81
+ </script>
82
+
83
+ <EnableEditor
84
+ {content}
85
+ {model}
86
+ {context}
87
+ {apiKey}
88
+ {canTrack}
89
+ {locale}
90
+ {includeRefs}
91
+ {enrich}
92
+ {classNameProp}
93
+ {showContent}
94
+ {builderContextSignal}
95
+ {...{}}
96
+ >
97
+ {#if isSsrAbTest}
98
+ <InlinedScript {scriptStr} />
99
+ {/if}
100
+
101
+ {#if TARGET !== "reactNative"}
102
+ <ContentStyles
103
+ contentId={$builderContextSignal.content?.id}
104
+ cssCode={$builderContextSignal.content?.data?.cssCode}
105
+ customFonts={$builderContextSignal.content?.data?.customFonts}
106
+ />
107
+ {/if}
108
+ <Blocks
109
+ blocks={$builderContextSignal.content?.data?.blocks}
110
+ context={builderContextSignal}
111
+ {registeredComponents}
112
+ />
113
+ </EnableEditor>
@@ -0,0 +1,30 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { ContentProps } from "./content.types.js";
3
+ declare const __propDef: {
4
+ props: {
5
+ content: ContentProps["content"];
6
+ customComponents: ContentProps["customComponents"];
7
+ data: ContentProps["data"];
8
+ locale: ContentProps["locale"];
9
+ context: ContentProps["context"];
10
+ apiKey: ContentProps["apiKey"];
11
+ apiVersion: ContentProps["apiVersion"];
12
+ model: ContentProps["model"];
13
+ canTrack: ContentProps["canTrack"];
14
+ includeRefs: ContentProps["includeRefs"];
15
+ enrich: ContentProps["enrich"];
16
+ classNameProp: ContentProps["classNameProp"];
17
+ showContent: ContentProps["showContent"];
18
+ isSsrAbTest: ContentProps["isSsrAbTest"];
19
+ };
20
+ events: {
21
+ [evt: string]: CustomEvent<any>;
22
+ };
23
+ slots: {};
24
+ };
25
+ export type ContentProps = typeof __propDef.props;
26
+ export type ContentEvents = typeof __propDef.events;
27
+ export type ContentSlots = typeof __propDef.slots;
28
+ export default class Content extends SvelteComponentTyped<ContentProps, ContentEvents, ContentSlots> {
29
+ }
30
+ export {};
@@ -0,0 +1,24 @@
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
+ }
24
+ export {};
@@ -0,0 +1 @@
1
+ export { default } from './content.svelte';
@@ -0,0 +1 @@
1
+ export { default } from './content.svelte';