@builder.io/sdk-svelte 0.4.5 → 0.5.1

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 (385) hide show
  1. package/package/--package.json +41 -29
  2. package/package/CHANGELOG.md +8 -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 +36 -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 +118 -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/components.context.d.ts +7 -0
  116. package/package/context/components.context.js +5 -0
  117. package/package/context/types.d.ts +1 -1
  118. package/package/functions/apply-patch-with-mutation.d.ts +10 -0
  119. package/package/functions/apply-patch-with-mutation.js +54 -0
  120. package/package/functions/evaluate/acorn.d.ts +0 -0
  121. package/package/functions/evaluate/acorn.js +2433 -0
  122. package/package/functions/{evaluate.d.ts → evaluate/evaluate.d.ts} +5 -2
  123. package/package/functions/{evaluate.js → evaluate/evaluate.js} +34 -13
  124. package/package/functions/evaluate/index.d.ts +1 -0
  125. package/package/functions/evaluate/index.js +1 -0
  126. package/package/functions/evaluate/interpreter.d.ts +2 -0
  127. package/package/functions/evaluate/interpreter.js +3853 -0
  128. package/package/functions/evaluate/non-node-runtime.d.ts +2 -0
  129. package/package/functions/evaluate/non-node-runtime.js +84 -0
  130. package/package/functions/evaluate/types.d.ts +10 -0
  131. package/package/functions/extract-text-styles.js +2 -14
  132. package/package/functions/get-block-actions-handler.js +3 -3
  133. package/package/functions/get-block-actions.d.ts +1 -0
  134. package/package/functions/get-block-actions.js +14 -1
  135. package/package/functions/get-block-component-options.js +1 -1
  136. package/package/functions/get-block-properties.d.ts +5 -1
  137. package/package/functions/get-block-properties.js +15 -9
  138. package/package/functions/get-builder-search-params/index.js +3 -7
  139. package/package/functions/get-content/generate-content-url.js +7 -5
  140. package/package/functions/get-content/index.d.ts +2 -6
  141. package/package/functions/get-content/index.js +26 -6
  142. package/package/functions/get-processed-block.d.ts +1 -1
  143. package/package/functions/get-processed-block.js +11 -7
  144. package/package/functions/get-react-native-block-styles.d.ts +1 -1
  145. package/package/functions/get-react-native-block-styles.js +2 -2
  146. package/package/functions/if-target.d.ts +1 -1
  147. package/package/functions/if-target.js +1 -1
  148. package/package/functions/is-editing.js +1 -3
  149. package/package/functions/is-non-node-server.d.ts +4 -0
  150. package/package/functions/is-non-node-server.js +8 -0
  151. package/package/functions/on-change.js +1 -1
  152. package/package/functions/register-component.d.ts +2 -1
  153. package/package/functions/register-component.js +20 -8
  154. package/package/functions/register.js +2 -2
  155. package/package/functions/sanitize-react-native-block-styles.js +13 -5
  156. package/package/functions/set-editor-settings.js +1 -1
  157. package/package/functions/set.js +2 -9
  158. package/package/functions/track/helpers.js +6 -11
  159. package/package/functions/track/index.js +26 -14
  160. package/package/functions/track/interaction.js +15 -16
  161. package/package/helpers/ab-tests.d.ts +2 -2
  162. package/package/helpers/ab-tests.js +42 -30
  163. package/package/helpers/canTrack.js +1 -1
  164. package/package/helpers/cookie.d.ts +2 -2
  165. package/package/helpers/cookie.js +13 -26
  166. package/package/helpers/css.d.ts +1 -1
  167. package/package/helpers/css.js +1 -1
  168. package/package/helpers/flatten.js +8 -8
  169. package/package/helpers/localStorage.d.ts +2 -2
  170. package/package/helpers/localStorage.js +2 -2
  171. package/package/helpers/logger.js +1 -1
  172. package/package/helpers/preview-lru-cache/get.d.ts +1 -0
  173. package/package/helpers/preview-lru-cache/get.js +7 -0
  174. package/package/helpers/preview-lru-cache/helpers.d.ts +1 -0
  175. package/package/helpers/preview-lru-cache/helpers.js +9 -0
  176. package/package/helpers/preview-lru-cache/init.d.ts +6 -0
  177. package/package/helpers/preview-lru-cache/init.js +15 -0
  178. package/package/helpers/preview-lru-cache/set.d.ts +7 -0
  179. package/package/helpers/preview-lru-cache/set.js +9 -0
  180. package/package/helpers/preview-lru-cache/types.d.ts +12 -0
  181. package/package/helpers/preview-lru-cache/types.js +6 -0
  182. package/package/helpers/sessionId.d.ts +2 -2
  183. package/package/helpers/sessionId.js +11 -4
  184. package/package/helpers/uuid.js +1 -1
  185. package/package/helpers/visitorId.d.ts +1 -1
  186. package/package/helpers/visitorId.js +7 -4
  187. package/package/index-helpers/blocks-exports.d.ts +2 -2
  188. package/package/index-helpers/blocks-exports.js +2 -2
  189. package/package/index.d.ts +2 -2
  190. package/package/index.js +1 -1
  191. package/package/scripts/init-editing.js +65 -57
  192. package/package/types/builder-props.d.ts +10 -0
  193. package/package/types/components.d.ts +8 -2
  194. package/package/types/enforced-partials.d.ts +1 -1
  195. package/package/types/targets.d.ts +1 -3
  196. package/package/types/typescript.d.ts +3 -0
  197. package/package.json +2 -2
  198. package/src/blocks/BaseText.svelte +1 -1
  199. package/src/blocks/button/button.svelte +21 -34
  200. package/src/blocks/button/component-info.ts +20 -27
  201. package/src/blocks/columns/columns.svelte +26 -30
  202. package/src/blocks/columns/component-info.ts +205 -240
  203. package/src/blocks/custom-code/component-info.ts +20 -27
  204. package/src/blocks/embed/component-info.ts +34 -51
  205. package/src/blocks/embed/helpers.ts +2 -8
  206. package/src/blocks/form/component-info.ts +204 -253
  207. package/src/blocks/form/form.svelte +1 -368
  208. package/src/blocks/fragment/component-info.ts +3 -5
  209. package/src/blocks/helpers.ts +43 -0
  210. package/src/blocks/image/component-info.ts +113 -161
  211. package/src/blocks/image/image.helpers.ts +5 -33
  212. package/src/blocks/img/component-info.ts +11 -16
  213. package/src/blocks/img/img.svelte +7 -31
  214. package/src/blocks/input/component-info.ts +35 -66
  215. package/src/blocks/input/input.svelte +7 -31
  216. package/src/blocks/raw-text/component-info.ts +8 -12
  217. package/src/blocks/raw-text/raw-text.svelte +2 -5
  218. package/src/blocks/section/component-info.ts +28 -37
  219. package/src/blocks/section/section.svelte +7 -30
  220. package/src/blocks/select/component-info.ts +38 -55
  221. package/src/blocks/select/select.svelte +7 -31
  222. package/src/blocks/submit-button/component-info.ts +10 -15
  223. package/src/blocks/submit-button/submit-button.svelte +7 -30
  224. package/src/blocks/symbol/component-info.ts +31 -39
  225. package/src/blocks/symbol/symbol.helpers.ts +47 -0
  226. package/src/blocks/symbol/symbol.svelte +50 -97
  227. package/src/blocks/text/component-info.ts +14 -18
  228. package/src/blocks/text/text.svelte +1 -1
  229. package/src/blocks/textarea/component-info.ts +26 -36
  230. package/src/blocks/textarea/textarea.svelte +7 -30
  231. package/src/blocks/video/component-info.ts +77 -103
  232. package/src/blocks/video/video.svelte +4 -31
  233. package/src/components/{render-block/render-block.helpers.ts → block/block.helpers.ts} +22 -49
  234. package/src/components/block/block.svelte +158 -0
  235. package/src/components/{render-block → block/components}/block-styles.svelte +23 -24
  236. package/src/components/block/components/block-wrapper.svelte +70 -0
  237. package/src/components/block/components/component-ref/component-ref.helpers.ts +53 -0
  238. package/src/components/block/components/component-ref/component-ref.svelte +41 -0
  239. package/src/components/block/components/interactive-element.svelte +42 -0
  240. package/src/components/block/components/repeated-block.svelte +30 -0
  241. package/src/components/{render-block → block}/types.ts +1 -2
  242. package/src/components/{render-blocks.svelte → blocks/blocks-wrapper.svelte} +14 -32
  243. package/src/components/blocks/blocks.svelte +51 -0
  244. package/src/components/{render-content/render-content.svelte → content/components/enable-editor.svelte} +71 -199
  245. package/src/components/{render-content/components/render-styles.helpers.ts → content/components/styles.helpers.ts} +9 -11
  246. package/src/components/{render-content/components/render-styles.svelte → content/components/styles.svelte} +3 -3
  247. package/src/components/content/content.helpers.ts +42 -0
  248. package/src/components/content/content.svelte +144 -0
  249. package/src/components/{render-content/render-content.types.ts → content/content.types.ts} +5 -9
  250. package/src/components/content/index.ts +1 -0
  251. package/src/components/{render-content → content}/wrap-component-ref.ts +1 -1
  252. package/src/components/{render-content-variants/render-content-variants.svelte → content-variants/content-variants.svelte} +26 -24
  253. package/src/components/{render-content-variants/render-content-variants.types.ts → content-variants/content-variants.types.ts} +9 -11
  254. package/src/components/{render-content-variants → content-variants}/helpers.ts +27 -73
  255. package/src/constants/builder-registered-components.ts +34 -14
  256. package/src/constants/device-sizes.ts +16 -22
  257. package/src/constants/sdk-version.ts +1 -1
  258. package/src/constants/target.ts +3 -1
  259. package/src/context/builder.context.ts +1 -1
  260. package/src/context/components.context.ts +6 -0
  261. package/src/context/types.ts +2 -7
  262. package/src/functions/apply-patch-with-mutation.ts +61 -0
  263. package/src/functions/camel-to-kebab-case.ts +1 -2
  264. package/src/functions/evaluate/acorn.ts +2501 -0
  265. package/src/functions/evaluate/evaluate.ts +90 -0
  266. package/src/functions/evaluate/index.ts +1 -0
  267. package/src/functions/evaluate/interpreter.ts +3887 -0
  268. package/src/functions/evaluate/non-node-runtime.ts +94 -0
  269. package/src/functions/evaluate/types.ts +10 -0
  270. package/src/functions/extract-text-styles.ts +3 -18
  271. package/src/functions/fast-clone.ts +1 -2
  272. package/src/functions/get-block-actions-handler.ts +11 -20
  273. package/src/functions/get-block-actions.ts +22 -14
  274. package/src/functions/get-block-component-options.ts +2 -3
  275. package/src/functions/get-block-properties.ts +24 -17
  276. package/src/functions/get-builder-search-params/index.ts +5 -21
  277. package/src/functions/get-content/generate-content-url.ts +10 -25
  278. package/src/functions/get-content/index.ts +34 -37
  279. package/src/functions/get-content/types.ts +4 -2
  280. package/src/functions/get-fetch.ts +3 -10
  281. package/src/functions/get-global-this.ts +1 -2
  282. package/src/functions/get-processed-block.ts +14 -21
  283. package/src/functions/get-react-native-block-styles.ts +6 -12
  284. package/src/functions/if-target.ts +2 -3
  285. package/src/functions/is-browser.ts +1 -1
  286. package/src/functions/is-editing.ts +2 -7
  287. package/src/functions/is-iframe.ts +1 -2
  288. package/src/functions/is-non-node-server.ts +9 -0
  289. package/src/functions/is-previewing.ts +1 -4
  290. package/src/functions/on-change.ts +2 -2
  291. package/src/functions/register-component.ts +24 -26
  292. package/src/functions/register.ts +6 -8
  293. package/src/functions/sanitize-react-native-block-styles.ts +17 -24
  294. package/src/functions/set-editor-settings.ts +5 -6
  295. package/src/functions/set.ts +3 -15
  296. package/src/functions/track/helpers.ts +8 -24
  297. package/src/functions/track/index.ts +37 -42
  298. package/src/functions/track/interaction.ts +21 -38
  299. package/src/functions/transform-block-properties.ts +1 -1
  300. package/src/functions/transform-block.ts +1 -1
  301. package/src/helpers/ab-tests.ts +64 -79
  302. package/src/helpers/canTrack.ts +2 -4
  303. package/src/helpers/cookie.ts +15 -46
  304. package/src/helpers/css.ts +4 -13
  305. package/src/helpers/flatten.ts +11 -16
  306. package/src/helpers/localStorage.ts +4 -8
  307. package/src/helpers/logger.ts +2 -2
  308. package/src/helpers/nullable.ts +1 -3
  309. package/src/helpers/preview-lru-cache/get.ts +8 -0
  310. package/src/helpers/preview-lru-cache/helpers.ts +9 -0
  311. package/src/helpers/preview-lru-cache/init.ts +17 -0
  312. package/src/helpers/preview-lru-cache/set.ts +18 -0
  313. package/src/helpers/preview-lru-cache/types.ts +12 -0
  314. package/src/helpers/sessionId.ts +12 -13
  315. package/src/helpers/time.ts +1 -3
  316. package/src/helpers/url.ts +1 -2
  317. package/src/helpers/uuid.ts +3 -3
  318. package/src/helpers/visitorId.ts +14 -17
  319. package/src/index-helpers/blocks-exports.ts +2 -2
  320. package/src/index-helpers/top-of-file.ts +1 -1
  321. package/src/index.ts +2 -13
  322. package/src/scripts/init-editing.ts +85 -98
  323. package/src/types/api-version.ts +1 -1
  324. package/src/types/builder-block.ts +1 -3
  325. package/src/types/builder-content.ts +7 -4
  326. package/src/types/builder-props.ts +10 -0
  327. package/src/types/can-track.ts +1 -1
  328. package/src/types/components.ts +17 -13
  329. package/src/types/deep-partial.ts +1 -7
  330. package/src/types/element.ts +1 -3
  331. package/src/types/enforced-partials.ts +6 -20
  332. package/src/types/input.ts +6 -9
  333. package/src/types/targets.ts +1 -6
  334. package/src/types/typescript.ts +9 -9
  335. package/package/blocks/util.d.ts +0 -4
  336. package/package/blocks/util.js +0 -13
  337. package/package/components/render-block/render-block.helpers.d.ts +0 -12
  338. package/package/components/render-block/render-block.svelte +0 -152
  339. package/package/components/render-block/render-block.svelte.d.ts +0 -24
  340. package/package/components/render-block/render-component.svelte +0 -21
  341. package/package/components/render-block/render-component.svelte.d.ts +0 -34
  342. package/package/components/render-block/render-repeated-block.svelte.d.ts +0 -23
  343. package/package/components/render-blocks.svelte.d.ts +0 -26
  344. package/package/components/render-content/builder-editing.svelte +0 -4
  345. package/package/components/render-content/builder-editing.svelte.d.ts +0 -14
  346. package/package/components/render-content/index.d.ts +0 -1
  347. package/package/components/render-content/index.js +0 -1
  348. package/package/components/render-content/render-content.helpers.d.ts +0 -7
  349. package/package/components/render-content/render-content.helpers.js +0 -30
  350. package/package/components/render-content/render-content.svelte.d.ts +0 -30
  351. package/package/functions/evaluate.test.js +0 -17
  352. package/package/functions/get-builder-search-params/fn.test.js +0 -13
  353. package/package/functions/get-content/generate-content-url.test.d.ts +0 -1
  354. package/package/functions/get-content/generate-content-url.test.js +0 -97
  355. package/package/functions/get-processed-block.test.d.ts +0 -1
  356. package/package/functions/get-processed-block.test.js +0 -33
  357. package/package/functions/on-change.test.d.ts +0 -1
  358. package/package/functions/on-change.test.js +0 -20
  359. package/package/functions/set.test.d.ts +0 -1
  360. package/package/functions/set.test.js +0 -16
  361. package/package/helpers/url.test.d.ts +0 -1
  362. package/package/helpers/url.test.js +0 -21
  363. package/src/blocks/util.ts +0 -18
  364. package/src/components/render-block/render-block.svelte +0 -173
  365. package/src/components/render-block/render-component.svelte +0 -40
  366. package/src/components/render-block/render-repeated-block.svelte +0 -25
  367. package/src/components/render-content/builder-editing.svelte +0 -4
  368. package/src/components/render-content/index.ts +0 -1
  369. package/src/components/render-content/render-content.helpers.ts +0 -48
  370. package/src/functions/evaluate.test.ts +0 -21
  371. package/src/functions/evaluate.ts +0 -99
  372. package/src/functions/get-builder-search-params/fn.test.ts +0 -19
  373. package/src/functions/get-content/generate-content-url.test.ts +0 -112
  374. package/src/functions/get-processed-block.test.ts +0 -35
  375. package/src/functions/on-change.test.ts +0 -23
  376. package/src/functions/set.test.ts +0 -19
  377. package/src/helpers/url.test.ts +0 -23
  378. /package/package/components/{render-block → block}/types.d.ts +0 -0
  379. /package/package/components/{render-block → block}/types.js +0 -0
  380. /package/package/components/{render-content/render-content.types.js → content/content.types.js} +0 -0
  381. /package/package/components/{render-content → content}/wrap-component-ref.d.ts +0 -0
  382. /package/package/components/{render-content → content}/wrap-component-ref.js +0 -0
  383. /package/package/components/{render-content-variants/render-content-variants.types.js → content-variants/content-variants.types.js} +0 -0
  384. /package/package/functions/{evaluate.test.d.ts → evaluate/types.js} +0 -0
  385. /package/package/{functions/get-builder-search-params/fn.test.d.ts → types/builder-props.js} +0 -0
@@ -1,172 +1,124 @@
1
- import type { ComponentInfo } from '../../types/components';
2
- import { serializeFn } from '../util.js';
3
-
1
+ import type { ComponentInfo } from '../../types/components.js';
4
2
  export const componentInfo: ComponentInfo = {
5
3
  name: 'Image',
6
4
  static: true,
7
-
8
- image:
9
- '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',
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',
10
6
  defaultStyles: {
11
7
  position: 'relative',
12
8
  minHeight: '20px',
13
9
  minWidth: '20px',
14
- overflow: 'hidden',
10
+ overflow: 'hidden'
15
11
  },
16
12
  canHaveChildren: true,
17
- inputs: [
18
- {
19
- name: 'image',
20
- type: 'file',
21
- bubble: true,
22
- allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg'],
23
- required: true,
24
- defaultValue:
25
- 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a',
26
- onChange: serializeFn(
27
- (options: Map<string, any>): void | Promise<void> => {
28
- const DEFAULT_ASPECT_RATIO = 0.7041;
29
- options.delete('srcset');
30
- options.delete('noWebp');
31
- function loadImage(
32
- url: string,
33
- timeout = 60000
34
- ): Promise<HTMLImageElement> {
35
- return new Promise((resolve, reject) => {
36
- const img = document.createElement('img');
37
- let loaded = false;
38
- img.onload = () => {
39
- loaded = true;
40
- resolve(img);
41
- };
42
-
43
- img.addEventListener('error', (event) => {
44
- console.warn('Image load failed', event.error);
45
- reject(event.error);
46
- });
13
+ inputs: [{
14
+ name: 'image',
15
+ type: 'file',
16
+ bubble: true,
17
+ allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg'],
18
+ required: true,
19
+ defaultValue: 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a',
20
+ onChange: (options: Map<string, any>): void | Promise<void> => {
21
+ const DEFAULT_ASPECT_RATIO = 0.7041;
22
+ options.delete('srcset');
23
+ options.delete('noWebp');
24
+ function loadImage(url: string, timeout = 60000): Promise<HTMLImageElement> {
25
+ return new Promise((resolve, reject) => {
26
+ const img = document.createElement('img');
27
+ let loaded = false;
28
+ img.onload = () => {
29
+ loaded = true;
30
+ resolve(img);
31
+ };
32
+ img.addEventListener('error', event => {
33
+ console.warn('Image load failed', event.error);
34
+ reject(event.error);
35
+ });
36
+ img.src = url;
37
+ setTimeout(() => {
38
+ if (!loaded) {
39
+ reject(new Error('Image load timed out'));
40
+ }
41
+ }, timeout);
42
+ });
43
+ }
44
+ function round(num: number) {
45
+ return Math.round(num * 1000) / 1000;
46
+ }
47
+ const value = options.get('image');
48
+ const aspectRatio = options.get('aspectRatio');
47
49
 
48
- img.src = url;
49
- setTimeout(() => {
50
- if (!loaded) {
51
- reject(new Error('Image load timed out'));
52
- }
53
- }, timeout);
54
- });
55
- }
56
-
57
- function round(num: number) {
58
- return Math.round(num * 1000) / 1000;
59
- }
60
-
61
- const value = options.get('image');
62
- const aspectRatio = options.get('aspectRatio');
63
-
64
- // For SVG images - don't render as webp, keep them as SVG
65
- fetch(value)
66
- .then((res) => res.blob())
67
- .then((blob) => {
68
- if (blob.type.includes('svg')) {
69
- options.set('noWebp', true);
70
- }
71
- });
72
-
73
- if (value && (!aspectRatio || aspectRatio === DEFAULT_ASPECT_RATIO)) {
74
- return loadImage(value).then((img) => {
75
- const possiblyUpdatedAspectRatio = options.get('aspectRatio');
76
- if (
77
- options.get('image') === value &&
78
- (!possiblyUpdatedAspectRatio ||
79
- possiblyUpdatedAspectRatio === DEFAULT_ASPECT_RATIO)
80
- ) {
81
- if (img.width && img.height) {
82
- options.set('aspectRatio', round(img.height / img.width));
83
- options.set('height', img.height);
84
- options.set('width', img.width);
85
- }
86
- }
87
- });
88
- }
50
+ // For SVG images - don't render as webp, keep them as SVG
51
+ fetch(value).then(res => res.blob()).then(blob => {
52
+ if (blob.type.includes('svg')) {
53
+ options.set('noWebp', true);
89
54
  }
90
- ),
91
- },
92
- {
93
- name: 'backgroundSize',
94
- type: 'text',
95
- defaultValue: 'cover',
96
- enum: [
97
- {
98
- label: 'contain',
99
- value: 'contain',
100
- helperText: 'The image should never get cropped',
101
- },
102
- {
103
- label: 'cover',
104
- value: 'cover',
105
- helperText: "The image should fill it's box, cropping when needed",
106
- },
107
- ],
108
- },
109
- {
110
- name: 'backgroundPosition',
111
- type: 'text',
112
- defaultValue: 'center',
113
- enum: [
114
- 'center',
115
- 'top',
116
- 'left',
117
- 'right',
118
- 'bottom',
119
- 'top left',
120
- 'top right',
121
- 'bottom left',
122
- 'bottom right',
123
- ],
124
- },
125
- {
126
- name: 'altText',
127
- type: 'string',
128
- helperText: 'Text to display when the user has images off',
129
- },
130
- {
131
- name: 'height',
132
- type: 'number',
133
- hideFromUI: true,
134
- },
135
- {
136
- name: 'width',
137
- type: 'number',
138
- hideFromUI: true,
139
- },
140
- {
141
- name: 'sizes',
142
- type: 'string',
143
- hideFromUI: true,
144
- },
145
- {
146
- name: 'srcset',
147
- type: 'string',
148
- hideFromUI: true,
149
- },
150
- {
151
- name: 'lazy',
152
- type: 'boolean',
153
- defaultValue: true,
154
- hideFromUI: true,
155
- },
156
- {
157
- name: 'fitContent',
158
- type: 'boolean',
159
- helperText:
160
- "When child blocks are provided, fit to them instead of using the image's aspect ratio",
161
- defaultValue: true,
162
- },
163
- {
164
- name: 'aspectRatio',
165
- type: 'number',
166
- helperText:
167
- "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",
168
- advanced: true,
169
- defaultValue: 0.7041,
170
- },
171
- ],
172
- };
55
+ });
56
+ if (value && (!aspectRatio || aspectRatio === DEFAULT_ASPECT_RATIO)) {
57
+ return loadImage(value).then(img => {
58
+ const possiblyUpdatedAspectRatio = options.get('aspectRatio');
59
+ if (options.get('image') === value && (!possiblyUpdatedAspectRatio || possiblyUpdatedAspectRatio === DEFAULT_ASPECT_RATIO)) {
60
+ if (img.width && img.height) {
61
+ options.set('aspectRatio', round(img.height / img.width));
62
+ options.set('height', img.height);
63
+ options.set('width', img.width);
64
+ }
65
+ }
66
+ });
67
+ }
68
+ }
69
+ }, {
70
+ name: 'backgroundSize',
71
+ type: 'text',
72
+ defaultValue: 'cover',
73
+ enum: [{
74
+ label: 'contain',
75
+ value: 'contain',
76
+ helperText: 'The image should never get cropped'
77
+ }, {
78
+ label: 'cover',
79
+ value: 'cover',
80
+ helperText: "The image should fill it's box, cropping when needed"
81
+ }]
82
+ }, {
83
+ name: 'backgroundPosition',
84
+ type: 'text',
85
+ defaultValue: 'center',
86
+ enum: ['center', 'top', 'left', 'right', 'bottom', 'top left', 'top right', 'bottom left', 'bottom right']
87
+ }, {
88
+ name: 'altText',
89
+ type: 'string',
90
+ helperText: 'Text to display when the user has images off'
91
+ }, {
92
+ name: 'height',
93
+ type: 'number',
94
+ hideFromUI: true
95
+ }, {
96
+ name: 'width',
97
+ type: 'number',
98
+ hideFromUI: true
99
+ }, {
100
+ name: 'sizes',
101
+ type: 'string',
102
+ hideFromUI: true
103
+ }, {
104
+ name: 'srcset',
105
+ type: 'string',
106
+ hideFromUI: true
107
+ }, {
108
+ name: 'lazy',
109
+ type: 'boolean',
110
+ defaultValue: true,
111
+ hideFromUI: true
112
+ }, {
113
+ name: 'fitContent',
114
+ type: 'boolean',
115
+ helperText: "When child blocks are provided, fit to them instead of using the image's aspect ratio",
116
+ defaultValue: true
117
+ }, {
118
+ name: 'aspectRatio',
119
+ type: 'number',
120
+ 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",
121
+ advanced: true,
122
+ defaultValue: 0.7041
123
+ }]
124
+ }
@@ -3,73 +3,45 @@
3
3
  function removeProtocol(path: string) {
4
4
  return path.replace(/http(s)?:/, '');
5
5
  }
6
-
7
- function updateQueryParam(
8
- uri = '',
9
- key: string,
10
- value: string | number | boolean
11
- ): string {
6
+ function updateQueryParam(uri = '', key: string, value: string | number | boolean): string {
12
7
  const re = new RegExp('([?&])' + key + '=.*?(&|$)', 'i');
13
8
  const separator = uri.indexOf('?') !== -1 ? '&' : '?';
14
9
  if (uri.match(re)) {
15
10
  return uri.replace(re, '$1' + key + '=' + encodeURIComponent(value) + '$2');
16
11
  }
17
-
18
12
  return uri + separator + key + '=' + encodeURIComponent(value);
19
13
  }
20
14
  function getShopifyImageUrl(src: string, size: string): string | null {
21
15
  if (!src || !src?.match(/cdn\.shopify\.com/) || !size) {
22
16
  return src;
23
17
  }
24
-
25
18
  if (size === 'master') {
26
19
  return removeProtocol(src);
27
20
  }
28
-
29
- const match = src.match(
30
- /(_\d+x(\d+)?)?(\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?)/i
31
- );
32
-
21
+ const match = src.match(/(_\d+x(\d+)?)?(\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?)/i);
33
22
  if (match) {
34
23
  const prefix = src.split(match[0]);
35
24
  const suffix = match[3];
36
25
  const useSize = size.match('x') ? size : `${size}x`;
37
-
38
26
  return removeProtocol(`${prefix[0]}_${useSize}${suffix}`);
39
27
  }
40
-
41
28
  return null;
42
29
  }
43
-
44
30
  export function getSrcSet(url: string): string {
45
31
  if (!url) {
46
32
  return url;
47
33
  }
48
-
49
34
  const sizes = [100, 200, 400, 800, 1200, 1600, 2000];
50
-
51
35
  if (url.match(/builder\.io/)) {
52
36
  let srcUrl = url;
53
37
  const widthInSrc = Number(url.split('?width=')[1]);
54
38
  if (!isNaN(widthInSrc)) {
55
39
  srcUrl = `${srcUrl} ${widthInSrc}w`;
56
40
  }
57
-
58
- return sizes
59
- .filter((size) => size !== widthInSrc)
60
- .map((size) => `${updateQueryParam(url, 'width', size)} ${size}w`)
61
- .concat([srcUrl])
62
- .join(', ');
41
+ return sizes.filter(size => size !== widthInSrc).map(size => `${updateQueryParam(url, 'width', size)} ${size}w`).concat([srcUrl]).join(', ');
63
42
  }
64
-
65
43
  if (url.match(/cdn\.shopify\.com/)) {
66
- return sizes
67
- .map((size) => [getShopifyImageUrl(url, `${size}x${size}`), size])
68
- .filter(([sizeUrl]) => !!sizeUrl)
69
- .map(([sizeUrl, size]) => `${sizeUrl} ${size}w`)
70
- .concat([url])
71
- .join(', ');
44
+ return sizes.map(size => [getShopifyImageUrl(url, `${size}x${size}`), size]).filter(([sizeUrl]) => !!sizeUrl).map(([sizeUrl, size]) => `${sizeUrl} ${size}w`).concat([url]).join(', ');
72
45
  }
73
-
74
46
  return url;
75
- }
47
+ }
@@ -1,21 +1,16 @@
1
- import type { ComponentInfo } from '../../types/components';
2
-
1
+ import type { ComponentInfo } from '../../types/components.js';
3
2
  export const componentInfo: ComponentInfo = {
4
3
  // friendlyName?
5
4
  name: 'Raw:Img',
6
5
  hideFromInsertMenu: true,
7
-
8
- image:
9
- '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',
10
- inputs: [
11
- {
12
- name: 'image',
13
- bubble: true,
14
- type: 'file',
15
- allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg', 'gif', 'webp'],
16
- required: true,
17
- },
18
- ],
6
+ 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',
7
+ inputs: [{
8
+ name: 'image',
9
+ bubble: true,
10
+ type: 'file',
11
+ allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg', 'gif', 'webp'],
12
+ required: true
13
+ }],
19
14
  noWrap: true,
20
- static: true,
21
- };
15
+ static: true
16
+ }
@@ -1,4 +1,7 @@
1
1
  <script context="module" lang="ts">
2
+ /**
3
+ * This import is used by the Svelte SDK. Do not remove.
4
+ */ // eslint-disable-next-line unused-imports/no-unused-imports, @typescript-eslint/no-unused-vars
2
5
  export interface ImgProps {
3
6
  attributes?: any;
4
7
  imgSrc?: string; // TODO(misko): I think this is unused
@@ -20,35 +23,8 @@
20
23
 
21
24
  <script lang="ts">
22
25
  import { isEditing } from "../../functions/is-editing.js";
23
-
24
- const isEvent = (attr) => attr.startsWith("on:");
25
- const isNonEvent = (attr) => !attr.startsWith("on:");
26
- const filterAttrs = (attrs = {}, filter) => {
27
- const validAttr = {};
28
- Object.keys(attrs).forEach((attr) => {
29
- if (filter(attr)) {
30
- validAttr[attr] = attrs[attr];
31
- }
32
- });
33
- return validAttr;
34
- };
35
- const setAttrs = (node, attrs = {}) => {
36
- const attrKeys = Object.keys(attrs);
37
- const setup = (attr) => node.addEventListener(attr.substr(3), attrs[attr]);
38
- const teardown = (attr) =>
39
- node.removeEventListener(attr.substr(3), attrs[attr]);
40
- attrKeys.map(setup);
41
- return {
42
- update(attrs = {}) {
43
- const attrKeys = Object.keys(attrs);
44
- attrKeys.map(teardown);
45
- attrKeys.map(setup);
46
- },
47
- destroy() {
48
- attrKeys.map(teardown);
49
- },
50
- };
51
- };
26
+ import { filterAttrs } from "../helpers.js";
27
+ import { setAttrs } from "../helpers.js";
52
28
 
53
29
  export let backgroundSize: ImgProps["backgroundSize"];
54
30
  export let backgroundPosition: ImgProps["backgroundPosition"];
@@ -76,6 +52,6 @@
76
52
  key={(isEditing() && imgSrc) || "default-key"}
77
53
  alt={altText}
78
54
  src={imgSrc || image}
79
- {...filterAttrs(attributes, isNonEvent)}
80
- use:setAttrs={filterAttrs(attributes, isEvent)}
55
+ {...filterAttrs(attributes, "on:", false)}
56
+ use:setAttrs={filterAttrs(attributes, "on:", true)}
81
57
  />
@@ -1,68 +1,37 @@
1
- import type { ComponentInfo } from '../../types/components';
2
-
1
+ import type { ComponentInfo } from '../../types/components.js';
3
2
  export const componentInfo: ComponentInfo = {
4
3
  name: 'Form:Input',
5
-
6
- image:
7
- 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca',
8
- inputs: [
9
- {
10
- name: 'type',
11
- type: 'text',
12
- enum: [
13
- 'text',
14
- 'number',
15
- 'email',
16
- 'url',
17
- 'checkbox',
18
- 'radio',
19
- 'range',
20
- 'date',
21
- 'datetime-local',
22
- 'search',
23
- 'tel',
24
- 'time',
25
- 'file',
26
- 'month',
27
- 'week',
28
- 'password',
29
- 'color',
30
- 'hidden',
31
- ],
32
- defaultValue: 'text',
33
- },
34
- {
35
- name: 'name',
36
- type: 'string',
37
- required: true,
38
- helperText:
39
- 'Every input in a form needs a unique name describing what it takes, e.g. "email"',
40
- },
41
- {
42
- name: 'placeholder',
43
- type: 'string',
44
- defaultValue: 'Hello there',
45
- helperText: 'Text to display when there is no value',
46
- },
47
- // TODO: handle value vs default value automatically like ng-model
48
- {
49
- name: 'defaultValue',
50
- type: 'string',
51
- },
52
- {
53
- name: 'value',
54
- type: 'string',
55
- advanced: true,
56
- },
57
-
58
- {
59
- name: 'required',
60
- type: 'boolean',
61
- helperText: 'Is this input required to be filled out to submit a form',
62
- defaultValue: false,
63
- },
64
- ],
65
-
4
+ image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca',
5
+ inputs: [{
6
+ name: 'type',
7
+ type: 'text',
8
+ enum: ['text', 'number', 'email', 'url', 'checkbox', 'radio', 'range', 'date', 'datetime-local', 'search', 'tel', 'time', 'file', 'month', 'week', 'password', 'color', 'hidden'],
9
+ defaultValue: 'text'
10
+ }, {
11
+ name: 'name',
12
+ type: 'string',
13
+ required: true,
14
+ helperText: 'Every input in a form needs a unique name describing what it takes, e.g. "email"'
15
+ }, {
16
+ name: 'placeholder',
17
+ type: 'string',
18
+ defaultValue: 'Hello there',
19
+ helperText: 'Text to display when there is no value'
20
+ },
21
+ // TODO: handle value vs default value automatically like ng-model
22
+ {
23
+ name: 'defaultValue',
24
+ type: 'string'
25
+ }, {
26
+ name: 'value',
27
+ type: 'string',
28
+ advanced: true
29
+ }, {
30
+ name: 'required',
31
+ type: 'boolean',
32
+ helperText: 'Is this input required to be filled out to submit a form',
33
+ defaultValue: false
34
+ }],
66
35
  noWrap: true,
67
36
  static: true,
68
37
  defaultStyles: {
@@ -73,6 +42,6 @@ export const componentInfo: ComponentInfo = {
73
42
  borderRadius: '3px',
74
43
  borderWidth: '1px',
75
44
  borderStyle: 'solid',
76
- borderColor: '#ccc',
77
- },
78
- };
45
+ borderColor: '#ccc'
46
+ }
47
+ }
@@ -1,4 +1,7 @@
1
1
  <script context="module" lang="ts">
2
+ /**
3
+ * This import is used by the Svelte SDK. Do not remove.
4
+ */ // eslint-disable-next-line unused-imports/no-unused-imports, @typescript-eslint/no-unused-vars
2
5
  export interface FormInputProps {
3
6
  type?: string;
4
7
  attributes?: any;
@@ -12,35 +15,8 @@
12
15
 
13
16
  <script lang="ts">
14
17
  import { isEditing } from "../../functions/is-editing.js";
15
-
16
- const isEvent = (attr) => attr.startsWith("on:");
17
- const isNonEvent = (attr) => !attr.startsWith("on:");
18
- const filterAttrs = (attrs = {}, filter) => {
19
- const validAttr = {};
20
- Object.keys(attrs).forEach((attr) => {
21
- if (filter(attr)) {
22
- validAttr[attr] = attrs[attr];
23
- }
24
- });
25
- return validAttr;
26
- };
27
- const setAttrs = (node, attrs = {}) => {
28
- const attrKeys = Object.keys(attrs);
29
- const setup = (attr) => node.addEventListener(attr.substr(3), attrs[attr]);
30
- const teardown = (attr) =>
31
- node.removeEventListener(attr.substr(3), attrs[attr]);
32
- attrKeys.map(setup);
33
- return {
34
- update(attrs = {}) {
35
- const attrKeys = Object.keys(attrs);
36
- attrKeys.map(teardown);
37
- attrKeys.map(setup);
38
- },
39
- destroy() {
40
- attrKeys.map(teardown);
41
- },
42
- };
43
- };
18
+ import { filterAttrs } from "../helpers.js";
19
+ import { setAttrs } from "../helpers.js";
44
20
 
45
21
  export let attributes: FormInputProps["attributes"];
46
22
  export let defaultValue: FormInputProps["defaultValue"];
@@ -52,7 +28,7 @@
52
28
  </script>
53
29
 
54
30
  <input
55
- {...filterAttrs(attributes, isNonEvent)}
31
+ {...filterAttrs(attributes, "on:", false)}
56
32
  key={isEditing() && defaultValue ? defaultValue : "default-key"}
57
33
  {placeholder}
58
34
  {type}
@@ -60,5 +36,5 @@
60
36
  {value}
61
37
  {defaultValue}
62
38
  {required}
63
- use:setAttrs={filterAttrs(attributes, isEvent)}
39
+ use:setAttrs={filterAttrs(attributes, "on:", true)}
64
40
  />
@@ -1,15 +1,11 @@
1
- import type { ComponentInfo } from '../../types/components';
2
-
1
+ import type { ComponentInfo } from '../../types/components.js';
3
2
  export const componentInfo: ComponentInfo = {
4
3
  name: 'Builder:RawText',
5
4
  hideFromInsertMenu: true,
6
-
7
- inputs: [
8
- {
9
- name: 'text',
10
- bubble: true,
11
- type: 'longText',
12
- required: true,
13
- },
14
- ],
15
- };
5
+ inputs: [{
6
+ name: 'text',
7
+ bubble: true,
8
+ type: 'longText',
9
+ required: true
10
+ }]
11
+ }
@@ -2,15 +2,12 @@
2
2
  export interface RawTextProps {
3
3
  attributes?: any;
4
4
  text?: string;
5
- // builderBlock?: any;
6
5
  }
7
6
  </script>
8
7
 
9
8
  <script lang="ts">
10
- export let attributes: RawTextProps["attributes"];
11
9
  export let text: RawTextProps["text"];
10
+ export let attributes: RawTextProps["attributes"];
12
11
  </script>
13
12
 
14
- <span class={attributes?.class || attributes?.className}
15
- >{@html text || ""}</span
16
- >
13
+ <span class={attributes.class}>{@html text?.toString() || ""}</span>