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,54 +1,73 @@
1
- <script>import { createEventDispatcher } from "svelte";
2
- export let currentPage = 1;
3
- export let totalPages = 1;
4
- export let align = "center";
5
- export let style = "default";
6
- export let size = "md";
7
- const dispatch = createEventDispatcher();
8
- const changePage = (page) => {
9
- if (page < 1 || page > totalPages) return;
10
- currentPage = page;
11
- dispatch("page", page);
12
- };
13
- $: previousPages = currentPage > 1 ? (() => {
14
- const pages = [];
15
- for (let i = currentPage - 1; i > 0 && i >= currentPage - 3; i--) {
16
- pages.push(i);
17
- }
18
- return pages.reverse();
19
- })() : [];
20
- $: nextPages = currentPage < totalPages ? (() => {
21
- const pages = [];
22
- for (let i = currentPage + 1; i <= totalPages && i <= currentPage + 3; i++) {
23
- pages.push(i);
24
- }
25
- return pages;
26
- })() : [];
27
- $: showFirst = currentPage > 4;
28
- $: showLast = currentPage < totalPages - 3;
1
+ <script lang="ts">
2
+ let {
3
+ currentPage = $bindable(1),
4
+ totalPages = 1,
5
+ align = 'center' as 'center' | 'start' | 'end',
6
+ variant = 'default' as 'default' | 'flat',
7
+ size = 'md' as 'sm' | 'md' | 'lg' | 'xl',
8
+ onPage = undefined
9
+ }: {
10
+ currentPage?: number;
11
+ totalPages?: number;
12
+ align?: 'center' | 'start' | 'end';
13
+ variant?: 'default' | 'flat';
14
+ size?: 'sm' | 'md' | 'lg' | 'xl';
15
+ onPage?: ((page: number) => void) | undefined;
16
+ } = $props();
17
+
18
+ const changePage = (page: number) => {
19
+ if (page < 1 || page > totalPages) return;
20
+ currentPage = page;
21
+ onPage?.(page);
22
+ };
23
+
24
+ let previousPages = $derived(
25
+ currentPage > 1
26
+ ? (() => {
27
+ const pages = [];
28
+ for (let i = currentPage - 1; i > 0 && i >= currentPage - 3; i--) {
29
+ pages.push(i);
30
+ }
31
+ return pages.reverse();
32
+ })()
33
+ : []
34
+ );
35
+ let nextPages = $derived(
36
+ currentPage < totalPages
37
+ ? (() => {
38
+ const pages = [];
39
+ for (let i = currentPage + 1; i <= totalPages && i <= currentPage + 3; i++) {
40
+ pages.push(i);
41
+ }
42
+ return pages;
43
+ })()
44
+ : []
45
+ );
46
+ let showFirst = $derived(currentPage > 4);
47
+ let showLast = $derived(currentPage < totalPages - 3);
29
48
  </script>
30
49
 
31
- <nav class="{align} {style} {size}">
50
+ <nav class="{align} {variant} {size}">
32
51
  {#if currentPage > 1}
33
- <button on:click={() => changePage(currentPage - 1)} class="previous page">Previous</button>
52
+ <button onclick={() => changePage(currentPage - 1)} class="previous page">Previous</button>
34
53
  {/if}
35
54
  {#if showFirst}
36
- <button on:click={() => changePage(1)} class="first page">1</button>
55
+ <button onclick={() => changePage(1)} class="first page">1</button>
37
56
  <div class="ellipsis page">···</div>
38
57
  {/if}
39
58
  {#each previousPages as page}
40
- <button on:click={() => changePage(page)} class="pre page">{page}</button>
59
+ <button onclick={() => changePage(page)} class="pre page">{page}</button>
41
60
  {/each}
42
61
  <div class="current page">{currentPage}</div>
43
62
  {#each nextPages as page}
44
- <button on:click={() => changePage(page)} class="pro numbered page">{page}</button>
63
+ <button onclick={() => changePage(page)} class="pro numbered page">{page}</button>
45
64
  {/each}
46
65
  {#if showLast}
47
66
  <div class="ellipsis page">···</div>
48
- <button on:click={() => changePage(totalPages)} class="last page">{totalPages}</button>
67
+ <button onclick={() => changePage(totalPages)} class="last page">{totalPages}</button>
49
68
  {/if}
50
69
  {#if currentPage < totalPages}
51
- <button on:click={() => changePage(currentPage + 1)} class="next page">Next</button>
70
+ <button onclick={() => changePage(currentPage + 1)} class="next page">Next</button>
52
71
  {/if}
53
72
  </nav>
54
73
 
@@ -63,8 +82,7 @@ nav .page {
63
82
  border: none;
64
83
  background: none;
65
84
  margin: 0;
66
- color: var(--base-fg, #ccc);
67
- text-shadow: 0 0 0.125rem rgba(0, 0, 0, 0.5);
85
+ color: var(--base-fg, #000);
68
86
  }
69
87
  nav button {
70
88
  cursor: pointer;
@@ -1,24 +1,11 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- currentPage?: number;
5
- totalPages?: number;
6
- align?: "center" | "start" | "end";
7
- style?: "default" | "flat";
8
- size?: "sm" | "md" | "lg" | "xl";
9
- };
10
- events: {
11
- page: CustomEvent<number>;
12
- } & {
13
- [evt: string]: CustomEvent<any>;
14
- };
15
- slots: {};
16
- exports?: {} | undefined;
17
- bindings?: string | undefined;
1
+ type $$ComponentProps = {
2
+ currentPage?: number;
3
+ totalPages?: number;
4
+ align?: 'center' | 'start' | 'end';
5
+ variant?: 'default' | 'flat';
6
+ size?: 'sm' | 'md' | 'lg' | 'xl';
7
+ onPage?: ((page: number) => void) | undefined;
18
8
  };
19
- export type PaginationProps = typeof __propDef.props;
20
- export type PaginationEvents = typeof __propDef.events;
21
- export type PaginationSlots = typeof __propDef.slots;
22
- export default class Pagination extends SvelteComponent<PaginationProps, PaginationEvents, PaginationSlots> {
23
- }
24
- export {};
9
+ declare const Pagination: import("svelte").Component<$$ComponentProps, {}, "currentPage">;
10
+ type Pagination = ReturnType<typeof Pagination>;
11
+ export default Pagination;
@@ -1,11 +1,20 @@
1
- <script>import Overlay from "../../generic/overlay.svelte";
2
- export let open = false;
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import Overlay from '../../generic/overlay.svelte';
4
+
5
+ let {
6
+ open = $bindable(false),
7
+ children
8
+ }: {
9
+ open?: boolean;
10
+ children: Snippet;
11
+ } = $props();
3
12
  </script>
4
13
 
5
14
  <div class:open>
6
15
  <Overlay show={open} />
7
16
  <aside>
8
- <slot />
17
+ {@render children?.()}
9
18
  </aside>
10
19
  </div>
11
20
 
@@ -18,15 +27,15 @@ export let open = false;
18
27
  top: 0;
19
28
  left: -300px;
20
29
  bottom: 0;
21
- background: var(--nav-bg, white);
22
- color: var(--nav-fg, black);
30
+ background: var(--nav-bg);
31
+ color: var(--nav-fg);
23
32
  z-index: 9999;
24
- transition: left 0.3s ease-in-out;
25
- border-right: solid 1px #e5e5e5;
26
- box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
33
+ transition: left var(--transition-slow) var(--ease-in-out);
34
+ border-right: solid var(--border-thin) var(--gray-300);
35
+ box-shadow: var(--shadow-md);
27
36
  display: flex;
28
37
  flex-direction: column;
29
- font-family: var(--nav-font-family, sans-serif);
38
+ font-family: var(--nav-font-family);
30
39
  }
31
40
  div.open {
32
41
  display: block;
@@ -1,20 +1,8 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- open?: boolean;
5
- };
6
- events: {
7
- [evt: string]: CustomEvent<any>;
8
- };
9
- slots: {
10
- default: {};
11
- };
12
- exports?: {} | undefined;
13
- bindings?: string | undefined;
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ open?: boolean;
4
+ children: Snippet;
14
5
  };
15
- export type SideBarProps = typeof __propDef.props;
16
- export type SideBarEvents = typeof __propDef.events;
17
- export type SideBarSlots = typeof __propDef.slots;
18
- export default class SideBar extends SvelteComponent<SideBarProps, SideBarEvents, SideBarSlots> {
19
- }
20
- export {};
6
+ declare const SideBar: import("svelte").Component<$$ComponentProps, {}, "open">;
7
+ type SideBar = ReturnType<typeof SideBar>;
8
+ export default SideBar;
@@ -0,0 +1,4 @@
1
+ export { default as TabGroup } from './tab-group.svelte';
2
+ export { default as Tab } from './tab.svelte';
3
+ export type { TabVariant, TabDefinition, TabContext } from './tab-context.js';
4
+ export { tabContext } from './tab-context.js';
@@ -0,0 +1,3 @@
1
+ export { default as TabGroup } from './tab-group.svelte';
2
+ export { default as Tab } from './tab.svelte';
3
+ export { tabContext } from './tab-context.js';
@@ -1,13 +1,19 @@
1
- import type { Subscribable } from '../../index.js';
2
- export type TabStyle = 'traditional' | 'underline' | 'outline' | 'overline';
1
+ export type TabVariant = 'traditional' | 'underline' | 'outline' | 'overline' | 'pills' | 'segmented' | 'minimal';
3
2
  export type TabDefinition = {
4
3
  id: string;
5
- name: string;
4
+ label: string;
6
5
  defaultActive: boolean;
6
+ index: number;
7
+ disabled?: boolean;
8
+ href?: string;
7
9
  };
8
10
  export interface TabContext {
9
- active: Subscribable<string | null>;
10
- style: TabStyle;
11
- register: (id: string, name: string, isActive: boolean) => void;
11
+ state: {
12
+ tabs: TabDefinition[];
13
+ active: string | null;
14
+ };
15
+ variant: TabVariant;
16
+ groupId: string;
17
+ register: (id: string, label: string, isActive: boolean, href?: string) => void;
12
18
  }
13
19
  export declare const tabContext = "tabContext";
@@ -1,73 +1,199 @@
1
- <script>import { writable } from "svelte/store";
2
- import { createEventDispatcher, setContext } from "svelte";
3
- import { tabContext } from "./tab-context.js";
4
- import { getAnchor, navigateToAnchor, subscribable } from "../../index.js";
5
- export let style = "traditional";
6
- const dispatch = createEventDispatcher();
7
- const tabs = writable([]);
8
- const register = (id, name, isActive) => {
9
- tabs.update((value) => [...value, { id, name, defaultActive: isActive }]);
10
- checkActive();
11
- };
12
- const tabExists = (id) => {
13
- const value = $tabs;
14
- return value.some((tab) => tab.id === id);
15
- };
16
- let timeout = null;
17
- const checkActive = () => {
18
- if (timeout) clearTimeout(timeout);
19
- timeout = setTimeout(() => {
20
- const anchor = getAnchor();
21
- if (anchor && tabExists(anchor)) active.set(anchor);
22
- else {
23
- const defaultActiveTab = $tabs.find((tab) => tab.defaultActive);
24
- if (defaultActiveTab) active.set(defaultActiveTab.id);
25
- }
26
- }, 10);
27
- };
28
- const active = writable(null);
29
- const selectTab = (id) => {
30
- active.set(id);
31
- navigateToAnchor(id);
32
- dispatch("change", id);
33
- };
34
- const ctx = {
35
- active: subscribable(active),
36
- style,
37
- register
38
- };
39
- setContext(tabContext, ctx);
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import { setContext } from 'svelte';
4
+ import { tabContext, type TabDefinition, type TabVariant } from './tab-context.js';
5
+ import { getAnchor, navigateToAnchor, uniqueId } from '../../index.js';
6
+
7
+ let {
8
+ variant = 'traditional' as TabVariant,
9
+ onChange = undefined,
10
+ children
11
+ }: {
12
+ variant?: TabVariant;
13
+ onChange?: ((id: string | null) => void) | undefined;
14
+ children: Snippet;
15
+ } = $props();
16
+
17
+ // Generate unique group ID to scope tab IDs and prevent conflicts between multiple tab groups
18
+ const groupId = uniqueId();
19
+
20
+ // Use a SINGLE $state object - this is key for reactivity!
21
+ const tabState = $state({
22
+ tabs: [] as TabDefinition[],
23
+ active: null as string | null
24
+ });
25
+
26
+ let registrationIndex = 0;
27
+ let isInitialized = $state(false);
28
+
29
+ const register = (id: string, label: string, isActive: boolean, href?: string) => {
30
+ const index = registrationIndex++;
31
+ tabState.tabs.push({ id, label, defaultActive: isActive, index, href });
32
+ };
33
+
34
+ // Initialize active tab - only run once when tabs are available
35
+ $effect(() => {
36
+ // Skip if already initialized or no tabs yet
37
+ if (isInitialized || tabState.tabs.length === 0) return;
38
+
39
+ // Use microtask to ensure all synchronous tab registrations in this cycle complete
40
+ queueMicrotask(() => {
41
+ // Double-check we haven't initialized in the meantime
42
+ if (isInitialized) return;
43
+
44
+ // Get current tabs state at initialization time
45
+ const currentTabs = tabState.tabs;
46
+ if (currentTabs.length === 0) return;
47
+
48
+ // Check for anchor in URL first (but only if it matches a tab in THIS group)
49
+ const anchor = getAnchor();
50
+ if (anchor) {
51
+ // Check if anchor starts with our group ID prefix
52
+ const groupPrefix = `${groupId}-`;
53
+ if (anchor.startsWith(groupPrefix)) {
54
+ const tabId = anchor.slice(groupPrefix.length);
55
+ const tabExists = currentTabs.some((tab) => tab.id === tabId);
56
+ if (tabExists) {
57
+ tabState.active = tabId;
58
+ isInitialized = true;
59
+ return;
60
+ }
61
+ }
62
+ // Also check for direct tab ID match (for backward compatibility)
63
+ const tabExists = currentTabs.some((tab) => tab.id === anchor);
64
+ if (tabExists) {
65
+ tabState.active = anchor;
66
+ isInitialized = true;
67
+ return;
68
+ }
69
+ }
70
+
71
+ // Check for defaultActive tab
72
+ const defaultActiveTab = currentTabs.find((tab) => tab.defaultActive);
73
+ if (defaultActiveTab) {
74
+ tabState.active = defaultActiveTab.id;
75
+ isInitialized = true;
76
+ return;
77
+ }
78
+
79
+ // Default to first tab (by registration index, which should be the first in DOM order)
80
+ // Sort by index to get the first registered tab (lowest index = first)
81
+ const sortedTabs = [...currentTabs].sort((a, b) => a.index - b.index);
82
+ const firstTab = sortedTabs[0];
83
+ if (firstTab) {
84
+ tabState.active = firstTab.id;
85
+ isInitialized = true;
86
+ }
87
+ });
88
+ });
89
+ const selectTab = (id: string) => {
90
+ const tab = tabState.tabs.find((t) => t.id === id);
91
+ if (tab?.disabled) return;
92
+
93
+ tabState.active = id;
94
+
95
+ // Only use anchor navigation if tab doesn't have href (href navigation is handled by Tab component)
96
+ // Scope anchor to this group to avoid conflicts with multiple tab groups
97
+ if (!tab?.href) {
98
+ navigateToAnchor(`${groupId}-${id}`);
99
+ }
100
+
101
+ onChange?.(id);
102
+
103
+ // Focus the selected tab (scoped to this group)
104
+ const button = document.getElementById(`tab-${groupId}-${id}`);
105
+ if (button) {
106
+ button.focus();
107
+ }
108
+ };
109
+
110
+ // Keyboard navigation handler
111
+ const handleKeydown = (e: KeyboardEvent, currentId: string) => {
112
+ const tabList = tabState.tabs.filter((tab) => !tab.disabled);
113
+ const currentIndex = tabList.findIndex((tab) => tab.id === currentId);
114
+ if (currentIndex === -1) return;
115
+
116
+ let targetIndex = currentIndex;
117
+
118
+ switch (e.key) {
119
+ case 'ArrowLeft':
120
+ e.preventDefault();
121
+ targetIndex = currentIndex > 0 ? currentIndex - 1 : tabList.length - 1;
122
+ break;
123
+ case 'ArrowRight':
124
+ e.preventDefault();
125
+ targetIndex = currentIndex < tabList.length - 1 ? currentIndex + 1 : 0;
126
+ break;
127
+ case 'Home':
128
+ e.preventDefault();
129
+ targetIndex = 0;
130
+ break;
131
+ case 'End':
132
+ e.preventDefault();
133
+ targetIndex = tabList.length - 1;
134
+ break;
135
+ case 'Enter':
136
+ case ' ':
137
+ e.preventDefault();
138
+ selectTab(currentId);
139
+ return;
140
+ default:
141
+ return;
142
+ }
143
+
144
+ if (targetIndex !== currentIndex && tabList[targetIndex]) {
145
+ selectTab(tabList[targetIndex].id);
146
+ }
147
+ };
148
+
149
+ // Set context - pass the reactive state object directly!
150
+ setContext(tabContext, {
151
+ state: tabState,
152
+ get variant() {
153
+ return variant;
154
+ },
155
+ groupId,
156
+ register
157
+ });
40
158
  </script>
41
159
 
42
- <section class="tab-group {style}">
160
+ <section class="tab-group {variant}">
43
161
  <div class="tab-head">
44
- <nav>
45
- {#each $tabs as tab}
46
- <li class={$active == tab.id ? 'active' : 'inactive'}>
47
- <button on:click={() => selectTab(tab.id)}>
48
- {tab.name}
162
+ <div role="tablist">
163
+ {#each tabState.tabs as tab}
164
+ <li class={tabState.active == tab.id ? 'active' : 'inactive'}>
165
+ <button
166
+ id="tab-{groupId}-{tab.id}"
167
+ role="tab"
168
+ aria-selected={tabState.active === tab.id}
169
+ aria-controls="tabpanel-{groupId}-{tab.id}"
170
+ tabindex={tabState.active === tab.id ? 0 : -1}
171
+ onclick={() => selectTab(tab.id)}
172
+ onkeydown={(e) => handleKeydown(e, tab.id)}
173
+ >
174
+ {tab.label}
49
175
  </button>
50
176
  </li>
51
177
  {/each}
52
- </nav>
178
+ </div>
53
179
  </div>
54
180
  <div class="tab-content">
55
- <slot />
181
+ {@render children?.()}
56
182
  </div>
57
183
  </section>
58
184
 
59
185
  <style>.tab-head {
60
- height: 2rem;
186
+ min-height: 2rem;
61
187
  position: relative;
62
188
  }
63
- .tab-head nav {
189
+ .tab-head div[role=tablist] {
64
190
  display: flex;
65
191
  flex-direction: row;
66
192
  flex-wrap: nowrap;
67
193
  justify-content: flex-start;
68
194
  align-items: center;
69
195
  box-sizing: border-box;
70
- height: 2rem;
196
+ min-height: 2rem;
71
197
  overflow: hidden;
72
198
  width: 100%;
73
199
  }
@@ -85,7 +211,7 @@ setContext(tabContext, ctx);
85
211
  border: none 0;
86
212
  background: transparent;
87
213
  line-height: 1.8rem;
88
- height: 2rem;
214
+ min-height: 2rem;
89
215
  padding-left: 1rem;
90
216
  padding-right: 1rem;
91
217
  cursor: pointer;
@@ -95,6 +221,15 @@ setContext(tabContext, ctx);
95
221
  .tab-head button:focus {
96
222
  outline: none;
97
223
  }
224
+ .tab-head button:focus-visible {
225
+ outline: 2px solid var(--tab-focus-outline, rgb(0, 123, 255));
226
+ outline-offset: 2px;
227
+ border-radius: 0.25rem;
228
+ }
229
+ .tab-head button:disabled {
230
+ opacity: 0.5;
231
+ cursor: not-allowed;
232
+ }
98
233
 
99
234
  .tab-content {
100
235
  padding-top: 1rem;
@@ -153,9 +288,11 @@ setContext(tabContext, ctx);
153
288
  border-style: solid;
154
289
  border-width: 0.1rem 0.1rem 0.1rem 0.1rem;
155
290
  border-color: var(--tab-outline-border, rgb(220, 220, 220));
156
- color: var(--base-fg, rgb(220, 220, 220));
291
+ color: var(--tab-outline-active-fg, rgb(50, 50, 50));
157
292
  border-bottom-color: var(--base-bg, rgb(50, 50, 50));
293
+ background: var(--tab-outline-active-bg, transparent);
158
294
  line-height: 1.7rem;
295
+ min-height: 1.7rem;
159
296
  }
160
297
 
161
298
  .overline .tab-head {
@@ -172,4 +309,83 @@ setContext(tabContext, ctx);
172
309
  .overline .inactive button {
173
310
  border-style: none;
174
311
  color: var(--tab-overline-fg, rgb(180, 180, 180));
312
+ }
313
+
314
+ .pills .tab-head {
315
+ border-bottom: none;
316
+ }
317
+ .pills div[role=tablist] {
318
+ gap: 0.5rem;
319
+ }
320
+ .pills button {
321
+ border-radius: 1.5rem;
322
+ padding-left: 1.25rem;
323
+ padding-right: 1.25rem;
324
+ transition: all 0.2s ease;
325
+ }
326
+ .pills .inactive button {
327
+ background: var(--tab-pills-inactive-bg, rgb(240, 240, 240));
328
+ color: var(--tab-pills-inactive-fg, rgb(100, 100, 100));
329
+ }
330
+ .pills .inactive button:hover {
331
+ background: var(--tab-pills-hover-bg, rgb(230, 230, 230));
332
+ color: var(--tab-pills-hover-fg, rgb(50, 50, 50));
333
+ }
334
+ .pills .active button {
335
+ background: var(--tab-pills-active-bg, rgb(0, 123, 255));
336
+ color: var(--tab-pills-active-fg, rgb(255, 255, 255));
337
+ box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2);
338
+ }
339
+
340
+ .segmented .tab-head {
341
+ border-bottom: none;
342
+ background: var(--tab-segmented-bg, rgb(240, 240, 240));
343
+ border-radius: 0.5rem;
344
+ padding: 0.25rem;
345
+ }
346
+ .segmented div[role=tablist] {
347
+ gap: 0.25rem;
348
+ }
349
+ .segmented button {
350
+ border-radius: 0.375rem;
351
+ flex: 1;
352
+ min-width: 0;
353
+ transition: all 0.2s ease;
354
+ }
355
+ .segmented .inactive button {
356
+ background: transparent;
357
+ color: var(--tab-segmented-inactive-fg, rgb(100, 100, 100));
358
+ }
359
+ .segmented .inactive button:hover {
360
+ background: var(--tab-segmented-hover-bg, rgba(255, 255, 255, 0.5));
361
+ color: var(--tab-segmented-hover-fg, rgb(50, 50, 50));
362
+ }
363
+ .segmented .active button {
364
+ background: var(--tab-segmented-active-bg, rgb(255, 255, 255));
365
+ color: var(--tab-segmented-active-fg, rgb(50, 50, 50));
366
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
367
+ font-weight: 500;
368
+ }
369
+
370
+ .minimal .tab-head {
371
+ border-bottom: solid 0.1rem var(--tab-minimal-border, rgb(230, 230, 230));
372
+ }
373
+ .minimal button {
374
+ border-radius: 0;
375
+ transition: color 0.2s ease;
376
+ }
377
+ .minimal .inactive button {
378
+ background: transparent;
379
+ color: var(--tab-minimal-inactive-fg, rgb(150, 150, 150));
380
+ }
381
+ .minimal .inactive button:hover {
382
+ background: transparent;
383
+ color: var(--tab-minimal-hover-fg, rgb(50, 50, 50));
384
+ }
385
+ .minimal .active button {
386
+ background: transparent;
387
+ color: var(--tab-minimal-active-fg, rgb(0, 123, 255));
388
+ border-bottom: solid 0.2rem var(--tab-minimal-active-fg, rgb(0, 123, 255));
389
+ margin-bottom: -0.1rem;
390
+ font-weight: 500;
175
391
  }</style>
@@ -1,23 +1,10 @@
1
- import { SvelteComponent } from "svelte";
2
- import { type TabStyle } from './tab-context.js';
3
- declare const __propDef: {
4
- props: {
5
- style?: TabStyle;
6
- };
7
- events: {
8
- change: CustomEvent<string | null>;
9
- } & {
10
- [evt: string]: CustomEvent<any>;
11
- };
12
- slots: {
13
- default: {};
14
- };
15
- exports?: {} | undefined;
16
- bindings?: string | undefined;
1
+ import type { Snippet } from 'svelte';
2
+ import { type TabVariant } from './tab-context.js';
3
+ type $$ComponentProps = {
4
+ variant?: TabVariant;
5
+ onChange?: ((id: string | null) => void) | undefined;
6
+ children: Snippet;
17
7
  };
18
- export type TabGroupProps = typeof __propDef.props;
19
- export type TabGroupEvents = typeof __propDef.events;
20
- export type TabGroupSlots = typeof __propDef.slots;
21
- export default class TabGroup extends SvelteComponent<TabGroupProps, TabGroupEvents, TabGroupSlots> {
22
- }
23
- export {};
8
+ declare const TabGroup: import("svelte").Component<$$ComponentProps, {}, "">;
9
+ type TabGroup = ReturnType<typeof TabGroup>;
10
+ export default TabGroup;