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,30 +1,26 @@
1
- import { SvelteComponent } from "svelte";
2
- import type { ButtonStyle, FormFieldSizeOptions } from '../../types/form.js';
3
- declare const __propDef: {
4
- props: {
5
- href?: string | undefined;
6
- size?: FormFieldSizeOptions | undefined;
7
- style?: ButtonStyle | undefined;
8
- type?: "button" | "submit" | "reset" | undefined;
9
- block?: boolean | undefined;
10
- flex?: boolean | undefined;
11
- disabled?: boolean | undefined;
12
- noMargin?: boolean | undefined;
13
- collapse?: boolean | undefined;
14
- repeatSubmitDelay?: number | "infinite" | undefined;
15
- };
16
- events: {
17
- click: CustomEvent<void>;
18
- } & {
19
- [evt: string]: CustomEvent<any>;
20
- };
21
- slots: {
22
- default: {};
23
- };
1
+ /**
2
+ * Button component with multiple variants and sizes
3
+ * @component
4
+ */
5
+ import type { Snippet } from 'svelte';
6
+ import type { ButtonVariant, FormFieldSizeOptions } from '../../types/form.js';
7
+ type $$ComponentProps = {
8
+ label?: string;
9
+ href?: string | undefined;
10
+ size?: FormFieldSizeOptions;
11
+ variant?: ButtonVariant;
12
+ type?: 'button' | 'submit' | 'reset';
13
+ block?: boolean;
14
+ flex?: boolean;
15
+ disabled?: boolean;
16
+ loading?: boolean;
17
+ ariaLabel?: string | undefined;
18
+ noMargin?: boolean;
19
+ collapse?: boolean;
20
+ repeatSubmitDelay?: number | 'infinite';
21
+ onClick?: ((e?: Event) => void) | undefined;
22
+ children?: Snippet;
24
23
  };
25
- export type ButtonProps = typeof __propDef.props;
26
- export type ButtonEvents = typeof __propDef.events;
27
- export type ButtonSlots = typeof __propDef.slots;
28
- export default class Button extends SvelteComponent<ButtonProps, ButtonEvents, ButtonSlots> {
29
- }
30
- export {};
24
+ declare const Button: import("svelte").Component<$$ComponentProps, {}, "disabled">;
25
+ type Button = ReturnType<typeof Button>;
26
+ export default Button;
@@ -1,37 +1,71 @@
1
- <script>import FormField from "../form-field.svelte";
2
- import FormLabel from "../form-label.svelte";
3
- import CheckBox from "./check-box.svelte";
4
- import { uniqueId } from "../../helpers/unique-id.js";
5
- import { createEventDispatcher } from "svelte";
6
- const id = uniqueId();
7
- const dispatch = createEventDispatcher();
8
- export let group = [];
9
- export let items = [];
10
- export let size = "full";
11
- export let disabled = false;
12
- export let required = false;
13
- const onChecked = () => {
14
- const newGroup = [];
15
- items.forEach((item) => {
16
- if (item.isChecked) {
17
- newGroup.push(item.value);
18
- }
19
- });
20
- group = newGroup;
21
- dispatch("change", { selected: group });
22
- };
23
- onChecked();
1
+ <script lang="ts">
2
+ import type { DropdownOption, FormFieldSizeOptions } from '../../types/form.js';
3
+ import FormField from '../form-field.svelte';
4
+ import FormLabel from '../form-label.svelte';
5
+ import CheckBox from './check-box.svelte';
6
+ import { uniqueId } from '../../helpers/unique-id.js';
7
+
8
+ const id = uniqueId();
9
+
10
+ let {
11
+ group = $bindable([] as string[]),
12
+ items = [],
13
+ size = 'full' as FormFieldSizeOptions,
14
+ disabled = false,
15
+ required = false,
16
+ onChange,
17
+ label
18
+ }: {
19
+ group?: string[];
20
+ items?: DropdownOption[];
21
+ size?: FormFieldSizeOptions;
22
+ disabled?: boolean;
23
+ required?: boolean;
24
+ onChange?: ((selected: string[]) => void) | undefined;
25
+ label?: string;
26
+ } = $props();
27
+
28
+ // Create reactive items with checked state, synced with group
29
+ let itemsWithState = $state<Array<DropdownOption & { isChecked: boolean }>>([]);
30
+
31
+ // Sync itemsWithState when items or group changes (one-way: items/group -> itemsWithState)
32
+ // Reassign the entire array to avoid reading itemsWithState in the effect
33
+ $effect(() => {
34
+ // Rebuild itemsWithState from items, using group to determine checked state
35
+ // Reassign instead of mutate to avoid circular dependency
36
+ const newItems = items.map((item) => ({
37
+ ...item,
38
+ isChecked: group.includes(item.value ?? '')
39
+ }));
40
+ itemsWithState = newItems;
41
+ });
42
+
43
+ const handleCheckboxChange = (data: { isChecked: boolean; value: string }) => {
44
+ // Update group based on checkbox change (this will trigger the effect to sync itemsWithState)
45
+ if (data.isChecked) {
46
+ if (!group.includes(data.value)) {
47
+ group = [...group, data.value];
48
+ }
49
+ } else {
50
+ group = group.filter((v) => v !== data.value);
51
+ }
52
+ onChange?.(group);
53
+ };
24
54
  </script>
25
55
 
26
56
  <FormField {size}>
27
- {#if $$slots.default}
28
- <FormLabel {id} {required}><slot /></FormLabel>
57
+ {#if label}
58
+ <FormLabel {id} {required} {label} />
29
59
  {/if}
30
60
  <div>
31
- {#each items as item}
32
- <CheckBox {disabled} value={item.value} bind:isChecked={item.isChecked} on:change={onChecked}
33
- >{item.name}</CheckBox
34
- >
61
+ {#each itemsWithState as item}
62
+ <CheckBox
63
+ {disabled}
64
+ value={item.value ?? undefined}
65
+ bind:isChecked={item.isChecked}
66
+ onChange={handleCheckboxChange}
67
+ label={item.name}
68
+ />
35
69
  {/each}
36
70
  </div>
37
71
  </FormField>
@@ -1,29 +1,13 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { DropdownOption, FormFieldSizeOptions } from '../../types/form.js';
3
- declare const __propDef: {
4
- props: {
5
- group?: string[] | undefined;
6
- items?: (DropdownOption & {
7
- isChecked?: true | undefined;
8
- })[] | undefined;
9
- size?: FormFieldSizeOptions | undefined;
10
- disabled?: boolean | undefined;
11
- required?: boolean | undefined;
12
- };
13
- events: {
14
- change: CustomEvent<{
15
- selected: string[];
16
- }>;
17
- } & {
18
- [evt: string]: CustomEvent<any>;
19
- };
20
- slots: {
21
- default: {};
22
- };
2
+ type $$ComponentProps = {
3
+ group?: string[];
4
+ items?: DropdownOption[];
5
+ size?: FormFieldSizeOptions;
6
+ disabled?: boolean;
7
+ required?: boolean;
8
+ onChange?: ((selected: string[]) => void) | undefined;
9
+ label?: string;
23
10
  };
24
- export type CheckBoxGroupProps = typeof __propDef.props;
25
- export type CheckBoxGroupEvents = typeof __propDef.events;
26
- export type CheckBoxGroupSlots = typeof __propDef.slots;
27
- export default class CheckBoxGroup extends SvelteComponent<CheckBoxGroupProps, CheckBoxGroupEvents, CheckBoxGroupSlots> {
28
- }
29
- export {};
11
+ declare const CheckBoxGroup: import("svelte").Component<$$ComponentProps, {}, "group">;
12
+ type CheckBoxGroup = ReturnType<typeof CheckBoxGroup>;
13
+ export default CheckBoxGroup;
@@ -1,17 +1,36 @@
1
- <script>import { uniqueId } from "../../helpers/unique-id.js";
2
- import CheckIcon from "../../icons/check-icon.svelte";
3
- import { createEventDispatcher } from "svelte";
4
- export let value = "";
5
- export let isChecked = false;
6
- export let disabled = false;
7
- export let name = void 0;
8
- const id = uniqueId();
9
- const dispatch = createEventDispatcher();
10
- const onChecked = (event) => {
11
- const target = event.target;
12
- isChecked = target.checked;
13
- dispatch("change", { isChecked, value });
14
- };
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import { uniqueId } from '../../helpers/unique-id.js';
4
+ import CheckIcon from '../../icons/check-icon.svelte';
5
+
6
+ let {
7
+ value = '',
8
+ isChecked = $bindable(false),
9
+ disabled = false,
10
+ name = undefined,
11
+ onChange = undefined,
12
+ label,
13
+ children
14
+ }: {
15
+ value?: string;
16
+ isChecked?: boolean;
17
+ disabled?: boolean;
18
+ name?: string | undefined;
19
+ onChange?: ((data: { isChecked: boolean; value: string }) => void) | undefined;
20
+ label?: string;
21
+ children?: Snippet;
22
+ } = $props();
23
+
24
+ const id = uniqueId();
25
+
26
+ const onChecked = (event: Event) => {
27
+ const target = event.target as HTMLInputElement;
28
+ const newChecked = target.checked;
29
+ // Update isChecked (will work whether bound or not)
30
+ isChecked = newChecked;
31
+ // Always notify parent via onChange callback
32
+ onChange?.({ isChecked: newChecked, value });
33
+ };
15
34
  </script>
16
35
 
17
36
  <label>
@@ -20,16 +39,20 @@ const onChecked = (event) => {
20
39
  {id}
21
40
  {disabled}
22
41
  {name}
23
- bind:value
42
+ {value}
24
43
  bind:checked={isChecked}
25
- on:change={onChecked}
44
+ onchange={onChecked}
26
45
  />
27
46
  <span class="checkbox">
28
47
  <span class="checkmark"><CheckIcon /></span>
29
48
  </span>
30
- {#if $$slots.default}
49
+ {#if children}
50
+ <div class="text">
51
+ {@render children()}
52
+ </div>
53
+ {:else if label}
31
54
  <div class="text">
32
- <slot />
55
+ {label}
33
56
  </div>
34
57
  {/if}
35
58
  </label>
@@ -42,19 +65,19 @@ const onChecked = (event) => {
42
65
  }
43
66
  label .text {
44
67
  display: block;
45
- margin-left: 0.5em;
46
- font-size: 1rem;
68
+ margin-left: var(--spacing-sm);
69
+ font-size: var(--font-md);
47
70
  line-height: 2rem;
48
71
  }
49
72
  label .checkbox {
50
73
  position: relative;
51
74
  display: block;
52
- width: 1rem;
53
- height: 1rem;
54
- border: 1px solid var(--form-input-border, black);
55
- background-color: var(--form-input-bg, white);
56
- color: var(--form-input-fg, black);
57
- 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;
75
+ width: var(--spacing-base);
76
+ height: var(--spacing-base);
77
+ border: var(--border-thin) solid var(--form-input-border);
78
+ background-color: var(--form-input-bg);
79
+ color: var(--form-input-fg);
80
+ transition: background-color var(--transition-base) var(--ease-in-out), border-color var(--transition-base) var(--ease-in-out), color var(--transition-base) var(--ease-in-out), fill var(--transition-base) var(--ease-in-out), stroke var(--transition-base) var(--ease-in-out);
58
81
  user-select: none;
59
82
  }
60
83
  label .checkbox .checkmark {
@@ -64,19 +87,20 @@ label .checkbox .checkmark {
64
87
  left: 0;
65
88
  width: 0;
66
89
  height: 0;
67
- background-color: var(--form-input-selected-bg, #3182ce);
68
- color: var(--form-input-selected-fg, white);
69
- fill: var(--form-input-selected-bg, #3182ce);
70
- stroke: var(--form-input-selected-fg, white);
71
- transition: width 0.2s ease-in-out, height 0.2s ease-in-out;
90
+ line-height: 100%;
91
+ background-color: var(--form-input-selected-bg);
92
+ color: var(--form-input-selected-fg);
93
+ fill: var(--form-input-selected-bg);
94
+ stroke: var(--form-input-selected-fg);
95
+ transition: width var(--transition-base) var(--ease-in-out), height var(--transition-base) var(--ease-in-out);
72
96
  }
73
97
  label input {
74
98
  width: 0;
75
99
  height: 0;
76
100
  }
77
101
  label input:checked + .checkbox {
78
- background-color: var(--form-input-bg, white);
79
- border-color: var(--form-input-border, black);
102
+ background-color: var(--form-input-bg);
103
+ border-color: var(--form-input-border);
80
104
  }
81
105
  label input:checked + .checkbox .checkmark {
82
106
  width: 100%;
@@ -1,26 +1,16 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- value?: string | undefined;
5
- isChecked?: boolean | undefined;
6
- disabled?: boolean | undefined;
7
- name?: string | undefined;
8
- };
9
- events: {
10
- change: CustomEvent<{
11
- isChecked: boolean;
12
- value: string;
13
- }>;
14
- } & {
15
- [evt: string]: CustomEvent<any>;
16
- };
17
- slots: {
18
- default: {};
19
- };
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ value?: string;
4
+ isChecked?: boolean;
5
+ disabled?: boolean;
6
+ name?: string | undefined;
7
+ onChange?: ((data: {
8
+ isChecked: boolean;
9
+ value: string;
10
+ }) => void) | undefined;
11
+ label?: string;
12
+ children?: Snippet;
20
13
  };
21
- export type CheckBoxProps = typeof __propDef.props;
22
- export type CheckBoxEvents = typeof __propDef.events;
23
- export type CheckBoxSlots = typeof __propDef.slots;
24
- export default class CheckBox extends SvelteComponent<CheckBoxProps, CheckBoxEvents, CheckBoxSlots> {
25
- }
26
- export {};
14
+ declare const CheckBox: import("svelte").Component<$$ComponentProps, {}, "isChecked">;
15
+ type CheckBox = ReturnType<typeof CheckBox>;
16
+ export default CheckBox;
@@ -0,0 +1,2 @@
1
+ export { default as CheckBox } from './check-box.svelte';
2
+ export { default as CheckBoxGroup } from './check-box-group.svelte';
@@ -0,0 +1,2 @@
1
+ export { default as CheckBox } from './check-box.svelte';
2
+ export { default as CheckBoxGroup } from './check-box-group.svelte';
@@ -1,21 +1,40 @@
1
- <script>import {
2
- FlexRow,
3
- ListBox,
4
- RadioBox,
5
- TextBox
6
- } from "../../index.js";
7
- import FlexCol from "../../layout/flex-col.svelte";
8
- export let mode = "existing";
9
- export let newValue = "";
10
- export let existingValue = "";
11
- export let items = [];
12
- export let size = "full";
13
- export let disabled = false;
14
- export let required = false;
15
- export let searchable = false;
16
- export let search = void 0;
17
- export let searchPlaceholder = "Search";
18
- export let newPlaceholder = "New";
1
+ <script lang="ts">
2
+ import {
3
+ FlexRow,
4
+ ListBox,
5
+ RadioBox,
6
+ type DropdownOption,
7
+ type FormFieldSizeOptions,
8
+ TextBox
9
+ } from '../../index.js';
10
+ import FlexCol from '../../layout/flex-col.svelte';
11
+ import type { SearchFunction } from '../list-box/list-box.js';
12
+
13
+ let {
14
+ mode = $bindable('existing' as 'new' | 'existing'),
15
+ newValue = $bindable('' as string | null),
16
+ existingValue = $bindable('' as string | null),
17
+ items = [] as DropdownOption[],
18
+ size = 'full' as FormFieldSizeOptions,
19
+ disabled = false,
20
+ required = false,
21
+ searchable = false,
22
+ search = undefined as SearchFunction | undefined,
23
+ searchPlaceholder = 'Search',
24
+ newPlaceholder = 'New'
25
+ }: {
26
+ mode?: 'new' | 'existing';
27
+ newValue?: string | null;
28
+ existingValue?: string | null;
29
+ items?: DropdownOption[];
30
+ size?: FormFieldSizeOptions;
31
+ disabled?: boolean;
32
+ required?: boolean;
33
+ searchable?: boolean;
34
+ search?: SearchFunction | undefined;
35
+ searchPlaceholder?: string;
36
+ newPlaceholder?: string;
37
+ } = $props();
19
38
  </script>
20
39
 
21
40
  <div class="group">
@@ -1,28 +1,18 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import { type DropdownOption, type FormFieldSizeOptions } from '../../index.js';
3
2
  import type { SearchFunction } from '../list-box/list-box.js';
4
- declare const __propDef: {
5
- props: {
6
- mode?: "new" | "existing" | undefined;
7
- newValue?: string | null | undefined;
8
- existingValue?: string | null | undefined;
9
- items?: DropdownOption[] | undefined;
10
- size?: FormFieldSizeOptions | undefined;
11
- disabled?: boolean | undefined;
12
- required?: boolean | undefined;
13
- searchable?: boolean | undefined;
14
- search?: SearchFunction | undefined;
15
- searchPlaceholder?: string | undefined;
16
- newPlaceholder?: string | undefined;
17
- };
18
- events: {
19
- [evt: string]: CustomEvent<any>;
20
- };
21
- slots: {};
3
+ type $$ComponentProps = {
4
+ mode?: 'new' | 'existing';
5
+ newValue?: string | null;
6
+ existingValue?: string | null;
7
+ items?: DropdownOption[];
8
+ size?: FormFieldSizeOptions;
9
+ disabled?: boolean;
10
+ required?: boolean;
11
+ searchable?: boolean;
12
+ search?: SearchFunction | undefined;
13
+ searchPlaceholder?: string;
14
+ newPlaceholder?: string;
22
15
  };
23
- export type NewOrExistingComboProps = typeof __propDef.props;
24
- export type NewOrExistingComboEvents = typeof __propDef.events;
25
- export type NewOrExistingComboSlots = typeof __propDef.slots;
26
- export default class NewOrExistingCombo extends SvelteComponent<NewOrExistingComboProps, NewOrExistingComboEvents, NewOrExistingComboSlots> {
27
- }
28
- export {};
16
+ declare const NewOrExistingCombo: import("svelte").Component<$$ComponentProps, {}, "mode" | "newValue" | "existingValue">;
17
+ type NewOrExistingCombo = ReturnType<typeof NewOrExistingCombo>;
18
+ export default NewOrExistingCombo;