@builder.io/sdk-svelte 0.4.5 → 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 (382) hide show
  1. package/package/--package.json +40 -29
  2. package/package/CHANGELOG.md +4 -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 +12 -18
  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 +37 -87
  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/textarea/component-info.d.ts +1 -1
  63. package/package/blocks/textarea/component-info.js +13 -19
  64. package/package/blocks/textarea/textarea.svelte +4 -29
  65. package/package/blocks/textarea/textarea.svelte.d.ts +3 -1
  66. package/package/blocks/video/component-info.d.ts +1 -1
  67. package/package/blocks/video/component-info.js +35 -55
  68. package/package/blocks/video/video.svelte +4 -30
  69. package/package/blocks/video/video.svelte.d.ts +2 -0
  70. package/package/components/block/block.helpers.d.ts +13 -0
  71. package/package/components/{render-block/render-block.helpers.js → block/block.helpers.js} +12 -29
  72. package/package/components/block/block.svelte +135 -0
  73. package/package/components/block/block.svelte.d.ts +26 -0
  74. package/package/components/{render-block → block/components}/block-styles.svelte +20 -22
  75. package/package/components/{render-block → block/components}/block-styles.svelte.d.ts +2 -2
  76. package/package/components/block/components/block-wrapper.svelte +53 -0
  77. package/package/components/block/components/block-wrapper.svelte.d.ts +33 -0
  78. package/package/components/block/components/component-ref/component-ref.helpers.d.ts +36 -0
  79. package/package/components/block/components/component-ref/component-ref.helpers.js +22 -0
  80. package/package/components/block/components/component-ref/component-ref.svelte +37 -0
  81. package/package/components/block/components/component-ref/component-ref.svelte.d.ts +24 -0
  82. package/package/components/block/components/interactive-element.svelte +29 -0
  83. package/package/components/block/components/interactive-element.svelte.d.ts +31 -0
  84. package/package/components/{render-block/render-repeated-block.svelte → block/components/repeated-block.svelte} +4 -3
  85. package/package/components/block/components/repeated-block.svelte.d.ts +25 -0
  86. package/package/components/{render-blocks.svelte → blocks/blocks-wrapper.svelte} +3 -20
  87. package/package/components/blocks/blocks-wrapper.svelte.d.ts +29 -0
  88. package/package/components/blocks/blocks.svelte +26 -0
  89. package/package/components/blocks/blocks.svelte.d.ts +28 -0
  90. package/package/components/{render-content/render-content.svelte → content/components/enable-editor.svelte} +47 -166
  91. package/package/components/content/components/enable-editor.svelte.d.ts +36 -0
  92. package/package/components/{render-content/components/render-styles.helpers.d.ts → content/components/styles.helpers.d.ts} +1 -1
  93. package/package/components/{render-content/components/render-styles.helpers.js → content/components/styles.helpers.js} +3 -4
  94. package/package/components/{render-content/components/render-styles.svelte → content/components/styles.svelte} +2 -2
  95. package/package/components/{render-content/components/render-styles.svelte.d.ts → content/components/styles.svelte.d.ts} +5 -5
  96. package/package/components/content/content.helpers.d.ts +7 -0
  97. package/package/components/content/content.helpers.js +30 -0
  98. package/package/components/content/content.svelte +113 -0
  99. package/package/components/content/content.svelte.d.ts +30 -0
  100. package/package/components/{render-content/render-content.types.d.ts → content/content.types.d.ts} +4 -4
  101. package/package/components/content/index.d.ts +1 -0
  102. package/package/components/content/index.js +1 -0
  103. package/package/components/{render-content-variants/render-content-variants.svelte → content-variants/content-variants.svelte} +20 -19
  104. package/package/components/{render-content-variants/render-content-variants.svelte.d.ts → content-variants/content-variants.svelte.d.ts} +6 -6
  105. package/package/components/{render-content-variants/render-content-variants.types.d.ts → content-variants/content-variants.types.d.ts} +5 -5
  106. package/package/components/{render-content-variants → content-variants}/helpers.d.ts +7 -7
  107. package/package/components/{render-content-variants → content-variants}/helpers.js +13 -22
  108. package/package/constants/builder-registered-components.js +34 -13
  109. package/package/constants/device-sizes.js +9 -8
  110. package/package/constants/sdk-version.d.ts +1 -1
  111. package/package/constants/sdk-version.js +1 -1
  112. package/package/constants/target.d.ts +1 -1
  113. package/package/context/builder.context.d.ts +1 -1
  114. package/package/context/builder.context.js +1 -1
  115. package/package/context/types.d.ts +1 -1
  116. package/package/functions/apply-patch-with-mutation.d.ts +10 -0
  117. package/package/functions/apply-patch-with-mutation.js +54 -0
  118. package/package/functions/evaluate/acorn.d.ts +0 -0
  119. package/package/functions/evaluate/acorn.js +2433 -0
  120. package/package/functions/{evaluate.d.ts → evaluate/evaluate.d.ts} +5 -2
  121. package/package/functions/{evaluate.js → evaluate/evaluate.js} +34 -13
  122. package/package/functions/evaluate/index.d.ts +1 -0
  123. package/package/functions/evaluate/index.js +1 -0
  124. package/package/functions/evaluate/interpreter.d.ts +2 -0
  125. package/package/functions/evaluate/interpreter.js +3853 -0
  126. package/package/functions/evaluate/non-node-runtime.d.ts +2 -0
  127. package/package/functions/evaluate/non-node-runtime.js +84 -0
  128. package/package/functions/evaluate/types.d.ts +10 -0
  129. package/package/functions/extract-text-styles.js +2 -14
  130. package/package/functions/get-block-actions-handler.js +3 -3
  131. package/package/functions/get-block-actions.d.ts +1 -0
  132. package/package/functions/get-block-actions.js +14 -1
  133. package/package/functions/get-block-component-options.js +1 -1
  134. package/package/functions/get-block-properties.d.ts +5 -1
  135. package/package/functions/get-block-properties.js +15 -9
  136. package/package/functions/get-builder-search-params/index.js +3 -7
  137. package/package/functions/get-content/generate-content-url.js +7 -5
  138. package/package/functions/get-content/index.d.ts +2 -6
  139. package/package/functions/get-content/index.js +26 -6
  140. package/package/functions/get-processed-block.d.ts +1 -1
  141. package/package/functions/get-processed-block.js +11 -7
  142. package/package/functions/get-react-native-block-styles.d.ts +1 -1
  143. package/package/functions/get-react-native-block-styles.js +2 -2
  144. package/package/functions/if-target.d.ts +1 -1
  145. package/package/functions/if-target.js +1 -1
  146. package/package/functions/is-editing.js +1 -3
  147. package/package/functions/is-non-node-server.d.ts +4 -0
  148. package/package/functions/is-non-node-server.js +8 -0
  149. package/package/functions/on-change.js +1 -1
  150. package/package/functions/register-component.d.ts +2 -1
  151. package/package/functions/register-component.js +20 -8
  152. package/package/functions/register.js +2 -2
  153. package/package/functions/sanitize-react-native-block-styles.js +13 -5
  154. package/package/functions/set-editor-settings.js +1 -1
  155. package/package/functions/set.js +2 -9
  156. package/package/functions/track/helpers.js +6 -11
  157. package/package/functions/track/index.js +26 -14
  158. package/package/functions/track/interaction.js +15 -16
  159. package/package/helpers/ab-tests.d.ts +2 -2
  160. package/package/helpers/ab-tests.js +42 -30
  161. package/package/helpers/canTrack.js +1 -1
  162. package/package/helpers/cookie.d.ts +2 -2
  163. package/package/helpers/cookie.js +13 -26
  164. package/package/helpers/css.d.ts +1 -1
  165. package/package/helpers/css.js +1 -1
  166. package/package/helpers/flatten.js +8 -8
  167. package/package/helpers/localStorage.d.ts +2 -2
  168. package/package/helpers/localStorage.js +2 -2
  169. package/package/helpers/logger.js +1 -1
  170. package/package/helpers/preview-lru-cache/get.d.ts +1 -0
  171. package/package/helpers/preview-lru-cache/get.js +7 -0
  172. package/package/helpers/preview-lru-cache/helpers.d.ts +1 -0
  173. package/package/helpers/preview-lru-cache/helpers.js +9 -0
  174. package/package/helpers/preview-lru-cache/init.d.ts +6 -0
  175. package/package/helpers/preview-lru-cache/init.js +15 -0
  176. package/package/helpers/preview-lru-cache/set.d.ts +7 -0
  177. package/package/helpers/preview-lru-cache/set.js +9 -0
  178. package/package/helpers/preview-lru-cache/types.d.ts +12 -0
  179. package/package/helpers/preview-lru-cache/types.js +6 -0
  180. package/package/helpers/sessionId.d.ts +2 -2
  181. package/package/helpers/sessionId.js +11 -4
  182. package/package/helpers/uuid.js +1 -1
  183. package/package/helpers/visitorId.d.ts +1 -1
  184. package/package/helpers/visitorId.js +7 -4
  185. package/package/index-helpers/blocks-exports.d.ts +2 -2
  186. package/package/index-helpers/blocks-exports.js +2 -2
  187. package/package/index.d.ts +2 -2
  188. package/package/index.js +1 -1
  189. package/package/scripts/init-editing.js +65 -57
  190. package/package/types/builder-props.d.ts +10 -0
  191. package/package/types/components.d.ts +8 -2
  192. package/package/types/enforced-partials.d.ts +1 -1
  193. package/package/types/targets.d.ts +1 -3
  194. package/package/types/typescript.d.ts +3 -0
  195. package/package.json +2 -2
  196. package/src/blocks/BaseText.svelte +1 -1
  197. package/src/blocks/button/button.svelte +21 -34
  198. package/src/blocks/button/component-info.ts +20 -27
  199. package/src/blocks/columns/columns.svelte +26 -30
  200. package/src/blocks/columns/component-info.ts +205 -240
  201. package/src/blocks/custom-code/component-info.ts +20 -27
  202. package/src/blocks/embed/component-info.ts +34 -51
  203. package/src/blocks/embed/helpers.ts +2 -8
  204. package/src/blocks/form/component-info.ts +204 -253
  205. package/src/blocks/form/form.svelte +1 -368
  206. package/src/blocks/fragment/component-info.ts +3 -5
  207. package/src/blocks/helpers.ts +43 -0
  208. package/src/blocks/image/component-info.ts +113 -161
  209. package/src/blocks/image/image.helpers.ts +5 -33
  210. package/src/blocks/img/component-info.ts +11 -16
  211. package/src/blocks/img/img.svelte +7 -31
  212. package/src/blocks/input/component-info.ts +35 -66
  213. package/src/blocks/input/input.svelte +7 -31
  214. package/src/blocks/raw-text/component-info.ts +8 -12
  215. package/src/blocks/raw-text/raw-text.svelte +2 -5
  216. package/src/blocks/section/component-info.ts +28 -37
  217. package/src/blocks/section/section.svelte +7 -30
  218. package/src/blocks/select/component-info.ts +38 -55
  219. package/src/blocks/select/select.svelte +7 -31
  220. package/src/blocks/submit-button/component-info.ts +10 -15
  221. package/src/blocks/submit-button/submit-button.svelte +7 -30
  222. package/src/blocks/symbol/component-info.ts +31 -39
  223. package/src/blocks/symbol/symbol.helpers.ts +47 -0
  224. package/src/blocks/symbol/symbol.svelte +50 -97
  225. package/src/blocks/text/component-info.ts +14 -18
  226. package/src/blocks/text/text.svelte +1 -1
  227. package/src/blocks/textarea/component-info.ts +26 -36
  228. package/src/blocks/textarea/textarea.svelte +7 -30
  229. package/src/blocks/video/component-info.ts +77 -103
  230. package/src/blocks/video/video.svelte +4 -31
  231. package/src/components/{render-block/render-block.helpers.ts → block/block.helpers.ts} +22 -49
  232. package/src/components/block/block.svelte +158 -0
  233. package/src/components/{render-block → block/components}/block-styles.svelte +23 -24
  234. package/src/components/block/components/block-wrapper.svelte +70 -0
  235. package/src/components/block/components/component-ref/component-ref.helpers.ts +53 -0
  236. package/src/components/block/components/component-ref/component-ref.svelte +41 -0
  237. package/src/components/block/components/interactive-element.svelte +42 -0
  238. package/src/components/block/components/repeated-block.svelte +30 -0
  239. package/src/components/{render-block → block}/types.ts +1 -2
  240. package/src/components/{render-blocks.svelte → blocks/blocks-wrapper.svelte} +14 -32
  241. package/src/components/blocks/blocks.svelte +39 -0
  242. package/src/components/{render-content/render-content.svelte → content/components/enable-editor.svelte} +71 -199
  243. package/src/components/{render-content/components/render-styles.helpers.ts → content/components/styles.helpers.ts} +9 -11
  244. package/src/components/{render-content/components/render-styles.svelte → content/components/styles.svelte} +3 -3
  245. package/src/components/content/content.helpers.ts +42 -0
  246. package/src/components/content/content.svelte +138 -0
  247. package/src/components/{render-content/render-content.types.ts → content/content.types.ts} +5 -9
  248. package/src/components/content/index.ts +1 -0
  249. package/src/components/{render-content → content}/wrap-component-ref.ts +1 -1
  250. package/src/components/{render-content-variants/render-content-variants.svelte → content-variants/content-variants.svelte} +26 -24
  251. package/src/components/{render-content-variants/render-content-variants.types.ts → content-variants/content-variants.types.ts} +9 -11
  252. package/src/components/{render-content-variants → content-variants}/helpers.ts +27 -73
  253. package/src/constants/builder-registered-components.ts +34 -14
  254. package/src/constants/device-sizes.ts +16 -22
  255. package/src/constants/sdk-version.ts +1 -1
  256. package/src/constants/target.ts +3 -1
  257. package/src/context/builder.context.ts +1 -1
  258. package/src/context/types.ts +2 -7
  259. package/src/functions/apply-patch-with-mutation.ts +61 -0
  260. package/src/functions/camel-to-kebab-case.ts +1 -2
  261. package/src/functions/evaluate/acorn.ts +2501 -0
  262. package/src/functions/evaluate/evaluate.ts +90 -0
  263. package/src/functions/evaluate/index.ts +1 -0
  264. package/src/functions/evaluate/interpreter.ts +3887 -0
  265. package/src/functions/evaluate/non-node-runtime.ts +94 -0
  266. package/src/functions/evaluate/types.ts +10 -0
  267. package/src/functions/extract-text-styles.ts +3 -18
  268. package/src/functions/fast-clone.ts +1 -2
  269. package/src/functions/get-block-actions-handler.ts +11 -20
  270. package/src/functions/get-block-actions.ts +22 -14
  271. package/src/functions/get-block-component-options.ts +2 -3
  272. package/src/functions/get-block-properties.ts +24 -17
  273. package/src/functions/get-builder-search-params/index.ts +5 -21
  274. package/src/functions/get-content/generate-content-url.ts +10 -25
  275. package/src/functions/get-content/index.ts +34 -37
  276. package/src/functions/get-content/types.ts +4 -2
  277. package/src/functions/get-fetch.ts +3 -10
  278. package/src/functions/get-global-this.ts +1 -2
  279. package/src/functions/get-processed-block.ts +14 -21
  280. package/src/functions/get-react-native-block-styles.ts +6 -12
  281. package/src/functions/if-target.ts +2 -3
  282. package/src/functions/is-browser.ts +1 -1
  283. package/src/functions/is-editing.ts +2 -7
  284. package/src/functions/is-iframe.ts +1 -2
  285. package/src/functions/is-non-node-server.ts +9 -0
  286. package/src/functions/is-previewing.ts +1 -4
  287. package/src/functions/on-change.ts +2 -2
  288. package/src/functions/register-component.ts +24 -26
  289. package/src/functions/register.ts +6 -8
  290. package/src/functions/sanitize-react-native-block-styles.ts +17 -24
  291. package/src/functions/set-editor-settings.ts +5 -6
  292. package/src/functions/set.ts +3 -15
  293. package/src/functions/track/helpers.ts +8 -24
  294. package/src/functions/track/index.ts +37 -42
  295. package/src/functions/track/interaction.ts +21 -38
  296. package/src/functions/transform-block-properties.ts +1 -1
  297. package/src/functions/transform-block.ts +1 -1
  298. package/src/helpers/ab-tests.ts +64 -79
  299. package/src/helpers/canTrack.ts +2 -4
  300. package/src/helpers/cookie.ts +15 -46
  301. package/src/helpers/css.ts +4 -13
  302. package/src/helpers/flatten.ts +11 -16
  303. package/src/helpers/localStorage.ts +4 -8
  304. package/src/helpers/logger.ts +2 -2
  305. package/src/helpers/nullable.ts +1 -3
  306. package/src/helpers/preview-lru-cache/get.ts +8 -0
  307. package/src/helpers/preview-lru-cache/helpers.ts +9 -0
  308. package/src/helpers/preview-lru-cache/init.ts +17 -0
  309. package/src/helpers/preview-lru-cache/set.ts +18 -0
  310. package/src/helpers/preview-lru-cache/types.ts +12 -0
  311. package/src/helpers/sessionId.ts +12 -13
  312. package/src/helpers/time.ts +1 -3
  313. package/src/helpers/url.ts +1 -2
  314. package/src/helpers/uuid.ts +3 -3
  315. package/src/helpers/visitorId.ts +14 -17
  316. package/src/index-helpers/blocks-exports.ts +2 -2
  317. package/src/index-helpers/top-of-file.ts +1 -1
  318. package/src/index.ts +2 -13
  319. package/src/scripts/init-editing.ts +85 -98
  320. package/src/types/api-version.ts +1 -1
  321. package/src/types/builder-block.ts +1 -3
  322. package/src/types/builder-content.ts +7 -4
  323. package/src/types/builder-props.ts +10 -0
  324. package/src/types/can-track.ts +1 -1
  325. package/src/types/components.ts +17 -13
  326. package/src/types/deep-partial.ts +1 -7
  327. package/src/types/element.ts +1 -3
  328. package/src/types/enforced-partials.ts +6 -20
  329. package/src/types/input.ts +6 -9
  330. package/src/types/targets.ts +1 -6
  331. package/src/types/typescript.ts +9 -9
  332. package/package/blocks/util.d.ts +0 -4
  333. package/package/blocks/util.js +0 -13
  334. package/package/components/render-block/render-block.helpers.d.ts +0 -12
  335. package/package/components/render-block/render-block.svelte +0 -152
  336. package/package/components/render-block/render-block.svelte.d.ts +0 -24
  337. package/package/components/render-block/render-component.svelte +0 -21
  338. package/package/components/render-block/render-component.svelte.d.ts +0 -34
  339. package/package/components/render-block/render-repeated-block.svelte.d.ts +0 -23
  340. package/package/components/render-blocks.svelte.d.ts +0 -26
  341. package/package/components/render-content/builder-editing.svelte +0 -4
  342. package/package/components/render-content/builder-editing.svelte.d.ts +0 -14
  343. package/package/components/render-content/index.d.ts +0 -1
  344. package/package/components/render-content/index.js +0 -1
  345. package/package/components/render-content/render-content.helpers.d.ts +0 -7
  346. package/package/components/render-content/render-content.helpers.js +0 -30
  347. package/package/components/render-content/render-content.svelte.d.ts +0 -30
  348. package/package/functions/evaluate.test.js +0 -17
  349. package/package/functions/get-builder-search-params/fn.test.js +0 -13
  350. package/package/functions/get-content/generate-content-url.test.d.ts +0 -1
  351. package/package/functions/get-content/generate-content-url.test.js +0 -97
  352. package/package/functions/get-processed-block.test.d.ts +0 -1
  353. package/package/functions/get-processed-block.test.js +0 -33
  354. package/package/functions/on-change.test.d.ts +0 -1
  355. package/package/functions/on-change.test.js +0 -20
  356. package/package/functions/set.test.d.ts +0 -1
  357. package/package/functions/set.test.js +0 -16
  358. package/package/helpers/url.test.d.ts +0 -1
  359. package/package/helpers/url.test.js +0 -21
  360. package/src/blocks/util.ts +0 -18
  361. package/src/components/render-block/render-block.svelte +0 -173
  362. package/src/components/render-block/render-component.svelte +0 -40
  363. package/src/components/render-block/render-repeated-block.svelte +0 -25
  364. package/src/components/render-content/builder-editing.svelte +0 -4
  365. package/src/components/render-content/index.ts +0 -1
  366. package/src/components/render-content/render-content.helpers.ts +0 -48
  367. package/src/functions/evaluate.test.ts +0 -21
  368. package/src/functions/evaluate.ts +0 -99
  369. package/src/functions/get-builder-search-params/fn.test.ts +0 -19
  370. package/src/functions/get-content/generate-content-url.test.ts +0 -112
  371. package/src/functions/get-processed-block.test.ts +0 -35
  372. package/src/functions/on-change.test.ts +0 -23
  373. package/src/functions/set.test.ts +0 -19
  374. package/src/helpers/url.test.ts +0 -23
  375. /package/package/components/{render-block → block}/types.d.ts +0 -0
  376. /package/package/components/{render-block → block}/types.js +0 -0
  377. /package/package/components/{render-content/render-content.types.js → content/content.types.js} +0 -0
  378. /package/package/components/{render-content → content}/wrap-component-ref.d.ts +0 -0
  379. /package/package/components/{render-content → content}/wrap-component-ref.js +0 -0
  380. /package/package/components/{render-content-variants/render-content-variants.types.js → content-variants/content-variants.types.js} +0 -0
  381. /package/package/functions/{evaluate.test.d.ts → evaluate/types.js} +0 -0
  382. /package/package/{functions/get-builder-search-params/fn.test.d.ts → types/builder-props.js} +0 -0
@@ -1,13 +1,13 @@
1
1
  <script context="module"></script>
2
2
 
3
3
  <script>import { onMount } from "svelte";
4
- import { checkShouldRunVariants, getScriptString, getVariants, getVariantsScriptString, } from "./helpers";
5
- import RenderContent from "../render-content/render-content.svelte";
6
- import { getDefaultCanTrack } from "../../helpers/canTrack";
4
+ import { checkShouldRunVariants, getScriptString, getVariants, getVariantsScriptString, } from "./helpers.js";
5
+ import ContentComponent from "../content/content.svelte";
6
+ import { getDefaultCanTrack } from "../../helpers/canTrack.js";
7
7
  import InlinedStyles from "../inlined-styles.svelte";
8
- import { handleABTestingSync } from "../../helpers/ab-tests";
8
+ import { handleABTestingSync } from "../../helpers/ab-tests.js";
9
9
  import InlinedScript from "../inlined-script.svelte";
10
- import { TARGET } from "../../constants/target";
10
+ import { TARGET } from "../../constants/target.js";
11
11
  export let canTrack;
12
12
  export let content;
13
13
  export let __isNestedRender;
@@ -20,24 +20,25 @@ export let customComponents;
20
20
  export let locale;
21
21
  export let includeRefs;
22
22
  export let enrich;
23
+ $: variantScriptStr = () => {
24
+ return getVariantsScriptString(getVariants(content).map((value) => ({
25
+ id: value.testVariationId,
26
+ testRatio: value.testRatio,
27
+ })), content?.id || "");
28
+ };
29
+ $: hideVariantsStyleString = () => {
30
+ return getVariants(content)
31
+ .map((value) => `.variant-${value.testVariationId} { display: none; } `)
32
+ .join("");
33
+ };
23
34
  let shouldRenderVariants = checkShouldRunVariants({
24
35
  canTrack: getDefaultCanTrack(canTrack),
25
36
  content: content,
26
37
  });
27
- let variantScriptStr = getVariantsScriptString(getVariants(content).map((value) => ({
28
- id: value.testVariationId,
29
- testRatio: value.testRatio,
30
- })), content?.id || "");
31
- let hideVariantsStyleString = getVariants(content)
32
- .map((value) => `.variant-${value.testVariationId} { display: none; } `)
33
- .join("");
34
38
  onMount(() => {
35
39
  /**
36
40
  * We unmount the non-winning variants post-hydration in Vue.
37
41
  */
38
- if (TARGET === "vue2" || TARGET === "vue3") {
39
- shouldRenderVariants = false;
40
- }
41
42
  });
42
43
  </script>
43
44
 
@@ -48,13 +49,13 @@ onMount(() => {
48
49
  {#if shouldRenderVariants}
49
50
  <InlinedStyles
50
51
  id={`variants-styles-${content?.id}`}
51
- styles={hideVariantsStyleString}
52
+ styles={hideVariantsStyleString()}
52
53
  />
53
54
 
54
- <InlinedScript scriptStr={variantScriptStr} />
55
+ <InlinedScript scriptStr={variantScriptStr()} />
55
56
 
56
57
  {#each getVariants(content) as variant (variant.testVariationId)}
57
- <RenderContent
58
+ <ContentComponent
58
59
  content={variant}
59
60
  showContent={false}
60
61
  classNameProp={undefined}
@@ -73,7 +74,7 @@ onMount(() => {
73
74
  {/each}
74
75
  {/if}
75
76
 
76
- <RenderContent
77
+ <ContentComponent
77
78
  {...{}}
78
79
  content={shouldRenderVariants
79
80
  ? content
@@ -1,11 +1,11 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- type VariantsProviderProps = RenderContentVariantsProps & {
2
+ type VariantsProviderProps = ContentVariantsProps & {
3
3
  /**
4
4
  * For internal use only. Do not provide this prop.
5
5
  */
6
6
  __isNestedRender?: boolean;
7
7
  };
8
- import type { RenderContentVariantsProps } from "./render-content-variants.types";
8
+ import type { ContentVariantsProps } from "./content-variants.types.js";
9
9
  declare const __propDef: {
10
10
  props: {
11
11
  canTrack: VariantsProviderProps["canTrack"];
@@ -26,9 +26,9 @@ declare const __propDef: {
26
26
  };
27
27
  slots: {};
28
28
  };
29
- export type RenderContentVariantsProps = typeof __propDef.props;
30
- export type RenderContentVariantsEvents = typeof __propDef.events;
31
- export type RenderContentVariantsSlots = typeof __propDef.slots;
32
- export default class RenderContentVariants extends SvelteComponentTyped<RenderContentVariantsProps, RenderContentVariantsEvents, RenderContentVariantsSlots> {
29
+ export type ContentVariantsProps = typeof __propDef.props;
30
+ export type ContentVariantsEvents = typeof __propDef.events;
31
+ export type ContentVariantsSlots = typeof __propDef.slots;
32
+ export default class ContentVariants extends SvelteComponentTyped<ContentVariantsProps, ContentVariantsEvents, ContentVariantsSlots> {
33
33
  }
34
34
  export {};
@@ -1,8 +1,8 @@
1
- import type { BuilderRenderContext, RegisteredComponent } from '../../context/types';
2
- import type { ApiVersion } from '../../types/api-version';
3
- import type { BuilderContent } from '../../types/builder-content';
4
- import type { Nullable } from '../../types/typescript';
5
- export interface RenderContentVariantsProps {
1
+ import type { BuilderRenderContext, RegisteredComponent } from '../../context/types.js';
2
+ import type { ApiVersion } from '../../types/api-version.js';
3
+ import type { BuilderContent } from '../../types/builder-content.js';
4
+ import type { Nullable } from '../../types/typescript.js';
5
+ export interface ContentVariantsProps {
6
6
  content?: Nullable<BuilderContent>;
7
7
  model?: string;
8
8
  data?: {
@@ -1,13 +1,13 @@
1
- import type { Nullable } from '../../helpers/nullable';
2
- import type { BuilderContent } from '../../types/builder-content';
1
+ import type { Nullable } from '../../helpers/nullable.js';
2
+ import type { BuilderContent } from '../../types/builder-content.js';
3
3
  export declare const getVariants: (content: Nullable<BuilderContent>) => {
4
4
  testVariationId: string | undefined;
5
5
  id: string | undefined;
6
6
  data?: {
7
7
  [key: string]: any;
8
8
  title?: string | undefined;
9
- blocks?: import("../../types/builder-block").BuilderBlock[] | undefined;
10
- inputs?: import("../../types/input").Input[] | undefined;
9
+ blocks?: import("../../types/builder-block.js").BuilderBlock[] | undefined;
10
+ inputs?: import("../../types/input.js").Input[] | undefined;
11
11
  state?: {
12
12
  [key: string]: any;
13
13
  } | undefined;
@@ -21,10 +21,10 @@ export declare const getVariants: (content: Nullable<BuilderContent>) => {
21
21
  testRatio?: number | undefined;
22
22
  meta?: {
23
23
  [key: string]: any;
24
- breakpoints?: import("../../types/typescript").Nullable<import("../../types/builder-content").Breakpoints>;
24
+ breakpoints?: import("../../types/typescript.js").Nullable<import("../../types/builder-content.js").Breakpoints>;
25
25
  } | undefined;
26
26
  }[];
27
- export declare const checkShouldRunVariants: ({ canTrack, content, }: {
27
+ export declare const checkShouldRunVariants: ({ canTrack, content }: {
28
28
  canTrack: Nullable<boolean>;
29
29
  content: Nullable<BuilderContent>;
30
30
  }) => boolean;
@@ -34,7 +34,7 @@ type VariantData = {
34
34
  };
35
35
  export declare const getScriptString: () => string;
36
36
  export declare const getVariantsScriptString: (variants: VariantData[], contentId: string) => string;
37
- export declare const getRenderContentScriptString: ({ contentId, variationId, }: {
37
+ export declare const getRenderContentScriptString: ({ contentId, variationId }: {
38
38
  variationId: string;
39
39
  contentId: string;
40
40
  }) => string;
@@ -1,11 +1,11 @@
1
- import { TARGET } from '../../constants/target';
2
- import { isBrowser } from '../../functions/is-browser';
3
- export const getVariants = (content) => Object.values(content?.variations || {}).map((variant) => ({
1
+ import { TARGET } from '../../constants/target.js';
2
+ import { isBrowser } from '../../functions/is-browser.js';
3
+ export const getVariants = (content) => Object.values(content?.variations || {}).map(variant => ({
4
4
  ...variant,
5
5
  testVariationId: variant.id,
6
- id: content?.id,
6
+ id: content?.id
7
7
  }));
8
- export const checkShouldRunVariants = ({ canTrack, content, }) => {
8
+ export const checkShouldRunVariants = ({ canTrack, content }) => {
9
9
  const hasVariants = getVariants(content).length > 0;
10
10
  /**
11
11
  * We cannot SSR in React-Native.
@@ -42,13 +42,7 @@ function bldrAbTest(contentId, variants, isHydrationTarget) {
42
42
  date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
43
43
  expires = '; expires=' + date.toUTCString();
44
44
  }
45
- document.cookie =
46
- name +
47
- '=' +
48
- (value || '') +
49
- expires +
50
- '; path=/' +
51
- '; Secure; SameSite=None';
45
+ document.cookie = name + '=' + (value || '') + expires + '; path=/' + '; Secure; SameSite=None';
52
46
  }
53
47
  function getCookie(name) {
54
48
  const nameEQ = name + '=';
@@ -64,7 +58,7 @@ function bldrAbTest(contentId, variants, isHydrationTarget) {
64
58
  }
65
59
  const cookieName = `builder.tests.${contentId}`;
66
60
  const variantInCookie = getCookie(cookieName);
67
- const availableIDs = variants.map((vr) => vr.id).concat(contentId);
61
+ const availableIDs = variants.map(vr => vr.id).concat(contentId);
68
62
  /**
69
63
  * cookie already exists
70
64
  */
@@ -92,8 +86,7 @@ function bldrAbTest(contentId, variants, isHydrationTarget) {
92
86
  return contentId;
93
87
  }
94
88
  const winningVariantId = getAndSetVariantId();
95
- const styleEl = document.currentScript
96
- ?.previousElementSibling;
89
+ const styleEl = document.currentScript?.previousElementSibling;
97
90
  /**
98
91
  * For React to work, we need hydration to match SSR, so we completely remove this node and the styles tag.
99
92
  */
@@ -104,14 +97,12 @@ function bldrAbTest(contentId, variants, isHydrationTarget) {
104
97
  }
105
98
  else {
106
99
  /* update styles to hide all variants except the winning variant */
107
- const newStyleStr = variants
108
- .concat({ id: contentId })
109
- .filter((variant) => variant.id !== winningVariantId)
110
- .map((value) => {
100
+ const newStyleStr = variants.concat({
101
+ id: contentId
102
+ }).filter(variant => variant.id !== winningVariantId).map(value => {
111
103
  return `.variant-${value.id} { display: none; }
112
104
  `;
113
- })
114
- .join('');
105
+ }).join('');
115
106
  styleEl.innerHTML = newStyleStr;
116
107
  }
117
108
  }
@@ -192,7 +183,7 @@ export const getVariantsScriptString = (variants, contentId) => {
192
183
  return `
193
184
  window.${AB_TEST_FN_NAME}("${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget})`;
194
185
  };
195
- export const getRenderContentScriptString = ({ contentId, variationId, }) => {
186
+ export const getRenderContentScriptString = ({ contentId, variationId }) => {
196
187
  return `
197
188
  window.${CONTENT_FN_NAME}("${variationId}", "${contentId}", ${isHydrationTarget})`;
198
189
  };
@@ -24,16 +24,37 @@ import { componentInfo as customCodeInfo } from '../blocks/custom-code/component
24
24
  * Returns a list of all registered components.
25
25
  * NOTE: This needs to be a function to work around ESM circular dependencies.
26
26
  */
27
- export const getDefaultRegisteredComponents = () => [
28
- { component: Button, ...buttonComponentInfo },
29
- { component: Columns, ...columnsComponentInfo },
30
- { component: customCode, ...customCodeInfo },
31
- { component: embed, ...embedComponentInfo },
32
- { component: Fragment, ...fragmentComponentInfo },
33
- { component: Image, ...imageComponentInfo },
34
- { component: Img, ...imgComponentInfo },
35
- { component: Section, ...sectionComponentInfo },
36
- { component: Symbol, ...symbolComponentInfo },
37
- { component: Text, ...textComponentInfo },
38
- { component: Video, ...videoComponentInfo },
39
- ];
27
+ export const getDefaultRegisteredComponents = () => [{
28
+ component: Button,
29
+ ...buttonComponentInfo
30
+ }, {
31
+ component: Columns,
32
+ ...columnsComponentInfo
33
+ }, {
34
+ component: customCode,
35
+ ...customCodeInfo
36
+ }, {
37
+ component: embed,
38
+ ...embedComponentInfo
39
+ }, {
40
+ component: Fragment,
41
+ ...fragmentComponentInfo
42
+ }, {
43
+ component: Image,
44
+ ...imageComponentInfo
45
+ }, {
46
+ component: Img,
47
+ ...imgComponentInfo
48
+ }, {
49
+ component: Section,
50
+ ...sectionComponentInfo
51
+ }, {
52
+ component: Symbol,
53
+ ...symbolComponentInfo
54
+ }, {
55
+ component: Text,
56
+ ...textComponentInfo
57
+ }, {
58
+ component: Video,
59
+ ...videoComponentInfo
60
+ }];
@@ -1,20 +1,20 @@
1
- import { fastClone } from '../functions/fast-clone';
1
+ import { fastClone } from '../functions/fast-clone.js';
2
2
  const SIZES = {
3
3
  small: {
4
4
  min: 320,
5
5
  default: 321,
6
- max: 640,
6
+ max: 640
7
7
  },
8
8
  medium: {
9
9
  min: 641,
10
10
  default: 642,
11
- max: 991,
11
+ max: 991
12
12
  },
13
13
  large: {
14
14
  min: 990,
15
15
  default: 991,
16
- max: 1200,
17
- },
16
+ max: 1200
17
+ }
18
18
  };
19
19
  export const getMaxWidthQueryForSize = (size, sizeValues = SIZES) => `@media (max-width: ${sizeValues[size].max}px)`;
20
20
  export const getSizesForBreakpoints = ({ small, medium }) => {
@@ -26,19 +26,20 @@ export const getSizesForBreakpoints = ({ small, medium }) => {
26
26
  newSizes.small = {
27
27
  max: small,
28
28
  min: smallMin,
29
- default: smallMin + 1,
29
+ default: smallMin + 1
30
30
  };
31
31
  const mediumMin = newSizes.small.max + 1;
32
32
  newSizes.medium = {
33
33
  max: medium,
34
34
  min: mediumMin,
35
- default: mediumMin + 1,
35
+ default: mediumMin + 1
36
36
  };
37
37
  const largeMin = newSizes.medium.max + 1;
38
38
  newSizes.large = {
39
39
  max: 2000,
40
+ // TODO: decide upper limit
40
41
  min: largeMin,
41
- default: largeMin + 1,
42
+ default: largeMin + 1
42
43
  };
43
44
  return newSizes;
44
45
  };
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.4.5";
1
+ export declare const SDK_VERSION = "0.5.0";
@@ -1 +1 @@
1
- export const SDK_VERSION = "0.4.5";
1
+ export const SDK_VERSION = "0.5.0";
@@ -1,2 +1,2 @@
1
1
  /** This file should be overriden for each framework. Ideally this would be implemented in Mitosis. */
2
- export declare const TARGET = "svelte";
2
+ export declare const TARGET: import("../types/targets").Target;
@@ -7,7 +7,7 @@ declare const _default: {
7
7
  rootState: {};
8
8
  apiKey: null;
9
9
  apiVersion: undefined;
10
- registeredComponents: {};
10
+ componentInfos: {};
11
11
  inheritedStyles: {};
12
12
  }>;
13
13
  key: symbol;
@@ -9,7 +9,7 @@ export default {
9
9
  rootState: {},
10
10
  apiKey: null,
11
11
  apiVersion: undefined,
12
- registeredComponents: {},
12
+ componentInfos: {},
13
13
  inheritedStyles: {},
14
14
  }),
15
15
  key,
@@ -30,6 +30,6 @@ export interface BuilderContextInterface {
30
30
  localState: BuilderRenderState | undefined;
31
31
  apiKey: string | null;
32
32
  apiVersion: ApiVersion | undefined;
33
- registeredComponents: RegisteredComponents;
33
+ componentInfos: Dictionary<ComponentInfo>;
34
34
  inheritedStyles: Record<string, unknown>;
35
35
  }
@@ -0,0 +1,10 @@
1
+ export type Patch = {
2
+ path: string;
3
+ op: 'add' | 'remove' | 'replace';
4
+ value: any;
5
+ };
6
+ export declare const applyPatchWithMinimalMutationChain: <T extends object>(obj: T, patch: {
7
+ path: string;
8
+ op: 'add' | 'remove' | 'replace';
9
+ value: any;
10
+ }, preserveRoot?: boolean) => T;
@@ -0,0 +1,54 @@
1
+ export const applyPatchWithMinimalMutationChain = (obj, patch, preserveRoot = false) => {
2
+ if (Object(obj) !== obj) {
3
+ return obj;
4
+ }
5
+ const { path, op, value } = patch;
6
+ const pathArr = path.split(/\//);
7
+ if (pathArr[0] === '') {
8
+ pathArr.shift();
9
+ }
10
+ const newObj = preserveRoot ? obj : {
11
+ ...obj
12
+ };
13
+ let objPart = newObj;
14
+ for (let i = 0; i < pathArr.length; i++) {
15
+ const isLast = i === pathArr.length - 1;
16
+ const property = pathArr[i];
17
+ if (isLast) {
18
+ if (op === 'replace') {
19
+ objPart[property] = value;
20
+ }
21
+ else if (op === 'add') {
22
+ const index = Number(property);
23
+ if (Array.isArray(objPart)) {
24
+ if (property === '-') {
25
+ objPart.push(value);
26
+ }
27
+ else {
28
+ objPart.splice(index, 0, value);
29
+ }
30
+ }
31
+ else {
32
+ objPart[property] = value;
33
+ }
34
+ }
35
+ else if (op === 'remove') {
36
+ const index = Number(property);
37
+ if (Array.isArray(objPart)) {
38
+ objPart.splice(index, 1);
39
+ }
40
+ else {
41
+ delete objPart[property];
42
+ }
43
+ }
44
+ }
45
+ else {
46
+ const nextProperty = pathArr[i + 1];
47
+ const newPart = Object(objPart[property]) === objPart[property] ? objPart[property] : String(Number(nextProperty)) === nextProperty ? [] : {};
48
+ objPart = objPart[property] = Array.isArray(newPart) ? [...newPart] : {
49
+ ...newPart
50
+ };
51
+ }
52
+ }
53
+ return newObj;
54
+ };
File without changes