@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,12 +0,0 @@
1
- import type { BuilderContextInterface } from '../../context/types';
2
- import type { BuilderBlock } from '../../types/builder-block';
3
- import type { RepeatData } from './types';
4
- export declare const isEmptyHtmlElement: (tagName: unknown) => boolean;
5
- export declare const getComponent: ({ block, context, }: {
6
- block: BuilderBlock;
7
- context: BuilderContextInterface;
8
- }) => import("../../context/types").RegisteredComponent | null | undefined;
9
- export declare const getRepeatItemData: ({ block, context, }: {
10
- block: BuilderBlock;
11
- context: BuilderContextInterface;
12
- }) => RepeatData[] | undefined;
@@ -1,152 +0,0 @@
1
- <script context="module"></script>
2
-
3
- <script>import { writable } from "svelte/store";
4
- import { getBlockActions } from "../../functions/get-block-actions.js";
5
- import { getBlockComponentOptions } from "../../functions/get-block-component-options.js";
6
- import { getBlockProperties } from "../../functions/get-block-properties.js";
7
- import { getProcessedBlock } from "../../functions/get-processed-block.js";
8
- import BlockStyles from "./block-styles.svelte";
9
- import { getComponent, getRepeatItemData, isEmptyHtmlElement, } from "./render-block.helpers.js";
10
- import RenderRepeatedBlock from "./render-repeated-block.svelte";
11
- import { TARGET } from "../../constants/target.js";
12
- import "../../functions/extract-text-styles.js";
13
- import RenderComponent from "./render-component.svelte";
14
- import { getReactNativeBlockStyles } from "../../functions/get-react-native-block-styles.js";
15
- const setAttrs = (node, attrs = {}) => {
16
- const attrKeys = Object.keys(attrs);
17
- const setup = (attr) => node.addEventListener(attr.substr(3), attrs[attr]);
18
- const teardown = (attr) => node.removeEventListener(attr.substr(3), attrs[attr]);
19
- attrKeys.map(setup);
20
- return {
21
- update(attrs = {}) {
22
- const attrKeys = Object.keys(attrs);
23
- attrKeys.map(teardown);
24
- attrKeys.map(setup);
25
- },
26
- destroy() {
27
- attrKeys.map(teardown);
28
- },
29
- };
30
- };
31
- export let block;
32
- export let context;
33
- $: repeatItem = () => {
34
- return getRepeatItemData({
35
- block: block,
36
- context: $context,
37
- });
38
- };
39
- $: useBlock = () => {
40
- return repeatItem()
41
- ? block
42
- : getProcessedBlock({
43
- block: block,
44
- localState: $context.localState,
45
- rootState: $context.rootState,
46
- rootSetState: $context.rootSetState,
47
- context: $context.context,
48
- shouldEvaluateBindings: true,
49
- });
50
- };
51
- $: canShowBlock = () => {
52
- if ("hide" in useBlock()) {
53
- return !useBlock().hide;
54
- }
55
- if ("show" in useBlock()) {
56
- return useBlock().show;
57
- }
58
- return true;
59
- };
60
- $: actions = () => {
61
- return getBlockActions({
62
- block: useBlock(),
63
- rootState: $context.rootState,
64
- rootSetState: $context.rootSetState,
65
- localState: $context.localState,
66
- context: $context.context,
67
- });
68
- };
69
- $: attributes = () => {
70
- const blockProperties = getBlockProperties(useBlock());
71
- return {
72
- ...blockProperties,
73
- ...(TARGET === "reactNative"
74
- ? {
75
- style: getReactNativeBlockStyles({
76
- block: useBlock(),
77
- context: $context,
78
- blockStyles: blockProperties.style,
79
- }),
80
- }
81
- : {}),
82
- };
83
- };
84
- $: childrenWithoutParentComponent = () => {
85
- /**
86
- * When there is no `componentRef`, there might still be children that need to be rendered. In this case,
87
- * we render them outside of `componentRef`.
88
- * NOTE: We make sure not to render this if `repeatItemData` is non-null, because that means we are rendering an array of
89
- * blocks, and the children will be repeated within those blocks.
90
- */
91
- const shouldRenderChildrenOutsideRef = !component?.component && !repeatItem();
92
- return shouldRenderChildrenOutsideRef ? useBlock().children ?? [] : [];
93
- };
94
- $: renderComponentProps = () => {
95
- return {
96
- blockChildren: useBlock().children ?? [],
97
- componentRef: component?.component,
98
- componentOptions: {
99
- ...getBlockComponentOptions(useBlock()),
100
- /**
101
- * These attributes are passed to the wrapper element when there is one. If `noWrap` is set to true, then
102
- * they are provided to the component itself directly.
103
- */
104
- ...(!component?.noWrap
105
- ? {}
106
- : {
107
- attributes: {
108
- ...attributes(),
109
- ...actions(),
110
- },
111
- }),
112
- },
113
- context: childrenContext,
114
- };
115
- };
116
- let component = getComponent({
117
- block: block,
118
- context: $context,
119
- });
120
- let Tag = block.tagName || "div";
121
- let childrenContext = writable($context);
122
- </script>
123
-
124
- {#if canShowBlock()}
125
- {#if !component?.noWrap}
126
- {#if isEmptyHtmlElement(Tag)}
127
- <svelte:element this={Tag} {...attributes()} use:setAttrs={actions()} />
128
- {/if}
129
-
130
- {#if !isEmptyHtmlElement(Tag) && repeatItem()}
131
- {#each repeatItem() as data, index (index)}
132
- <RenderRepeatedBlock repeatContext={data.context} block={data.block} />
133
- {/each}
134
- {/if}
135
-
136
- {#if !isEmptyHtmlElement(Tag) && !repeatItem()}
137
- <svelte:element this={Tag} {...attributes()} use:setAttrs={actions()}>
138
- <RenderComponent {...renderComponentProps()} />
139
-
140
- {#each childrenWithoutParentComponent() as child ("render-block-" + child.id)}
141
- <svelte:self block={child} context={childrenContext} />
142
- {/each}
143
-
144
- {#each childrenWithoutParentComponent() as child ("block-style-" + child.id)}
145
- <BlockStyles block={child} context={$childrenContext} />
146
- {/each}
147
- </svelte:element>
148
- {/if}
149
- {:else}
150
- <RenderComponent {...renderComponentProps()} />
151
- {/if}
152
- {/if}
@@ -1,24 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- export type RenderBlockProps = {
3
- block: BuilderBlock;
4
- context: Writable<BuilderContextInterface>;
5
- };
6
- import type { BuilderContextInterface } from "../../context/types.js";
7
- import type { BuilderBlock } from "../../types/builder-block.js";
8
- import type { Writable } from "svelte/store";
9
- declare const __propDef: {
10
- props: {
11
- block: RenderBlockProps["block"];
12
- context: RenderBlockProps["context"];
13
- };
14
- events: {
15
- [evt: string]: CustomEvent<any>;
16
- };
17
- slots: {};
18
- };
19
- export type RenderBlockProps = typeof __propDef.props;
20
- export type RenderBlockEvents = typeof __propDef.events;
21
- export type RenderBlockSlots = typeof __propDef.slots;
22
- export default class RenderBlock extends SvelteComponentTyped<RenderBlockProps, RenderBlockEvents, RenderBlockSlots> {
23
- }
24
- export {};
@@ -1,21 +0,0 @@
1
- <script context="module"></script>
2
-
3
- <script>import BlockStyles from "./block-styles.svelte";
4
- import RenderBlock from "./render-block.svelte";
5
- export let componentRef;
6
- export let componentOptions;
7
- export let blockChildren;
8
- export let context;
9
- </script>
10
-
11
- {#if componentRef}
12
- <svelte:component this={componentRef} {...componentOptions}>
13
- {#each blockChildren as child ("render-block-" + child.id)}
14
- <RenderBlock block={child} {context} />
15
- {/each}
16
-
17
- {#each blockChildren as child ("block-style-" + child.id)}
18
- <BlockStyles block={child} context={$context} />
19
- {/each}
20
- </svelte:component>
21
- {/if}
@@ -1,34 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- type ComponentOptions = {
3
- [index: string]: any;
4
- attributes?: {
5
- [index: string]: any;
6
- };
7
- };
8
- export interface RenderComponentProps {
9
- componentRef: any;
10
- componentOptions: ComponentOptions;
11
- blockChildren: BuilderBlock[];
12
- context: Writable<BuilderContextInterface>;
13
- }
14
- import type { BuilderBlock } from "../../types/builder-block.js";
15
- import type { BuilderContextInterface } from "../../context/types.js";
16
- import type { Writable } from "svelte/store";
17
- declare const __propDef: {
18
- props: {
19
- componentRef: RenderComponentProps["componentRef"];
20
- componentOptions: RenderComponentProps["componentOptions"];
21
- blockChildren: RenderComponentProps["blockChildren"];
22
- context: RenderComponentProps["context"];
23
- };
24
- events: {
25
- [evt: string]: CustomEvent<any>;
26
- };
27
- slots: {};
28
- };
29
- export type RenderComponentProps = typeof __propDef.props;
30
- export type RenderComponentEvents = typeof __propDef.events;
31
- export type RenderComponentSlots = typeof __propDef.slots;
32
- export default class RenderComponent extends SvelteComponentTyped<RenderComponentProps, RenderComponentEvents, RenderComponentSlots> {
33
- }
34
- export {};
@@ -1,23 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- type Props = {
3
- block: BuilderBlock;
4
- repeatContext: BuilderContextInterface;
5
- };
6
- import type { BuilderContextInterface } from "../../context/types.js";
7
- import type { BuilderBlock } from "../../types/builder-block";
8
- declare const __propDef: {
9
- props: {
10
- repeatContext: Props["repeatContext"];
11
- block: Props["block"];
12
- };
13
- events: {
14
- [evt: string]: CustomEvent<any>;
15
- };
16
- slots: {};
17
- };
18
- export type RenderRepeatedBlockProps = typeof __propDef.props;
19
- export type RenderRepeatedBlockEvents = typeof __propDef.events;
20
- export type RenderRepeatedBlockSlots = typeof __propDef.slots;
21
- export default class RenderRepeatedBlock extends SvelteComponentTyped<RenderRepeatedBlockProps, RenderRepeatedBlockEvents, RenderRepeatedBlockSlots> {
22
- }
23
- export {};
@@ -1,26 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- export type RenderBlockProps = {
3
- blocks?: BuilderBlock[];
4
- parent?: string;
5
- path?: string;
6
- styleProp?: Record<string, any>;
7
- };
8
- import type { BuilderBlock } from "../types/builder-block.js";
9
- declare const __propDef: {
10
- props: {
11
- blocks: RenderBlockProps["blocks"];
12
- parent: RenderBlockProps["parent"];
13
- path: RenderBlockProps["path"];
14
- styleProp: RenderBlockProps["styleProp"];
15
- };
16
- events: {
17
- [evt: string]: CustomEvent<any>;
18
- };
19
- slots: {};
20
- };
21
- export type RenderBlocksProps = typeof __propDef.props;
22
- export type RenderBlocksEvents = typeof __propDef.events;
23
- export type RenderBlocksSlots = typeof __propDef.slots;
24
- export default class RenderBlocks extends SvelteComponentTyped<RenderBlocksProps, RenderBlocksEvents, RenderBlocksSlots> {
25
- }
26
- export {};
@@ -1,4 +0,0 @@
1
- <script>"use strict";
2
- </script>
3
-
4
- <div />
@@ -1,14 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: Record<string, never>;
4
- events: {
5
- [evt: string]: CustomEvent<any>;
6
- };
7
- slots: {};
8
- };
9
- export type BuilderEditingProps = typeof __propDef.props;
10
- export type BuilderEditingEvents = typeof __propDef.events;
11
- export type BuilderEditingSlots = typeof __propDef.slots;
12
- export default class BuilderEditing extends SvelteComponentTyped<BuilderEditingProps, BuilderEditingEvents, BuilderEditingSlots> {
13
- }
14
- export {};
@@ -1 +0,0 @@
1
- export { default } from './render-content.svelte';
@@ -1 +0,0 @@
1
- export { default } from './render-content.svelte';
@@ -1,7 +0,0 @@
1
- import type { BuilderContent } from '../../types/builder-content';
2
- import type { Nullable } from '../../types/typescript';
3
- import type { RenderContentProps } from './render-content.types';
4
- export declare const getContextStateInitialValue: ({ content, data, locale, }: Pick<RenderContentProps, 'content' | 'data' | 'locale'>) => {
5
- [x: string]: unknown;
6
- };
7
- export declare const getContentInitialValue: ({ content, data, }: Pick<RenderContentProps, 'content' | 'data'>) => Nullable<BuilderContent>;
@@ -1,30 +0,0 @@
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 &&
6
- input.defaultValue !== undefined &&
7
- content?.data?.state &&
8
- content.data.state[input.name] === undefined) {
9
- defaultValues[input.name] = input.defaultValue;
10
- }
11
- });
12
- const stateToUse = {
13
- ...content?.data?.state,
14
- ...data,
15
- ...(locale ? { locale } : {}),
16
- };
17
- return { ...defaultValues, ...stateToUse };
18
- };
19
- export const getContentInitialValue = ({ content, data, }) => {
20
- return !content
21
- ? undefined
22
- : {
23
- ...content,
24
- data: {
25
- ...content?.data,
26
- ...data,
27
- },
28
- meta: content?.meta,
29
- };
30
- };
@@ -1,31 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { RenderContentProps } from "./render-content.types.js";
3
- declare const __propDef: {
4
- props: {
5
- canTrack: RenderContentProps["canTrack"];
6
- model: RenderContentProps["model"];
7
- context: RenderContentProps["context"];
8
- apiKey: RenderContentProps["apiKey"];
9
- content: RenderContentProps["content"];
10
- parentContentId: RenderContentProps["parentContentId"];
11
- data: RenderContentProps["data"];
12
- locale: RenderContentProps["locale"];
13
- apiVersion: RenderContentProps["apiVersion"];
14
- customComponents: RenderContentProps["customComponents"];
15
- hideContent: RenderContentProps["hideContent"];
16
- classNameProp: RenderContentProps["classNameProp"];
17
- isSsrAbTest: RenderContentProps["isSsrAbTest"];
18
- includeRefs: RenderContentProps["includeRefs"];
19
- enrich: RenderContentProps["enrich"];
20
- };
21
- events: {
22
- [evt: string]: CustomEvent<any>;
23
- };
24
- slots: {};
25
- };
26
- export type RenderContentProps = typeof __propDef.props;
27
- export type RenderContentEvents = typeof __propDef.events;
28
- export type RenderContentSlots = typeof __propDef.slots;
29
- export default class RenderContent extends SvelteComponentTyped<RenderContentProps, RenderContentEvents, RenderContentSlots> {
30
- }
31
- export {};
@@ -1,38 +0,0 @@
1
- import type { BuilderRenderContext, RegisteredComponent, BuilderRenderState } from '../../context/types';
2
- import type { BuilderContent } from '../../types/builder-content';
3
- import type { Nullable } from '../../types/typescript';
4
- import type { ApiVersion } from '../../types/api-version';
5
- export interface RenderContentProps {
6
- content?: Nullable<BuilderContent>;
7
- model?: string;
8
- data?: {
9
- [key: string]: any;
10
- };
11
- context?: BuilderRenderContext;
12
- apiKey: string;
13
- apiVersion?: ApiVersion;
14
- customComponents?: RegisteredComponent[];
15
- canTrack?: boolean;
16
- locale?: string;
17
- /** @deprecated use `enrich` instead **/
18
- includeRefs?: boolean;
19
- enrich?: boolean;
20
- /**
21
- * TO-DO: improve qwik generator to not remap this name for non-HTML tags, then name it `className`
22
- */
23
- classNameProp?: string;
24
- hideContent?: boolean;
25
- parentContentId?: string;
26
- isSsrAbTest?: boolean;
27
- }
28
- export interface BuilderComponentStateChange {
29
- state: BuilderRenderState;
30
- ref: {
31
- name?: string;
32
- props?: {
33
- builderBlock?: {
34
- id?: string;
35
- };
36
- };
37
- };
38
- }
@@ -1,17 +0,0 @@
1
- import type { Nullable } from '../../helpers/nullable';
2
- import type { BuilderContent } from '../../types/builder-content';
3
- export declare const getVariants: (content: Nullable<BuilderContent>) => import("../../types/builder-content").BuilderContentVariation[];
4
- export declare const checkShouldRunVariants: ({ canTrack, content, }: {
5
- canTrack: Nullable<boolean>;
6
- content: Nullable<BuilderContent>;
7
- }) => boolean;
8
- type VariantData = {
9
- id: string;
10
- testRatio?: number;
11
- };
12
- export declare const getVariantsScriptString: (variants: VariantData[], contentId: string) => string;
13
- export declare const getRenderContentScriptString: ({ parentContentId, contentId, }: {
14
- contentId: string;
15
- parentContentId: string;
16
- }) => string;
17
- export {};
@@ -1,70 +0,0 @@
1
- <script context="module"></script>
2
-
3
- <script>import { checkShouldRunVariants, getVariants, getVariantsScriptString, } from "./helpers";
4
- import RenderContent from "../render-content/render-content.svelte";
5
- import { getDefaultCanTrack } from "../../helpers/canTrack";
6
- import RenderInlinedStyles from "../render-inlined-styles.svelte";
7
- import { handleABTestingSync } from "../../helpers/ab-tests";
8
- export let content;
9
- export let canTrack;
10
- export let apiKey;
11
- export let apiVersion;
12
- export let customComponents;
13
- export let model;
14
- let variantScriptStr = getVariantsScriptString(getVariants(content).map((value) => ({
15
- id: value.id,
16
- testRatio: value.testRatio,
17
- })), content?.id || "");
18
- let shouldRenderVariants = checkShouldRunVariants({
19
- canTrack: getDefaultCanTrack(canTrack),
20
- content: content,
21
- });
22
- let hideVariantsStyleString = getVariants(content)
23
- .map((value) => `.variant-${value.id} { display: none; } `)
24
- .join("");
25
- let contentToRender = checkShouldRunVariants({
26
- canTrack: getDefaultCanTrack(canTrack),
27
- content: content,
28
- })
29
- ? content
30
- : handleABTestingSync({
31
- item: content,
32
- canTrack: getDefaultCanTrack(canTrack),
33
- });
34
- </script>
35
-
36
- {#if shouldRenderVariants}
37
- <RenderInlinedStyles
38
- id={`variants-styles-${content?.id}`}
39
- styles={hideVariantsStyleString}
40
- />
41
-
42
- <svelte:element this={"script"} id={`variants-script-${content?.id}`}
43
- >{@html variantScriptStr}</svelte:element
44
- >
45
-
46
- {#each getVariants(content) as variant (variant.id)}
47
- <RenderContent
48
- content={variant}
49
- {apiKey}
50
- {apiVersion}
51
- {canTrack}
52
- {customComponents}
53
- hideContent={true}
54
- parentContentId={content?.id}
55
- isSsrAbTest={shouldRenderVariants}
56
- />
57
- {/each}
58
- {/if}
59
-
60
- <RenderContent
61
- {model}
62
- content={contentToRender}
63
- {apiKey}
64
- {apiVersion}
65
- {canTrack}
66
- {customComponents}
67
- classNameProp={`variant-${content?.id}`}
68
- parentContentId={content?.id}
69
- isSsrAbTest={shouldRenderVariants}
70
- />
@@ -1,23 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- type VariantsProviderProps = RenderContentProps;
3
- import type { RenderContentProps } from "../render-content/render-content.types";
4
- declare const __propDef: {
5
- props: {
6
- content: VariantsProviderProps["content"];
7
- canTrack: VariantsProviderProps["canTrack"];
8
- apiKey: VariantsProviderProps["apiKey"];
9
- apiVersion: VariantsProviderProps["apiVersion"];
10
- customComponents: VariantsProviderProps["customComponents"];
11
- model: VariantsProviderProps["model"];
12
- };
13
- events: {
14
- [evt: string]: CustomEvent<any>;
15
- };
16
- slots: {};
17
- };
18
- export type RenderContentVariantsProps = typeof __propDef.props;
19
- export type RenderContentVariantsEvents = typeof __propDef.events;
20
- export type RenderContentVariantsSlots = typeof __propDef.slots;
21
- export default class RenderContentVariants extends SvelteComponentTyped<RenderContentVariantsProps, RenderContentVariantsEvents, RenderContentVariantsSlots> {
22
- }
23
- export {};
@@ -1,21 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- interface Props {
3
- styles: string;
4
- id?: string;
5
- }
6
- declare const __propDef: {
7
- props: {
8
- styles: Props["styles"];
9
- id: Props["id"];
10
- };
11
- events: {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {};
15
- };
16
- export type RenderInlinedStylesProps = typeof __propDef.props;
17
- export type RenderInlinedStylesEvents = typeof __propDef.events;
18
- export type RenderInlinedStylesSlots = typeof __propDef.slots;
19
- export default class RenderInlinedStyles extends SvelteComponentTyped<RenderInlinedStylesProps, RenderInlinedStylesEvents, RenderInlinedStylesSlots> {
20
- }
21
- export {};
@@ -1,17 +0,0 @@
1
- import { flattenState } from './evaluate';
2
- describe('flatten state', () => {
3
- it('should behave normally when no PROTO_STATE', () => {
4
- const localState = {};
5
- const rootState = { foo: 'bar' };
6
- const flattened = flattenState(rootState, localState, undefined);
7
- expect(flattened.foo).toEqual('bar');
8
- flattened.foo = 'baz';
9
- expect(rootState.foo).toEqual('baz');
10
- });
11
- it('should shadow write ', () => {
12
- const rootState = { foo: 'foo' };
13
- const localState = { foo: 'baz' };
14
- const flattened = flattenState(rootState, localState, undefined);
15
- expect(() => (flattened.foo = 'bar')).toThrow('Writing to local state is not allowed as it is read-only.');
16
- });
17
- });
@@ -1,13 +0,0 @@
1
- import { convertSearchParamsToQueryObject, getBuilderSearchParams } from '.';
2
- const querystring = 'someotherValue=jklsjfdal&abc=klfdjklgfds&builder.cachebust=true&builder.preview=page&builder.noCache=true&__builder_editing__=true&builder.overrides.page=037948e52eaf4743afed464f02c70da4&builder.overrides.037948e52eaf4743afed464f02c70da4=037948e52eaf4743afed464f02c70da4&builder.overrides.page%3A%2F=037948e52eaf4743afed464f02c70da4&preview_theme_id=128854393017';
3
- const url = new URL(`localhost:3000/about-us?${querystring}`);
4
- describe('Get Builder SearchParams', () => {
5
- test('correctly converts URLSearchParams to object', () => {
6
- const output = convertSearchParamsToQueryObject(url.searchParams);
7
- expect(output).toMatchSnapshot();
8
- });
9
- test('correctly extracts all builder params from a query object', () => {
10
- const output = getBuilderSearchParams(convertSearchParamsToQueryObject(url.searchParams));
11
- expect(output).toMatchSnapshot();
12
- });
13
- });