sveltacular 0.0.76 → 1.0.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 (374) hide show
  1. package/README.md +142 -15
  2. package/dist/forms/base-input-wrapper.svelte +99 -0
  3. package/dist/forms/base-input-wrapper.svelte.d.ts +15 -0
  4. package/dist/forms/bool-box/bool-box.svelte +30 -17
  5. package/dist/forms/bool-box/bool-box.svelte.d.ts +9 -21
  6. package/dist/forms/button/button.svelte +153 -89
  7. package/dist/forms/button/button.svelte.d.ts +25 -29
  8. package/dist/forms/check-box/check-box-group.svelte +63 -29
  9. package/dist/forms/check-box/check-box-group.svelte.d.ts +11 -27
  10. package/dist/forms/check-box/check-box.svelte +57 -33
  11. package/dist/forms/check-box/check-box.svelte.d.ts +15 -25
  12. package/dist/forms/check-box/index.d.ts +2 -0
  13. package/dist/forms/check-box/index.js +2 -0
  14. package/dist/forms/combo/new-or-existing-combo.svelte +37 -18
  15. package/dist/forms/combo/new-or-existing-combo.svelte.d.ts +15 -25
  16. package/dist/forms/combo-box/combo-box.svelte +655 -0
  17. package/dist/forms/combo-box/combo-box.svelte.d.ts +62 -0
  18. package/dist/forms/combo-box/index.d.ts +1 -0
  19. package/dist/forms/combo-box/index.js +1 -0
  20. package/dist/forms/date-box/date-box.svelte +80 -54
  21. package/dist/forms/date-box/date-box.svelte.d.ts +21 -32
  22. package/dist/forms/file-area/file-area.svelte +109 -68
  23. package/dist/forms/file-area/file-area.svelte.d.ts +12 -22
  24. package/dist/forms/file-box/file-box.svelte +40 -21
  25. package/dist/forms/file-box/file-box.svelte.d.ts +14 -25
  26. package/dist/forms/form-field.svelte +18 -15
  27. package/dist/forms/form-field.svelte.d.ts +8 -18
  28. package/dist/forms/form-footer.svelte +6 -3
  29. package/dist/forms/form-footer.svelte.d.ts +6 -26
  30. package/dist/forms/form-header.svelte +15 -4
  31. package/dist/forms/form-header.svelte.d.ts +8 -18
  32. package/dist/forms/form-label.svelte +15 -6
  33. package/dist/forms/form-label.svelte.d.ts +8 -19
  34. package/dist/forms/form-section.svelte +15 -4
  35. package/dist/forms/form-section.svelte.d.ts +8 -18
  36. package/dist/forms/form.svelte +30 -13
  37. package/dist/forms/form.svelte.d.ts +11 -22
  38. package/dist/forms/index.d.ts +26 -0
  39. package/dist/forms/index.js +31 -0
  40. package/dist/forms/info-box/info-box.svelte +19 -8
  41. package/dist/forms/info-box/info-box.svelte.d.ts +8 -19
  42. package/dist/forms/list-box/index.d.ts +2 -0
  43. package/dist/forms/list-box/index.js +1 -0
  44. package/dist/forms/list-box/list-box.svelte +190 -118
  45. package/dist/forms/list-box/list-box.svelte.d.ts +16 -26
  46. package/dist/forms/money-box/money-box.svelte +223 -190
  47. package/dist/forms/money-box/money-box.svelte.d.ts +16 -28
  48. package/dist/forms/number-box/number-box.svelte +84 -67
  49. package/dist/forms/number-box/number-box.svelte.d.ts +17 -28
  50. package/dist/forms/phone-box/index.d.ts +1 -0
  51. package/dist/forms/phone-box/index.js +1 -0
  52. package/dist/forms/phone-box/phone-box.svelte +152 -122
  53. package/dist/forms/phone-box/phone-box.svelte.d.ts +8 -20
  54. package/dist/forms/radio-group/index.d.ts +2 -0
  55. package/dist/forms/radio-group/index.js +2 -0
  56. package/dist/forms/radio-group/radio-box.svelte +23 -8
  57. package/dist/forms/radio-group/radio-box.svelte.d.ts +10 -19
  58. package/dist/forms/radio-group/radio-group.svelte +27 -13
  59. package/dist/forms/radio-group/radio-group.svelte.d.ts +10 -21
  60. package/dist/forms/slider/slider.svelte +210 -0
  61. package/dist/forms/slider/slider.svelte.d.ts +17 -0
  62. package/dist/forms/switch-box/switch-box.svelte +35 -21
  63. package/dist/forms/switch-box/switch-box.svelte.d.ts +9 -20
  64. package/dist/forms/text-area/text-area.svelte +89 -15
  65. package/dist/forms/text-area/text-area.svelte.d.ts +15 -23
  66. package/dist/forms/text-box/text-box.svelte +253 -75
  67. package/dist/forms/text-box/text-box.svelte.d.ts +28 -36
  68. package/dist/forms/time-box/time-box.svelte +67 -0
  69. package/dist/forms/time-box/time-box.svelte.d.ts +12 -0
  70. package/dist/forms/url-box/url-box.svelte +32 -18
  71. package/dist/forms/url-box/url-box.svelte.d.ts +9 -20
  72. package/dist/forms/validation.d.ts +60 -0
  73. package/dist/forms/validation.js +123 -0
  74. package/dist/generic/address/address.svelte +22 -13
  75. package/dist/generic/address/address.svelte.d.ts +9 -19
  76. package/dist/generic/avatar/avatar.svelte +86 -0
  77. package/dist/generic/avatar/avatar.svelte.d.ts +10 -0
  78. package/dist/generic/badge/badge.svelte +82 -0
  79. package/dist/generic/badge/badge.svelte.d.ts +11 -0
  80. package/dist/generic/card/card-container.svelte +41 -13
  81. package/dist/generic/card/card-container.svelte.d.ts +8 -18
  82. package/dist/generic/card/card.svelte +47 -29
  83. package/dist/generic/card/card.svelte.d.ts +9 -19
  84. package/dist/generic/card/index.d.ts +3 -0
  85. package/dist/generic/card/index.js +2 -0
  86. package/dist/generic/chip/chip.svelte +90 -0
  87. package/dist/generic/chip/chip.svelte.d.ts +11 -0
  88. package/dist/generic/date/date-time.svelte +86 -64
  89. package/dist/generic/date/date-time.svelte.d.ts +10 -20
  90. package/dist/generic/divider/divider.svelte.d.ts +22 -19
  91. package/dist/generic/dot/dot.svelte +13 -4
  92. package/dist/generic/dot/dot.svelte.d.ts +7 -17
  93. package/dist/generic/dropdown-item/dropdown-item.svelte +24 -12
  94. package/dist/generic/dropdown-item/dropdown-item.svelte.d.ts +10 -21
  95. package/dist/generic/email/email.svelte +6 -4
  96. package/dist/generic/email/email.svelte.d.ts +5 -15
  97. package/dist/generic/empty/empty.svelte +57 -26
  98. package/dist/generic/empty/empty.svelte.d.ts +11 -21
  99. package/dist/generic/header/header.svelte +26 -10
  100. package/dist/generic/header/header.svelte.d.ts +10 -20
  101. package/dist/generic/index.d.ts +28 -0
  102. package/dist/generic/index.js +31 -0
  103. package/dist/generic/link/link.svelte +20 -7
  104. package/dist/generic/link/link.svelte.d.ts +11 -21
  105. package/dist/generic/list/index.d.ts +4 -0
  106. package/dist/generic/list/index.js +3 -0
  107. package/dist/generic/list/list-item.svelte +17 -13
  108. package/dist/generic/list/list-item.svelte.d.ts +6 -15
  109. package/dist/generic/list/list.d.ts +2 -2
  110. package/dist/generic/list/list.svelte +28 -15
  111. package/dist/generic/list/list.svelte.d.ts +9 -19
  112. package/dist/generic/menu/menu.svelte +163 -57
  113. package/dist/generic/menu/menu.svelte.d.ts +16 -24
  114. package/dist/generic/notice/notice.svelte +119 -81
  115. package/dist/generic/notice/notice.svelte.d.ts +17 -26
  116. package/dist/generic/overlay.svelte +40 -14
  117. package/dist/generic/overlay.svelte.d.ts +9 -19
  118. package/dist/generic/panel/panel.svelte +16 -6
  119. package/dist/generic/panel/panel.svelte.d.ts +8 -18
  120. package/dist/generic/phone/phone.svelte +30 -24
  121. package/dist/generic/phone/phone.svelte.d.ts +6 -16
  122. package/dist/generic/pill/pill.svelte +47 -33
  123. package/dist/generic/pill/pill.svelte.d.ts +10 -21
  124. package/dist/generic/popover/popover.svelte +226 -0
  125. package/dist/generic/popover/popover.svelte.d.ts +15 -0
  126. package/dist/generic/rating/rating.svelte +85 -0
  127. package/dist/generic/rating/rating.svelte.d.ts +11 -0
  128. package/dist/generic/scorecard/scorecard.svelte +34 -21
  129. package/dist/generic/scorecard/scorecard.svelte.d.ts +9 -19
  130. package/dist/generic/section/section.svelte +28 -9
  131. package/dist/generic/section/section.svelte.d.ts +11 -21
  132. package/dist/generic/spinner/spinner.svelte +64 -0
  133. package/dist/generic/spinner/spinner.svelte.d.ts +8 -0
  134. package/dist/generic/theme-provider/index.d.ts +1 -0
  135. package/dist/generic/theme-provider/index.js +1 -0
  136. package/dist/generic/theme-provider/theme-provider-demo.svelte +182 -0
  137. package/dist/generic/theme-provider/theme-provider-demo.svelte.d.ts +3 -0
  138. package/dist/generic/theme-provider/theme-provider.svelte +83 -0
  139. package/dist/generic/theme-provider/theme-provider.svelte.d.ts +44 -0
  140. package/dist/generic/toaster/toaster.svelte +31 -6
  141. package/dist/generic/toaster/toaster.svelte.d.ts +7 -15
  142. package/dist/generic/tooltip/tooltip.svelte +389 -0
  143. package/dist/generic/tooltip/tooltip.svelte.d.ts +21 -0
  144. package/dist/helpers/ago.d.ts +7 -1
  145. package/dist/helpers/ago.js +6 -0
  146. package/dist/helpers/animation-actions.d.ts +124 -0
  147. package/dist/helpers/animation-actions.js +299 -0
  148. package/dist/helpers/animations.d.ts +198 -0
  149. package/dist/helpers/animations.js +280 -0
  150. package/dist/helpers/announcer.d.ts +118 -0
  151. package/dist/helpers/announcer.js +250 -0
  152. package/dist/helpers/copy-to-clipboard.svelte.d.ts +5 -0
  153. package/dist/helpers/copy-to-clipboard.svelte.js +28 -0
  154. package/dist/helpers/debounce.d.ts +7 -0
  155. package/dist/helpers/debounce.js +7 -0
  156. package/dist/helpers/focus.d.ts +123 -0
  157. package/dist/helpers/focus.js +335 -0
  158. package/dist/helpers/fuzzy-search.d.ts +41 -0
  159. package/dist/helpers/fuzzy-search.js +114 -0
  160. package/dist/helpers/index.d.ts +24 -0
  161. package/dist/helpers/index.js +24 -0
  162. package/dist/helpers/navigate-to.d.ts +4 -0
  163. package/dist/helpers/navigate-to.js +4 -0
  164. package/dist/helpers/positioning.d.ts +97 -0
  165. package/dist/helpers/positioning.js +230 -0
  166. package/dist/helpers/round-to-decimals.d.ts +7 -5
  167. package/dist/helpers/round-to-decimals.js +7 -5
  168. package/dist/helpers/spring.svelte.d.ts +97 -0
  169. package/dist/helpers/spring.svelte.js +216 -0
  170. package/dist/helpers/subscribable.d.ts +1 -2
  171. package/dist/helpers/theme.svelte.d.ts +63 -0
  172. package/dist/helpers/theme.svelte.js +123 -0
  173. package/dist/helpers/unique-id.d.ts +4 -0
  174. package/dist/helpers/unique-id.js +4 -0
  175. package/dist/helpers/use-position.svelte.d.ts +96 -0
  176. package/dist/helpers/use-position.svelte.js +189 -0
  177. package/dist/helpers/use-virtual-list.svelte.d.ts +121 -0
  178. package/dist/helpers/use-virtual-list.svelte.js +239 -0
  179. package/dist/icons/angle-right-icon.svelte +2 -1
  180. package/dist/icons/angle-right-icon.svelte.d.ts +16 -12
  181. package/dist/icons/angle-up-icon.svelte.d.ts +22 -19
  182. package/dist/icons/check-icon.svelte.d.ts +22 -19
  183. package/dist/icons/copy-icon.svelte +46 -0
  184. package/dist/icons/copy-icon.svelte.d.ts +6 -0
  185. package/dist/icons/envelope-icon.svelte.d.ts +22 -19
  186. package/dist/icons/folder-open-icon.svelte.d.ts +22 -19
  187. package/dist/icons/hamburger-icon.svelte.d.ts +22 -19
  188. package/dist/icons/home-icon.svelte +2 -1
  189. package/dist/icons/home-icon.svelte.d.ts +16 -12
  190. package/dist/icons/index.d.ts +13 -0
  191. package/dist/icons/index.js +13 -0
  192. package/dist/icons/link-icon.svelte.d.ts +22 -19
  193. package/dist/icons/mobile-phone-icon.svelte.d.ts +22 -19
  194. package/dist/icons/phone-icon.svelte.d.ts +22 -19
  195. package/dist/icons/svg-icon.svelte +46 -12
  196. package/dist/icons/svg-icon.svelte.d.ts +13 -23
  197. package/dist/icons/upload-icon.svelte.d.ts +22 -19
  198. package/dist/images/icon.svelte +9 -3
  199. package/dist/images/icon.svelte.d.ts +6 -16
  200. package/dist/images/image.svelte +28 -10
  201. package/dist/images/image.svelte.d.ts +14 -26
  202. package/dist/images/index.d.ts +2 -0
  203. package/dist/images/index.js +2 -0
  204. package/dist/index.d.ts +13 -122
  205. package/dist/index.js +27 -135
  206. package/dist/layout/flex-col.svelte +65 -22
  207. package/dist/layout/flex-col.svelte.d.ts +12 -22
  208. package/dist/layout/flex-item.svelte +13 -3
  209. package/dist/layout/flex-item.svelte.d.ts +8 -18
  210. package/dist/layout/flex-row.svelte +70 -21
  211. package/dist/layout/flex-row.svelte.d.ts +14 -24
  212. package/dist/layout/grid.svelte +7 -1
  213. package/dist/layout/grid.svelte.d.ts +6 -26
  214. package/dist/layout/index.d.ts +4 -0
  215. package/dist/layout/index.js +4 -0
  216. package/dist/modals/alert.svelte +42 -28
  217. package/dist/modals/alert.svelte.d.ts +13 -24
  218. package/dist/modals/confirm.svelte +54 -37
  219. package/dist/modals/confirm.svelte.d.ts +16 -27
  220. package/dist/modals/dialog-body.svelte +10 -4
  221. package/dist/modals/dialog-body.svelte.d.ts +6 -26
  222. package/dist/modals/dialog-close-button.svelte +15 -9
  223. package/dist/modals/dialog-close-button.svelte.d.ts +6 -17
  224. package/dist/modals/dialog-footer.svelte +6 -3
  225. package/dist/modals/dialog-footer.svelte.d.ts +6 -26
  226. package/dist/modals/dialog-header.svelte +13 -1
  227. package/dist/modals/dialog-header.svelte.d.ts +7 -26
  228. package/dist/modals/dialog-window.svelte +42 -14
  229. package/dist/modals/dialog-window.svelte.d.ts +9 -17
  230. package/dist/modals/index.d.ts +9 -0
  231. package/dist/modals/index.js +9 -0
  232. package/dist/modals/modal.svelte +88 -25
  233. package/dist/modals/modal.svelte.d.ts +14 -22
  234. package/dist/modals/prompt.svelte +71 -50
  235. package/dist/modals/prompt.svelte.d.ts +19 -30
  236. package/dist/navigation/accordion/accordion.svelte +104 -0
  237. package/dist/navigation/accordion/accordion.svelte.d.ts +9 -0
  238. package/dist/navigation/app-bar/app-bar.svelte +26 -20
  239. package/dist/navigation/app-bar/app-bar.svelte.d.ts +10 -20
  240. package/dist/navigation/app-bar/app-branding.svelte +10 -5
  241. package/dist/navigation/app-bar/app-branding.svelte.d.ts +6 -15
  242. package/dist/navigation/app-bar/app-logo.svelte +20 -5
  243. package/dist/navigation/app-bar/app-logo.svelte.d.ts +9 -19
  244. package/dist/navigation/app-bar/app-nav-item.svelte +26 -14
  245. package/dist/navigation/app-bar/app-nav-item.svelte.d.ts +9 -20
  246. package/dist/navigation/app-bar/app-nav.svelte +39 -12
  247. package/dist/navigation/app-bar/app-nav.svelte.d.ts +8 -18
  248. package/dist/navigation/app-bar/index.d.ts +5 -0
  249. package/dist/navigation/app-bar/index.js +5 -0
  250. package/dist/navigation/breadcrumbs/breadcrumbs.svelte +54 -28
  251. package/dist/navigation/breadcrumbs/breadcrumbs.svelte.d.ts +12 -21
  252. package/dist/navigation/command-palette/command-palette.svelte +758 -0
  253. package/dist/navigation/command-palette/command-palette.svelte.d.ts +65 -0
  254. package/dist/navigation/command-palette/index.d.ts +2 -0
  255. package/dist/navigation/command-palette/index.js +1 -0
  256. package/dist/navigation/context-menu/README.md +146 -0
  257. package/dist/navigation/context-menu/context-menu-divider.svelte +21 -0
  258. package/dist/navigation/context-menu/context-menu-divider.svelte.d.ts +18 -0
  259. package/dist/navigation/context-menu/context-menu-item.svelte +268 -0
  260. package/dist/navigation/context-menu/context-menu-item.svelte.d.ts +19 -0
  261. package/dist/navigation/context-menu/context-menu.svelte +226 -0
  262. package/dist/navigation/context-menu/context-menu.svelte.d.ts +38 -0
  263. package/dist/navigation/context-menu/index.d.ts +3 -0
  264. package/dist/navigation/context-menu/index.js +3 -0
  265. package/dist/navigation/drawer/drawer.svelte +137 -0
  266. package/dist/navigation/drawer/drawer.svelte.d.ts +11 -0
  267. package/dist/navigation/dropdown-button/dropdown-button.svelte +58 -20
  268. package/dist/navigation/dropdown-button/dropdown-button.svelte.d.ts +10 -20
  269. package/dist/navigation/index.d.ts +11 -0
  270. package/dist/navigation/index.js +14 -0
  271. package/dist/navigation/pagination/pagination.svelte +55 -42
  272. package/dist/navigation/pagination/pagination.svelte.d.ts +10 -21
  273. package/dist/navigation/side-bar/side-bar.svelte +18 -9
  274. package/dist/navigation/side-bar/side-bar.svelte.d.ts +7 -17
  275. package/dist/navigation/tabs/index.d.ts +4 -0
  276. package/dist/navigation/tabs/index.js +3 -0
  277. package/dist/navigation/tabs/tab-context.d.ts +12 -6
  278. package/dist/navigation/tabs/tab-group.svelte +268 -55
  279. package/dist/navigation/tabs/tab-group.svelte.d.ts +9 -20
  280. package/dist/navigation/tabs/tab.svelte +64 -34
  281. package/dist/navigation/tabs/tab.svelte.d.ts +11 -22
  282. package/dist/navigation/wizard/index.d.ts +3 -0
  283. package/dist/navigation/wizard/index.js +2 -0
  284. package/dist/navigation/wizard/wizard-context.d.ts +13 -8
  285. package/dist/navigation/wizard/wizard-step.svelte +38 -15
  286. package/dist/navigation/wizard/wizard-step.svelte.d.ts +8 -18
  287. package/dist/navigation/wizard/wizard.svelte +123 -89
  288. package/dist/navigation/wizard/wizard.svelte.d.ts +15 -26
  289. package/dist/placeholders/index.d.ts +6 -0
  290. package/dist/placeholders/index.js +6 -0
  291. package/dist/placeholders/loading.svelte +39 -23
  292. package/dist/placeholders/loading.svelte.d.ts +10 -17
  293. package/dist/placeholders/progress.svelte +7 -6
  294. package/dist/placeholders/progress.svelte.d.ts +5 -15
  295. package/dist/placeholders/skeleton-input.svelte +66 -38
  296. package/dist/placeholders/skeleton-input.svelte.d.ts +5 -15
  297. package/dist/placeholders/skeleton-paragraph.svelte +25 -0
  298. package/dist/placeholders/skeleton-paragraph.svelte.d.ts +8 -0
  299. package/dist/placeholders/skeleton-table.svelte +75 -0
  300. package/dist/placeholders/skeleton-table.svelte.d.ts +8 -0
  301. package/dist/placeholders/skeleton-text.svelte +46 -16
  302. package/dist/placeholders/skeleton-text.svelte.d.ts +7 -17
  303. package/dist/tables/cell-renderers.d.ts +24 -0
  304. package/dist/tables/cell-renderers.js +228 -0
  305. package/dist/tables/data-grid.svelte +332 -135
  306. package/dist/tables/data-grid.svelte.d.ts +34 -33
  307. package/dist/tables/index.d.ts +10 -0
  308. package/dist/tables/index.js +12 -0
  309. package/dist/tables/table-caption.svelte +13 -4
  310. package/dist/tables/table-caption.svelte.d.ts +8 -18
  311. package/dist/tables/table-cell.svelte +45 -15
  312. package/dist/tables/table-cell.svelte.d.ts +10 -19
  313. package/dist/tables/table-context.svelte.d.ts +32 -0
  314. package/dist/tables/table-context.svelte.js +160 -0
  315. package/dist/tables/table-header-cell.svelte +158 -19
  316. package/dist/tables/table-header-cell.svelte.d.ts +15 -19
  317. package/dist/tables/table-header.svelte +31 -6
  318. package/dist/tables/table-header.svelte.d.ts +7 -26
  319. package/dist/tables/table-row.svelte +87 -7
  320. package/dist/tables/table-row.svelte.d.ts +10 -26
  321. package/dist/tables/table.svelte +61 -2
  322. package/dist/tables/table.svelte.d.ts +13 -26
  323. package/dist/test-utils/accessibility-helpers.d.ts +80 -0
  324. package/dist/test-utils/accessibility-helpers.js +220 -0
  325. package/dist/test-utils/index.d.ts +8 -0
  326. package/dist/test-utils/index.js +8 -0
  327. package/dist/test-utils/mock-helpers.d.ts +68 -0
  328. package/dist/test-utils/mock-helpers.js +165 -0
  329. package/dist/test-utils/render-helpers.d.ts +55 -0
  330. package/dist/test-utils/render-helpers.js +114 -0
  331. package/dist/test-utils/setup.d.ts +5 -0
  332. package/dist/test-utils/setup.js +91 -0
  333. package/dist/test-utils/test-data.d.ts +102 -0
  334. package/dist/test-utils/test-data.js +99 -0
  335. package/dist/timeline/index.d.ts +2 -0
  336. package/dist/timeline/index.js +2 -0
  337. package/dist/timeline/timeline-item.svelte +26 -9
  338. package/dist/timeline/timeline-item.svelte.d.ts +13 -23
  339. package/dist/timeline/timeline.svelte +12 -6
  340. package/dist/timeline/timeline.svelte.d.ts +6 -26
  341. package/dist/types/data.d.ts +61 -0
  342. package/dist/types/date.d.ts +1 -1
  343. package/dist/types/form.d.ts +20 -2
  344. package/dist/types/index.d.ts +5 -0
  345. package/dist/types/index.js +5 -0
  346. package/dist/types/size.d.ts +22 -0
  347. package/dist/types/size.js +22 -0
  348. package/dist/typography/code-block.svelte +89 -10
  349. package/dist/typography/code-block.svelte.d.ts +7 -17
  350. package/dist/typography/code.svelte +89 -0
  351. package/dist/typography/code.svelte.d.ts +7 -0
  352. package/dist/typography/headline.svelte +29 -9
  353. package/dist/typography/headline.svelte.d.ts +8 -18
  354. package/dist/typography/index.d.ts +6 -0
  355. package/dist/typography/index.js +6 -0
  356. package/dist/typography/paragraph.svelte +18 -10
  357. package/dist/typography/paragraph.svelte.d.ts +6 -26
  358. package/dist/typography/subtitle.svelte +18 -4
  359. package/dist/typography/subtitle.svelte.d.ts +8 -18
  360. package/dist/typography/text.svelte +20 -5
  361. package/dist/typography/text.svelte.d.ts +9 -19
  362. package/package.json +46 -36
  363. package/dist/navigation/accordian/accordian.svelte +0 -62
  364. package/dist/navigation/accordian/accordian.svelte.d.ts +0 -19
  365. package/dist/tables/table-body.svelte +0 -3
  366. package/dist/tables/table-body.svelte.d.ts +0 -27
  367. package/dist/tables/table-footer-cell.svelte +0 -22
  368. package/dist/tables/table-footer-cell.svelte.d.ts +0 -18
  369. package/dist/tables/table-footer-row.svelte +0 -3
  370. package/dist/tables/table-footer-row.svelte.d.ts +0 -27
  371. package/dist/tables/table-footer.svelte +0 -13
  372. package/dist/tables/table-footer.svelte.d.ts +0 -27
  373. package/dist/tables/table-header-row.svelte +0 -4
  374. package/dist/tables/table-header-row.svelte.d.ts +0 -27
@@ -1,71 +1,97 @@
1
- <script>import { addUnits, currentDateTime, isDateString, isDateOrDateTimeString, isDateTimeString } from "../../helpers/date.js";
2
- import { uniqueId } from "../../helpers/unique-id.js";
3
- import FormField from "../form-field.svelte";
4
- import FormLabel from "../form-label.svelte";
5
- import Button from "../button/button.svelte";
6
- import { createEventDispatcher } from "svelte";
7
- const id = uniqueId();
8
- export let value = void 0;
9
- export let defaultValue = void 0;
10
- export let size = "full";
11
- export let placeholder = "";
12
- export let nullable = false;
13
- export let enabled = true;
14
- export let type = "date";
15
- export let required = false;
16
- export let steps = [];
17
- const dipatch = createEventDispatcher();
18
- const _defaultValue = defaultValue || value || currentDateTime();
19
- const getDefaultValue = () => {
20
- if (type === "date") {
21
- return isDateString(_defaultValue) ? _defaultValue : currentDateTime().substring(0, 10);
22
- }
23
- return isDateTimeString(_defaultValue) ? _defaultValue : currentDateTime();
24
- };
25
- const checkChanged = () => {
26
- if (nullable) {
27
- value = enabled ? getDefaultValue() : "";
28
- }
29
- dipatch("checkChanged", enabled);
30
- onInput();
31
- };
32
- const incrementValue = (step) => {
33
- if (isDateOrDateTimeString(value)) {
34
- const newDate = addUnits(step.value, step.unit, value);
35
- newDate.setUTCDate(newDate.getUTCDate() + step.value);
36
- value = newDate.toISOString().substring(0, type === "date" ? 10 : 19);
37
- }
38
- };
39
- const onInput = () => {
40
- dipatch("value", enabled ? value : null);
41
- };
42
- if (!value) {
43
- if (nullable)
44
- enabled = false;
45
- else
46
- value = getDefaultValue();
47
- }
48
- $:
49
- disabled = !enabled;
1
+ <script lang="ts">
2
+ import { addUnits, currentDateTime, isDateString, isDateOrDateTimeString, isDateTimeString } from '../../helpers/date.js';
3
+ import { uniqueId } from '../../helpers/unique-id.js';
4
+ import FormField from '../form-field.svelte';
5
+ import FormLabel from '../form-label.svelte';
6
+ import type { DateUnit, FormFieldSizeOptions } from '../../index.js';
7
+ import Button from '../button/button.svelte';
8
+
9
+ type DateIncrementStep = { label: string; value: number, unit: DateUnit };
10
+
11
+ const id = uniqueId();
12
+
13
+ let {
14
+ value = $bindable(undefined as string | undefined | null),
15
+ defaultValue = undefined,
16
+ size = 'full' as FormFieldSizeOptions,
17
+ placeholder = '',
18
+ nullable = false,
19
+ enabled = $bindable(true),
20
+ type = 'date' as 'date' | 'datetime-local',
21
+ required = false,
22
+ steps = [] as DateIncrementStep[],
23
+ onChange = undefined,
24
+ onCheckChanged = undefined,
25
+ label = undefined
26
+ }: {
27
+ value?: string | undefined | null;
28
+ defaultValue?: string | undefined;
29
+ size?: FormFieldSizeOptions;
30
+ placeholder?: string;
31
+ nullable?: boolean;
32
+ enabled?: boolean;
33
+ type?: 'date' | 'datetime-local';
34
+ required?: boolean;
35
+ steps?: DateIncrementStep[];
36
+ onChange?: ((value: string | null) => void) | undefined;
37
+ onCheckChanged?: ((enabled: boolean) => void) | undefined;
38
+ label?: string;
39
+ } = $props();
40
+
41
+ const getDefaultValue = () => {
42
+ const _defaultValue = defaultValue || value || currentDateTime();
43
+ if (type === 'date') {
44
+ return isDateString(_defaultValue) ? _defaultValue : currentDateTime().substring(0, 10);
45
+ }
46
+ return isDateTimeString(_defaultValue) ? _defaultValue : currentDateTime();
47
+ };
48
+
49
+ const checkChanged = () => {
50
+ if (nullable) {
51
+ value = enabled ? getDefaultValue() : '';
52
+ }
53
+ onCheckChanged?.(enabled);
54
+ onInput();
55
+ };
56
+
57
+ const incrementValue = (step: DateIncrementStep) => {
58
+ if (isDateOrDateTimeString(value)) {
59
+ const newDate = addUnits(step.value, step.unit, value);
60
+ newDate.setUTCDate(newDate.getUTCDate() + step.value);
61
+ value = newDate.toISOString().substring(0, type === 'date' ? 10 : 19);
62
+ }
63
+ };
64
+
65
+ const onInput = () => {
66
+ onChange?.(enabled ? value : null);
67
+ };
68
+
69
+ $effect(() => {
70
+ if (!value) {
71
+ if (nullable) enabled = false;
72
+ else value = getDefaultValue();
73
+ }
74
+ });
75
+ let disabled = $derived(!enabled);
50
76
  </script>
51
77
 
52
78
  <FormField {size}>
53
- {#if $$slots.default}
54
- <FormLabel {id} {required}><slot /></FormLabel>
79
+ {#if label}
80
+ <FormLabel {id} {required} {label} />
55
81
  {/if}
56
82
  <div class:nullable class:disabled>
57
83
  <span class="input">
58
- <input {...{ type }} {id} {placeholder} {disabled} bind:value {required} on:input={onInput} />
84
+ <input {...{ type }} {id} {placeholder} {disabled} bind:value {required} oninput={onInput} />
59
85
  </span>
60
86
  {#if nullable}
61
87
  <span class="toggle">
62
- <input type="checkbox" bind:checked={enabled} on:change={checkChanged} />
88
+ <input type="checkbox" bind:checked={enabled} onchange={checkChanged} />
63
89
  </span>
64
90
  {/if}
65
91
  {#if steps.length > 0}
66
92
  <span class="steps">
67
93
  {#each steps as step}
68
- <Button noMargin={true} collapse={true} on:click={() => incrementValue(step)}>{step.label}</Button>
94
+ <Button noMargin={true} collapse={true} onClick={() => incrementValue(step)} label={step.label} />
69
95
  {/each}
70
96
  </span>
71
97
  {/if}
@@ -1,34 +1,23 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { DateUnit, FormFieldSizeOptions } from '../../index.js';
3
- declare const __propDef: {
4
- props: {
5
- value?: string | undefined | null;
6
- defaultValue?: string | undefined;
7
- size?: FormFieldSizeOptions | undefined;
8
- placeholder?: string | undefined;
9
- nullable?: boolean | undefined;
10
- enabled?: boolean | undefined;
11
- type?: "date" | "datetime-local" | undefined;
12
- required?: boolean | undefined;
13
- steps?: {
14
- label: string;
15
- value: number;
16
- unit: DateUnit;
17
- }[] | undefined;
18
- };
19
- events: {
20
- value: CustomEvent<string | null>;
21
- checkChanged: CustomEvent<boolean>;
22
- } & {
23
- [evt: string]: CustomEvent<any>;
24
- };
25
- slots: {
26
- default: {};
27
- };
2
+ type DateIncrementStep = {
3
+ label: string;
4
+ value: number;
5
+ unit: DateUnit;
28
6
  };
29
- export type DateBoxProps = typeof __propDef.props;
30
- export type DateBoxEvents = typeof __propDef.events;
31
- export type DateBoxSlots = typeof __propDef.slots;
32
- export default class DateBox extends SvelteComponent<DateBoxProps, DateBoxEvents, DateBoxSlots> {
33
- }
34
- export {};
7
+ type $$ComponentProps = {
8
+ value?: string | undefined | null;
9
+ defaultValue?: string | undefined;
10
+ size?: FormFieldSizeOptions;
11
+ placeholder?: string;
12
+ nullable?: boolean;
13
+ enabled?: boolean;
14
+ type?: 'date' | 'datetime-local';
15
+ required?: boolean;
16
+ steps?: DateIncrementStep[];
17
+ onChange?: ((value: string | null) => void) | undefined;
18
+ onCheckChanged?: ((enabled: boolean) => void) | undefined;
19
+ label?: string;
20
+ };
21
+ declare const DateBox: import("svelte").Component<$$ComponentProps, {}, "value" | "enabled">;
22
+ type DateBox = ReturnType<typeof DateBox>;
23
+ export default DateBox;
@@ -1,61 +1,82 @@
1
- <script>import UploadIcon from "../../icons/upload-icon.svelte";
2
- import { createEventDispatcher } from "svelte";
3
- export let selectedFiles = [];
4
- export let disabled = false;
5
- export let fileLimit = 1;
6
- export let fileMimePattern = void 0;
7
- let isDragging = false;
8
- const dispatch = createEventDispatcher();
9
- const filterFiles = (files) => {
10
- if (!fileMimePattern)
11
- return files;
12
- return [...files].filter((file) => {
13
- if (!file.type)
14
- return false;
15
- if (!fileMimePattern)
16
- return true;
17
- if (typeof fileMimePattern === "string")
18
- return file.type.startsWith(fileMimePattern);
19
- return file.type.match(fileMimePattern);
20
- });
21
- };
22
- const addFiles = async (files) => {
23
- if (!files.length)
24
- return;
25
- selectedFiles = [...files, selectedFiles].flat().slice(0, fileLimit);
26
- dispatch("filesSelected", selectedFiles);
27
- };
28
- const selectFiles = async (e) => {
29
- const target = e.target;
30
- if (!target?.files || !target.files.length)
31
- return;
32
- addFiles(filterFiles([...target.files]));
33
- };
34
- const dropFiles = async (e) => {
35
- dragStop(e);
36
- if (!e.dataTransfer)
37
- return;
38
- const files = e.dataTransfer.items ? [...e.dataTransfer.items].filter((item) => item.kind === "file").map((item) => item.getAsFile()) : e.dataTransfer.files;
39
- addFiles(filterFiles(files));
40
- };
41
- const dragStart = (e) => {
42
- e.preventDefault();
43
- e.stopPropagation();
44
- isDragging = true;
45
- };
46
- const dragStop = (e) => {
47
- e.preventDefault();
48
- e.stopPropagation();
49
- isDragging = false;
50
- };
51
- $:
52
- filesClass = selectedFiles.length ? "has-files" : "no-files";
53
- $:
54
- enabledClass = disabled ? "disabled" : "";
55
- $:
56
- draggingClass = isDragging ? "isDragging" : "";
57
- $:
58
- filesSelectedText = selectedFiles.length ? `${selectedFiles.length} file${selectedFiles.length > 1 ? "s" : ""} selected` : "";
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import UploadIcon from '../../icons/upload-icon.svelte';
4
+
5
+ type SelectFilesTarget = null | { files: FileList | null | undefined };
6
+ type DroppedFiles = FileList | File[];
7
+
8
+ let {
9
+ selectedFiles = $bindable([] as DroppedFiles),
10
+ disabled = false,
11
+ fileLimit = 1,
12
+ fileMimePattern = undefined as string | RegExp | undefined,
13
+ onFilesSelected = undefined,
14
+ children = undefined
15
+ }: {
16
+ selectedFiles?: DroppedFiles;
17
+ disabled?: boolean;
18
+ fileLimit?: number;
19
+ fileMimePattern?: string | RegExp | undefined;
20
+ onFilesSelected?: ((files: FileList | File[]) => void) | undefined;
21
+ children?: Snippet;
22
+ } = $props();
23
+
24
+ let isDragging = $state(false);
25
+
26
+ const filterFiles = (files: DroppedFiles) => {
27
+ if (!fileMimePattern) return files;
28
+ return [...files].filter((file) => {
29
+ if (!file.type) return false;
30
+ if (!fileMimePattern) return true;
31
+ if (typeof fileMimePattern === 'string') return file.type.startsWith(fileMimePattern);
32
+ return file.type.match(fileMimePattern);
33
+ });
34
+ };
35
+
36
+ const addFiles = async (files: DroppedFiles) => {
37
+ if (!files.length) return;
38
+ selectedFiles = [...files, selectedFiles].flat().slice(0, fileLimit) as DroppedFiles;
39
+ onFilesSelected?.(selectedFiles);
40
+ };
41
+
42
+ const selectFiles = async (e: Event) => {
43
+ const target = e.target as unknown as SelectFilesTarget;
44
+ if (!target?.files || !target.files.length) return;
45
+ addFiles(filterFiles([...target.files]));
46
+ };
47
+
48
+ const dropFiles = async (e: DragEvent) => {
49
+ dragStop(e);
50
+ if (!e.dataTransfer) return;
51
+ // Get image files from drag and drop
52
+ const files = e.dataTransfer.items
53
+ ? ([...e.dataTransfer.items]
54
+ .filter((item) => item.kind === 'file')
55
+ .map((item) => item.getAsFile()) as DroppedFiles)
56
+ : e.dataTransfer.files;
57
+ addFiles(filterFiles(files));
58
+ };
59
+
60
+ const dragStart = (e: Event) => {
61
+ e.preventDefault();
62
+ e.stopPropagation();
63
+ isDragging = true;
64
+ };
65
+
66
+ const dragStop = (e: Event) => {
67
+ e.preventDefault();
68
+ e.stopPropagation();
69
+ isDragging = false;
70
+ };
71
+
72
+ let filesClass = $derived(selectedFiles.length ? 'has-files' : 'no-files');
73
+ let enabledClass = $derived(disabled ? 'disabled' : '');
74
+ let draggingClass = $derived(isDragging ? 'isDragging' : '');
75
+ let filesSelectedText = $derived(
76
+ selectedFiles.length
77
+ ? `${selectedFiles.length} file${selectedFiles.length > 1 ? 's' : ''} selected`
78
+ : ''
79
+ );
59
80
  </script>
60
81
 
61
82
  <div
@@ -63,19 +84,19 @@ $:
63
84
  data-file-count={selectedFiles.length}
64
85
  >
65
86
  <label
66
- on:drop={dropFiles}
67
- on:dragenter={dragStart}
68
- on:dragstart={dragStart}
69
- on:dragover={dragStart}
70
- on:dragend={dragStop}
71
- on:dragleave={dragStop}
72
- on:dragexit={dragStop}
87
+ ondrop={dropFiles}
88
+ ondragenter={dragStart}
89
+ ondragstart={dragStart}
90
+ ondragover={dragStart}
91
+ ondragend={dragStop}
92
+ ondragleave={dragStop}
93
+ ondragexit={dragStop}
73
94
  >
74
- <input type="file" id="upload-button" accept="image/*" on:change={selectFiles} {disabled} />
95
+ <input type="file" id="upload-button" accept="image/*" onchange={selectFiles} {disabled} />
75
96
  <div class="icon"><UploadIcon /></div>
76
97
  <div class="text">
77
- {#if $$slots.default}
78
- <slot />
98
+ {#if children}
99
+ {@render children?.()}
79
100
  {:else}
80
101
  <span>Drop file or click to select</span>
81
102
  {/if}
@@ -101,6 +122,11 @@ $:
101
122
  color: var(--form-input-fg, black);
102
123
  border-radius: 0.25rem;
103
124
  cursor: pointer;
125
+ transition: all 0.2s ease-in-out;
126
+ }
127
+ .dropzone:hover:not(.disabled) {
128
+ border-color: var(--primary-500, #3b82f6);
129
+ background-color: var(--primary-50, rgba(59, 130, 246, 0.05));
104
130
  }
105
131
  .dropzone.disabled {
106
132
  opacity: 0.5;
@@ -109,6 +135,19 @@ $:
109
135
  .dropzone.isDragging {
110
136
  background-color: var(--form-input-selected-bg, #3182ce);
111
137
  color: var(--form-input-selected-fg, white);
138
+ border-color: var(--form-input-selected-bg, #3182ce);
139
+ border-style: solid;
140
+ transform: scale(1.02);
141
+ box-shadow: 0 4px 12px rgba(49, 130, 206, 0.3);
142
+ transition: all 0.2s ease-in-out;
143
+ }
144
+ .dropzone.isDragging .icon {
145
+ opacity: 1;
146
+ transform: scale(1.1);
147
+ transition: all 0.2s ease-in-out;
148
+ }
149
+ .dropzone.isDragging .text {
150
+ opacity: 1;
112
151
  }
113
152
  .dropzone label {
114
153
  display: flex;
@@ -123,6 +162,7 @@ $:
123
162
  .dropzone label .icon {
124
163
  width: 50%;
125
164
  opacity: 0.5;
165
+ transition: all 0.2s ease-in-out;
126
166
  }
127
167
  .dropzone label .text {
128
168
  font-size: 1rem;
@@ -130,6 +170,7 @@ $:
130
170
  margin-top: 1rem;
131
171
  opacity: 0.5;
132
172
  text-align: center;
173
+ transition: all 0.2s ease-in-out;
133
174
  }
134
175
  .dropzone label .file-count {
135
176
  display: block;
@@ -1,23 +1,13 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- selectedFiles?: (FileList | File[]) | undefined;
5
- disabled?: boolean | undefined;
6
- fileLimit?: number | undefined;
7
- fileMimePattern?: string | RegExp | undefined;
8
- };
9
- events: {
10
- filesSelected: CustomEvent<FileList | File[]>;
11
- } & {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {
15
- default: {};
16
- };
1
+ import type { Snippet } from 'svelte';
2
+ type DroppedFiles = FileList | File[];
3
+ type $$ComponentProps = {
4
+ selectedFiles?: DroppedFiles;
5
+ disabled?: boolean;
6
+ fileLimit?: number;
7
+ fileMimePattern?: string | RegExp | undefined;
8
+ onFilesSelected?: ((files: FileList | File[]) => void) | undefined;
9
+ children?: Snippet;
17
10
  };
18
- export type FileAreaProps = typeof __propDef.props;
19
- export type FileAreaEvents = typeof __propDef.events;
20
- export type FileAreaSlots = typeof __propDef.slots;
21
- export default class FileArea extends SvelteComponent<FileAreaProps, FileAreaEvents, FileAreaSlots> {
22
- }
23
- export {};
11
+ declare const FileArea: import("svelte").Component<$$ComponentProps, {}, "selectedFiles">;
12
+ type FileArea = ReturnType<typeof FileArea>;
13
+ export default FileArea;
@@ -1,21 +1,40 @@
1
- <script>import { uniqueId } from "../../helpers/unique-id.js";
2
- import FormField from "../form-field.svelte";
3
- import FormLabel from "../form-label.svelte";
4
- const id = uniqueId();
5
- export let value = "";
6
- export let placeholder = "";
7
- export let size = "full";
8
- export let disabled = false;
9
- export let required = false;
10
- export let readonly = false;
11
- export let multiple = false;
12
- export let mimeTypes = [];
13
- export let capture = void 0;
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import { uniqueId } from '../../helpers/unique-id.js';
4
+ import FormField from '../form-field.svelte';
5
+ import FormLabel from '../form-label.svelte';
6
+ import type { FormFieldSizeOptions } from '../../types/form.js';
7
+
8
+ const id = uniqueId();
9
+
10
+ let {
11
+ value = $bindable(''),
12
+ placeholder = '',
13
+ size = 'full' as FormFieldSizeOptions,
14
+ disabled = false,
15
+ required = false,
16
+ readonly = false,
17
+ multiple = false,
18
+ mimeTypes = [],
19
+ capture = undefined as boolean | undefined | 'environment' | 'user',
20
+ label
21
+ }: {
22
+ value?: string;
23
+ placeholder?: string;
24
+ size?: FormFieldSizeOptions;
25
+ disabled?: boolean;
26
+ required?: boolean;
27
+ readonly?: boolean;
28
+ multiple?: boolean;
29
+ mimeTypes?: string[];
30
+ capture?: boolean | undefined | 'environment' | 'user';
31
+ label?: string;
32
+ } = $props();
14
33
  </script>
15
34
 
16
35
  <FormField {size}>
17
- {#if $$slots.default}
18
- <FormLabel {id} {required}><slot /></FormLabel>
36
+ {#if label}
37
+ <FormLabel {id} {required} {label} />
19
38
  {/if}
20
39
  <div>
21
40
  <input
@@ -35,12 +54,12 @@ export let capture = void 0;
35
54
 
36
55
  <style>input {
37
56
  width: 100%;
38
- padding: 0.5rem 1rem;
39
- border-radius: 0.25rem;
40
- border: 1px solid var(--form-input-border, black);
41
- background-color: var(--form-input-bg, white);
42
- color: var(--form-input-fg, black);
43
- font-size: 0.875rem;
57
+ padding: var(--spacing-sm) var(--spacing-base);
58
+ border-radius: var(--radius-md);
59
+ border: var(--border-thin) solid var(--form-input-border);
60
+ background-color: var(--form-input-bg);
61
+ color: var(--form-input-fg);
62
+ font-size: var(--font-base);
44
63
  font-weight: 500;
45
64
  line-height: 1.25rem;
46
65
  transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, fill 0.2s ease-in-out, stroke 0.2s ease-in-out;
@@ -1,27 +1,16 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { FormFieldSizeOptions } from '../../types/form.js';
3
- declare const __propDef: {
4
- props: {
5
- value?: string | undefined;
6
- placeholder?: string | undefined;
7
- size?: FormFieldSizeOptions | undefined;
8
- disabled?: boolean | undefined;
9
- required?: boolean | undefined;
10
- readonly?: boolean | undefined;
11
- multiple?: boolean | undefined;
12
- mimeTypes?: string[] | undefined;
13
- capture?: boolean | undefined | 'environment' | 'user';
14
- };
15
- events: {
16
- [evt: string]: CustomEvent<any>;
17
- };
18
- slots: {
19
- default: {};
20
- };
2
+ type $$ComponentProps = {
3
+ value?: string;
4
+ placeholder?: string;
5
+ size?: FormFieldSizeOptions;
6
+ disabled?: boolean;
7
+ required?: boolean;
8
+ readonly?: boolean;
9
+ multiple?: boolean;
10
+ mimeTypes?: string[];
11
+ capture?: boolean | undefined | 'environment' | 'user';
12
+ label?: string;
21
13
  };
22
- export type FileBoxProps = typeof __propDef.props;
23
- export type FileBoxEvents = typeof __propDef.events;
24
- export type FileBoxSlots = typeof __propDef.slots;
25
- export default class FileBox extends SvelteComponent<FileBoxProps, FileBoxEvents, FileBoxSlots> {
26
- }
27
- export {};
14
+ declare const FileBox: import("svelte").Component<$$ComponentProps, {}, "value">;
15
+ type FileBox = ReturnType<typeof FileBox>;
16
+ export default FileBox;
@@ -1,22 +1,25 @@
1
- <script>const maxWidthMap = {
2
- sm: "10rem",
3
- md: "20rem",
4
- lg: "30rem",
5
- xl: "auto",
6
- full: "100%"
7
- };
8
- export let size = "full";
9
- $:
10
- displayType = ["xl", "full"].includes(size) ? "block" : "inline-block";
11
- $:
12
- maxWidth = maxWidthMap[size];
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { ComponentSize } from '../types/size.js';
4
+ import { getMaxWidth, getDisplayType } from '../types/size.js';
5
+
6
+ let {
7
+ size = 'full',
8
+ children
9
+ }: {
10
+ size?: ComponentSize;
11
+ children: Snippet;
12
+ } = $props();
13
+
14
+ let displayType = $derived(getDisplayType(size));
15
+ let maxWidth = $derived(getMaxWidth(size));
13
16
  </script>
14
17
 
15
18
  <div style={`display: ${displayType}; width: 100%; min-width: 10rem; max-width: ${maxWidth}`}>
16
- <slot />
19
+ {@render children?.()}
17
20
  </div>
18
21
 
19
22
  <style>div {
20
- margin-bottom: 1rem;
21
- margin-right: 1rem;
23
+ margin-bottom: var(--spacing-base);
24
+ margin-right: var(--spacing-base);
22
25
  }</style>
@@ -1,19 +1,9 @@
1
- import { SvelteComponent } from "svelte";
2
- import type { FormFieldSizeOptions } from '../types/form.js';
3
- declare const __propDef: {
4
- props: {
5
- size?: FormFieldSizeOptions | undefined;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {
11
- default: {};
12
- };
1
+ import type { Snippet } from 'svelte';
2
+ import type { ComponentSize } from '../types/size.js';
3
+ type $$ComponentProps = {
4
+ size?: ComponentSize;
5
+ children: Snippet;
13
6
  };
14
- export type FormFieldProps = typeof __propDef.props;
15
- export type FormFieldEvents = typeof __propDef.events;
16
- export type FormFieldSlots = typeof __propDef.slots;
17
- export default class FormField extends SvelteComponent<FormFieldProps, FormFieldEvents, FormFieldSlots> {
18
- }
19
- export {};
7
+ declare const FormField: import("svelte").Component<$$ComponentProps, {}, "">;
8
+ type FormField = ReturnType<typeof FormField>;
9
+ export default FormField;