sveltacular 0.0.77 → 1.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 (376) 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 -16
  5. package/dist/forms/bool-box/bool-box.svelte.d.ts +9 -23
  6. package/dist/forms/button/button.svelte +153 -89
  7. package/dist/forms/button/button.svelte.d.ts +25 -31
  8. package/dist/forms/check-box/check-box-group.svelte +69 -31
  9. package/dist/forms/check-box/check-box-group.svelte.d.ts +11 -29
  10. package/dist/forms/check-box/check-box.svelte +57 -33
  11. package/dist/forms/check-box/check-box.svelte.d.ts +15 -27
  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 -27
  16. package/dist/forms/combo-box/combo-box.svelte +643 -0
  17. package/dist/forms/combo-box/combo-box.svelte.d.ts +42 -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 +82 -53
  21. package/dist/forms/date-box/date-box.svelte.d.ts +21 -34
  22. package/dist/forms/file-area/file-area.svelte +109 -57
  23. package/dist/forms/file-area/file-area.svelte.d.ts +12 -24
  24. package/dist/forms/file-box/file-box.svelte +38 -23
  25. package/dist/forms/file-box/file-box.svelte.d.ts +14 -27
  26. package/dist/forms/form-field.svelte +76 -13
  27. package/dist/forms/form-field.svelte.d.ts +15 -20
  28. package/dist/forms/form-footer.svelte +6 -3
  29. package/dist/forms/form-footer.svelte.d.ts +6 -28
  30. package/dist/forms/form-header.svelte +15 -4
  31. package/dist/forms/form-header.svelte.d.ts +8 -20
  32. package/dist/forms/form-label.svelte +15 -6
  33. package/dist/forms/form-label.svelte.d.ts +8 -21
  34. package/dist/forms/form-row.svelte +29 -0
  35. package/dist/forms/form-row.svelte.d.ts +7 -0
  36. package/dist/forms/form-section.svelte +15 -4
  37. package/dist/forms/form-section.svelte.d.ts +8 -20
  38. package/dist/forms/form.svelte +36 -13
  39. package/dist/forms/form.svelte.d.ts +11 -24
  40. package/dist/forms/index.d.ts +26 -0
  41. package/dist/forms/index.js +31 -0
  42. package/dist/forms/info-box/info-box.svelte +17 -10
  43. package/dist/forms/info-box/info-box.svelte.d.ts +8 -21
  44. package/dist/forms/list-box/index.d.ts +2 -0
  45. package/dist/forms/list-box/index.js +1 -0
  46. package/dist/forms/list-box/list-box.svelte +188 -111
  47. package/dist/forms/list-box/list-box.svelte.d.ts +16 -28
  48. package/dist/forms/money-box/money-box.svelte +224 -178
  49. package/dist/forms/money-box/money-box.svelte.d.ts +16 -30
  50. package/dist/forms/number-box/number-box.svelte +82 -62
  51. package/dist/forms/number-box/number-box.svelte.d.ts +17 -30
  52. package/dist/forms/phone-box/index.d.ts +1 -0
  53. package/dist/forms/phone-box/index.js +1 -0
  54. package/dist/forms/phone-box/phone-box.svelte +156 -116
  55. package/dist/forms/phone-box/phone-box.svelte.d.ts +8 -22
  56. package/dist/forms/radio-group/index.d.ts +2 -0
  57. package/dist/forms/radio-group/index.js +2 -0
  58. package/dist/forms/radio-group/radio-box.svelte +23 -8
  59. package/dist/forms/radio-group/radio-box.svelte.d.ts +10 -21
  60. package/dist/forms/radio-group/radio-group.svelte +25 -15
  61. package/dist/forms/radio-group/radio-group.svelte.d.ts +10 -23
  62. package/dist/forms/slider/slider.svelte +206 -0
  63. package/dist/forms/slider/slider.svelte.d.ts +17 -0
  64. package/dist/forms/switch-box/switch-box.svelte +35 -21
  65. package/dist/forms/switch-box/switch-box.svelte.d.ts +9 -22
  66. package/dist/forms/text-area/text-area.svelte +94 -17
  67. package/dist/forms/text-area/text-area.svelte.d.ts +15 -25
  68. package/dist/forms/text-box/text-box.svelte +244 -79
  69. package/dist/forms/text-box/text-box.svelte.d.ts +28 -38
  70. package/dist/forms/time-box/time-box.svelte +63 -0
  71. package/dist/forms/time-box/time-box.svelte.d.ts +12 -0
  72. package/dist/forms/url-box/url-box.svelte +32 -18
  73. package/dist/forms/url-box/url-box.svelte.d.ts +9 -22
  74. package/dist/forms/validation.d.ts +60 -0
  75. package/dist/forms/validation.js +123 -0
  76. package/dist/generic/address/address.svelte +22 -11
  77. package/dist/generic/address/address.svelte.d.ts +9 -21
  78. package/dist/generic/avatar/avatar.svelte +87 -0
  79. package/dist/generic/avatar/avatar.svelte.d.ts +10 -0
  80. package/dist/generic/badge/badge.svelte +82 -0
  81. package/dist/generic/badge/badge.svelte.d.ts +11 -0
  82. package/dist/generic/card/card-container.svelte +41 -12
  83. package/dist/generic/card/card-container.svelte.d.ts +8 -20
  84. package/dist/generic/card/card.svelte +47 -27
  85. package/dist/generic/card/card.svelte.d.ts +9 -21
  86. package/dist/generic/card/index.d.ts +3 -0
  87. package/dist/generic/card/index.js +2 -0
  88. package/dist/generic/chip/chip.svelte +91 -0
  89. package/dist/generic/chip/chip.svelte.d.ts +11 -0
  90. package/dist/generic/date/date-time.svelte +86 -58
  91. package/dist/generic/date/date-time.svelte.d.ts +10 -22
  92. package/dist/generic/divider/divider.svelte.d.ts +22 -21
  93. package/dist/generic/dot/dot.svelte +13 -4
  94. package/dist/generic/dot/dot.svelte.d.ts +7 -19
  95. package/dist/generic/dropdown-item/dropdown-item.svelte +24 -12
  96. package/dist/generic/dropdown-item/dropdown-item.svelte.d.ts +10 -23
  97. package/dist/generic/email/email.svelte +6 -4
  98. package/dist/generic/email/email.svelte.d.ts +5 -17
  99. package/dist/generic/empty/empty.svelte +57 -26
  100. package/dist/generic/empty/empty.svelte.d.ts +11 -23
  101. package/dist/generic/header/header.svelte +26 -10
  102. package/dist/generic/header/header.svelte.d.ts +10 -22
  103. package/dist/generic/index.d.ts +28 -0
  104. package/dist/generic/index.js +31 -0
  105. package/dist/generic/link/link.svelte +20 -7
  106. package/dist/generic/link/link.svelte.d.ts +11 -23
  107. package/dist/generic/list/index.d.ts +4 -0
  108. package/dist/generic/list/index.js +3 -0
  109. package/dist/generic/list/list-item.svelte +17 -13
  110. package/dist/generic/list/list-item.svelte.d.ts +6 -17
  111. package/dist/generic/list/list.d.ts +2 -2
  112. package/dist/generic/list/list.svelte +28 -15
  113. package/dist/generic/list/list.svelte.d.ts +9 -21
  114. package/dist/generic/menu/menu.svelte +163 -54
  115. package/dist/generic/menu/menu.svelte.d.ts +16 -26
  116. package/dist/generic/notice/notice.svelte +119 -80
  117. package/dist/generic/notice/notice.svelte.d.ts +17 -28
  118. package/dist/generic/overlay.svelte +40 -14
  119. package/dist/generic/overlay.svelte.d.ts +9 -21
  120. package/dist/generic/panel/panel.svelte +16 -6
  121. package/dist/generic/panel/panel.svelte.d.ts +8 -20
  122. package/dist/generic/phone/phone.svelte +30 -20
  123. package/dist/generic/phone/phone.svelte.d.ts +6 -18
  124. package/dist/generic/pill/pill.svelte +47 -33
  125. package/dist/generic/pill/pill.svelte.d.ts +10 -23
  126. package/dist/generic/popover/popover.svelte +226 -0
  127. package/dist/generic/popover/popover.svelte.d.ts +15 -0
  128. package/dist/generic/rating/rating.svelte +85 -0
  129. package/dist/generic/rating/rating.svelte.d.ts +11 -0
  130. package/dist/generic/scorecard/scorecard.svelte +34 -18
  131. package/dist/generic/scorecard/scorecard.svelte.d.ts +9 -21
  132. package/dist/generic/section/section.svelte +28 -9
  133. package/dist/generic/section/section.svelte.d.ts +11 -23
  134. package/dist/generic/spinner/spinner.svelte +64 -0
  135. package/dist/generic/spinner/spinner.svelte.d.ts +8 -0
  136. package/dist/generic/theme-provider/index.d.ts +1 -0
  137. package/dist/generic/theme-provider/index.js +1 -0
  138. package/dist/generic/theme-provider/theme-provider-demo.svelte +182 -0
  139. package/dist/generic/theme-provider/theme-provider-demo.svelte.d.ts +3 -0
  140. package/dist/generic/theme-provider/theme-provider.svelte +83 -0
  141. package/dist/generic/theme-provider/theme-provider.svelte.d.ts +44 -0
  142. package/dist/generic/toaster/toaster.svelte +31 -6
  143. package/dist/generic/toaster/toaster.svelte.d.ts +7 -17
  144. package/dist/generic/tooltip/tooltip.svelte +389 -0
  145. package/dist/generic/tooltip/tooltip.svelte.d.ts +21 -0
  146. package/dist/helpers/ago.d.ts +6 -0
  147. package/dist/helpers/ago.js +6 -0
  148. package/dist/helpers/animation-actions.d.ts +124 -0
  149. package/dist/helpers/animation-actions.js +299 -0
  150. package/dist/helpers/animations.d.ts +198 -0
  151. package/dist/helpers/animations.js +280 -0
  152. package/dist/helpers/announcer.d.ts +118 -0
  153. package/dist/helpers/announcer.js +250 -0
  154. package/dist/helpers/copy-to-clipboard.svelte.d.ts +5 -0
  155. package/dist/helpers/copy-to-clipboard.svelte.js +28 -0
  156. package/dist/helpers/debounce.d.ts +7 -0
  157. package/dist/helpers/debounce.js +7 -0
  158. package/dist/helpers/focus.d.ts +123 -0
  159. package/dist/helpers/focus.js +335 -0
  160. package/dist/helpers/fuzzy-search.d.ts +41 -0
  161. package/dist/helpers/fuzzy-search.js +114 -0
  162. package/dist/helpers/index.d.ts +24 -0
  163. package/dist/helpers/index.js +24 -0
  164. package/dist/helpers/navigate-to.d.ts +4 -0
  165. package/dist/helpers/navigate-to.js +4 -0
  166. package/dist/helpers/positioning.d.ts +97 -0
  167. package/dist/helpers/positioning.js +230 -0
  168. package/dist/helpers/round-to-decimals.d.ts +7 -5
  169. package/dist/helpers/round-to-decimals.js +7 -5
  170. package/dist/helpers/spring.svelte.d.ts +97 -0
  171. package/dist/helpers/spring.svelte.js +216 -0
  172. package/dist/helpers/subscribable.d.ts +1 -1
  173. package/dist/helpers/theme.svelte.d.ts +63 -0
  174. package/dist/helpers/theme.svelte.js +123 -0
  175. package/dist/helpers/unique-id.d.ts +4 -0
  176. package/dist/helpers/unique-id.js +4 -0
  177. package/dist/helpers/use-position.svelte.d.ts +96 -0
  178. package/dist/helpers/use-position.svelte.js +189 -0
  179. package/dist/helpers/use-virtual-list.svelte.d.ts +121 -0
  180. package/dist/helpers/use-virtual-list.svelte.js +239 -0
  181. package/dist/icons/angle-right-icon.svelte +2 -1
  182. package/dist/icons/angle-right-icon.svelte.d.ts +16 -14
  183. package/dist/icons/angle-up-icon.svelte.d.ts +22 -21
  184. package/dist/icons/check-icon.svelte.d.ts +22 -21
  185. package/dist/icons/copy-icon.svelte +46 -0
  186. package/dist/icons/copy-icon.svelte.d.ts +6 -0
  187. package/dist/icons/envelope-icon.svelte.d.ts +22 -21
  188. package/dist/icons/folder-open-icon.svelte.d.ts +22 -21
  189. package/dist/icons/hamburger-icon.svelte.d.ts +22 -21
  190. package/dist/icons/home-icon.svelte +2 -1
  191. package/dist/icons/home-icon.svelte.d.ts +16 -14
  192. package/dist/icons/index.d.ts +13 -0
  193. package/dist/icons/index.js +13 -0
  194. package/dist/icons/link-icon.svelte.d.ts +22 -21
  195. package/dist/icons/mobile-phone-icon.svelte.d.ts +22 -21
  196. package/dist/icons/phone-icon.svelte.d.ts +22 -21
  197. package/dist/icons/svg-icon.svelte +46 -10
  198. package/dist/icons/svg-icon.svelte.d.ts +13 -25
  199. package/dist/icons/upload-icon.svelte.d.ts +22 -21
  200. package/dist/images/icon.svelte +9 -3
  201. package/dist/images/icon.svelte.d.ts +6 -18
  202. package/dist/images/image.svelte +28 -8
  203. package/dist/images/image.svelte.d.ts +14 -28
  204. package/dist/images/index.d.ts +2 -0
  205. package/dist/images/index.js +2 -0
  206. package/dist/index.d.ts +13 -122
  207. package/dist/index.js +27 -135
  208. package/dist/layout/flex-col.svelte +65 -16
  209. package/dist/layout/flex-col.svelte.d.ts +12 -24
  210. package/dist/layout/flex-item.svelte +13 -3
  211. package/dist/layout/flex-item.svelte.d.ts +8 -20
  212. package/dist/layout/flex-row.svelte +70 -15
  213. package/dist/layout/flex-row.svelte.d.ts +14 -26
  214. package/dist/layout/grid.svelte +7 -1
  215. package/dist/layout/grid.svelte.d.ts +6 -28
  216. package/dist/layout/index.d.ts +4 -0
  217. package/dist/layout/index.js +4 -0
  218. package/dist/modals/alert.svelte +42 -28
  219. package/dist/modals/alert.svelte.d.ts +13 -26
  220. package/dist/modals/confirm.svelte +54 -37
  221. package/dist/modals/confirm.svelte.d.ts +16 -29
  222. package/dist/modals/dialog-body.svelte +10 -4
  223. package/dist/modals/dialog-body.svelte.d.ts +6 -28
  224. package/dist/modals/dialog-close-button.svelte +15 -9
  225. package/dist/modals/dialog-close-button.svelte.d.ts +6 -19
  226. package/dist/modals/dialog-footer.svelte +6 -3
  227. package/dist/modals/dialog-footer.svelte.d.ts +6 -28
  228. package/dist/modals/dialog-header.svelte +13 -1
  229. package/dist/modals/dialog-header.svelte.d.ts +7 -28
  230. package/dist/modals/dialog-window.svelte +42 -14
  231. package/dist/modals/dialog-window.svelte.d.ts +9 -19
  232. package/dist/modals/index.d.ts +9 -0
  233. package/dist/modals/index.js +9 -0
  234. package/dist/modals/modal.svelte +88 -23
  235. package/dist/modals/modal.svelte.d.ts +14 -24
  236. package/dist/modals/prompt.svelte +71 -49
  237. package/dist/modals/prompt.svelte.d.ts +19 -32
  238. package/dist/navigation/accordion/accordion.svelte +104 -0
  239. package/dist/navigation/accordion/accordion.svelte.d.ts +9 -0
  240. package/dist/navigation/app-bar/app-bar.svelte +26 -12
  241. package/dist/navigation/app-bar/app-bar.svelte.d.ts +10 -22
  242. package/dist/navigation/app-bar/app-branding.svelte +10 -5
  243. package/dist/navigation/app-bar/app-branding.svelte.d.ts +6 -17
  244. package/dist/navigation/app-bar/app-logo.svelte +20 -5
  245. package/dist/navigation/app-bar/app-logo.svelte.d.ts +9 -21
  246. package/dist/navigation/app-bar/app-nav-item.svelte +26 -13
  247. package/dist/navigation/app-bar/app-nav-item.svelte.d.ts +9 -22
  248. package/dist/navigation/app-bar/app-nav.svelte +39 -12
  249. package/dist/navigation/app-bar/app-nav.svelte.d.ts +8 -20
  250. package/dist/navigation/app-bar/index.d.ts +5 -0
  251. package/dist/navigation/app-bar/index.js +5 -0
  252. package/dist/navigation/breadcrumbs/breadcrumbs.svelte +54 -27
  253. package/dist/navigation/breadcrumbs/breadcrumbs.svelte.d.ts +12 -23
  254. package/dist/navigation/command-palette/command-palette.svelte +758 -0
  255. package/dist/navigation/command-palette/command-palette.svelte.d.ts +65 -0
  256. package/dist/navigation/command-palette/index.d.ts +2 -0
  257. package/dist/navigation/command-palette/index.js +1 -0
  258. package/dist/navigation/context-menu/README.md +147 -0
  259. package/dist/navigation/context-menu/context-menu-divider.svelte +22 -0
  260. package/dist/navigation/context-menu/context-menu-divider.svelte.d.ts +18 -0
  261. package/dist/navigation/context-menu/context-menu-item.svelte +268 -0
  262. package/dist/navigation/context-menu/context-menu-item.svelte.d.ts +19 -0
  263. package/dist/navigation/context-menu/context-menu.svelte +226 -0
  264. package/dist/navigation/context-menu/context-menu.svelte.d.ts +38 -0
  265. package/dist/navigation/context-menu/index.d.ts +3 -0
  266. package/dist/navigation/context-menu/index.js +3 -0
  267. package/dist/navigation/drawer/drawer.svelte +137 -0
  268. package/dist/navigation/drawer/drawer.svelte.d.ts +11 -0
  269. package/dist/navigation/dropdown-button/dropdown-button.svelte +58 -19
  270. package/dist/navigation/dropdown-button/dropdown-button.svelte.d.ts +10 -22
  271. package/dist/navigation/index.d.ts +11 -0
  272. package/dist/navigation/index.js +14 -0
  273. package/dist/navigation/pagination/pagination.svelte +55 -37
  274. package/dist/navigation/pagination/pagination.svelte.d.ts +10 -23
  275. package/dist/navigation/side-bar/side-bar.svelte +18 -9
  276. package/dist/navigation/side-bar/side-bar.svelte.d.ts +7 -19
  277. package/dist/navigation/tabs/index.d.ts +4 -0
  278. package/dist/navigation/tabs/index.js +3 -0
  279. package/dist/navigation/tabs/tab-context.d.ts +12 -6
  280. package/dist/navigation/tabs/tab-group.svelte +268 -52
  281. package/dist/navigation/tabs/tab-group.svelte.d.ts +9 -22
  282. package/dist/navigation/tabs/tab.svelte +64 -33
  283. package/dist/navigation/tabs/tab.svelte.d.ts +11 -24
  284. package/dist/navigation/wizard/index.d.ts +3 -0
  285. package/dist/navigation/wizard/index.js +2 -0
  286. package/dist/navigation/wizard/wizard-context.d.ts +13 -8
  287. package/dist/navigation/wizard/wizard-step.svelte +38 -13
  288. package/dist/navigation/wizard/wizard-step.svelte.d.ts +8 -20
  289. package/dist/navigation/wizard/wizard.svelte +123 -81
  290. package/dist/navigation/wizard/wizard.svelte.d.ts +15 -28
  291. package/dist/placeholders/index.d.ts +6 -0
  292. package/dist/placeholders/index.js +6 -0
  293. package/dist/placeholders/loading.svelte +39 -23
  294. package/dist/placeholders/loading.svelte.d.ts +10 -19
  295. package/dist/placeholders/progress.svelte +7 -6
  296. package/dist/placeholders/progress.svelte.d.ts +5 -17
  297. package/dist/placeholders/skeleton-input.svelte +66 -38
  298. package/dist/placeholders/skeleton-input.svelte.d.ts +5 -17
  299. package/dist/placeholders/skeleton-paragraph.svelte +25 -0
  300. package/dist/placeholders/skeleton-paragraph.svelte.d.ts +8 -0
  301. package/dist/placeholders/skeleton-table.svelte +75 -0
  302. package/dist/placeholders/skeleton-table.svelte.d.ts +8 -0
  303. package/dist/placeholders/skeleton-text.svelte +46 -15
  304. package/dist/placeholders/skeleton-text.svelte.d.ts +7 -19
  305. package/dist/tables/cell-renderers.d.ts +24 -0
  306. package/dist/tables/cell-renderers.js +228 -0
  307. package/dist/tables/data-grid.svelte +332 -118
  308. package/dist/tables/data-grid.svelte.d.ts +34 -35
  309. package/dist/tables/index.d.ts +10 -0
  310. package/dist/tables/index.js +12 -0
  311. package/dist/tables/table-caption.svelte +13 -4
  312. package/dist/tables/table-caption.svelte.d.ts +8 -20
  313. package/dist/tables/table-cell.svelte +45 -14
  314. package/dist/tables/table-cell.svelte.d.ts +10 -21
  315. package/dist/tables/table-context.svelte.d.ts +32 -0
  316. package/dist/tables/table-context.svelte.js +160 -0
  317. package/dist/tables/table-header-cell.svelte +158 -18
  318. package/dist/tables/table-header-cell.svelte.d.ts +15 -21
  319. package/dist/tables/table-header.svelte +31 -6
  320. package/dist/tables/table-header.svelte.d.ts +7 -28
  321. package/dist/tables/table-row.svelte +87 -7
  322. package/dist/tables/table-row.svelte.d.ts +10 -28
  323. package/dist/tables/table.svelte +61 -2
  324. package/dist/tables/table.svelte.d.ts +13 -28
  325. package/dist/test-utils/accessibility-helpers.d.ts +80 -0
  326. package/dist/test-utils/accessibility-helpers.js +220 -0
  327. package/dist/test-utils/index.d.ts +8 -0
  328. package/dist/test-utils/index.js +8 -0
  329. package/dist/test-utils/mock-helpers.d.ts +68 -0
  330. package/dist/test-utils/mock-helpers.js +165 -0
  331. package/dist/test-utils/render-helpers.d.ts +55 -0
  332. package/dist/test-utils/render-helpers.js +114 -0
  333. package/dist/test-utils/setup.d.ts +5 -0
  334. package/dist/test-utils/setup.js +91 -0
  335. package/dist/test-utils/test-data.d.ts +102 -0
  336. package/dist/test-utils/test-data.js +99 -0
  337. package/dist/timeline/index.d.ts +2 -0
  338. package/dist/timeline/index.js +2 -0
  339. package/dist/timeline/timeline-item.svelte +26 -9
  340. package/dist/timeline/timeline-item.svelte.d.ts +13 -25
  341. package/dist/timeline/timeline.svelte +12 -6
  342. package/dist/timeline/timeline.svelte.d.ts +6 -28
  343. package/dist/types/data.d.ts +61 -0
  344. package/dist/types/date.d.ts +1 -1
  345. package/dist/types/form.d.ts +20 -2
  346. package/dist/types/index.d.ts +5 -0
  347. package/dist/types/index.js +5 -0
  348. package/dist/types/size.d.ts +22 -0
  349. package/dist/types/size.js +22 -0
  350. package/dist/typography/code-block.svelte +89 -10
  351. package/dist/typography/code-block.svelte.d.ts +7 -19
  352. package/dist/typography/code.svelte +89 -0
  353. package/dist/typography/code.svelte.d.ts +7 -0
  354. package/dist/typography/headline.svelte +29 -9
  355. package/dist/typography/headline.svelte.d.ts +8 -20
  356. package/dist/typography/index.d.ts +6 -0
  357. package/dist/typography/index.js +6 -0
  358. package/dist/typography/paragraph.svelte +18 -10
  359. package/dist/typography/paragraph.svelte.d.ts +6 -28
  360. package/dist/typography/subtitle.svelte +18 -4
  361. package/dist/typography/subtitle.svelte.d.ts +8 -20
  362. package/dist/typography/text.svelte +20 -5
  363. package/dist/typography/text.svelte.d.ts +9 -21
  364. package/package.json +31 -21
  365. package/dist/navigation/accordian/accordian.svelte +0 -62
  366. package/dist/navigation/accordian/accordian.svelte.d.ts +0 -21
  367. package/dist/tables/table-body.svelte +0 -3
  368. package/dist/tables/table-body.svelte.d.ts +0 -29
  369. package/dist/tables/table-footer-cell.svelte +0 -22
  370. package/dist/tables/table-footer-cell.svelte.d.ts +0 -20
  371. package/dist/tables/table-footer-row.svelte +0 -3
  372. package/dist/tables/table-footer-row.svelte.d.ts +0 -29
  373. package/dist/tables/table-footer.svelte +0 -13
  374. package/dist/tables/table-footer.svelte.d.ts +0 -29
  375. package/dist/tables/table-header-row.svelte +0 -4
  376. package/dist/tables/table-header-row.svelte.d.ts +0 -29
@@ -1,28 +1,93 @@
1
- <script>import DialogBody from "./dialog-body.svelte";
2
- import Dialog from "./dialog-window.svelte";
3
- import Overlay from "../generic/overlay.svelte";
4
- import DialogCloseButton from "./dialog-close-button.svelte";
5
- import { createEventDispatcher } from "svelte";
6
- const dispatch = createEventDispatcher();
7
- export let open = false;
8
- export let size = "md";
9
- export let showCloseButton = true;
10
- export let dismissable = true;
11
- const close = () => {
12
- if (!dismissable) return;
13
- dispatch("close");
14
- open = false;
15
- };
16
- $: _showCloseButton = dismissable && showCloseButton;
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import DialogBody from './dialog-body.svelte';
4
+ import Dialog from './dialog-window.svelte';
5
+ import Overlay from '../generic/overlay.svelte';
6
+ import type { FormFieldSizeOptions } from '../types/form.js';
7
+ import DialogCloseButton from './dialog-close-button.svelte';
8
+ import { trapFocus, storeFocus, restoreFocus } from '../helpers/focus.js';
9
+ import { animateFadeIn, animateScaleIn } from '../helpers/animations.js';
10
+ import { browser } from '$app/environment';
11
+
12
+ let {
13
+ open = $bindable(false),
14
+ size = 'md' as FormFieldSizeOptions,
15
+ showCloseButton = true,
16
+ dismissable = true,
17
+ blur = false,
18
+ glass = false,
19
+ title = undefined,
20
+ onClose = undefined,
21
+ children
22
+ }: {
23
+ open?: boolean;
24
+ size?: FormFieldSizeOptions;
25
+ showCloseButton?: boolean;
26
+ dismissable?: boolean;
27
+ blur?: boolean;
28
+ glass?: boolean;
29
+ title?: string | undefined;
30
+ onClose?: (() => void) | undefined;
31
+ children: Snippet;
32
+ } = $props();
33
+
34
+ let dialogElement = $state<HTMLDivElement | null>(null);
35
+ let previousFocus = $state<HTMLElement | null>(null);
36
+
37
+ const close = () => {
38
+ if (!dismissable) return;
39
+ open = false;
40
+ onClose?.();
41
+ if (browser && previousFocus) {
42
+ restoreFocus(previousFocus);
43
+ }
44
+ };
45
+
46
+ let _showCloseButton = $derived(dismissable && showCloseButton);
47
+ let modalId = $derived(`modal-${Math.random().toString(36).substring(7)}`);
48
+ let titleId = $derived(title ? `${modalId}-title` : undefined);
49
+
50
+ $effect(() => {
51
+ if (open && browser) {
52
+ // Store cleanup function
53
+ let untrap: (() => void) | null = null;
54
+
55
+ // Wait for next tick to ensure dialogElement is bound
56
+ setTimeout(() => {
57
+ if (dialogElement) {
58
+ previousFocus = storeFocus();
59
+ untrap = trapFocus(dialogElement);
60
+ }
61
+ }, 0);
62
+
63
+ // Return cleanup function
64
+ return () => {
65
+ if (untrap) {
66
+ untrap();
67
+ }
68
+ };
69
+ }
70
+ });
71
+
72
+ // Trigger enter animation when modal opens
73
+ $effect(() => {
74
+ if (open && browser) {
75
+ setTimeout(() => {
76
+ if (dialogElement) animateScaleIn(dialogElement);
77
+ }, 10);
78
+ }
79
+ });
17
80
  </script>
18
81
 
19
82
  {#if open}
20
- <Overlay on:click={close}>
21
- <Dialog {size}>
22
- <DialogCloseButton show={_showCloseButton} on:click={close} />
23
- <DialogBody>
24
- <slot />
25
- </DialogBody>
26
- </Dialog>
83
+ <Overlay {blur} onClick={close}>
84
+ <div bind:this={dialogElement}>
85
+ <Dialog {size} {glass} role="dialog" aria-modal="true" aria-labelledby={titleId}>
86
+ <DialogCloseButton show={_showCloseButton} onClick={close} />
87
+ <DialogBody>
88
+ {@render children?.()}
89
+ </DialogBody>
90
+ </Dialog>
91
+ </div>
27
92
  </Overlay>
28
93
  {/if}
@@ -1,26 +1,16 @@
1
- import { SvelteComponent } from "svelte";
1
+ import type { Snippet } from 'svelte';
2
2
  import type { FormFieldSizeOptions } from '../types/form.js';
3
- declare const __propDef: {
4
- props: {
5
- open?: boolean;
6
- size?: FormFieldSizeOptions;
7
- showCloseButton?: boolean;
8
- dismissable?: boolean;
9
- };
10
- events: {
11
- close: CustomEvent<void>;
12
- } & {
13
- [evt: string]: CustomEvent<any>;
14
- };
15
- slots: {
16
- default: {};
17
- };
18
- exports?: {} | undefined;
19
- bindings?: string | undefined;
3
+ type $$ComponentProps = {
4
+ open?: boolean;
5
+ size?: FormFieldSizeOptions;
6
+ showCloseButton?: boolean;
7
+ dismissable?: boolean;
8
+ blur?: boolean;
9
+ glass?: boolean;
10
+ title?: string | undefined;
11
+ onClose?: (() => void) | undefined;
12
+ children: Snippet;
20
13
  };
21
- export type ModalProps = typeof __propDef.props;
22
- export type ModalEvents = typeof __propDef.events;
23
- export type ModalSlots = typeof __propDef.slots;
24
- export default class Modal extends SvelteComponent<ModalProps, ModalEvents, ModalSlots> {
25
- }
26
- export {};
14
+ declare const Modal: import("svelte").Component<$$ComponentProps, {}, "open">;
15
+ type Modal = ReturnType<typeof Modal>;
16
+ export default Modal;
@@ -1,61 +1,83 @@
1
- <script>import DialogBody from "./dialog-body.svelte";
2
- import DialogFooter from "./dialog-footer.svelte";
3
- import DialogHeader from "./dialog-header.svelte";
4
- import Dialog from "./dialog-window.svelte";
5
- import Overlay from "../generic/overlay.svelte";
6
- import { createEventDispatcher } from "svelte";
7
- import Button from "../forms/button/button.svelte";
8
- import Divider from "../generic/divider/divider.svelte";
9
- import TextBox from "../forms/text-box/text-box.svelte";
10
- import DialogCloseButton from "./dialog-close-button.svelte";
11
- export let open = false;
12
- export let title = void 0;
13
- export let size = "md";
14
- export let okText = "Yes";
15
- export let cancelText = "No";
16
- export let okStyle = "primary";
17
- export let cancelStyle = "secondary";
18
- export let showCloseButton = true;
19
- export let placeholder = "";
20
- export let type = "text";
21
- export let required = false;
22
- let value = "";
23
- const dispatch = createEventDispatcher();
24
- const no = () => {
25
- open = false;
26
- dispatch("cancel");
27
- };
28
- const yes = () => {
29
- if (required && !value) return;
30
- open = false;
31
- dispatch("ok", value);
32
- };
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import DialogBody from './dialog-body.svelte';
4
+ import DialogFooter from './dialog-footer.svelte';
5
+ import DialogHeader from './dialog-header.svelte';
6
+ import Dialog from './dialog-window.svelte';
7
+ import Overlay from '../generic/overlay.svelte';
8
+ import type { AllowedTextInputTypes, FormFieldSizeOptions } from '../types/form.js';
9
+ import Button from '../forms/button/button.svelte';
10
+ import Divider from '../generic/divider/divider.svelte';
11
+ import TextBox from '../forms/text-box/text-box.svelte';
12
+ import DialogCloseButton from './dialog-close-button.svelte';
13
+
14
+ let {
15
+ open = $bindable(false),
16
+ title = undefined,
17
+ size = 'md' as FormFieldSizeOptions,
18
+ okText = 'Yes',
19
+ cancelText = 'No',
20
+ okVariant = 'primary' as 'primary' | 'secondary' | 'danger',
21
+ cancelVariant = 'secondary' as 'primary' | 'secondary' | 'danger',
22
+ showCloseButton = true,
23
+ placeholder = '',
24
+ type = 'text' as AllowedTextInputTypes,
25
+ required = false,
26
+ onOk = undefined,
27
+ onCancel = undefined,
28
+ children
29
+ }: {
30
+ open?: boolean;
31
+ title?: string | undefined;
32
+ size?: FormFieldSizeOptions;
33
+ okText?: string;
34
+ cancelText?: string;
35
+ okVariant?: 'primary' | 'secondary' | 'danger';
36
+ cancelVariant?: 'primary' | 'secondary' | 'danger';
37
+ showCloseButton?: boolean;
38
+ placeholder?: string;
39
+ type?: AllowedTextInputTypes;
40
+ required?: boolean;
41
+ onOk?: ((value: string) => void) | undefined;
42
+ onCancel?: (() => void) | undefined;
43
+ children?: Snippet;
44
+ } = $props();
45
+
46
+ let value = $state('');
47
+
48
+ const no = () => {
49
+ open = false;
50
+ onCancel?.();
51
+ };
52
+
53
+ const yes = () => {
54
+ if (required && !value) return;
55
+ open = false;
56
+ onOk?.(value);
57
+ };
33
58
  </script>
34
59
 
35
60
  {#if open}
36
- <Overlay on:click={no}>
37
- <Dialog {size}>
61
+ <Overlay onClick={no}>
62
+ <Dialog {size} role="dialog" aria-modal="true" aria-labelledby={title ? 'prompt-title' : undefined}>
38
63
  {#if title}
39
- <DialogHeader>
64
+ <DialogHeader id="prompt-title">
40
65
  {title}
41
66
  </DialogHeader>
42
67
  <Divider />
43
68
  {/if}
44
- <DialogCloseButton show={showCloseButton} on:click={no} />
45
- <DialogBody>
46
- <TextBox bind:value {placeholder} {type} {required} size="full">
47
- <slot />
48
- </TextBox>
49
- </DialogBody>
69
+ <DialogCloseButton show={showCloseButton} onClick={no} />
70
+ <DialogBody>
71
+ <TextBox bind:value {placeholder} {type} {required} size="full" />
72
+ {#if children}
73
+ {@render children()}
74
+ {/if}
75
+ </DialogBody>
50
76
  <Divider />
51
- <DialogFooter>
52
- <Button on:click={no} style={cancelStyle} size="full">
53
- {cancelText}
54
- </Button>
55
- <Button on:click={yes} style={okStyle} size="full">
56
- {okText}
57
- </Button>
58
- </DialogFooter>
77
+ <DialogFooter>
78
+ <Button onClick={no} variant={cancelVariant} size="full" label={cancelText} />
79
+ <Button onClick={yes} variant={okVariant} size="full" label={okText} />
80
+ </DialogFooter>
59
81
  </Dialog>
60
82
  </Overlay>
61
83
  {/if}
@@ -1,34 +1,21 @@
1
- import { SvelteComponent } from "svelte";
1
+ import type { Snippet } from 'svelte';
2
2
  import type { AllowedTextInputTypes, FormFieldSizeOptions } from '../types/form.js';
3
- declare const __propDef: {
4
- props: {
5
- open?: boolean;
6
- title?: string | undefined;
7
- size?: FormFieldSizeOptions;
8
- okText?: string;
9
- cancelText?: string;
10
- okStyle?: "primary" | "secondary" | "danger";
11
- cancelStyle?: "primary" | "secondary" | "danger";
12
- showCloseButton?: boolean;
13
- placeholder?: string;
14
- type?: AllowedTextInputTypes;
15
- required?: boolean;
16
- };
17
- events: {
18
- ok: CustomEvent<string>;
19
- cancel: CustomEvent<void>;
20
- } & {
21
- [evt: string]: CustomEvent<any>;
22
- };
23
- slots: {
24
- default: {};
25
- };
26
- exports?: {} | undefined;
27
- bindings?: string | undefined;
3
+ type $$ComponentProps = {
4
+ open?: boolean;
5
+ title?: string | undefined;
6
+ size?: FormFieldSizeOptions;
7
+ okText?: string;
8
+ cancelText?: string;
9
+ okVariant?: 'primary' | 'secondary' | 'danger';
10
+ cancelVariant?: 'primary' | 'secondary' | 'danger';
11
+ showCloseButton?: boolean;
12
+ placeholder?: string;
13
+ type?: AllowedTextInputTypes;
14
+ required?: boolean;
15
+ onOk?: ((value: string) => void) | undefined;
16
+ onCancel?: (() => void) | undefined;
17
+ children?: Snippet;
28
18
  };
29
- export type PromptProps = typeof __propDef.props;
30
- export type PromptEvents = typeof __propDef.events;
31
- export type PromptSlots = typeof __propDef.slots;
32
- export default class Prompt extends SvelteComponent<PromptProps, PromptEvents, PromptSlots> {
33
- }
34
- export {};
19
+ declare const Prompt: import("svelte").Component<$$ComponentProps, {}, "open">;
20
+ type Prompt = ReturnType<typeof Prompt>;
21
+ export default Prompt;
@@ -0,0 +1,104 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import AngleUpIcon from '../../icons/angle-up-icon.svelte';
4
+ import { uniqueId } from '../../helpers/unique-id.js';
5
+
6
+ let {
7
+ title,
8
+ expanded = $bindable(false),
9
+ children
10
+ }: {
11
+ title: string;
12
+ expanded?: boolean;
13
+ children: Snippet;
14
+ } = $props();
15
+
16
+ const id = uniqueId();
17
+ const buttonId = `accordion-button-${id}`;
18
+ const panelId = `accordion-panel-${id}`;
19
+
20
+ const toggle = () => {
21
+ expanded = !expanded;
22
+ };
23
+
24
+ const handleKeyDown = (e: KeyboardEvent) => {
25
+ // Space and Enter should toggle
26
+ if (e.key === ' ' || e.key === 'Enter') {
27
+ e.preventDefault();
28
+ toggle();
29
+ }
30
+ };
31
+ </script>
32
+
33
+ <div class:expanded class="accordion">
34
+ <h3>
35
+ <button
36
+ type="button"
37
+ id={buttonId}
38
+ aria-expanded={expanded}
39
+ aria-controls={panelId}
40
+ onclick={toggle}
41
+ onkeydown={handleKeyDown}
42
+ >
43
+ <span class="title">
44
+ {title}
45
+ </span>
46
+ <span class="icon" aria-hidden="true">
47
+ <AngleUpIcon />
48
+ </span>
49
+ </button>
50
+ </h3>
51
+ <div
52
+ id={panelId}
53
+ role="region"
54
+ aria-labelledby={buttonId}
55
+ class="menu"
56
+ hidden={!expanded}
57
+ >
58
+ {@render children?.()}
59
+ </div>
60
+ </div>
61
+
62
+ <style>.accordion {
63
+ background: #eee;
64
+ color: #000;
65
+ max-height: 3rem;
66
+ transition: max-height 1s ease;
67
+ overflow: hidden;
68
+ }
69
+ .accordion button {
70
+ appearance: none;
71
+ width: 100%;
72
+ padding: 1rem;
73
+ border: none;
74
+ text-align: left;
75
+ outline: none;
76
+ transition: background 0.3s ease;
77
+ display: flex;
78
+ justify-content: space-between;
79
+ align-items: center;
80
+ font-size: 1rem;
81
+ }
82
+ .accordion button .icon {
83
+ width: 1rem;
84
+ height: 1rem;
85
+ display: block;
86
+ transition: transform 0.3s linear;
87
+ }
88
+ .accordion button:hover {
89
+ background: #ccc;
90
+ }
91
+ .accordion .menu {
92
+ padding: 1rem;
93
+ opacity: 0;
94
+ transition: opacity 0.3s linear;
95
+ }
96
+ .accordion.expanded {
97
+ max-height: 800px;
98
+ }
99
+ .accordion.expanded .menu {
100
+ opacity: 1;
101
+ }
102
+ .accordion.expanded .icon {
103
+ transform: rotate(180deg);
104
+ }</style>
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ title: string;
4
+ expanded?: boolean;
5
+ children: Snippet;
6
+ };
7
+ declare const Accordion: import("svelte").Component<$$ComponentProps, {}, "expanded">;
8
+ type Accordion = ReturnType<typeof Accordion>;
9
+ export default Accordion;
@@ -1,18 +1,32 @@
1
- <script>import { setContext } from "svelte";
2
- export let isFixed = true;
3
- export let position = "top";
4
- export let size = "md";
5
- export let padding = "md";
6
- setContext("app-bar", {
7
- isFixed,
8
- position,
9
- size,
10
- padding
11
- });
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { FormFieldSizeOptions } from '../../types/form.js';
4
+ import { setContext } from 'svelte';
5
+
6
+ let {
7
+ isFixed = true,
8
+ position = 'top' as 'top' | 'bottom',
9
+ size = 'md' as FormFieldSizeOptions | 'xs',
10
+ padding = 'md' as 'none' | FormFieldSizeOptions,
11
+ children
12
+ }: {
13
+ isFixed?: boolean;
14
+ position?: 'top' | 'bottom';
15
+ size?: FormFieldSizeOptions | 'xs';
16
+ padding?: 'none' | FormFieldSizeOptions;
17
+ children: Snippet;
18
+ } = $props();
19
+
20
+ setContext('app-bar', {
21
+ get isFixed() { return isFixed; },
22
+ get position() { return position; },
23
+ get size() { return size; },
24
+ get padding() { return padding; }
25
+ });
12
26
  </script>
13
27
 
14
28
  <header class="{position} {size} padding-{padding} {isFixed ? 'fixed' : 'absolute'}">
15
- <slot />
29
+ {@render children?.()}
16
30
  </header>
17
31
 
18
32
  <style>header {
@@ -1,24 +1,12 @@
1
- import { SvelteComponent } from "svelte";
1
+ import type { Snippet } from 'svelte';
2
2
  import type { FormFieldSizeOptions } from '../../types/form.js';
3
- declare const __propDef: {
4
- props: {
5
- isFixed?: boolean;
6
- position?: "top" | "bottom";
7
- size?: FormFieldSizeOptions | "xs";
8
- padding?: "none" | FormFieldSizeOptions;
9
- };
10
- events: {
11
- [evt: string]: CustomEvent<any>;
12
- };
13
- slots: {
14
- default: {};
15
- };
16
- exports?: {} | undefined;
17
- bindings?: string | undefined;
3
+ type $$ComponentProps = {
4
+ isFixed?: boolean;
5
+ position?: 'top' | 'bottom';
6
+ size?: FormFieldSizeOptions | 'xs';
7
+ padding?: 'none' | FormFieldSizeOptions;
8
+ children: Snippet;
18
9
  };
19
- export type AppBarProps = typeof __propDef.props;
20
- export type AppBarEvents = typeof __propDef.events;
21
- export type AppBarSlots = typeof __propDef.slots;
22
- export default class AppBar extends SvelteComponent<AppBarProps, AppBarEvents, AppBarSlots> {
23
- }
24
- export {};
10
+ declare const AppBar: import("svelte").Component<$$ComponentProps, {}, "">;
11
+ type AppBar = ReturnType<typeof AppBar>;
12
+ export default AppBar;
@@ -1,9 +1,14 @@
1
- <script>import { setContext } from "svelte";
2
- setContext("app-branding", true);
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import { setContext } from 'svelte';
4
+
5
+ let { children }: { children?: Snippet } = $props();
6
+
7
+ setContext('app-branding', true);
3
8
  </script>
4
9
 
5
10
  <div class="branding">
6
- <slot />
11
+ {@render children?.()}
7
12
  </div>
8
13
 
9
14
  <style>
@@ -14,7 +19,7 @@ setContext("app-branding", true);
14
19
  flex-direction: column;
15
20
  width: 100%;
16
21
  height: 100%;
17
- padding-left: 0.5rem;
18
- padding-right: 0.5rem;
22
+ padding-left: var(--spacing-sm);
23
+ padding-right: var(--spacing-sm);
19
24
  }
20
25
  </style>
@@ -1,18 +1,7 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: Record<string, never>;
4
- events: {
5
- [evt: string]: CustomEvent<any>;
6
- };
7
- slots: {
8
- default: {};
9
- };
10
- exports?: {} | undefined;
11
- bindings?: string | undefined;
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ children?: Snippet;
12
4
  };
13
- export type AppBrandingProps = typeof __propDef.props;
14
- export type AppBrandingEvents = typeof __propDef.events;
15
- export type AppBrandingSlots = typeof __propDef.slots;
16
- export default class AppBranding extends SvelteComponent<AppBrandingProps, AppBrandingEvents, AppBrandingSlots> {
17
- }
18
- export {};
5
+ declare const AppBranding: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type AppBranding = ReturnType<typeof AppBranding>;
7
+ export default AppBranding;
@@ -1,14 +1,29 @@
1
- <script>import Image from "../../images/image.svelte";
2
- export let src = void 0;
3
- export let alt;
4
- export let href;
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import Image from '../../images/image.svelte';
4
+
5
+ let {
6
+ src = undefined,
7
+ alt,
8
+ href,
9
+ children = undefined
10
+ }: {
11
+ src?: string;
12
+ alt: string;
13
+ href: string;
14
+ children?: Snippet;
15
+ } = $props();
5
16
  </script>
6
17
 
7
18
  <div class="logo">
8
19
  {#if src}
9
20
  <Image {src} {alt} {href} align="left" />
10
21
  {:else}
11
- <a {href} title={alt}><slot /></a>
22
+ <a {href} title={alt}>
23
+ {#if children}
24
+ {@render children?.()}
25
+ {/if}
26
+ </a>
12
27
  {/if}
13
28
  </div>
14
29
 
@@ -1,22 +1,10 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- src?: string | undefined;
5
- alt: string;
6
- href: string;
7
- };
8
- events: {
9
- [evt: string]: CustomEvent<any>;
10
- };
11
- slots: {
12
- default: {};
13
- };
14
- exports?: {} | undefined;
15
- bindings?: string | undefined;
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ src?: string;
4
+ alt: string;
5
+ href: string;
6
+ children?: Snippet;
16
7
  };
17
- export type AppLogoProps = typeof __propDef.props;
18
- export type AppLogoEvents = typeof __propDef.events;
19
- export type AppLogoSlots = typeof __propDef.slots;
20
- export default class AppLogo extends SvelteComponent<AppLogoProps, AppLogoEvents, AppLogoSlots> {
21
- }
22
- export {};
8
+ declare const AppLogo: import("svelte").Component<$$ComponentProps, {}, "">;
9
+ type AppLogo = ReturnType<typeof AppLogo>;
10
+ export default AppLogo;