@builder.io/sdk-svelte 0.0.1-8 → 0.0.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 (359) hide show
  1. package/README.md +4 -0
  2. package/package/CHANGELOG.md +19 -0
  3. package/package/README.md +19 -0
  4. package/{src/types/builder-block.js → package/blocks/button/button.lite.d.ts} +0 -0
  5. package/package/blocks/button/button.lite.tsx +36 -0
  6. package/package/blocks/button/button.svelte +28 -0
  7. package/package/blocks/button/button.svelte.d.ts +25 -0
  8. package/package/blocks/button/component-info.d.ts +2 -0
  9. package/package/blocks/button/component-info.js +39 -0
  10. package/{src/types/builder-content.js → package/blocks/columns/columns.lite.d.ts} +0 -0
  11. package/package/blocks/columns/columns.lite.tsx +139 -0
  12. package/package/blocks/columns/columns.svelte +109 -0
  13. package/package/blocks/columns/columns.svelte.d.ts +33 -0
  14. package/package/blocks/columns/component-info.d.ts +2 -0
  15. package/package/blocks/columns/component-info.js +241 -0
  16. package/package/blocks/custom-code/component-info.d.ts +2 -0
  17. package/package/blocks/custom-code/component-info.js +28 -0
  18. package/{src/types/components.js → package/blocks/custom-code/custom-code.lite.d.ts} +0 -0
  19. package/package/blocks/custom-code/custom-code.lite.tsx +70 -0
  20. package/package/blocks/custom-code/custom-code.svelte +55 -0
  21. package/package/blocks/custom-code/custom-code.svelte.d.ts +21 -0
  22. package/package/blocks/embed/component-info.d.ts +2 -0
  23. package/package/blocks/embed/component-info.js +47 -0
  24. package/{src/types/deep-partial.js → package/blocks/embed/embed.lite.d.ts} +0 -0
  25. package/package/blocks/embed/embed.lite.tsx +52 -0
  26. package/package/blocks/embed/embed.svelte +41 -0
  27. package/package/blocks/embed/embed.svelte.d.ts +19 -0
  28. package/package/blocks/embed/helpers.d.ts +1 -0
  29. package/package/blocks/embed/helpers.js +6 -0
  30. package/package/blocks/form/component-info.d.ts +2 -0
  31. package/package/blocks/form/component-info.js +268 -0
  32. package/{src/types/element.js → package/blocks/form/form.lite.d.ts} +0 -0
  33. package/package/blocks/form/form.lite.tsx +351 -0
  34. package/package/blocks/form/form.svelte +259 -0
  35. package/package/blocks/form/form.svelte.d.ts +70 -0
  36. package/package/blocks/fragment/component-info.d.ts +2 -0
  37. package/package/blocks/fragment/component-info.js +8 -0
  38. package/{src/types/targets.js → package/blocks/fragment/fragment.lite.d.ts} +0 -0
  39. package/package/blocks/fragment/fragment.lite.tsx +12 -0
  40. package/package/blocks/fragment/fragment.svelte +5 -0
  41. package/package/blocks/fragment/fragment.svelte.d.ts +21 -0
  42. package/package/blocks/image/component-info.d.ts +2 -0
  43. package/package/blocks/image/component-info.js +153 -0
  44. package/package/blocks/image/image.helpers.d.ts +1 -0
  45. package/package/blocks/image/image.helpers.js +56 -0
  46. package/{src/types/typescript.js → package/blocks/image/image.lite.d.ts} +0 -0
  47. package/package/blocks/image/image.lite.tsx +148 -0
  48. package/package/blocks/image/image.svelte +119 -0
  49. package/package/blocks/image/image.svelte.d.ts +48 -0
  50. package/package/blocks/img/component-info.d.ts +2 -0
  51. package/package/blocks/img/component-info.js +18 -0
  52. package/package/blocks/img/img.lite.d.ts +0 -0
  53. package/package/blocks/img/img.lite.tsx +48 -0
  54. package/package/blocks/img/img.svelte +26 -0
  55. package/package/blocks/img/img.svelte.d.ts +29 -0
  56. package/package/blocks/input/component-info.d.ts +2 -0
  57. package/package/blocks/input/component-info.js +72 -0
  58. package/package/blocks/input/input.lite.d.ts +0 -0
  59. package/package/blocks/input/input.lite.tsx +34 -0
  60. package/package/blocks/input/input.svelte +22 -0
  61. package/package/blocks/input/input.svelte.d.ts +31 -0
  62. package/package/blocks/raw-text/component-info.d.ts +2 -0
  63. package/package/blocks/raw-text/component-info.js +13 -0
  64. package/package/blocks/raw-text/raw-text.lite.d.ts +0 -0
  65. package/package/blocks/raw-text/raw-text.lite.tsx +15 -0
  66. package/package/blocks/raw-text/raw-text.svelte +9 -0
  67. package/package/blocks/raw-text/raw-text.svelte.d.ts +21 -0
  68. package/package/blocks/section/component-info.d.ts +2 -0
  69. package/package/blocks/section/component-info.js +46 -0
  70. package/package/blocks/section/section.lite.d.ts +0 -0
  71. package/package/blocks/section/section.lite.tsx +30 -0
  72. package/package/blocks/section/section.svelte +21 -0
  73. package/package/blocks/section/section.svelte.d.ts +25 -0
  74. package/package/blocks/select/component-info.d.ts +2 -0
  75. package/package/blocks/select/component-info.js +56 -0
  76. package/package/blocks/select/select.lite.d.ts +0 -0
  77. package/package/blocks/select/select.lite.tsx +34 -0
  78. package/package/blocks/select/select.svelte +21 -0
  79. package/package/blocks/select/select.svelte.d.ts +30 -0
  80. package/package/blocks/submit-button/component-info.d.ts +2 -0
  81. package/package/blocks/submit-button/component-info.js +29 -0
  82. package/package/blocks/submit-button/submit-button.lite.d.ts +0 -0
  83. package/package/blocks/submit-button/submit-button.lite.tsx +15 -0
  84. package/package/blocks/submit-button/submit-button.svelte +9 -0
  85. package/package/blocks/submit-button/submit-button.svelte.d.ts +21 -0
  86. package/package/blocks/symbol/component-info.d.ts +2 -0
  87. package/package/blocks/symbol/component-info.js +40 -0
  88. package/package/blocks/symbol/symbol.lite.d.ts +0 -0
  89. package/package/blocks/symbol/symbol.lite.tsx +92 -0
  90. package/package/blocks/symbol/symbol.svelte +66 -0
  91. package/package/blocks/symbol/symbol.svelte.d.ts +35 -0
  92. package/package/blocks/text/component-info.d.ts +2 -0
  93. package/package/blocks/text/component-info.js +21 -0
  94. package/package/blocks/text/text.lite.d.ts +0 -0
  95. package/package/blocks/text/text.lite.tsx +11 -0
  96. package/package/blocks/text/text.svelte +6 -0
  97. package/package/blocks/text/text.svelte.d.ts +19 -0
  98. package/package/blocks/textarea/component-info.d.ts +2 -0
  99. package/package/blocks/textarea/component-info.js +44 -0
  100. package/package/blocks/textarea/textarea.lite.d.ts +0 -0
  101. package/package/blocks/textarea/textarea.lite.tsx +19 -0
  102. package/package/blocks/textarea/textarea.svelte +10 -0
  103. package/package/blocks/textarea/textarea.svelte.d.ts +27 -0
  104. package/package/blocks/util.d.ts +1 -0
  105. package/package/blocks/util.js +4 -0
  106. package/package/blocks/video/component-info.d.ts +2 -0
  107. package/package/blocks/video/component-info.js +103 -0
  108. package/package/blocks/video/video.lite.d.ts +0 -0
  109. package/package/blocks/video/video.lite.tsx +92 -0
  110. package/package/blocks/video/video.svelte +63 -0
  111. package/package/blocks/video/video.svelte.d.ts +41 -0
  112. package/package/components/render-block/block-styles.lite.d.ts +0 -0
  113. package/package/components/render-block/block-styles.lite.tsx +60 -0
  114. package/package/components/render-block/block-styles.svelte +45 -0
  115. package/package/components/render-block/block-styles.svelte.d.ts +23 -0
  116. package/package/components/render-block/render-block.helpers.d.ts +1 -0
  117. package/package/components/render-block/render-block.helpers.js +24 -0
  118. package/package/components/render-block/render-block.lite.d.ts +0 -0
  119. package/package/components/render-block/render-block.lite.tsx +216 -0
  120. package/package/components/render-block/render-block.svelte +185 -0
  121. package/package/components/render-block/render-block.svelte.d.ts +23 -0
  122. package/package/components/render-block/render-component.lite.d.ts +0 -0
  123. package/package/components/render-block/render-component.lite.tsx +33 -0
  124. package/package/components/render-block/render-component.svelte +24 -0
  125. package/package/components/render-block/render-component.svelte.d.ts +27 -0
  126. package/package/components/render-block/render-repeated-block.lite.d.ts +0 -0
  127. package/package/components/render-block/render-repeated-block.lite.tsx +49 -0
  128. package/package/components/render-block/render-repeated-block.svelte +36 -0
  129. package/package/components/render-block/render-repeated-block.svelte.d.ts +23 -0
  130. package/package/components/render-block/types.d.ts +6 -0
  131. package/package/components/render-block/types.js +2 -0
  132. package/package/components/render-blocks.lite.d.ts +0 -0
  133. package/package/components/render-blocks.lite.tsx +91 -0
  134. package/package/components/render-blocks.svelte +73 -0
  135. package/package/components/render-blocks.svelte.d.ts +24 -0
  136. package/package/components/render-content/components/render-styles.lite.d.ts +0 -0
  137. package/package/components/render-content/components/render-styles.lite.tsx +86 -0
  138. package/package/components/render-content/components/render-styles.svelte +61 -0
  139. package/package/components/render-content/components/render-styles.svelte.d.ts +29 -0
  140. package/package/components/render-content/index.d.ts +1 -0
  141. package/package/components/render-content/index.js +1 -0
  142. package/package/components/render-content/render-content.lite.d.ts +0 -0
  143. package/package/components/render-content/render-content.lite.tsx +356 -0
  144. package/package/components/render-content/render-content.svelte +260 -0
  145. package/package/components/render-content/render-content.svelte.d.ts +36 -0
  146. package/package/components/render-inlined-styles.lite.d.ts +0 -0
  147. package/package/components/render-inlined-styles.lite.tsx +27 -0
  148. package/package/components/render-inlined-styles.svelte +19 -0
  149. package/package/components/render-inlined-styles.svelte.d.ts +19 -0
  150. package/package/constants/builder-registered-components.d.ts +6 -0
  151. package/package/constants/builder-registered-components.js +36 -0
  152. package/package/constants/device-sizes.d.ts +2 -0
  153. package/package/constants/device-sizes.js +18 -0
  154. package/package/constants/target.d.ts +2 -0
  155. package/package/constants/target.js +2 -0
  156. package/package/context/builder.context.d.ts +11 -0
  157. package/package/context/builder.context.js +11 -0
  158. package/package/context/types.d.ts +16 -0
  159. package/package/context/types.js +3 -0
  160. package/package/functions/camel-to-kebab-case.d.ts +1 -0
  161. package/package/functions/camel-to-kebab-case.js +1 -0
  162. package/package/functions/convert-style-object.d.ts +1 -0
  163. package/package/functions/convert-style-object.js +3 -0
  164. package/package/functions/evaluate.d.ts +5 -0
  165. package/package/functions/evaluate.js +25 -0
  166. package/package/functions/event-handler-name.d.ts +1 -0
  167. package/package/functions/event-handler-name.js +4 -0
  168. package/package/functions/get-block-actions.d.ts +9 -0
  169. package/package/functions/get-block-actions.js +21 -0
  170. package/package/functions/get-block-component-options.d.ts +2 -0
  171. package/package/functions/get-block-component-options.js +11 -0
  172. package/package/functions/get-block-properties.d.ts +5 -0
  173. package/package/functions/get-block-properties.js +10 -0
  174. package/package/functions/get-block-styles.d.ts +2 -0
  175. package/package/functions/get-block-styles.js +21 -0
  176. package/package/functions/get-block-tag.d.ts +10 -0
  177. package/package/functions/get-block-tag.js +9 -0
  178. package/package/functions/get-builder-search-params/fn.test.d.ts +1 -0
  179. package/package/functions/get-builder-search-params/fn.test.js +13 -0
  180. package/package/functions/get-builder-search-params/index.d.ts +6 -0
  181. package/package/functions/get-builder-search-params/index.js +29 -0
  182. package/package/functions/get-content/ab-testing.d.ts +3 -0
  183. package/package/functions/get-content/ab-testing.js +40 -0
  184. package/package/functions/get-content/fn.test.d.ts +1 -0
  185. package/package/functions/get-content/fn.test.js +31 -0
  186. package/package/functions/get-content/index.d.ts +9 -0
  187. package/package/functions/get-content/index.js +42 -0
  188. package/package/functions/get-content/types.d.ts +26 -0
  189. package/package/functions/get-content/types.js +1 -0
  190. package/package/functions/get-fetch.d.ts +1 -0
  191. package/package/functions/get-fetch.js +9 -0
  192. package/package/functions/get-global-this.d.ts +1 -0
  193. package/package/functions/get-global-this.js +15 -0
  194. package/package/functions/get-processed-block.d.ts +10 -0
  195. package/package/functions/get-processed-block.js +29 -0
  196. package/package/functions/get-processed-block.test.d.ts +1 -0
  197. package/package/functions/get-processed-block.test.js +32 -0
  198. package/package/functions/if-target.d.ts +7 -0
  199. package/package/functions/if-target.js +10 -0
  200. package/package/functions/is-browser.d.ts +1 -0
  201. package/package/functions/is-browser.js +3 -0
  202. package/package/functions/is-editing.d.ts +1 -0
  203. package/package/functions/is-editing.js +4 -0
  204. package/package/functions/is-iframe.d.ts +1 -0
  205. package/package/functions/is-iframe.js +4 -0
  206. package/package/functions/is-previewing.d.ts +1 -0
  207. package/package/functions/is-previewing.js +11 -0
  208. package/package/functions/mark-mutable.d.ts +2 -0
  209. package/package/functions/mark-mutable.js +6 -0
  210. package/package/functions/on-change.d.ts +7 -0
  211. package/package/functions/on-change.js +28 -0
  212. package/package/functions/on-change.test.d.ts +1 -0
  213. package/package/functions/on-change.test.js +20 -0
  214. package/package/functions/register-component.d.ts +14 -0
  215. package/package/functions/register-component.js +42 -0
  216. package/package/functions/register.d.ts +16 -0
  217. package/package/functions/register.js +29 -0
  218. package/package/functions/sanitize-styles.d.ts +4 -0
  219. package/package/functions/sanitize-styles.js +6 -0
  220. package/package/functions/set-editor-settings.d.ts +4 -0
  221. package/package/functions/set-editor-settings.js +12 -0
  222. package/package/functions/set.d.ts +7 -0
  223. package/package/functions/set.js +21 -0
  224. package/package/functions/set.test.d.ts +1 -0
  225. package/package/functions/set.test.js +16 -0
  226. package/package/functions/track.d.ts +21 -0
  227. package/package/functions/track.js +49 -0
  228. package/package/functions/transform-block.d.ts +2 -0
  229. package/package/functions/transform-block.js +5 -0
  230. package/package/helpers/cookie.d.ts +9 -0
  231. package/package/helpers/cookie.js +55 -0
  232. package/package/helpers/css.d.ts +1 -0
  233. package/package/helpers/css.js +9 -0
  234. package/package/helpers/flatten.d.ts +6 -0
  235. package/package/helpers/flatten.js +19 -0
  236. package/package/helpers/localStorage.d.ts +9 -0
  237. package/package/helpers/localStorage.js +23 -0
  238. package/package/helpers/nullable.d.ts +2 -0
  239. package/package/helpers/nullable.js +1 -0
  240. package/package/helpers/sessionId.d.ts +7 -0
  241. package/package/helpers/sessionId.js +20 -0
  242. package/package/helpers/time.d.ts +1 -0
  243. package/package/helpers/time.js +2 -0
  244. package/package/helpers/url.d.ts +6 -0
  245. package/package/helpers/url.js +12 -0
  246. package/package/helpers/url.test.d.ts +1 -0
  247. package/package/helpers/url.test.js +15 -0
  248. package/package/helpers/uuid.d.ts +8 -0
  249. package/package/helpers/uuid.js +15 -0
  250. package/package/helpers/visitorId.d.ts +8 -0
  251. package/package/helpers/visitorId.js +26 -0
  252. package/package/index-helpers/blocks-exports.d.ts +10 -0
  253. package/package/index-helpers/blocks-exports.js +10 -0
  254. package/package/index-helpers/top-of-file.d.ts +1 -0
  255. package/package/index-helpers/top-of-file.js +4 -0
  256. package/package/index.d.ts +10 -0
  257. package/package/index.js +10 -0
  258. package/package/scripts/init-editing.d.ts +2 -0
  259. package/package/scripts/init-editing.js +84 -0
  260. package/package/types/builder-block.d.ts +57 -0
  261. package/package/types/builder-block.js +1 -0
  262. package/package/types/builder-content.d.ts +38 -0
  263. package/package/types/builder-content.js +1 -0
  264. package/package/types/can-track.d.ts +3 -0
  265. package/package/types/can-track.js +1 -0
  266. package/package/types/components.d.ts +177 -0
  267. package/package/types/components.js +1 -0
  268. package/package/types/deep-partial.d.ts +3 -0
  269. package/package/types/deep-partial.js +1 -0
  270. package/package/types/element.d.ts +59 -0
  271. package/package/types/element.js +1 -0
  272. package/package/types/targets.d.ts +3 -0
  273. package/package/types/targets.js +1 -0
  274. package/package/types/typescript.d.ts +4 -0
  275. package/package/types/typescript.js +1 -0
  276. package/package.json +31 -8
  277. package/src/blocks/button/button.svelte +0 -49
  278. package/src/blocks/button/component-info.js +0 -41
  279. package/src/blocks/columns/columns.svelte +0 -103
  280. package/src/blocks/columns/component-info.js +0 -217
  281. package/src/blocks/custom-code/component-info.js +0 -31
  282. package/src/blocks/custom-code/custom-code.svelte +0 -64
  283. package/src/blocks/embed/component-info.js +0 -24
  284. package/src/blocks/embed/embed.svelte +0 -63
  285. package/src/blocks/form/component-info.js +0 -262
  286. package/src/blocks/form/form.svelte +0 -333
  287. package/src/blocks/fragment/component-info.js +0 -11
  288. package/src/blocks/fragment/fragment.svelte +0 -28
  289. package/src/blocks/image/component-info.js +0 -104
  290. package/src/blocks/image/image.svelte +0 -117
  291. package/src/blocks/img/component-info.js +0 -20
  292. package/src/blocks/img/img.svelte +0 -36
  293. package/src/blocks/input/component-info.js +0 -74
  294. package/src/blocks/input/input.svelte +0 -35
  295. package/src/blocks/raw-text/component-info.js +0 -16
  296. package/src/blocks/raw-text/raw-text.svelte +0 -29
  297. package/src/blocks/section/component-info.js +0 -49
  298. package/src/blocks/section/section.svelte +0 -36
  299. package/src/blocks/select/component-info.js +0 -59
  300. package/src/blocks/select/select.svelte +0 -41
  301. package/src/blocks/submit-button/component-info.js +0 -28
  302. package/src/blocks/submit-button/submit-button.svelte +0 -33
  303. package/src/blocks/symbol/component-info.js +0 -42
  304. package/src/blocks/symbol/symbol.svelte +0 -54
  305. package/src/blocks/text/component-info.js +0 -24
  306. package/src/blocks/text/text.svelte +0 -28
  307. package/src/blocks/textarea/component-info.js +0 -47
  308. package/src/blocks/textarea/textarea.svelte +0 -32
  309. package/src/blocks/video/component-info.js +0 -106
  310. package/src/blocks/video/video.svelte +0 -45
  311. package/src/components/error-boundary.svelte +0 -26
  312. package/src/components/render-block/block-styles.svelte +0 -51
  313. package/src/components/render-block/render-block.helpers.js +0 -23
  314. package/src/components/render-block/render-block.svelte +0 -174
  315. package/src/components/render-blocks.svelte +0 -82
  316. package/src/components/render-content/components/render-styles.svelte +0 -90
  317. package/src/components/render-content/index.js +0 -4
  318. package/src/components/render-content/render-content.svelte +0 -252
  319. package/src/components/render-inlined-styles.svelte +0 -51
  320. package/src/constants/builder-registered-components.js +0 -45
  321. package/src/constants/device-sizes.js +0 -39
  322. package/src/constants/target.js +0 -4
  323. package/src/context/builder.context.js +0 -8
  324. package/src/functions/evaluate.js +0 -28
  325. package/src/functions/event-handler-name.js +0 -7
  326. package/src/functions/fast-clone.js +0 -4
  327. package/src/functions/get-block-actions.js +0 -23
  328. package/src/functions/get-block-component-options.js +0 -23
  329. package/src/functions/get-block-properties.js +0 -29
  330. package/src/functions/get-block-styles.js +0 -31
  331. package/src/functions/get-block-tag.js +0 -6
  332. package/src/functions/get-builder-search-params/fn.test.js +0 -13
  333. package/src/functions/get-builder-search-params/index.js +0 -22
  334. package/src/functions/get-content/fn.test.js +0 -31
  335. package/src/functions/get-content/index.js +0 -138
  336. package/src/functions/get-fetch.js +0 -34
  337. package/src/functions/get-global-this.js +0 -18
  338. package/src/functions/get-processed-block.js +0 -46
  339. package/src/functions/get-processed-block.test.js +0 -31
  340. package/src/functions/if-target.js +0 -15
  341. package/src/functions/is-browser.js +0 -6
  342. package/src/functions/is-editing.js +0 -7
  343. package/src/functions/is-iframe.js +0 -7
  344. package/src/functions/is-previewing.js +0 -14
  345. package/src/functions/macro-eval.js +0 -5
  346. package/src/functions/on-change.js +0 -27
  347. package/src/functions/on-change.test.js +0 -19
  348. package/src/functions/previewing-model-name.js +0 -11
  349. package/src/functions/register-component.js +0 -70
  350. package/src/functions/register.js +0 -29
  351. package/src/functions/set-editor-settings.js +0 -15
  352. package/src/functions/set.js +0 -11
  353. package/src/functions/set.test.js +0 -16
  354. package/src/functions/track.js +0 -22
  355. package/src/functions/transform-block.js +0 -6
  356. package/src/index-helpers/blocks-exports.js +0 -20
  357. package/src/index-helpers/top-of-file.js +0 -4
  358. package/src/index.js +0 -10
  359. package/src/scripts/init-editing.js +0 -80
package/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  This is the Svelte SDK. It is currently in beta.
4
4
 
5
+ ## Mitosis
6
+
7
+ This SDK is generated by [Mitosis](https://github.com/BuilderIO/mitosis). To see the Mitosis source-code, go [here](../../).
8
+
5
9
  ## Feature Support
6
10
 
7
11
  To check the status of the SDK, look at [these tables](../../README.md#feature-implementation).
@@ -0,0 +1,19 @@
1
+ ### 0.0.1-9
2
+
3
+ 🐛 Fix: custom components were not rendering correctly
4
+ 🐛 Fix: Image component's `srcSet` was not being set correctly
5
+
6
+ ### 0.0.1-8
7
+
8
+ 🧨 Breaking change: the format of the `customComponents` prop has changed from `[{ component, info }]` to `[{ component, ...info }]`.
9
+ See [builder-registered-components.ts](/packages/sdks/src/constants/builder-registered-components.ts) for examples of how to do so, or see the example provided for this SDK.
10
+
11
+ ### 0.0.1-7
12
+
13
+ ⚠️ Deprecation notice: Registering components via `registerComponent(component, info)` is now deprecated.
14
+ To register your custom components in Builder, you must now provide a `customComponents` array to the `RenderContent` component containing `[{ component, info }]`.
15
+ See [builder-registered-components.ts](/packages/sdks/src/constants/builder-registered-components.ts) for examples of how to do so, or see the example provided for this SDK.
16
+
17
+ ### 0.0.1-5
18
+
19
+ First working release
@@ -0,0 +1,19 @@
1
+ # Builder.io Svelte SDK (BETA)
2
+
3
+ This is the Svelte SDK. It is currently in beta.
4
+
5
+ ## Mitosis
6
+
7
+ This SDK is generated by [Mitosis](https://github.com/BuilderIO/mitosis). To see the Mitosis source-code, go [here](../../).
8
+
9
+ ## Feature Support
10
+
11
+ To check the status of the SDK, look at [these tables](../../README.md#feature-implementation).
12
+
13
+ ## Getting Started
14
+
15
+ ```
16
+ npm install @builder.io/sdk-svelte@dev
17
+ ```
18
+
19
+ Take a look at [our example repo](/examples/svelte/sveltekit) for how to use this SDK.
@@ -0,0 +1,36 @@
1
+ <script context="module" lang="ts">
2
+ export interface ButtonProps {
3
+ attributes?: any;
4
+ text?: string;
5
+ link?: string;
6
+ openLinkInNewTab?: boolean;
7
+ }
8
+ </script>
9
+
10
+ <script lang="ts">
11
+ export let attributes: ButtonProps["attributes"];
12
+ export let text: ButtonProps["text"];
13
+ export let link: ButtonProps["link"];
14
+ export let openLinkInNewTab: ButtonProps["openLinkInNewTab"];
15
+ </script>
16
+
17
+ {#if link}
18
+ <a
19
+ {...attributes}
20
+ role="button"
21
+ href={link}
22
+ target={openLinkInNewTab ? "_blank" : undefined}
23
+ >
24
+ {text}
25
+ </a>
26
+ {:else}
27
+ <button {...attributes} class="button">
28
+ {text}
29
+ </button>
30
+ {/if}
31
+
32
+ <style>
33
+ .button {
34
+ all: unset;
35
+ }
36
+ </style>
@@ -0,0 +1,28 @@
1
+ <script context="module"></script>
2
+
3
+ <script>export let attributes;
4
+ export let text;
5
+ export let link;
6
+ export let openLinkInNewTab;
7
+ </script>
8
+
9
+ {#if link}
10
+ <a
11
+ {...attributes}
12
+ role="button"
13
+ href={link}
14
+ target={openLinkInNewTab ? "_blank" : undefined}
15
+ >
16
+ {text}
17
+ </a>
18
+ {:else}
19
+ <button {...attributes} class="button">
20
+ {text}
21
+ </button>
22
+ {/if}
23
+
24
+ <style>
25
+ .button {
26
+ all: unset;
27
+ }
28
+ </style>
@@ -0,0 +1,25 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ export interface ButtonProps {
3
+ attributes?: any;
4
+ text?: string;
5
+ link?: string;
6
+ openLinkInNewTab?: boolean;
7
+ }
8
+ declare const __propDef: {
9
+ props: {
10
+ attributes: ButtonProps["attributes"];
11
+ text: ButtonProps["text"];
12
+ link: ButtonProps["link"];
13
+ openLinkInNewTab: ButtonProps["openLinkInNewTab"];
14
+ };
15
+ events: {
16
+ [evt: string]: CustomEvent<any>;
17
+ };
18
+ slots: {};
19
+ };
20
+ export declare type ButtonProps = typeof __propDef.props;
21
+ export declare type ButtonEvents = typeof __propDef.events;
22
+ export declare type ButtonSlots = typeof __propDef.slots;
23
+ export default class Button extends SvelteComponentTyped<ButtonProps, ButtonEvents, ButtonSlots> {
24
+ }
25
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { ComponentInfo } from '../../types/components';
2
+ export declare const componentInfo: ComponentInfo;
@@ -0,0 +1,39 @@
1
+ export const componentInfo = {
2
+ name: 'Core:Button',
3
+ builtIn: true,
4
+ image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13',
5
+ defaultStyles: {
6
+ // TODO: make min width more intuitive and set one
7
+ appearance: 'none',
8
+ paddingTop: '15px',
9
+ paddingBottom: '15px',
10
+ paddingLeft: '25px',
11
+ paddingRight: '25px',
12
+ backgroundColor: '#000000',
13
+ color: 'white',
14
+ borderRadius: '4px',
15
+ textAlign: 'center',
16
+ cursor: 'pointer',
17
+ },
18
+ inputs: [
19
+ {
20
+ name: 'text',
21
+ type: 'text',
22
+ defaultValue: 'Click me!',
23
+ bubble: true,
24
+ },
25
+ {
26
+ name: 'link',
27
+ type: 'url',
28
+ bubble: true,
29
+ },
30
+ {
31
+ name: 'openLinkInNewTab',
32
+ type: 'boolean',
33
+ defaultValue: false,
34
+ friendlyName: 'Open link in new tab',
35
+ },
36
+ ],
37
+ static: true,
38
+ noWrap: true,
39
+ };
@@ -0,0 +1,139 @@
1
+ <script context="module" lang="ts">
2
+ type Column = {
3
+ blocks: any; // TODO: Implement this when support for dynamic CSS lands
4
+
5
+ width?: number;
6
+ };
7
+
8
+ type StackColumnsAt = "tablet" | "mobile" | "never";
9
+
10
+ export interface ColumnProps {
11
+ columns?: Column[];
12
+ builderBlock: BuilderBlock; // TODO: Implement this when support for dynamic CSS lands
13
+
14
+ space?: number; // TODO: Implement this when support for dynamic CSS lands
15
+
16
+ stackColumnsAt?: StackColumnsAt; // TODO: Implement this when support for dynamic CSS lands
17
+
18
+ reverseColumnsWhenStacked?: boolean;
19
+ }
20
+ </script>
21
+
22
+ <script lang="ts">
23
+ import RenderBlocks from "../../components/render-blocks.svelte";
24
+ import { BuilderBlock } from "../../types/builder-block";
25
+ import { markMutable } from "../../functions/mark-mutable";
26
+
27
+ export let space: ColumnProps["space"];
28
+ export let columns: ColumnProps["columns"];
29
+ export let stackColumnsAt: ColumnProps["stackColumnsAt"];
30
+ export let reverseColumnsWhenStacked: ColumnProps["reverseColumnsWhenStacked"];
31
+ export let builderBlock: ColumnProps["builderBlock"];
32
+
33
+ function mitosis_styling(node, vars) {
34
+ Object.entries(vars).forEach(([p, v]) => {
35
+ node.style[p] = v;
36
+ });
37
+ }
38
+
39
+ function getGutterSize() {
40
+ return typeof space === "number" ? space || 0 : 20;
41
+ }
42
+
43
+ function getColumns() {
44
+ return columns || [];
45
+ }
46
+
47
+ function getWidth(index) {
48
+ const columns = getColumns();
49
+ return columns[index]?.width || 100 / columns.length;
50
+ }
51
+
52
+ function getColumnCssWidth(index) {
53
+ const columns = getColumns();
54
+ const gutterSize = getGutterSize();
55
+ const subtractWidth = (gutterSize * (columns.length - 1)) / columns.length;
56
+ return `calc(${getWidth(index)}% - ${subtractWidth}px)`;
57
+ }
58
+
59
+ function maybeApplyForTablet(prop) {
60
+ const _stackColumnsAt = stackColumnsAt || "tablet";
61
+
62
+ return _stackColumnsAt === "tablet" ? prop : "inherit";
63
+ }
64
+ $: columnsCssVars = () => {
65
+ const flexDir =
66
+ stackColumnsAt === "never"
67
+ ? "inherit"
68
+ : reverseColumnsWhenStacked
69
+ ? "column-reverse"
70
+ : "column";
71
+ return {
72
+ "--flex-dir": flexDir,
73
+ "--flex-dir-tablet": maybeApplyForTablet(flexDir),
74
+ };
75
+ };
76
+
77
+ $: columnCssVars = () => {
78
+ const width = "100%";
79
+ const marginLeft = "0";
80
+ return {
81
+ "--column-width": width,
82
+ "--column-margin-left": marginLeft,
83
+ "--column-width-tablet": maybeApplyForTablet(width),
84
+ "--column-margin-left-tablet": maybeApplyForTablet(marginLeft),
85
+ };
86
+ };
87
+ </script>
88
+
89
+ <div use:mitosis_styling={columnsCssVars()} class="builder-columns div">
90
+ {#each columns as column, index (index)}
91
+ <div
92
+ use:mitosis_styling={{
93
+ width: getColumnCssWidth(index),
94
+ marginLeft: `${index === 0 ? 0 : getGutterSize()}px`,
95
+ ...columnCssVars(),
96
+ }}
97
+ class="builder-column div-2"
98
+ >
99
+ <RenderBlocks
100
+ blocks={markMutable(column.blocks)}
101
+ path={`component.options.columns.${index}.blocks`}
102
+ parent={builderBlock.id}
103
+ />
104
+ </div>
105
+ {/each}
106
+ </div>
107
+
108
+ <style>
109
+ .div {
110
+ display: flex;
111
+ align-items: stretch;
112
+ line-height: normal;
113
+ }
114
+ @media (max-width: 991px) {
115
+ .div {
116
+ flex-direction: var(--flex-dir-tablet);
117
+ }
118
+ }
119
+ @media (max-width: 639px) {
120
+ .div {
121
+ flex-direction: var(--flex-dir);
122
+ }
123
+ }
124
+ .div-2 {
125
+ flex-grow: 1;
126
+ }
127
+ @media (max-width: 991px) {
128
+ .div-2 {
129
+ width: var(--column-width-tablet) !important;
130
+ margin-left: var(--column-margin-left-tablet) !important;
131
+ }
132
+ }
133
+ @media (max-width: 639px) {
134
+ .div-2 {
135
+ width: var(--column-width) !important;
136
+ margin-left: var(--column-margin-left) !important;
137
+ }
138
+ }
139
+ </style>
@@ -0,0 +1,109 @@
1
+ <script context="module"></script>
2
+
3
+ <script>import RenderBlocks from "../../components/render-blocks.svelte";
4
+ import "../../types/builder-block";
5
+ import { markMutable } from "../../functions/mark-mutable";
6
+ export let space;
7
+ export let columns;
8
+ export let stackColumnsAt;
9
+ export let reverseColumnsWhenStacked;
10
+ export let builderBlock;
11
+ function mitosis_styling(node, vars) {
12
+ Object.entries(vars).forEach(([p, v]) => {
13
+ node.style[p] = v;
14
+ });
15
+ }
16
+ function getGutterSize() {
17
+ return typeof space === "number" ? space || 0 : 20;
18
+ }
19
+ function getColumns() {
20
+ return columns || [];
21
+ }
22
+ function getWidth(index) {
23
+ const columns = getColumns();
24
+ return columns[index]?.width || 100 / columns.length;
25
+ }
26
+ function getColumnCssWidth(index) {
27
+ const columns = getColumns();
28
+ const gutterSize = getGutterSize();
29
+ const subtractWidth = (gutterSize * (columns.length - 1)) / columns.length;
30
+ return `calc(${getWidth(index)}% - ${subtractWidth}px)`;
31
+ }
32
+ function maybeApplyForTablet(prop) {
33
+ const _stackColumnsAt = stackColumnsAt || "tablet";
34
+ return _stackColumnsAt === "tablet" ? prop : "inherit";
35
+ }
36
+ $: columnsCssVars = () => {
37
+ const flexDir = stackColumnsAt === "never"
38
+ ? "inherit"
39
+ : reverseColumnsWhenStacked
40
+ ? "column-reverse"
41
+ : "column";
42
+ return {
43
+ "--flex-dir": flexDir,
44
+ "--flex-dir-tablet": maybeApplyForTablet(flexDir),
45
+ };
46
+ };
47
+ $: columnCssVars = () => {
48
+ const width = "100%";
49
+ const marginLeft = "0";
50
+ return {
51
+ "--column-width": width,
52
+ "--column-margin-left": marginLeft,
53
+ "--column-width-tablet": maybeApplyForTablet(width),
54
+ "--column-margin-left-tablet": maybeApplyForTablet(marginLeft),
55
+ };
56
+ };
57
+ </script>
58
+
59
+ <div use:mitosis_styling={columnsCssVars()} class="builder-columns div">
60
+ {#each columns as column, index (index)}
61
+ <div
62
+ use:mitosis_styling={{
63
+ width: getColumnCssWidth(index),
64
+ marginLeft: `${index === 0 ? 0 : getGutterSize()}px`,
65
+ ...columnCssVars(),
66
+ }}
67
+ class="builder-column div-2"
68
+ >
69
+ <RenderBlocks
70
+ blocks={markMutable(column.blocks)}
71
+ path={`component.options.columns.${index}.blocks`}
72
+ parent={builderBlock.id}
73
+ />
74
+ </div>
75
+ {/each}
76
+ </div>
77
+
78
+ <style>
79
+ .div {
80
+ display: flex;
81
+ align-items: stretch;
82
+ line-height: normal;
83
+ }
84
+ @media (max-width: 991px) {
85
+ .div {
86
+ flex-direction: var(--flex-dir-tablet);
87
+ }
88
+ }
89
+ @media (max-width: 639px) {
90
+ .div {
91
+ flex-direction: var(--flex-dir);
92
+ }
93
+ }
94
+ .div-2 {
95
+ flex-grow: 1;
96
+ }
97
+ @media (max-width: 991px) {
98
+ .div-2 {
99
+ width: var(--column-width-tablet) !important;
100
+ margin-left: var(--column-margin-left-tablet) !important;
101
+ }
102
+ }
103
+ @media (max-width: 639px) {
104
+ .div-2 {
105
+ width: var(--column-width) !important;
106
+ margin-left: var(--column-margin-left) !important;
107
+ }
108
+ }
109
+ </style>
@@ -0,0 +1,33 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare type Column = {
3
+ blocks: any;
4
+ width?: number;
5
+ };
6
+ declare type StackColumnsAt = "tablet" | "mobile" | "never";
7
+ export interface ColumnProps {
8
+ columns?: Column[];
9
+ builderBlock: BuilderBlock;
10
+ space?: number;
11
+ stackColumnsAt?: StackColumnsAt;
12
+ reverseColumnsWhenStacked?: boolean;
13
+ }
14
+ import { BuilderBlock } from "../../types/builder-block";
15
+ declare const __propDef: {
16
+ props: {
17
+ space: ColumnProps["space"];
18
+ columns: ColumnProps["columns"];
19
+ stackColumnsAt: ColumnProps["stackColumnsAt"];
20
+ reverseColumnsWhenStacked: ColumnProps["reverseColumnsWhenStacked"];
21
+ builderBlock: ColumnProps["builderBlock"];
22
+ };
23
+ events: {
24
+ [evt: string]: CustomEvent<any>;
25
+ };
26
+ slots: {};
27
+ };
28
+ export declare type ColumnsProps = typeof __propDef.props;
29
+ export declare type ColumnsEvents = typeof __propDef.events;
30
+ export declare type ColumnsSlots = typeof __propDef.slots;
31
+ export default class Columns extends SvelteComponentTyped<ColumnsProps, ColumnsEvents, ColumnsSlots> {
32
+ }
33
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { ComponentInfo } from '../../types/components';
2
+ export declare const componentInfo: ComponentInfo;