@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,25 +1,21 @@
1
1
  <script context="module" lang="ts">
2
- export type RenderBlockProps = {
3
- blocks?: BuilderBlock[];
4
- parent?: string;
5
- path?: string;
6
- styleProp?: Record<string, any>;
2
+ export type BlocksWrapperProps = {
3
+ blocks: BuilderBlock[] | undefined;
4
+ parent: string | undefined;
5
+ path: string | undefined;
6
+ styleProp: Record<string, any> | undefined;
7
7
  };
8
8
  </script>
9
9
 
10
10
  <script lang="ts">
11
- import { getContext } from "svelte";
11
+ import { isEditing } from "../../functions/is-editing.js";
12
+ import type { BuilderBlock } from "../../types/builder-block.js";
13
+ import type { PropsWithChildren } from "../../types/typescript.js";
12
14
 
13
- import BuilderContext from "../context/builder.context.js";
14
- import { isEditing } from "../functions/is-editing.js";
15
- import type { BuilderBlock } from "../types/builder-block.js";
16
- import BlockStyles from "./render-block/block-styles.svelte";
17
- import RenderBlock from "./render-block/render-block.svelte";
18
-
19
- export let blocks: RenderBlockProps["blocks"];
20
- export let parent: RenderBlockProps["parent"];
21
- export let path: RenderBlockProps["path"];
22
- export let styleProp: RenderBlockProps["styleProp"];
15
+ export let blocks: PropsWithChildren<BlocksWrapperProps>["blocks"];
16
+ export let parent: PropsWithChildren<BlocksWrapperProps>["parent"];
17
+ export let path: PropsWithChildren<BlocksWrapperProps>["path"];
18
+ export let styleProp: PropsWithChildren<BlocksWrapperProps>["styleProp"];
23
19
 
24
20
  function mitosis_styling(node, vars) {
25
21
  Object.entries(vars || {}).forEach(([p, v]) => {
@@ -31,8 +27,6 @@
31
27
  });
32
28
  }
33
29
 
34
- let builderContext = getContext(BuilderContext.key);
35
-
36
30
  function onClick() {
37
31
  if (isEditing() && !blocks?.length) {
38
32
  window.parent?.postMessage(
@@ -71,9 +65,7 @@
71
65
  class={className() + " div"}
72
66
  builder-path={path}
73
67
  builder-parent-id={parent}
74
- dataSet={{
75
- class: className(),
76
- }}
68
+ {...{}}
77
69
  on:click={(event) => {
78
70
  onClick();
79
71
  }}
@@ -84,17 +76,7 @@
84
76
  onClick();
85
77
  }}
86
78
  >
87
- {#if blocks}
88
- {#each blocks as block ("render-block-" + block.id)}
89
- <RenderBlock {block} context={builderContext} />
90
- {/each}
91
- {/if}
92
-
93
- {#if blocks}
94
- {#each blocks as block ("block-style-" + block.id)}
95
- <BlockStyles {block} context={$builderContext} />
96
- {/each}
97
- {/if}
79
+ <slot />
98
80
  </div>
99
81
 
100
82
  <style>
@@ -0,0 +1,39 @@
1
+ <script context="module" lang="ts">
2
+ export type BlocksProps = Partial<BlocksWrapperProps> & {
3
+ context: Writable<BuilderContextInterface>;
4
+ registeredComponents: RegisteredComponents;
5
+ };
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import BlockStyles from "../block/components/block-styles.svelte";
10
+ import Block from "../block/block.svelte";
11
+ import type { BlocksWrapperProps } from "./blocks-wrapper.svelte";
12
+ import BlocksWrapper from "./blocks-wrapper.svelte";
13
+ import type {
14
+ BuilderContextInterface,
15
+ RegisteredComponents,
16
+ } from "../../context/types.js";
17
+ import type { Writable } from "svelte/store";
18
+
19
+ export let blocks: BlocksProps["blocks"];
20
+ export let parent: BlocksProps["parent"];
21
+ export let path: BlocksProps["path"];
22
+ export let styleProp: BlocksProps["styleProp"];
23
+ export let context: BlocksProps["context"];
24
+ export let registeredComponents: BlocksProps["registeredComponents"];
25
+ </script>
26
+
27
+ <BlocksWrapper {blocks} {parent} {path} {styleProp}>
28
+ {#if blocks}
29
+ {#each blocks as block ("render-block-" + block.id)}
30
+ <Block {block} {context} {registeredComponents} />
31
+ {/each}
32
+ {/if}
33
+
34
+ {#if blocks}
35
+ {#each blocks as block ("block-style-" + block.id)}
36
+ <BlockStyles {block} context={$context} />
37
+ {/each}
38
+ {/if}
39
+ </BlocksWrapper>
@@ -1,98 +1,58 @@
1
+ <script context="module" lang="ts">
2
+ type BuilderEditorProps = Omit<
3
+ ContentProps,
4
+ "customComponents" | "data" | "apiVersion" | "isSsrAbTest"
5
+ > & {
6
+ builderContextSignal: Writable<BuilderContextInterface>;
7
+ setBuilderContextSignal?: (signal: any) => any;
8
+ children?: any;
9
+ };
10
+ </script>
11
+
1
12
  <script lang="ts">
2
13
  import { onDestroy, onMount, setContext } from "svelte";
3
- import { writable } from "svelte/store";
4
14
 
5
- import { getDefaultRegisteredComponents } from "../../constants/builder-registered-components.js";
6
- import type {
7
- BuilderRenderState,
8
- RegisteredComponent,
9
- RegisteredComponents,
10
- } from "../../context/types.js";
11
- import { evaluate } from "../../functions/evaluate.js";
12
- import { getContent } from "../../functions/get-content/index.js";
13
- import { fetch } from "../../functions/get-fetch.js";
14
- import { isBrowser } from "../../functions/is-browser.js";
15
- import { isEditing } from "../../functions/is-editing.js";
16
- import { isPreviewing } from "../../functions/is-previewing.js";
17
- import {
18
- components,
19
- createRegisterComponentMessage,
20
- } from "../../functions/register-component.js";
21
- import { _track } from "../../functions/track/index.js";
22
- import type {
23
- Breakpoints,
24
- BuilderContent,
25
- } from "../../types/builder-content.js";
26
- import type { Nullable } from "../../types/typescript.js";
27
- import RenderBlocks from "../render-blocks.svelte";
28
- import RenderContentStyles from "./components/render-styles.svelte";
29
- import builderContext from "../../context/builder.context.js";
15
+ import type { BuilderContextInterface } from "../../../context/types.js";
16
+ import { evaluate } from "../../../functions/evaluate";
17
+ import { fetch } from "../../../functions/get-fetch.js";
18
+ import { isBrowser } from "../../../functions/is-browser.js";
19
+ import { isEditing } from "../../../functions/is-editing.js";
20
+ import { createRegisterComponentMessage } from "../../../functions/register-component.js";
21
+ import { _track } from "../../../functions/track/index.js";
22
+ import builderContext from "../../../context/builder.context";
30
23
  import {
31
24
  registerInsertMenu,
32
25
  setupBrowserForEditing,
33
- } from "../../scripts/init-editing.js";
34
- import { checkIsDefined } from "../../helpers/nullable.js";
35
- import { getInteractionPropertiesForEvent } from "../../functions/track/interaction.js";
26
+ } from "../../../scripts/init-editing.js";
27
+ import { checkIsDefined } from "../../../helpers/nullable.js";
28
+ import { getInteractionPropertiesForEvent } from "../../../functions/track/interaction.js";
36
29
  import type {
37
- RenderContentProps,
30
+ ContentProps,
38
31
  BuilderComponentStateChange,
39
- } from "./render-content.types.js";
40
- import {
41
- getContentInitialValue,
42
- getContextStateInitialValue,
43
- } from "./render-content.helpers.js";
44
- import { TARGET } from "../../constants/target.js";
45
- import { logger } from "../../helpers/logger.js";
46
- import { getRenderContentScriptString } from "../render-content-variants/helpers.js";
47
- import { wrapComponentRef } from "./wrap-component-ref.js";
32
+ } from "../content.types.js";
33
+ import { logger } from "../../../helpers/logger.js";
34
+ import type { ComponentInfo } from "../../../types/components.js";
35
+ import { getContent } from "../../../functions/get-content/index.js";
36
+ import { isPreviewing } from "../../../functions/is-previewing.js";
37
+ import type { BuilderContent } from "../../../types/builder-content.js";
38
+ import { postPreviewContent } from "../../../helpers/preview-lru-cache/set.js";
39
+ import type { Writable } from "svelte/store";
48
40
 
49
- const isEvent = (attr) => attr.startsWith("on:");
50
- const isNonEvent = (attr) => !attr.startsWith("on:");
51
- const filterAttrs = (attrs = {}, filter) => {
52
- const validAttr = {};
53
- Object.keys(attrs).forEach((attr) => {
54
- if (filter(attr)) {
55
- validAttr[attr] = attrs[attr];
56
- }
57
- });
58
- return validAttr;
59
- };
60
- const setAttrs = (node, attrs = {}) => {
61
- const attrKeys = Object.keys(attrs);
62
- const setup = (attr) => node.addEventListener(attr.substr(3), attrs[attr]);
63
- const teardown = (attr) =>
64
- node.removeEventListener(attr.substr(3), attrs[attr]);
65
- attrKeys.map(setup);
66
- return {
67
- update(attrs = {}) {
68
- const attrKeys = Object.keys(attrs);
69
- attrKeys.map(teardown);
70
- attrKeys.map(setup);
71
- },
72
- destroy() {
73
- attrKeys.map(teardown);
74
- },
75
- };
76
- };
41
+ export let canTrack: BuilderEditorProps["canTrack"];
42
+ export let builderContextSignal: BuilderEditorProps["builderContextSignal"];
43
+ export let model: BuilderEditorProps["model"];
44
+ export let context: BuilderEditorProps["context"];
45
+ export let apiKey: BuilderEditorProps["apiKey"];
46
+ export let showContent: BuilderEditorProps["showContent"];
47
+ export let classNameProp: BuilderEditorProps["classNameProp"];
77
48
 
78
- export let canTrack: RenderContentProps["canTrack"];
79
- export let model: RenderContentProps["model"];
80
- export let context: RenderContentProps["context"];
81
- export let apiKey: RenderContentProps["apiKey"];
82
- export let content: RenderContentProps["content"];
83
- export let parentContentId: RenderContentProps["parentContentId"];
84
- export let data: RenderContentProps["data"];
85
- export let locale: RenderContentProps["locale"];
86
- export let apiVersion: RenderContentProps["apiVersion"];
87
- export let customComponents: RenderContentProps["customComponents"];
88
- export let hideContent: RenderContentProps["hideContent"];
89
- export let classNameProp: RenderContentProps["classNameProp"];
90
- export let isSsrAbTest: RenderContentProps["isSsrAbTest"];
91
- export let includeRefs: RenderContentProps["includeRefs"];
92
- export let enrich: RenderContentProps["enrich"];
49
+ export let content: BuilderEditorProps["content"];
50
+ export let locale: BuilderEditorProps["locale"];
51
+ export let includeRefs: BuilderEditorProps["includeRefs"];
52
+ export let enrich: BuilderEditorProps["enrich"];
93
53
 
94
54
  function mergeNewContent(newContent: BuilderContent) {
95
- $builderContextSignal.content = {
55
+ const newContentValue = {
96
56
  ...$builderContextSignal.content,
97
57
  ...newContent,
98
58
  data: {
@@ -107,18 +67,7 @@
107
67
  $builderContextSignal.content?.meta?.breakpoints,
108
68
  },
109
69
  };
110
- }
111
- function setBreakpoints(breakpoints: Breakpoints) {
112
- $builderContextSignal.content = {
113
- ...$builderContextSignal.content,
114
- meta: {
115
- ...$builderContextSignal.content?.meta,
116
- breakpoints,
117
- },
118
- };
119
- }
120
- function contentSetState(newRootState: BuilderRenderState) {
121
- $builderContextSignal.rootState = newRootState;
70
+ $builderContextSignal.content = newContentValue;
122
71
  }
123
72
  function processMessage(event: MessageEvent) {
124
73
  const { data } = event;
@@ -131,7 +80,11 @@
131
80
  return;
132
81
  }
133
82
  if (breakpoints) {
134
- setBreakpoints(breakpoints);
83
+ mergeNewContent({
84
+ meta: {
85
+ breakpoints,
86
+ },
87
+ });
135
88
  }
136
89
  forceReRenderCount = forceReRenderCount + 1; // This is a hack to force Qwik to re-render.
137
90
  break;
@@ -151,10 +104,6 @@
151
104
 
152
105
  break;
153
106
  }
154
- case "builder.patchUpdates": {
155
- // TODO
156
- break;
157
- }
158
107
  }
159
108
  }
160
109
  }
@@ -167,7 +116,7 @@
167
116
  context: context || {},
168
117
  localState: undefined,
169
118
  rootState: $builderContextSignal.rootState,
170
- rootSetState: contentSetState,
119
+ rootSetState: $builderContextSignal.rootSetState,
171
120
  });
172
121
  }
173
122
  }
@@ -196,7 +145,7 @@
196
145
  context: context || {},
197
146
  localState: undefined,
198
147
  rootState: $builderContextSignal.rootState,
199
- rootSetState: contentSetState,
148
+ rootSetState: $builderContextSignal.rootSetState,
200
149
  })
201
150
  );
202
151
  }
@@ -208,7 +157,8 @@
208
157
  ...$builderContextSignal.rootState,
209
158
  [key]: json,
210
159
  };
211
- contentSetState(newState);
160
+ $builderContextSignal.rootSetState?.(newState);
161
+ httpReqsData[key] = true;
212
162
  })
213
163
  .catch((err) => {
214
164
  console.error("error fetching dynamic data", url, err);
@@ -248,54 +198,12 @@
248
198
 
249
199
  let elementRef;
250
200
 
251
- let forceReRenderCount = 0;
252
- let overrideContent = null;
253
- let update = 0;
254
201
  let canTrackToUse = checkIsDefined(canTrack) ? canTrack : true;
202
+ let forceReRenderCount = 0;
203
+ let lastUpdated = 0;
204
+ let shouldSendResetCookie = false;
255
205
  let httpReqsData = {};
256
206
  let clicked = false;
257
- let scriptStr = getRenderContentScriptString({
258
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain
259
- contentId: content?.id!,
260
- parentContentId: parentContentId!,
261
- });
262
- let builderContextSignal = writable({
263
- content: getContentInitialValue({
264
- content: content,
265
- data: data,
266
- }),
267
- localState: undefined,
268
- rootState: getContextStateInitialValue({
269
- content: content,
270
- data: data,
271
- locale: locale,
272
- }),
273
- rootSetState: contentSetState,
274
- context: context || {},
275
- apiKey: apiKey,
276
- apiVersion: apiVersion,
277
- registeredComponents: [
278
- ...getDefaultRegisteredComponents(),
279
- // While this `components` object is deprecated, we must maintain support for it.
280
- // Since users are able to override our default components, we need to make sure that we do not break such
281
- // existing usage.
282
- // This is why we spread `components` after the default Builder.io components, but before the `props.customComponents`,
283
- // which is the new standard way of providing custom components, and must therefore take precedence.
284
- ...components,
285
- ...(customComponents || []),
286
- ].reduce(
287
- (acc, { component, ...curr }) => ({
288
- ...acc,
289
- [curr.name]: {
290
- component:
291
- TARGET === "vue3" ? wrapComponentRef(component) : component,
292
- ...curr,
293
- },
294
- }),
295
- {} as RegisteredComponents
296
- ),
297
- inheritedStyles: {},
298
- });
299
207
 
300
208
  onMount(() => {
301
209
  if (!apiKey) {
@@ -306,6 +214,7 @@
306
214
  if (isBrowser()) {
307
215
  if (isEditing()) {
308
216
  forceReRenderCount = forceReRenderCount + 1;
217
+ window.addEventListener("message", processMessage);
309
218
  registerInsertMenu();
310
219
  setupBrowserForEditing({
311
220
  ...(locale
@@ -324,13 +233,12 @@
324
233
  }
325
234
  : {}),
326
235
  });
327
- Object.values<RegisteredComponent>(
328
- $builderContextSignal.registeredComponents
236
+ Object.values<ComponentInfo>(
237
+ $builderContextSignal.componentInfos
329
238
  ).forEach((registeredComponent) => {
330
239
  const message = createRegisterComponentMessage(registeredComponent);
331
240
  window.parent?.postMessage(message, "*");
332
241
  });
333
- window.addEventListener("message", processMessage);
334
242
  window.addEventListener(
335
243
  "builder:component:stateChangeListenerActivated",
336
244
  emitStateUpdate
@@ -347,7 +255,6 @@
347
255
  variationId: variationId !== contentId ? variationId : undefined,
348
256
  });
349
257
  }
350
-
351
258
  // override normal content in preview mode
352
259
  if (isPreviewing()) {
353
260
  const searchParams = new URL(location.href).searchParams;
@@ -375,7 +282,7 @@
375
282
  getContent({
376
283
  model: model,
377
284
  apiKey: apiKey,
378
- apiVersion: apiVersion,
285
+ apiVersion: $builderContextSignal.apiVersion,
379
286
  }).then((content) => {
380
287
  if (content) {
381
288
  mergeNewContent(content);
@@ -395,23 +302,25 @@
395
302
  }
396
303
  }
397
304
  $: onUpdateFn_0(...[content]);
398
- function onUpdateFn_1(..._args: any[]) {
305
+ function onUpdateFn_1(..._args: any[]) {}
306
+ $: onUpdateFn_1(...[shouldSendResetCookie]);
307
+ function onUpdateFn_2(..._args: any[]) {
399
308
  evaluateJsCode();
400
309
  }
401
- $: onUpdateFn_1(
310
+ $: onUpdateFn_2(
402
311
  ...[
403
312
  $builderContextSignal.content?.data?.jsCode,
404
313
  $builderContextSignal.rootState,
405
314
  ]
406
315
  );
407
- function onUpdateFn_2(..._args: any[]) {
316
+ function onUpdateFn_3(..._args: any[]) {
408
317
  runHttpRequests();
409
318
  }
410
- $: onUpdateFn_2(...[$builderContextSignal.content?.data?.httpRequests]);
411
- function onUpdateFn_3(..._args: any[]) {
319
+ $: onUpdateFn_3(...[$builderContextSignal.content?.data?.httpRequests]);
320
+ function onUpdateFn_4(..._args: any[]) {
412
321
  emitStateUpdate();
413
322
  }
414
- $: onUpdateFn_3(...[$builderContextSignal.rootState]);
323
+ $: onUpdateFn_4(...[$builderContextSignal.rootState]);
415
324
 
416
325
  setContext(builderContext.key, builderContextSignal);
417
326
 
@@ -428,58 +337,22 @@
428
337
 
429
338
  {#if $builderContextSignal.content}
430
339
  <div
340
+ key={forceReRenderCount}
431
341
  bind:this={elementRef}
432
342
  on:click={(event) => {
433
343
  onClick(event);
434
344
  }}
435
345
  builder-content-id={$builderContextSignal.content?.id}
436
346
  builder-model={model}
437
- {...filterAttrs(
438
- TARGET === "reactNative"
439
- ? {
440
- dataSet: {
441
- // currently, we can't set the actual ID here.
442
- // we don't need it right now, we just need to identify content divs for testing.
443
- "builder-content-id": "",
444
- },
445
- }
446
- : {},
447
- isNonEvent
448
- )}
449
- {...hideContent
450
- ? {
347
+ {...{}}
348
+ {...showContent
349
+ ? {}
350
+ : {
451
351
  hidden: true,
452
352
  "aria-hidden": true,
453
- }
454
- : {}}
353
+ }}
455
354
  class={classNameProp}
456
- use:setAttrs={filterAttrs(
457
- TARGET === "reactNative"
458
- ? {
459
- dataSet: {
460
- // currently, we can't set the actual ID here.
461
- // we don't need it right now, we just need to identify content divs for testing.
462
- "builder-content-id": "",
463
- },
464
- }
465
- : {},
466
- isEvent
467
- )}
468
355
  >
469
- {#if isSsrAbTest}
470
- <svelte:element this={"script"}>{@html scriptStr}</svelte:element>
471
- {/if}
472
-
473
- {#if TARGET !== "reactNative"}
474
- <RenderContentStyles
475
- contentId={$builderContextSignal.content?.id}
476
- cssCode={$builderContextSignal.content?.data?.cssCode}
477
- customFonts={$builderContextSignal.content?.data?.customFonts}
478
- />
479
- {/if}
480
- <RenderBlocks
481
- blocks={$builderContextSignal.content?.data?.blocks}
482
- key={forceReRenderCount}
483
- />
356
+ <slot />
484
357
  </div>
485
358
  {/if}
@@ -6,12 +6,9 @@ export interface CustomFont {
6
6
  [key: string]: string;
7
7
  };
8
8
  }
9
-
10
9
  const getCssFromFont = (font: CustomFont) => {
11
10
  // TODO: compute what font sizes are used and only load those.......
12
- const family =
13
- font.family +
14
- (font.kind && !font.kind.includes('#') ? ', ' + font.kind : '');
11
+ const family = font.family + (font.kind && !font.kind.includes('#') ? ', ' + font.kind : '');
15
12
  const name = family.split(',')[0];
16
13
  const url = font.fileUrl ?? font?.files?.regular;
17
14
  let str = '';
@@ -25,7 +22,6 @@ font-weight: 400;
25
22
  }
26
23
  `.trim();
27
24
  }
28
-
29
25
  if (font.files) {
30
26
  for (const weight in font.files) {
31
27
  const isNumber = String(Number(weight)) === weight;
@@ -48,19 +44,21 @@ font-weight: ${weight};
48
44
  }
49
45
  return str;
50
46
  };
51
-
52
- export const getFontCss = ({ customFonts }: { customFonts?: CustomFont[] }) => {
47
+ export const getFontCss = ({
48
+ customFonts
49
+ }: {
50
+ customFonts?: CustomFont[];
51
+ }) => {
53
52
  // TODO: flag for this
54
53
  // if (!this.builder.allowCustomFonts) {
55
54
  // return '';
56
55
  // }
57
56
  // TODO: separate internal data from external
58
- return customFonts?.map((font) => getCssFromFont(font))?.join(' ') || '';
57
+ return customFonts?.map(font => getCssFromFont(font))?.join(' ') || '';
59
58
  };
60
-
61
59
  export const getCss = ({
62
60
  cssCode,
63
- contentId,
61
+ contentId
64
62
  }: {
65
63
  cssCode?: string;
66
64
  contentId?: string;
@@ -76,4 +74,4 @@ export const getCss = ({
76
74
  // E.g. `& .foobar { ... }` to scope CSS
77
75
  // TODO: handle if '&' is within a string like `content: "&"`
78
76
  return cssCode?.replace(/&/g, `div[builder-content-id="${contentId}"]`) || '';
79
- };
77
+ }
@@ -7,10 +7,10 @@
7
7
  </script>
8
8
 
9
9
  <script lang="ts">
10
- import RenderInlinedStyles from "../../render-inlined-styles.svelte";
11
- import type { CustomFont } from "./render-styles.helpers";
12
- import { getCss } from "./render-styles.helpers";
13
- import { getFontCss } from "./render-styles.helpers";
10
+ import InlinedStyles from "../../inlined-styles.svelte";
11
+ import type { CustomFont } from "./styles.helpers.js";
12
+ import { getCss } from "./styles.helpers.js";
13
+ import { getFontCss } from "./styles.helpers.js";
14
14
 
15
15
  export let cssCode: Props["cssCode"];
16
16
  export let contentId: Props["contentId"];
@@ -40,4 +40,4 @@ ${getFontCss({
40
40
  `.trim();
41
41
  </script>
42
42
 
43
- <RenderInlinedStyles styles={injectedStyles} />
43
+ <InlinedStyles styles={injectedStyles} />
@@ -0,0 +1,42 @@
1
+ import type { BuilderRenderState } from '../../context/types.js';
2
+ import type { BuilderContent } from '../../types/builder-content.js';
3
+ import type { Nullable } from '../../types/typescript.js';
4
+ import type { ContentProps } from './content.types.js';
5
+ export const getContextStateInitialValue = ({
6
+ content,
7
+ data,
8
+ locale
9
+ }: Pick<ContentProps, 'content' | 'data' | 'locale'>) => {
10
+ const defaultValues: BuilderRenderState = {};
11
+
12
+ // set default values for content state inputs
13
+ content?.data?.inputs?.forEach(input => {
14
+ if (input.name && input.defaultValue !== undefined && content?.data?.state && content.data.state[input.name] === undefined) {
15
+ defaultValues[input.name] = input.defaultValue;
16
+ }
17
+ });
18
+ const stateToUse: BuilderRenderState = {
19
+ ...content?.data?.state,
20
+ ...data,
21
+ ...(locale ? {
22
+ locale
23
+ } : {})
24
+ };
25
+ return {
26
+ ...defaultValues,
27
+ ...stateToUse
28
+ };
29
+ };
30
+ export const getContentInitialValue = ({
31
+ content,
32
+ data
33
+ }: Pick<ContentProps, 'content' | 'data'>): Nullable<BuilderContent> => {
34
+ return !content ? undefined : {
35
+ ...content,
36
+ data: {
37
+ ...content?.data,
38
+ ...data
39
+ },
40
+ meta: content?.meta
41
+ };
42
+ }