@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,62 +1,6 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- /**
3
- * This component was copied over from the old SDKs and has a lot of code pointing to invalid functions/env vars. It needs
4
- * to be cleaned up before the component can actually be usable.
5
- */
6
- interface BuilderElement {
7
- }
8
- /**
9
- * This component was copied over from the old SDKs and has a lot of code pointing to invalid functions/env vars. It needs
10
- * to be cleaned up before the component can actually be usable.
11
- */
12
- export interface FormProps {
13
- attributes?: any;
14
- name?: string;
15
- action?: string;
16
- validate?: boolean;
17
- method?: string;
18
- builderBlock?: BuilderElement;
19
- sendSubmissionsTo?: string;
20
- sendSubmissionsToEmail?: string;
21
- sendWithJs?: boolean;
22
- contentType?: string;
23
- customHeaders?: {
24
- [key: string]: string;
25
- };
26
- successUrl?: string;
27
- previewState?: FormState;
28
- successMessage?: BuilderElement[];
29
- errorMessage?: BuilderElement[];
30
- sendingMessage?: BuilderElement[];
31
- resetFormOnSubmit?: boolean;
32
- errorMessagePath?: string;
33
- }
34
- /**
35
- * This component was copied over from the old SDKs and has a lot of code pointing to invalid functions/env vars. It needs
36
- * to be cleaned up before the component can actually be usable.
37
- */
38
- export type FormState = "unsubmitted" | "sending" | "success" | "error";
39
2
  declare const __propDef: {
40
- props: {
41
- previewState: FormProps["previewState"];
42
- sendWithJs: FormProps["sendWithJs"];
43
- sendSubmissionsTo: FormProps["sendSubmissionsTo"];
44
- action: FormProps["action"];
45
- customHeaders: FormProps["customHeaders"];
46
- contentType: FormProps["contentType"];
47
- sendSubmissionsToEmail: FormProps["sendSubmissionsToEmail"];
48
- name: FormProps["name"];
49
- method: FormProps["method"];
50
- errorMessagePath: FormProps["errorMessagePath"];
51
- resetFormOnSubmit: FormProps["resetFormOnSubmit"];
52
- successUrl: FormProps["successUrl"];
53
- validate: FormProps["validate"];
54
- attributes: FormProps["attributes"];
55
- builderBlock: FormProps["builderBlock"];
56
- errorMessage: FormProps["errorMessage"];
57
- sendingMessage: FormProps["sendingMessage"];
58
- successMessage: FormProps["successMessage"];
59
- };
3
+ props: Record<string, never>;
60
4
  events: {
61
5
  [evt: string]: CustomEvent<any>;
62
6
  };
@@ -1,2 +1,2 @@
1
- import type { ComponentInfo } from '../../types/components';
1
+ import type { ComponentInfo } from '../../types/components.js';
2
2
  export declare const componentInfo: ComponentInfo;
@@ -3,5 +3,5 @@ export const componentInfo = {
3
3
  static: true,
4
4
  hidden: true,
5
5
  canHaveChildren: true,
6
- noWrap: true,
6
+ noWrap: true
7
7
  };
@@ -0,0 +1,13 @@
1
+ export declare function filterAttrs(attrs: {
2
+ [index: string]: any;
3
+ } | undefined, prefix: string, isEvent: boolean): {
4
+ [index: string]: any;
5
+ };
6
+ /**
7
+ * Svelte SDK: workaround to dynamically provide event handlers to components/elements.
8
+ * https://svelte.dev/repl/1246699e266f41218a8eeb45b9b58b54?version=3.24.1
9
+ */
10
+ export declare function setAttrs(node: HTMLElement, attrs?: Record<string, (event: Event) => void>): {
11
+ update(attrs?: {}): void;
12
+ destroy(): void;
13
+ };
@@ -0,0 +1,40 @@
1
+ export function filterAttrs(attrs = {}, prefix, isEvent) {
2
+ const result = {};
3
+ for (const attr in attrs) {
4
+ if (!attrs[attr])
5
+ continue;
6
+ if (isEvent && !attr.startsWith(prefix))
7
+ continue;
8
+ const eventName = isEvent ? attr.replace(prefix, '') : attr;
9
+ result[eventName] = attrs[attr];
10
+ }
11
+ return result;
12
+ }
13
+ /**
14
+ * Svelte SDK: workaround to dynamically provide event handlers to components/elements.
15
+ * https://svelte.dev/repl/1246699e266f41218a8eeb45b9b58b54?version=3.24.1
16
+ */
17
+ export function setAttrs(node, attrs = {}) {
18
+ const attrKeys = Object.keys(attrs);
19
+ /**
20
+ *
21
+ * @param {string} attr
22
+ */
23
+ const setup = (attr) => node.addEventListener(attr, attrs[attr]);
24
+ /**
25
+ *
26
+ * @param {string} attr
27
+ */
28
+ const teardown = (attr) => node.removeEventListener(attr, attrs[attr]);
29
+ attrKeys.forEach(setup);
30
+ return {
31
+ update(attrs = {}) {
32
+ const attrKeys = Object.keys(attrs);
33
+ attrKeys.forEach(teardown);
34
+ attrKeys.forEach(setup);
35
+ },
36
+ destroy() {
37
+ attrKeys.forEach(teardown);
38
+ }
39
+ };
40
+ }
@@ -1,2 +1,2 @@
1
- import type { ComponentInfo } from '../../types/components';
1
+ import type { ComponentInfo } from '../../types/components.js';
2
2
  export declare const componentInfo: ComponentInfo;
@@ -1,4 +1,3 @@
1
- import { serializeFn } from '../util.js';
2
1
  export const componentInfo = {
3
2
  name: 'Image',
4
3
  static: true,
@@ -7,18 +6,17 @@ export const componentInfo = {
7
6
  position: 'relative',
8
7
  minHeight: '20px',
9
8
  minWidth: '20px',
10
- overflow: 'hidden',
9
+ overflow: 'hidden'
11
10
  },
12
11
  canHaveChildren: true,
13
- inputs: [
14
- {
12
+ inputs: [{
15
13
  name: 'image',
16
14
  type: 'file',
17
15
  bubble: true,
18
16
  allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg'],
19
17
  required: true,
20
18
  defaultValue: 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a',
21
- onChange: serializeFn((options) => {
19
+ onChange: (options) => {
22
20
  const DEFAULT_ASPECT_RATIO = 0.7041;
23
21
  options.delete('srcset');
24
22
  options.delete('noWebp');
@@ -30,7 +28,7 @@ export const componentInfo = {
30
28
  loaded = true;
31
29
  resolve(img);
32
30
  };
33
- img.addEventListener('error', (event) => {
31
+ img.addEventListener('error', event => {
34
32
  console.warn('Image load failed', event.error);
35
33
  reject(event.error);
36
34
  });
@@ -48,19 +46,15 @@ export const componentInfo = {
48
46
  const value = options.get('image');
49
47
  const aspectRatio = options.get('aspectRatio');
50
48
  // For SVG images - don't render as webp, keep them as SVG
51
- fetch(value)
52
- .then((res) => res.blob())
53
- .then((blob) => {
49
+ fetch(value).then(res => res.blob()).then(blob => {
54
50
  if (blob.type.includes('svg')) {
55
51
  options.set('noWebp', true);
56
52
  }
57
53
  });
58
54
  if (value && (!aspectRatio || aspectRatio === DEFAULT_ASPECT_RATIO)) {
59
- return loadImage(value).then((img) => {
55
+ return loadImage(value).then(img => {
60
56
  const possiblyUpdatedAspectRatio = options.get('aspectRatio');
61
- if (options.get('image') === value &&
62
- (!possiblyUpdatedAspectRatio ||
63
- possiblyUpdatedAspectRatio === DEFAULT_ASPECT_RATIO)) {
57
+ if (options.get('image') === value && (!possiblyUpdatedAspectRatio || possiblyUpdatedAspectRatio === DEFAULT_ASPECT_RATIO)) {
64
58
  if (img.width && img.height) {
65
59
  options.set('aspectRatio', round(img.height / img.width));
66
60
  options.set('height', img.height);
@@ -69,84 +63,60 @@ export const componentInfo = {
69
63
  }
70
64
  });
71
65
  }
72
- }),
73
- },
74
- {
66
+ }
67
+ }, {
75
68
  name: 'backgroundSize',
76
69
  type: 'text',
77
70
  defaultValue: 'cover',
78
- enum: [
79
- {
71
+ enum: [{
80
72
  label: 'contain',
81
73
  value: 'contain',
82
- helperText: 'The image should never get cropped',
83
- },
84
- {
74
+ helperText: 'The image should never get cropped'
75
+ }, {
85
76
  label: 'cover',
86
77
  value: 'cover',
87
- helperText: "The image should fill it's box, cropping when needed",
88
- },
89
- ],
90
- },
91
- {
78
+ helperText: "The image should fill it's box, cropping when needed"
79
+ }]
80
+ }, {
92
81
  name: 'backgroundPosition',
93
82
  type: 'text',
94
83
  defaultValue: 'center',
95
- enum: [
96
- 'center',
97
- 'top',
98
- 'left',
99
- 'right',
100
- 'bottom',
101
- 'top left',
102
- 'top right',
103
- 'bottom left',
104
- 'bottom right',
105
- ],
106
- },
107
- {
84
+ enum: ['center', 'top', 'left', 'right', 'bottom', 'top left', 'top right', 'bottom left', 'bottom right']
85
+ }, {
108
86
  name: 'altText',
109
87
  type: 'string',
110
- helperText: 'Text to display when the user has images off',
111
- },
112
- {
88
+ helperText: 'Text to display when the user has images off'
89
+ }, {
113
90
  name: 'height',
114
91
  type: 'number',
115
- hideFromUI: true,
116
- },
117
- {
92
+ hideFromUI: true
93
+ }, {
118
94
  name: 'width',
119
95
  type: 'number',
120
- hideFromUI: true,
121
- },
122
- {
96
+ hideFromUI: true
97
+ }, {
123
98
  name: 'sizes',
124
99
  type: 'string',
125
- hideFromUI: true,
126
- },
127
- {
100
+ hideFromUI: true
101
+ }, {
128
102
  name: 'srcset',
129
103
  type: 'string',
130
- hideFromUI: true,
131
- },
132
- {
104
+ hideFromUI: true
105
+ }, {
133
106
  name: 'lazy',
134
107
  type: 'boolean',
135
108
  defaultValue: true,
136
- hideFromUI: true,
137
- },
138
- {
109
+ hideFromUI: true
110
+ }, {
139
111
  name: 'fitContent',
140
112
  type: 'boolean',
141
113
  helperText: "When child blocks are provided, fit to them instead of using the image's aspect ratio",
142
- defaultValue: true,
143
- },
144
- {
114
+ defaultValue: true
115
+ }, {
145
116
  name: 'aspectRatio',
146
117
  type: 'number',
147
118
  helperText: "This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio",
148
119
  advanced: true,
149
- defaultValue: 0.7041,
150
- },
151
- ],
120
+ defaultValue: 0.7041
121
+ }]
152
122
  };
@@ -38,19 +38,10 @@ export function getSrcSet(url) {
38
38
  if (!isNaN(widthInSrc)) {
39
39
  srcUrl = `${srcUrl} ${widthInSrc}w`;
40
40
  }
41
- return sizes
42
- .filter((size) => size !== widthInSrc)
43
- .map((size) => `${updateQueryParam(url, 'width', size)} ${size}w`)
44
- .concat([srcUrl])
45
- .join(', ');
41
+ return sizes.filter(size => size !== widthInSrc).map(size => `${updateQueryParam(url, 'width', size)} ${size}w`).concat([srcUrl]).join(', ');
46
42
  }
47
43
  if (url.match(/cdn\.shopify\.com/)) {
48
- return sizes
49
- .map((size) => [getShopifyImageUrl(url, `${size}x${size}`), size])
50
- .filter(([sizeUrl]) => !!sizeUrl)
51
- .map(([sizeUrl, size]) => `${sizeUrl} ${size}w`)
52
- .concat([url])
53
- .join(', ');
44
+ return sizes.map(size => [getShopifyImageUrl(url, `${size}x${size}`), size]).filter(([sizeUrl]) => !!sizeUrl).map(([sizeUrl, size]) => `${sizeUrl} ${size}w`).concat([url]).join(', ');
54
45
  }
55
46
  return url;
56
47
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { SvelteComponentTyped } from "svelte";
3
2
  export interface ImageProps {
4
3
  className?: string;
@@ -1,2 +1,2 @@
1
- import type { ComponentInfo } from '../../types/components';
1
+ import type { ComponentInfo } from '../../types/components.js';
2
2
  export declare const componentInfo: ComponentInfo;
@@ -3,15 +3,13 @@ export const componentInfo = {
3
3
  name: 'Raw:Img',
4
4
  hideFromInsertMenu: true,
5
5
  image: 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4',
6
- inputs: [
7
- {
6
+ inputs: [{
8
7
  name: 'image',
9
8
  bubble: true,
10
9
  type: 'file',
11
10
  allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg', 'gif', 'webp'],
12
- required: true,
13
- },
14
- ],
11
+ required: true
12
+ }],
15
13
  noWrap: true,
16
- static: true,
14
+ static: true
17
15
  };
@@ -1,33 +1,8 @@
1
1
  <script context="module"></script>
2
2
 
3
3
  <script>import { isEditing } from "../../functions/is-editing.js";
4
- const isEvent = (attr) => attr.startsWith("on:");
5
- const isNonEvent = (attr) => !attr.startsWith("on:");
6
- const filterAttrs = (attrs = {}, filter) => {
7
- const validAttr = {};
8
- Object.keys(attrs).forEach((attr) => {
9
- if (filter(attr)) {
10
- validAttr[attr] = attrs[attr];
11
- }
12
- });
13
- return validAttr;
14
- };
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
- };
4
+ import { filterAttrs } from "../helpers.js";
5
+ import { setAttrs } from "../helpers.js";
31
6
  export let backgroundSize;
32
7
  export let backgroundPosition;
33
8
  export let imgSrc;
@@ -54,6 +29,6 @@ function mitosis_styling(node, vars) {
54
29
  key={(isEditing() && imgSrc) || "default-key"}
55
30
  alt={altText}
56
31
  src={imgSrc || image}
57
- {...filterAttrs(attributes, isNonEvent)}
58
- use:setAttrs={filterAttrs(attributes, isEvent)}
32
+ {...filterAttrs(attributes, "on:", false)}
33
+ use:setAttrs={filterAttrs(attributes, "on:", true)}
59
34
  />
@@ -1,5 +1,7 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- export interface ImgProps {
2
+ /**
3
+ * This import is used by the Svelte SDK. Do not remove.
4
+ */ export interface ImgProps {
3
5
  attributes?: any;
4
6
  imgSrc?: string;
5
7
  image?: string;
@@ -1,2 +1,2 @@
1
- import type { ComponentInfo } from '../../types/components';
1
+ import type { ComponentInfo } from '../../types/components.js';
2
2
  export declare const componentInfo: ComponentInfo;
@@ -1,61 +1,36 @@
1
1
  export const componentInfo = {
2
2
  name: 'Form:Input',
3
3
  image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca',
4
- inputs: [
5
- {
4
+ inputs: [{
6
5
  name: 'type',
7
6
  type: 'text',
8
- enum: [
9
- 'text',
10
- 'number',
11
- 'email',
12
- 'url',
13
- 'checkbox',
14
- 'radio',
15
- 'range',
16
- 'date',
17
- 'datetime-local',
18
- 'search',
19
- 'tel',
20
- 'time',
21
- 'file',
22
- 'month',
23
- 'week',
24
- 'password',
25
- 'color',
26
- 'hidden',
27
- ],
28
- defaultValue: 'text',
29
- },
30
- {
7
+ enum: ['text', 'number', 'email', 'url', 'checkbox', 'radio', 'range', 'date', 'datetime-local', 'search', 'tel', 'time', 'file', 'month', 'week', 'password', 'color', 'hidden'],
8
+ defaultValue: 'text'
9
+ }, {
31
10
  name: 'name',
32
11
  type: 'string',
33
12
  required: true,
34
- helperText: 'Every input in a form needs a unique name describing what it takes, e.g. "email"',
35
- },
36
- {
13
+ helperText: 'Every input in a form needs a unique name describing what it takes, e.g. "email"'
14
+ }, {
37
15
  name: 'placeholder',
38
16
  type: 'string',
39
17
  defaultValue: 'Hello there',
40
- helperText: 'Text to display when there is no value',
18
+ helperText: 'Text to display when there is no value'
41
19
  },
42
20
  // TODO: handle value vs default value automatically like ng-model
43
21
  {
44
22
  name: 'defaultValue',
45
- type: 'string',
46
- },
47
- {
23
+ type: 'string'
24
+ }, {
48
25
  name: 'value',
49
26
  type: 'string',
50
- advanced: true,
51
- },
52
- {
27
+ advanced: true
28
+ }, {
53
29
  name: 'required',
54
30
  type: 'boolean',
55
31
  helperText: 'Is this input required to be filled out to submit a form',
56
- defaultValue: false,
57
- },
58
- ],
32
+ defaultValue: false
33
+ }],
59
34
  noWrap: true,
60
35
  static: true,
61
36
  defaultStyles: {
@@ -66,6 +41,6 @@ export const componentInfo = {
66
41
  borderRadius: '3px',
67
42
  borderWidth: '1px',
68
43
  borderStyle: 'solid',
69
- borderColor: '#ccc',
70
- },
44
+ borderColor: '#ccc'
45
+ }
71
46
  };
@@ -1,33 +1,8 @@
1
1
  <script context="module"></script>
2
2
 
3
3
  <script>import { isEditing } from "../../functions/is-editing.js";
4
- const isEvent = (attr) => attr.startsWith("on:");
5
- const isNonEvent = (attr) => !attr.startsWith("on:");
6
- const filterAttrs = (attrs = {}, filter) => {
7
- const validAttr = {};
8
- Object.keys(attrs).forEach((attr) => {
9
- if (filter(attr)) {
10
- validAttr[attr] = attrs[attr];
11
- }
12
- });
13
- return validAttr;
14
- };
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
- };
4
+ import { filterAttrs } from "../helpers.js";
5
+ import { setAttrs } from "../helpers.js";
31
6
  export let attributes;
32
7
  export let defaultValue;
33
8
  export let placeholder;
@@ -38,7 +13,7 @@ export let required;
38
13
  </script>
39
14
 
40
15
  <input
41
- {...filterAttrs(attributes, isNonEvent)}
16
+ {...filterAttrs(attributes, "on:", false)}
42
17
  key={isEditing() && defaultValue ? defaultValue : "default-key"}
43
18
  {placeholder}
44
19
  {type}
@@ -46,5 +21,5 @@ export let required;
46
21
  {value}
47
22
  {defaultValue}
48
23
  {required}
49
- use:setAttrs={filterAttrs(attributes, isEvent)}
24
+ use:setAttrs={filterAttrs(attributes, "on:", true)}
50
25
  />
@@ -1,5 +1,7 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- export interface FormInputProps {
2
+ /**
3
+ * This import is used by the Svelte SDK. Do not remove.
4
+ */ export interface FormInputProps {
3
5
  type?: string;
4
6
  attributes?: any;
5
7
  name?: string;
@@ -1,2 +1,2 @@
1
- import type { ComponentInfo } from '../../types/components';
1
+ import type { ComponentInfo } from '../../types/components.js';
2
2
  export declare const componentInfo: ComponentInfo;
@@ -1,12 +1,10 @@
1
1
  export const componentInfo = {
2
2
  name: 'Builder:RawText',
3
3
  hideFromInsertMenu: true,
4
- inputs: [
5
- {
4
+ inputs: [{
6
5
  name: 'text',
7
6
  bubble: true,
8
7
  type: 'longText',
9
- required: true,
10
- },
11
- ],
8
+ required: true
9
+ }]
12
10
  };
@@ -1,9 +1,7 @@
1
1
  <script context="module"></script>
2
2
 
3
- <script>export let attributes;
4
- export let text;
3
+ <script>export let text;
4
+ export let attributes;
5
5
  </script>
6
6
 
7
- <span class={attributes?.class || attributes?.className}
8
- >{@html text || ""}</span
9
- >
7
+ <span class={attributes.class}>{@html text?.toString() || ""}</span>
@@ -5,8 +5,8 @@ export interface RawTextProps {
5
5
  }
6
6
  declare const __propDef: {
7
7
  props: {
8
- attributes: RawTextProps["attributes"];
9
8
  text: RawTextProps["text"];
9
+ attributes: RawTextProps["attributes"];
10
10
  };
11
11
  events: {
12
12
  [evt: string]: CustomEvent<any>;
@@ -1,2 +1,2 @@
1
- import type { ComponentInfo } from '../../types/components';
1
+ import type { ComponentInfo } from '../../types/components.js';
2
2
  export declare const componentInfo: ComponentInfo;