@jovertical/mise-design-system 0.0.0-stage → 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 (849) hide show
  1. package/LICENSE +21 -0
  2. package/LICENSES/shadcn-svelte.txt +23 -0
  3. package/LICENSES/shadcn-ui.txt +21 -0
  4. package/LICENSES/tailwindcss.txt +21 -0
  5. package/README.md +107 -2
  6. package/bin/mise-theme.js +9 -0
  7. package/dist/components/actions/button/button-variants.d.ts +37 -0
  8. package/dist/components/actions/button/button-variants.js +99 -0
  9. package/dist/components/actions/button/button.svelte +84 -0
  10. package/dist/components/actions/button/button.svelte.d.ts +17 -0
  11. package/dist/components/actions/button/index.d.ts +2 -0
  12. package/dist/components/actions/button/index.js +2 -0
  13. package/dist/components/actions/command/command-dialog.svelte +60 -0
  14. package/dist/components/actions/command/command-dialog.svelte.d.ts +17 -0
  15. package/dist/components/actions/command/command-empty.svelte +24 -0
  16. package/dist/components/actions/command/command-empty.svelte.d.ts +6 -0
  17. package/dist/components/actions/command/command-group.svelte +43 -0
  18. package/dist/components/actions/command/command-group.svelte.d.ts +8 -0
  19. package/dist/components/actions/command/command-input.svelte +38 -0
  20. package/dist/components/actions/command/command-input.svelte.d.ts +6 -0
  21. package/dist/components/actions/command/command-item.svelte +27 -0
  22. package/dist/components/actions/command/command-item.svelte.d.ts +6 -0
  23. package/dist/components/actions/command/command-list.svelte +24 -0
  24. package/dist/components/actions/command/command-list.svelte.d.ts +6 -0
  25. package/dist/components/actions/command/command-separator.svelte +24 -0
  26. package/dist/components/actions/command/command-separator.svelte.d.ts +6 -0
  27. package/dist/components/actions/command/command-shortcut.svelte +33 -0
  28. package/dist/components/actions/command/command-shortcut.svelte.d.ts +7 -0
  29. package/dist/components/actions/command/command.svelte +37 -0
  30. package/dist/components/actions/command/command.svelte.d.ts +10 -0
  31. package/dist/components/actions/command/index.d.ts +9 -0
  32. package/dist/components/actions/command/index.js +9 -0
  33. package/dist/components/actions/dropdown-menu/dropdown-menu-checkbox-item.svelte +52 -0
  34. package/dist/components/actions/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +9 -0
  35. package/dist/components/actions/dropdown-menu/dropdown-menu-content.svelte +38 -0
  36. package/dist/components/actions/dropdown-menu/dropdown-menu-content.svelte.d.ts +8 -0
  37. package/dist/components/actions/dropdown-menu/dropdown-menu-group.svelte +16 -0
  38. package/dist/components/actions/dropdown-menu/dropdown-menu-group.svelte.d.ts +5 -0
  39. package/dist/components/actions/dropdown-menu/dropdown-menu-item.svelte +39 -0
  40. package/dist/components/actions/dropdown-menu/dropdown-menu-item.svelte.d.ts +9 -0
  41. package/dist/components/actions/dropdown-menu/dropdown-menu-label.svelte +37 -0
  42. package/dist/components/actions/dropdown-menu/dropdown-menu-label.svelte.d.ts +8 -0
  43. package/dist/components/actions/dropdown-menu/dropdown-menu-portal.svelte +16 -0
  44. package/dist/components/actions/dropdown-menu/dropdown-menu-portal.svelte.d.ts +5 -0
  45. package/dist/components/actions/dropdown-menu/dropdown-menu-radio-group.svelte +25 -0
  46. package/dist/components/actions/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +5 -0
  47. package/dist/components/actions/dropdown-menu/dropdown-menu-radio-item.svelte +50 -0
  48. package/dist/components/actions/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +9 -0
  49. package/dist/components/actions/dropdown-menu/dropdown-menu-separator.svelte +23 -0
  50. package/dist/components/actions/dropdown-menu/dropdown-menu-separator.svelte.d.ts +5 -0
  51. package/dist/components/actions/dropdown-menu/dropdown-menu-shortcut.svelte +32 -0
  52. package/dist/components/actions/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +6 -0
  53. package/dist/components/actions/dropdown-menu/dropdown-menu-sub-content.svelte +26 -0
  54. package/dist/components/actions/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +5 -0
  55. package/dist/components/actions/dropdown-menu/dropdown-menu-sub-trigger.svelte +41 -0
  56. package/dist/components/actions/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -0
  57. package/dist/components/actions/dropdown-menu/dropdown-menu-sub.svelte +16 -0
  58. package/dist/components/actions/dropdown-menu/dropdown-menu-sub.svelte.d.ts +5 -0
  59. package/dist/components/actions/dropdown-menu/dropdown-menu-trigger.svelte +16 -0
  60. package/dist/components/actions/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +5 -0
  61. package/dist/components/actions/dropdown-menu/dropdown-menu.svelte +16 -0
  62. package/dist/components/actions/dropdown-menu/dropdown-menu.svelte.d.ts +5 -0
  63. package/dist/components/actions/dropdown-menu/index.d.ts +15 -0
  64. package/dist/components/actions/dropdown-menu/index.js +15 -0
  65. package/dist/components/actions/theme-toggle/index.d.ts +3 -0
  66. package/dist/components/actions/theme-toggle/index.js +3 -0
  67. package/dist/components/actions/theme-toggle/theme-provider.svelte +49 -0
  68. package/dist/components/actions/theme-toggle/theme-provider.svelte.d.ts +19 -0
  69. package/dist/components/actions/theme-toggle/theme-toggle.svelte +48 -0
  70. package/dist/components/actions/theme-toggle/theme-toggle.svelte.d.ts +13 -0
  71. package/dist/components/actions/theme-toggle/theme.svelte.d.ts +17 -0
  72. package/dist/components/actions/theme-toggle/theme.svelte.js +45 -0
  73. package/dist/components/data-display/avatar/avatar-fallback.svelte +29 -0
  74. package/dist/components/data-display/avatar/avatar-fallback.svelte.d.ts +6 -0
  75. package/dist/components/data-display/avatar/avatar-image.svelte +23 -0
  76. package/dist/components/data-display/avatar/avatar-image.svelte.d.ts +5 -0
  77. package/dist/components/data-display/avatar/avatar-status.svelte +48 -0
  78. package/dist/components/data-display/avatar/avatar-status.svelte.d.ts +16 -0
  79. package/dist/components/data-display/avatar/avatar.svelte +24 -0
  80. package/dist/components/data-display/avatar/avatar.svelte.d.ts +6 -0
  81. package/dist/components/data-display/avatar/index.d.ts +5 -0
  82. package/dist/components/data-display/avatar/index.js +5 -0
  83. package/dist/components/data-display/avatar/presence-dot.svelte +42 -0
  84. package/dist/components/data-display/avatar/presence-dot.svelte.d.ts +14 -0
  85. package/dist/components/data-display/badge/badge-variants.d.ts +6 -0
  86. package/dist/components/data-display/badge/badge-variants.js +53 -0
  87. package/dist/components/data-display/badge/badge.svelte +66 -0
  88. package/dist/components/data-display/badge/badge.svelte.d.ts +29 -0
  89. package/dist/components/data-display/badge/index.d.ts +2 -0
  90. package/dist/components/data-display/badge/index.js +2 -0
  91. package/dist/components/data-display/chart/chart-defaults.d.ts +22 -0
  92. package/dist/components/data-display/chart/chart-defaults.js +19 -0
  93. package/dist/components/data-display/chart/chart-style.svelte +49 -0
  94. package/dist/components/data-display/chart/chart-style.svelte.d.ts +9 -0
  95. package/dist/components/data-display/chart/chart-tooltip.svelte +201 -0
  96. package/dist/components/data-display/chart/chart-tooltip.svelte.d.ts +30 -0
  97. package/dist/components/data-display/chart/chart-utils.d.ts +42 -0
  98. package/dist/components/data-display/chart/chart-utils.js +42 -0
  99. package/dist/components/data-display/chart/chart.svelte +105 -0
  100. package/dist/components/data-display/chart/chart.svelte.d.ts +15 -0
  101. package/dist/components/data-display/chart/index.d.ts +5 -0
  102. package/dist/components/data-display/chart/index.js +5 -0
  103. package/dist/components/data-display/checklist/checklist-card.svelte +157 -0
  104. package/dist/components/data-display/checklist/checklist-card.svelte.d.ts +47 -0
  105. package/dist/components/data-display/checklist/checklist-row-heading.svelte +56 -0
  106. package/dist/components/data-display/checklist/checklist-row-heading.svelte.d.ts +10 -0
  107. package/dist/components/data-display/checklist/checklist-task-row.svelte +101 -0
  108. package/dist/components/data-display/checklist/checklist-task-row.svelte.d.ts +9 -0
  109. package/dist/components/data-display/checklist/checklist-types.d.ts +51 -0
  110. package/dist/components/data-display/checklist/checklist-types.js +6 -0
  111. package/dist/components/data-display/checklist/checklist.svelte +78 -0
  112. package/dist/components/data-display/checklist/checklist.svelte.d.ts +24 -0
  113. package/dist/components/data-display/checklist/index.d.ts +3 -0
  114. package/dist/components/data-display/checklist/index.js +2 -0
  115. package/dist/components/data-display/data-table/data-table-column-header.svelte +99 -0
  116. package/dist/components/data-display/data-table/data-table-column-header.svelte.d.ts +38 -0
  117. package/dist/components/data-display/data-table/data-table-column-toggle.svelte +68 -0
  118. package/dist/components/data-display/data-table/data-table-column-toggle.svelte.d.ts +33 -0
  119. package/dist/components/data-display/data-table/data-table-export-menu.svelte +93 -0
  120. package/dist/components/data-display/data-table/data-table-export-menu.svelte.d.ts +18 -0
  121. package/dist/components/data-display/data-table/data-table-faceted-filter.svelte +133 -0
  122. package/dist/components/data-display/data-table/data-table-faceted-filter.svelte.d.ts +50 -0
  123. package/dist/components/data-display/data-table/data-table-row-actions.svelte +79 -0
  124. package/dist/components/data-display/data-table/data-table-row-actions.svelte.d.ts +28 -0
  125. package/dist/components/data-display/data-table/data-table-toolbar.svelte +180 -0
  126. package/dist/components/data-display/data-table/data-table-toolbar.svelte.d.ts +70 -0
  127. package/dist/components/data-display/data-table/data-table-view-toggle.svelte +39 -0
  128. package/dist/components/data-display/data-table/data-table-view-toggle.svelte.d.ts +12 -0
  129. package/dist/components/data-display/data-table/data-table.svelte +468 -0
  130. package/dist/components/data-display/data-table/data-table.svelte.d.ts +103 -0
  131. package/dist/components/data-display/data-table/features.d.ts +51 -0
  132. package/dist/components/data-display/data-table/features.js +27 -0
  133. package/dist/components/data-display/data-table/index.d.ts +9 -0
  134. package/dist/components/data-display/data-table/index.js +9 -0
  135. package/dist/components/data-display/delta-badge/delta-badge.svelte +87 -0
  136. package/dist/components/data-display/delta-badge/delta-badge.svelte.d.ts +39 -0
  137. package/dist/components/data-display/delta-badge/index.d.ts +1 -0
  138. package/dist/components/data-display/delta-badge/index.js +1 -0
  139. package/dist/components/data-display/entity-label/entity-label.svelte +77 -0
  140. package/dist/components/data-display/entity-label/entity-label.svelte.d.ts +33 -0
  141. package/dist/components/data-display/entity-label/index.d.ts +1 -0
  142. package/dist/components/data-display/entity-label/index.js +1 -0
  143. package/dist/components/data-display/fact-list/fact-list-item.svelte +113 -0
  144. package/dist/components/data-display/fact-list/fact-list-item.svelte.d.ts +43 -0
  145. package/dist/components/data-display/fact-list/fact-list.svelte +48 -0
  146. package/dist/components/data-display/fact-list/fact-list.svelte.d.ts +21 -0
  147. package/dist/components/data-display/fact-list/index.d.ts +2 -0
  148. package/dist/components/data-display/fact-list/index.js +2 -0
  149. package/dist/components/data-display/icon-chip/icon-chip-variants.d.ts +21 -0
  150. package/dist/components/data-display/icon-chip/icon-chip-variants.js +44 -0
  151. package/dist/components/data-display/icon-chip/icon-chip.svelte +53 -0
  152. package/dist/components/data-display/icon-chip/icon-chip.svelte.d.ts +23 -0
  153. package/dist/components/data-display/icon-chip/index.d.ts +2 -0
  154. package/dist/components/data-display/icon-chip/index.js +2 -0
  155. package/dist/components/data-display/item/index.d.ts +11 -0
  156. package/dist/components/data-display/item/index.js +11 -0
  157. package/dist/components/data-display/item/item-actions.svelte +27 -0
  158. package/dist/components/data-display/item/item-actions.svelte.d.ts +6 -0
  159. package/dist/components/data-display/item/item-content.svelte +27 -0
  160. package/dist/components/data-display/item/item-content.svelte.d.ts +6 -0
  161. package/dist/components/data-display/item/item-description.svelte +39 -0
  162. package/dist/components/data-display/item/item-description.svelte.d.ts +7 -0
  163. package/dist/components/data-display/item/item-footer.svelte +27 -0
  164. package/dist/components/data-display/item/item-footer.svelte.d.ts +6 -0
  165. package/dist/components/data-display/item/item-group.svelte +34 -0
  166. package/dist/components/data-display/item/item-group.svelte.d.ts +11 -0
  167. package/dist/components/data-display/item/item-header.svelte +27 -0
  168. package/dist/components/data-display/item/item-header.svelte.d.ts +6 -0
  169. package/dist/components/data-display/item/item-media.svelte +63 -0
  170. package/dist/components/data-display/item/item-media.svelte.d.ts +23 -0
  171. package/dist/components/data-display/item/item-separator.svelte +25 -0
  172. package/dist/components/data-display/item/item-separator.svelte.d.ts +5 -0
  173. package/dist/components/data-display/item/item-title.svelte +27 -0
  174. package/dist/components/data-display/item/item-title.svelte.d.ts +6 -0
  175. package/dist/components/data-display/item/item-variants.d.ts +17 -0
  176. package/dist/components/data-display/item/item-variants.js +37 -0
  177. package/dist/components/data-display/item/item.svelte +70 -0
  178. package/dist/components/data-display/item/item.svelte.d.ts +30 -0
  179. package/dist/components/data-display/metric-bar/index.d.ts +2 -0
  180. package/dist/components/data-display/metric-bar/index.js +2 -0
  181. package/dist/components/data-display/metric-bar/metric-bar.svelte +122 -0
  182. package/dist/components/data-display/metric-bar/metric-bar.svelte.d.ts +41 -0
  183. package/dist/components/data-display/metric-bar/metric-rank.svelte +33 -0
  184. package/dist/components/data-display/metric-bar/metric-rank.svelte.d.ts +12 -0
  185. package/dist/components/data-display/metric-grid/index.d.ts +1 -0
  186. package/dist/components/data-display/metric-grid/index.js +1 -0
  187. package/dist/components/data-display/metric-grid/metric-grid.svelte +66 -0
  188. package/dist/components/data-display/metric-grid/metric-grid.svelte.d.ts +35 -0
  189. package/dist/components/data-display/metric-row/index.d.ts +1 -0
  190. package/dist/components/data-display/metric-row/index.js +1 -0
  191. package/dist/components/data-display/metric-row/metric-row.svelte +175 -0
  192. package/dist/components/data-display/metric-row/metric-row.svelte.d.ts +58 -0
  193. package/dist/components/data-display/radial-stat/index.d.ts +1 -0
  194. package/dist/components/data-display/radial-stat/index.js +1 -0
  195. package/dist/components/data-display/radial-stat/radial-stat.svelte +113 -0
  196. package/dist/components/data-display/radial-stat/radial-stat.svelte.d.ts +35 -0
  197. package/dist/components/data-display/readiness/index.d.ts +3 -0
  198. package/dist/components/data-display/readiness/index.js +3 -0
  199. package/dist/components/data-display/readiness/readiness-summarise.d.ts +40 -0
  200. package/dist/components/data-display/readiness/readiness-summarise.js +25 -0
  201. package/dist/components/data-display/readiness/readiness-summary.svelte +65 -0
  202. package/dist/components/data-display/readiness/readiness-summary.svelte.d.ts +19 -0
  203. package/dist/components/data-display/readiness/readiness.svelte +102 -0
  204. package/dist/components/data-display/readiness/readiness.svelte.d.ts +22 -0
  205. package/dist/components/data-display/segmented-bar/index.d.ts +1 -0
  206. package/dist/components/data-display/segmented-bar/index.js +1 -0
  207. package/dist/components/data-display/segmented-bar/segmented-bar.svelte +116 -0
  208. package/dist/components/data-display/segmented-bar/segmented-bar.svelte.d.ts +34 -0
  209. package/dist/components/data-display/segmented-code/index.d.ts +1 -0
  210. package/dist/components/data-display/segmented-code/index.js +1 -0
  211. package/dist/components/data-display/segmented-code/segmented-code.svelte +84 -0
  212. package/dist/components/data-display/segmented-code/segmented-code.svelte.d.ts +27 -0
  213. package/dist/components/data-display/sparkline/index.d.ts +1 -0
  214. package/dist/components/data-display/sparkline/index.js +1 -0
  215. package/dist/components/data-display/sparkline/sparkline.svelte +98 -0
  216. package/dist/components/data-display/sparkline/sparkline.svelte.d.ts +22 -0
  217. package/dist/components/data-display/stat-tile/index.d.ts +1 -0
  218. package/dist/components/data-display/stat-tile/index.js +1 -0
  219. package/dist/components/data-display/stat-tile/stat-tile.svelte +328 -0
  220. package/dist/components/data-display/stat-tile/stat-tile.svelte.d.ts +125 -0
  221. package/dist/components/data-display/table/context.d.ts +2 -0
  222. package/dist/components/data-display/table/context.js +16 -0
  223. package/dist/components/data-display/table/index.d.ts +8 -0
  224. package/dist/components/data-display/table/index.js +8 -0
  225. package/dist/components/data-display/table/table-body.svelte +28 -0
  226. package/dist/components/data-display/table/table-body.svelte.d.ts +7 -0
  227. package/dist/components/data-display/table/table-caption.svelte +28 -0
  228. package/dist/components/data-display/table/table-caption.svelte.d.ts +7 -0
  229. package/dist/components/data-display/table/table-cell.svelte +45 -0
  230. package/dist/components/data-display/table/table-cell.svelte.d.ts +9 -0
  231. package/dist/components/data-display/table/table-footer.svelte +28 -0
  232. package/dist/components/data-display/table/table-footer.svelte.d.ts +7 -0
  233. package/dist/components/data-display/table/table-head.svelte +54 -0
  234. package/dist/components/data-display/table/table-head.svelte.d.ts +15 -0
  235. package/dist/components/data-display/table/table-header.svelte +28 -0
  236. package/dist/components/data-display/table/table-header.svelte.d.ts +7 -0
  237. package/dist/components/data-display/table/table-row.svelte +31 -0
  238. package/dist/components/data-display/table/table-row.svelte.d.ts +7 -0
  239. package/dist/components/data-display/table/table.svelte +47 -0
  240. package/dist/components/data-display/table/table.svelte.d.ts +14 -0
  241. package/dist/components/data-display/timeline/index.d.ts +8 -0
  242. package/dist/components/data-display/timeline/index.js +8 -0
  243. package/dist/components/data-display/timeline/timeline-connector.svelte +33 -0
  244. package/dist/components/data-display/timeline/timeline-connector.svelte.d.ts +11 -0
  245. package/dist/components/data-display/timeline/timeline-content.svelte +35 -0
  246. package/dist/components/data-display/timeline/timeline-content.svelte.d.ts +7 -0
  247. package/dist/components/data-display/timeline/timeline-dot.svelte +57 -0
  248. package/dist/components/data-display/timeline/timeline-dot.svelte.d.ts +21 -0
  249. package/dist/components/data-display/timeline/timeline-item.svelte +26 -0
  250. package/dist/components/data-display/timeline/timeline-item.svelte.d.ts +6 -0
  251. package/dist/components/data-display/timeline/timeline-skeleton.svelte +43 -0
  252. package/dist/components/data-display/timeline/timeline-skeleton.svelte.d.ts +9 -0
  253. package/dist/components/data-display/timeline/timeline-title.svelte +30 -0
  254. package/dist/components/data-display/timeline/timeline-title.svelte.d.ts +7 -0
  255. package/dist/components/data-display/timeline/timeline-variants.d.ts +12 -0
  256. package/dist/components/data-display/timeline/timeline-variants.js +34 -0
  257. package/dist/components/data-display/timeline/timeline.svelte +38 -0
  258. package/dist/components/data-display/timeline/timeline.svelte.d.ts +18 -0
  259. package/dist/components/data-display/tree-leaf/index.d.ts +1 -0
  260. package/dist/components/data-display/tree-leaf/index.js +1 -0
  261. package/dist/components/data-display/tree-leaf/tree-leaf.svelte +87 -0
  262. package/dist/components/data-display/tree-leaf/tree-leaf.svelte.d.ts +30 -0
  263. package/dist/components/feedback/alert/alert-action.svelte +36 -0
  264. package/dist/components/feedback/alert/alert-action.svelte.d.ts +11 -0
  265. package/dist/components/feedback/alert/alert-description.svelte +38 -0
  266. package/dist/components/feedback/alert/alert-description.svelte.d.ts +9 -0
  267. package/dist/components/feedback/alert/alert-title.svelte +30 -0
  268. package/dist/components/feedback/alert/alert-title.svelte.d.ts +9 -0
  269. package/dist/components/feedback/alert/alert-variants.d.ts +11 -0
  270. package/dist/components/feedback/alert/alert-variants.js +26 -0
  271. package/dist/components/feedback/alert/alert.svelte +38 -0
  272. package/dist/components/feedback/alert/alert.svelte.d.ts +15 -0
  273. package/dist/components/feedback/alert/index.d.ts +5 -0
  274. package/dist/components/feedback/alert/index.js +5 -0
  275. package/dist/components/feedback/empty/empty-content.svelte +30 -0
  276. package/dist/components/feedback/empty/empty-content.svelte.d.ts +6 -0
  277. package/dist/components/feedback/empty/empty-description.svelte +35 -0
  278. package/dist/components/feedback/empty/empty-description.svelte.d.ts +6 -0
  279. package/dist/components/feedback/empty/empty-header.svelte +27 -0
  280. package/dist/components/feedback/empty/empty-header.svelte.d.ts +6 -0
  281. package/dist/components/feedback/empty/empty-media.svelte +43 -0
  282. package/dist/components/feedback/empty/empty-media.svelte.d.ts +14 -0
  283. package/dist/components/feedback/empty/empty-title.svelte +27 -0
  284. package/dist/components/feedback/empty/empty-title.svelte.d.ts +6 -0
  285. package/dist/components/feedback/empty/empty-variants.d.ts +10 -0
  286. package/dist/components/feedback/empty/empty-variants.js +20 -0
  287. package/dist/components/feedback/empty/empty.svelte +36 -0
  288. package/dist/components/feedback/empty/empty.svelte.d.ts +11 -0
  289. package/dist/components/feedback/empty/index.d.ts +7 -0
  290. package/dist/components/feedback/empty/index.js +7 -0
  291. package/dist/components/feedback/empty-state/empty-state.svelte +45 -0
  292. package/dist/components/feedback/empty-state/empty-state.svelte.d.ts +19 -0
  293. package/dist/components/feedback/empty-state/index.d.ts +1 -0
  294. package/dist/components/feedback/empty-state/index.js +1 -0
  295. package/dist/components/feedback/error-state/error-state.svelte +102 -0
  296. package/dist/components/feedback/error-state/error-state.svelte.d.ts +37 -0
  297. package/dist/components/feedback/error-state/index.d.ts +1 -0
  298. package/dist/components/feedback/error-state/index.js +1 -0
  299. package/dist/components/feedback/feature-preview/feature-preview.svelte +102 -0
  300. package/dist/components/feedback/feature-preview/feature-preview.svelte.d.ts +34 -0
  301. package/dist/components/feedback/feature-preview/index.d.ts +1 -0
  302. package/dist/components/feedback/feature-preview/index.js +1 -0
  303. package/dist/components/feedback/loading-state/index.d.ts +1 -0
  304. package/dist/components/feedback/loading-state/index.js +1 -0
  305. package/dist/components/feedback/loading-state/loading-state.svelte +48 -0
  306. package/dist/components/feedback/loading-state/loading-state.svelte.d.ts +18 -0
  307. package/dist/components/feedback/locked-overlay/index.d.ts +1 -0
  308. package/dist/components/feedback/locked-overlay/index.js +1 -0
  309. package/dist/components/feedback/locked-overlay/locked-overlay.svelte +77 -0
  310. package/dist/components/feedback/locked-overlay/locked-overlay.svelte.d.ts +31 -0
  311. package/dist/components/feedback/navigation-progress/index.d.ts +1 -0
  312. package/dist/components/feedback/navigation-progress/index.js +1 -0
  313. package/dist/components/feedback/navigation-progress/navigation-progress.svelte +93 -0
  314. package/dist/components/feedback/navigation-progress/navigation-progress.svelte.d.ts +20 -0
  315. package/dist/components/feedback/progress/index.d.ts +1 -0
  316. package/dist/components/feedback/progress/index.js +1 -0
  317. package/dist/components/feedback/progress/progress.svelte +48 -0
  318. package/dist/components/feedback/progress/progress.svelte.d.ts +12 -0
  319. package/dist/components/feedback/skeleton/index.d.ts +1 -0
  320. package/dist/components/feedback/skeleton/index.js +1 -0
  321. package/dist/components/feedback/skeleton/skeleton.svelte +33 -0
  322. package/dist/components/feedback/skeleton/skeleton.svelte.d.ts +10 -0
  323. package/dist/components/feedback/sonner/index.d.ts +2 -0
  324. package/dist/components/feedback/sonner/index.js +2 -0
  325. package/dist/components/feedback/sonner/sonner.svelte +87 -0
  326. package/dist/components/feedback/sonner/sonner.svelte.d.ts +6 -0
  327. package/dist/components/feedback/spinner/index.d.ts +1 -0
  328. package/dist/components/feedback/spinner/index.js +1 -0
  329. package/dist/components/feedback/spinner/spinner.svelte +50 -0
  330. package/dist/components/feedback/spinner/spinner.svelte.d.ts +17 -0
  331. package/dist/components/forms/button-group/button-group-separator.svelte +31 -0
  332. package/dist/components/forms/button-group/button-group-separator.svelte.d.ts +6 -0
  333. package/dist/components/forms/button-group/button-group-text.svelte +46 -0
  334. package/dist/components/forms/button-group/button-group-text.svelte.d.ts +12 -0
  335. package/dist/components/forms/button-group/button-group-variants.d.ts +13 -0
  336. package/dist/components/forms/button-group/button-group-variants.js +20 -0
  337. package/dist/components/forms/button-group/button-group.svelte +46 -0
  338. package/dist/components/forms/button-group/button-group.svelte.d.ts +14 -0
  339. package/dist/components/forms/button-group/index.d.ts +4 -0
  340. package/dist/components/forms/button-group/index.js +4 -0
  341. package/dist/components/forms/calendar/calendar-caption.svelte +103 -0
  342. package/dist/components/forms/calendar/calendar-caption.svelte.d.ts +16 -0
  343. package/dist/components/forms/calendar/calendar-classes.d.ts +23 -0
  344. package/dist/components/forms/calendar/calendar-classes.js +36 -0
  345. package/dist/components/forms/calendar/calendar.svelte +120 -0
  346. package/dist/components/forms/calendar/calendar.svelte.d.ts +21 -0
  347. package/dist/components/forms/calendar/index.d.ts +3 -0
  348. package/dist/components/forms/calendar/index.js +2 -0
  349. package/dist/components/forms/calendar/range-calendar.svelte +114 -0
  350. package/dist/components/forms/calendar/range-calendar.svelte.d.ts +18 -0
  351. package/dist/components/forms/checkbox/checkbox.svelte +55 -0
  352. package/dist/components/forms/checkbox/checkbox.svelte.d.ts +6 -0
  353. package/dist/components/forms/checkbox/index.d.ts +1 -0
  354. package/dist/components/forms/checkbox/index.js +1 -0
  355. package/dist/components/forms/choice-row/choice-row-readonly.svelte +56 -0
  356. package/dist/components/forms/choice-row/choice-row-readonly.svelte.d.ts +17 -0
  357. package/dist/components/forms/choice-row/choice-row.svelte +129 -0
  358. package/dist/components/forms/choice-row/choice-row.svelte.d.ts +53 -0
  359. package/dist/components/forms/choice-row/index.d.ts +2 -0
  360. package/dist/components/forms/choice-row/index.js +2 -0
  361. package/dist/components/forms/combobox/combobox-chip.svelte +65 -0
  362. package/dist/components/forms/combobox/combobox-chip.svelte.d.ts +14 -0
  363. package/dist/components/forms/combobox/combobox-chips-input.svelte +23 -0
  364. package/dist/components/forms/combobox/combobox-chips-input.svelte.d.ts +6 -0
  365. package/dist/components/forms/combobox/combobox-chips.svelte +35 -0
  366. package/dist/components/forms/combobox/combobox-chips.svelte.d.ts +10 -0
  367. package/dist/components/forms/combobox/combobox-content.svelte +52 -0
  368. package/dist/components/forms/combobox/combobox-content.svelte.d.ts +11 -0
  369. package/dist/components/forms/combobox/combobox-context.d.ts +6 -0
  370. package/dist/components/forms/combobox/combobox-context.js +9 -0
  371. package/dist/components/forms/combobox/combobox-empty.svelte +28 -0
  372. package/dist/components/forms/combobox/combobox-empty.svelte.d.ts +6 -0
  373. package/dist/components/forms/combobox/combobox-group.svelte +15 -0
  374. package/dist/components/forms/combobox/combobox-group.svelte.d.ts +5 -0
  375. package/dist/components/forms/combobox/combobox-input.svelte +98 -0
  376. package/dist/components/forms/combobox/combobox-input.svelte.d.ts +16 -0
  377. package/dist/components/forms/combobox/combobox-item.svelte +61 -0
  378. package/dist/components/forms/combobox/combobox-item.svelte.d.ts +9 -0
  379. package/dist/components/forms/combobox/combobox-label.svelte +25 -0
  380. package/dist/components/forms/combobox/combobox-label.svelte.d.ts +5 -0
  381. package/dist/components/forms/combobox/combobox-list.svelte +27 -0
  382. package/dist/components/forms/combobox/combobox-list.svelte.d.ts +5 -0
  383. package/dist/components/forms/combobox/combobox-separator.svelte +22 -0
  384. package/dist/components/forms/combobox/combobox-separator.svelte.d.ts +5 -0
  385. package/dist/components/forms/combobox/combobox-trigger.svelte +36 -0
  386. package/dist/components/forms/combobox/combobox-trigger.svelte.d.ts +6 -0
  387. package/dist/components/forms/combobox/combobox.svelte +49 -0
  388. package/dist/components/forms/combobox/combobox.svelte.d.ts +23 -0
  389. package/dist/components/forms/combobox/index.d.ts +13 -0
  390. package/dist/components/forms/combobox/index.js +13 -0
  391. package/dist/components/forms/date-picker/date-picker.svelte +149 -0
  392. package/dist/components/forms/date-picker/date-picker.svelte.d.ts +45 -0
  393. package/dist/components/forms/date-picker/index.d.ts +1 -0
  394. package/dist/components/forms/date-picker/index.js +1 -0
  395. package/dist/components/forms/field/field-content.svelte +27 -0
  396. package/dist/components/forms/field/field-content.svelte.d.ts +6 -0
  397. package/dist/components/forms/field/field-description.svelte +40 -0
  398. package/dist/components/forms/field/field-description.svelte.d.ts +6 -0
  399. package/dist/components/forms/field/field-error.svelte +57 -0
  400. package/dist/components/forms/field/field-error.svelte.d.ts +15 -0
  401. package/dist/components/forms/field/field-group.svelte +30 -0
  402. package/dist/components/forms/field/field-group.svelte.d.ts +6 -0
  403. package/dist/components/forms/field/field-label.svelte +49 -0
  404. package/dist/components/forms/field/field-label.svelte.d.ts +12 -0
  405. package/dist/components/forms/field/field-legend.svelte +44 -0
  406. package/dist/components/forms/field/field-legend.svelte.d.ts +8 -0
  407. package/dist/components/forms/field/field-separator.svelte +37 -0
  408. package/dist/components/forms/field/field-separator.svelte.d.ts +6 -0
  409. package/dist/components/forms/field/field-set.svelte +31 -0
  410. package/dist/components/forms/field/field-set.svelte.d.ts +6 -0
  411. package/dist/components/forms/field/field-title.svelte +30 -0
  412. package/dist/components/forms/field/field-title.svelte.d.ts +6 -0
  413. package/dist/components/forms/field/field-variants.d.ts +10 -0
  414. package/dist/components/forms/field/field-variants.js +26 -0
  415. package/dist/components/forms/field/field.svelte +45 -0
  416. package/dist/components/forms/field/field.svelte.d.ts +14 -0
  417. package/dist/components/forms/field/index.d.ts +11 -0
  418. package/dist/components/forms/field/index.js +11 -0
  419. package/dist/components/forms/form/form-button.svelte +19 -0
  420. package/dist/components/forms/form/form-button.svelte.d.ts +6 -0
  421. package/dist/components/forms/form/form-description.svelte +28 -0
  422. package/dist/components/forms/form/form-description.svelte.d.ts +7 -0
  423. package/dist/components/forms/form/form-element-field.svelte +47 -0
  424. package/dist/components/forms/form/form-element-field.svelte.d.ts +35 -0
  425. package/dist/components/forms/form/form-field-errors.svelte +48 -0
  426. package/dist/components/forms/form/form-field-errors.svelte.d.ts +9 -0
  427. package/dist/components/forms/form/form-field.svelte +56 -0
  428. package/dist/components/forms/form/form-field.svelte.d.ts +42 -0
  429. package/dist/components/forms/form/form-fieldset.svelte +41 -0
  430. package/dist/components/forms/form/form-fieldset.svelte.d.ts +29 -0
  431. package/dist/components/forms/form/form-label.svelte +47 -0
  432. package/dist/components/forms/form/form-label.svelte.d.ts +10 -0
  433. package/dist/components/forms/form/form-legend.svelte +28 -0
  434. package/dist/components/forms/form/form-legend.svelte.d.ts +7 -0
  435. package/dist/components/forms/form/form-types.d.ts +13 -0
  436. package/dist/components/forms/form/form-types.js +1 -0
  437. package/dist/components/forms/form/form.svelte +38 -0
  438. package/dist/components/forms/form/form.svelte.d.ts +38 -0
  439. package/dist/components/forms/form/index.d.ts +11 -0
  440. package/dist/components/forms/form/index.js +10 -0
  441. package/dist/components/forms/input/index.d.ts +1 -0
  442. package/dist/components/forms/input/index.js +1 -0
  443. package/dist/components/forms/input/input.svelte +58 -0
  444. package/dist/components/forms/input/input.svelte.d.ts +13 -0
  445. package/dist/components/forms/input-group/index.d.ts +7 -0
  446. package/dist/components/forms/input-group/index.js +7 -0
  447. package/dist/components/forms/input-group/input-group-addon.svelte +51 -0
  448. package/dist/components/forms/input-group/input-group-addon.svelte.d.ts +10 -0
  449. package/dist/components/forms/input-group/input-group-button.svelte +39 -0
  450. package/dist/components/forms/input-group/input-group-button.svelte.d.ts +8 -0
  451. package/dist/components/forms/input-group/input-group-input.svelte +33 -0
  452. package/dist/components/forms/input-group/input-group-input.svelte.d.ts +5 -0
  453. package/dist/components/forms/input-group/input-group-text.svelte +30 -0
  454. package/dist/components/forms/input-group/input-group-text.svelte.d.ts +7 -0
  455. package/dist/components/forms/input-group/input-group-textarea.svelte +39 -0
  456. package/dist/components/forms/input-group/input-group-textarea.svelte.d.ts +11 -0
  457. package/dist/components/forms/input-group/input-group-variants.d.ts +14 -0
  458. package/dist/components/forms/input-group/input-group-variants.js +32 -0
  459. package/dist/components/forms/input-group/input-group.svelte +44 -0
  460. package/dist/components/forms/input-group/input-group.svelte.d.ts +11 -0
  461. package/dist/components/forms/input-otp/index.d.ts +4 -0
  462. package/dist/components/forms/input-otp/index.js +4 -0
  463. package/dist/components/forms/input-otp/input-otp-group.svelte +40 -0
  464. package/dist/components/forms/input-otp/input-otp-group.svelte.d.ts +12 -0
  465. package/dist/components/forms/input-otp/input-otp-separator.svelte +28 -0
  466. package/dist/components/forms/input-otp/input-otp-separator.svelte.d.ts +6 -0
  467. package/dist/components/forms/input-otp/input-otp-slot.svelte +56 -0
  468. package/dist/components/forms/input-otp/input-otp-slot.svelte.d.ts +8 -0
  469. package/dist/components/forms/input-otp/input-otp.svelte +40 -0
  470. package/dist/components/forms/input-otp/input-otp.svelte.d.ts +10 -0
  471. package/dist/components/forms/label/index.d.ts +1 -0
  472. package/dist/components/forms/label/index.js +1 -0
  473. package/dist/components/forms/label/label.svelte +26 -0
  474. package/dist/components/forms/label/label.svelte.d.ts +5 -0
  475. package/dist/components/forms/media-dropzone/index.d.ts +2 -0
  476. package/dist/components/forms/media-dropzone/index.js +1 -0
  477. package/dist/components/forms/media-dropzone/media-dropzone.svelte +248 -0
  478. package/dist/components/forms/media-dropzone/media-dropzone.svelte.d.ts +42 -0
  479. package/dist/components/forms/media-dropzone/media-uploader.svelte.d.ts +81 -0
  480. package/dist/components/forms/media-dropzone/media-uploader.svelte.js +177 -0
  481. package/dist/components/forms/number-input/index.d.ts +3 -0
  482. package/dist/components/forms/number-input/index.js +2 -0
  483. package/dist/components/forms/number-input/number-input-field.svelte +157 -0
  484. package/dist/components/forms/number-input/number-input-field.svelte.d.ts +21 -0
  485. package/dist/components/forms/number-input/number-input-math.d.ts +21 -0
  486. package/dist/components/forms/number-input/number-input-math.js +43 -0
  487. package/dist/components/forms/number-input/number-input.svelte +175 -0
  488. package/dist/components/forms/number-input/number-input.svelte.d.ts +53 -0
  489. package/dist/components/forms/quantity-input/index.d.ts +1 -0
  490. package/dist/components/forms/quantity-input/index.js +1 -0
  491. package/dist/components/forms/quantity-input/quantity-input.svelte +262 -0
  492. package/dist/components/forms/quantity-input/quantity-input.svelte.d.ts +75 -0
  493. package/dist/components/forms/radio-group/index.d.ts +2 -0
  494. package/dist/components/forms/radio-group/index.js +2 -0
  495. package/dist/components/forms/radio-group/radio-group-item.svelte +41 -0
  496. package/dist/components/forms/radio-group/radio-group-item.svelte.d.ts +6 -0
  497. package/dist/components/forms/radio-group/radio-group.svelte +30 -0
  498. package/dist/components/forms/radio-group/radio-group.svelte.d.ts +5 -0
  499. package/dist/components/forms/select/index.d.ts +10 -0
  500. package/dist/components/forms/select/index.js +10 -0
  501. package/dist/components/forms/select/select-content.svelte +53 -0
  502. package/dist/components/forms/select/select-content.svelte.d.ts +9 -0
  503. package/dist/components/forms/select/select-group.svelte +16 -0
  504. package/dist/components/forms/select/select-group.svelte.d.ts +5 -0
  505. package/dist/components/forms/select/select-item.svelte +67 -0
  506. package/dist/components/forms/select/select-item.svelte.d.ts +13 -0
  507. package/dist/components/forms/select/select-label.svelte +23 -0
  508. package/dist/components/forms/select/select-label.svelte.d.ts +5 -0
  509. package/dist/components/forms/select/select-scroll-down-button.svelte +30 -0
  510. package/dist/components/forms/select/select-scroll-down-button.svelte.d.ts +6 -0
  511. package/dist/components/forms/select/select-scroll-up-button.svelte +30 -0
  512. package/dist/components/forms/select/select-scroll-up-button.svelte.d.ts +6 -0
  513. package/dist/components/forms/select/select-separator.svelte +26 -0
  514. package/dist/components/forms/select/select-separator.svelte.d.ts +6 -0
  515. package/dist/components/forms/select/select-trigger.svelte +48 -0
  516. package/dist/components/forms/select/select-trigger.svelte.d.ts +14 -0
  517. package/dist/components/forms/select/select-value.svelte +16 -0
  518. package/dist/components/forms/select/select-value.svelte.d.ts +5 -0
  519. package/dist/components/forms/select/select.svelte +33 -0
  520. package/dist/components/forms/select/select.svelte.d.ts +20 -0
  521. package/dist/components/forms/switch/index.d.ts +1 -0
  522. package/dist/components/forms/switch/index.js +1 -0
  523. package/dist/components/forms/switch/switch.svelte +41 -0
  524. package/dist/components/forms/switch/switch.svelte.d.ts +7 -0
  525. package/dist/components/forms/switch-field/index.d.ts +1 -0
  526. package/dist/components/forms/switch-field/index.js +1 -0
  527. package/dist/components/forms/switch-field/switch-field.svelte +124 -0
  528. package/dist/components/forms/switch-field/switch-field.svelte.d.ts +51 -0
  529. package/dist/components/forms/textarea/index.d.ts +1 -0
  530. package/dist/components/forms/textarea/index.js +1 -0
  531. package/dist/components/forms/textarea/textarea.svelte +70 -0
  532. package/dist/components/forms/textarea/textarea.svelte.d.ts +12 -0
  533. package/dist/components/forms/time-picker/index.d.ts +1 -0
  534. package/dist/components/forms/time-picker/index.js +1 -0
  535. package/dist/components/forms/time-picker/time-picker.svelte +127 -0
  536. package/dist/components/forms/time-picker/time-picker.svelte.d.ts +20 -0
  537. package/dist/components/forms/toggle/index.d.ts +2 -0
  538. package/dist/components/forms/toggle/index.js +2 -0
  539. package/dist/components/forms/toggle/toggle-variants.d.ts +13 -0
  540. package/dist/components/forms/toggle/toggle-variants.js +63 -0
  541. package/dist/components/forms/toggle/toggle.svelte +48 -0
  542. package/dist/components/forms/toggle/toggle.svelte.d.ts +16 -0
  543. package/dist/components/forms/toggle-group/index.d.ts +2 -0
  544. package/dist/components/forms/toggle-group/index.js +2 -0
  545. package/dist/components/forms/toggle-group/toggle-group-item.svelte +60 -0
  546. package/dist/components/forms/toggle-group/toggle-group-item.svelte.d.ts +9 -0
  547. package/dist/components/forms/toggle-group/toggle-group.svelte +82 -0
  548. package/dist/components/forms/toggle-group/toggle-group.svelte.d.ts +21 -0
  549. package/dist/components/layout/aside-card/aside-card.svelte +76 -0
  550. package/dist/components/layout/aside-card/aside-card.svelte.d.ts +19 -0
  551. package/dist/components/layout/aside-card/index.d.ts +1 -0
  552. package/dist/components/layout/aside-card/index.js +1 -0
  553. package/dist/components/layout/card/card-action.svelte +33 -0
  554. package/dist/components/layout/card/card-action.svelte.d.ts +12 -0
  555. package/dist/components/layout/card/card-content.svelte +48 -0
  556. package/dist/components/layout/card/card-content.svelte.d.ts +19 -0
  557. package/dist/components/layout/card/card-description.svelte +32 -0
  558. package/dist/components/layout/card/card-description.svelte.d.ts +6 -0
  559. package/dist/components/layout/card/card-footer.svelte +62 -0
  560. package/dist/components/layout/card/card-footer.svelte.d.ts +23 -0
  561. package/dist/components/layout/card/card-header.svelte +48 -0
  562. package/dist/components/layout/card/card-header.svelte.d.ts +17 -0
  563. package/dist/components/layout/card/card-title.svelte +61 -0
  564. package/dist/components/layout/card/card-title.svelte.d.ts +26 -0
  565. package/dist/components/layout/card/card.svelte +60 -0
  566. package/dist/components/layout/card/card.svelte.d.ts +19 -0
  567. package/dist/components/layout/card/index.d.ts +7 -0
  568. package/dist/components/layout/card/index.js +7 -0
  569. package/dist/components/layout/card-grid/card-grid-cell.svelte +32 -0
  570. package/dist/components/layout/card-grid/card-grid-cell.svelte.d.ts +11 -0
  571. package/dist/components/layout/card-grid/card-grid.svelte +51 -0
  572. package/dist/components/layout/card-grid/card-grid.svelte.d.ts +17 -0
  573. package/dist/components/layout/card-grid/index.d.ts +2 -0
  574. package/dist/components/layout/card-grid/index.js +2 -0
  575. package/dist/components/layout/card-list/card-list.svelte +59 -0
  576. package/dist/components/layout/card-list/card-list.svelte.d.ts +27 -0
  577. package/dist/components/layout/card-list/index.d.ts +1 -0
  578. package/dist/components/layout/card-list/index.js +1 -0
  579. package/dist/components/layout/collapsible/collapsible-content.svelte +16 -0
  580. package/dist/components/layout/collapsible/collapsible-content.svelte.d.ts +5 -0
  581. package/dist/components/layout/collapsible/collapsible-trigger.svelte +16 -0
  582. package/dist/components/layout/collapsible/collapsible-trigger.svelte.d.ts +5 -0
  583. package/dist/components/layout/collapsible/collapsible.svelte +22 -0
  584. package/dist/components/layout/collapsible/collapsible.svelte.d.ts +10 -0
  585. package/dist/components/layout/collapsible/index.d.ts +3 -0
  586. package/dist/components/layout/collapsible/index.js +3 -0
  587. package/dist/components/layout/page-header/index.d.ts +1 -0
  588. package/dist/components/layout/page-header/index.js +1 -0
  589. package/dist/components/layout/page-header/page-header.svelte +118 -0
  590. package/dist/components/layout/page-header/page-header.svelte.d.ts +34 -0
  591. package/dist/components/layout/page-layout/index.d.ts +1 -0
  592. package/dist/components/layout/page-layout/index.js +1 -0
  593. package/dist/components/layout/page-layout/page-layout.svelte +30 -0
  594. package/dist/components/layout/page-layout/page-layout.svelte.d.ts +10 -0
  595. package/dist/components/layout/separator/index.d.ts +1 -0
  596. package/dist/components/layout/separator/index.js +1 -0
  597. package/dist/components/layout/separator/separator.svelte +34 -0
  598. package/dist/components/layout/separator/separator.svelte.d.ts +5 -0
  599. package/dist/components/layout/summary-card/index.d.ts +1 -0
  600. package/dist/components/layout/summary-card/index.js +1 -0
  601. package/dist/components/layout/summary-card/summary-card.svelte +51 -0
  602. package/dist/components/layout/summary-card/summary-card.svelte.d.ts +23 -0
  603. package/dist/components/navigation/breadcrumb/breadcrumb-ellipsis.svelte +38 -0
  604. package/dist/components/navigation/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +9 -0
  605. package/dist/components/navigation/breadcrumb/breadcrumb-item.svelte +30 -0
  606. package/dist/components/navigation/breadcrumb/breadcrumb-item.svelte.d.ts +10 -0
  607. package/dist/components/navigation/breadcrumb/breadcrumb-link.svelte +42 -0
  608. package/dist/components/navigation/breadcrumb/breadcrumb-link.svelte.d.ts +12 -0
  609. package/dist/components/navigation/breadcrumb/breadcrumb-list.svelte +26 -0
  610. package/dist/components/navigation/breadcrumb/breadcrumb-list.svelte.d.ts +6 -0
  611. package/dist/components/navigation/breadcrumb/breadcrumb-page.svelte +31 -0
  612. package/dist/components/navigation/breadcrumb/breadcrumb-page.svelte.d.ts +10 -0
  613. package/dist/components/navigation/breadcrumb/breadcrumb-separator.svelte +39 -0
  614. package/dist/components/navigation/breadcrumb/breadcrumb-separator.svelte.d.ts +9 -0
  615. package/dist/components/navigation/breadcrumb/breadcrumb.svelte +32 -0
  616. package/dist/components/navigation/breadcrumb/breadcrumb.svelte.d.ts +11 -0
  617. package/dist/components/navigation/breadcrumb/index.d.ts +7 -0
  618. package/dist/components/navigation/breadcrumb/index.js +7 -0
  619. package/dist/components/navigation/sidebar/context.svelte.d.ts +26 -0
  620. package/dist/components/navigation/sidebar/context.svelte.js +61 -0
  621. package/dist/components/navigation/sidebar/index.d.ts +25 -0
  622. package/dist/components/navigation/sidebar/index.js +25 -0
  623. package/dist/components/navigation/sidebar/sidebar-content.svelte +32 -0
  624. package/dist/components/navigation/sidebar/sidebar-content.svelte.d.ts +7 -0
  625. package/dist/components/navigation/sidebar/sidebar-footer.svelte +28 -0
  626. package/dist/components/navigation/sidebar/sidebar-footer.svelte.d.ts +6 -0
  627. package/dist/components/navigation/sidebar/sidebar-group-action.svelte +50 -0
  628. package/dist/components/navigation/sidebar/sidebar-group-action.svelte.d.ts +12 -0
  629. package/dist/components/navigation/sidebar/sidebar-group-content.svelte +36 -0
  630. package/dist/components/navigation/sidebar/sidebar-group-content.svelte.d.ts +6 -0
  631. package/dist/components/navigation/sidebar/sidebar-group-label.svelte +51 -0
  632. package/dist/components/navigation/sidebar/sidebar-group-label.svelte.d.ts +12 -0
  633. package/dist/components/navigation/sidebar/sidebar-group.svelte +32 -0
  634. package/dist/components/navigation/sidebar/sidebar-group.svelte.d.ts +6 -0
  635. package/dist/components/navigation/sidebar/sidebar-header.svelte +33 -0
  636. package/dist/components/navigation/sidebar/sidebar-header.svelte.d.ts +6 -0
  637. package/dist/components/navigation/sidebar/sidebar-input.svelte +31 -0
  638. package/dist/components/navigation/sidebar/sidebar-input.svelte.d.ts +5 -0
  639. package/dist/components/navigation/sidebar/sidebar-inset.svelte +32 -0
  640. package/dist/components/navigation/sidebar/sidebar-inset.svelte.d.ts +6 -0
  641. package/dist/components/navigation/sidebar/sidebar-menu-action.svelte +58 -0
  642. package/dist/components/navigation/sidebar/sidebar-menu-action.svelte.d.ts +14 -0
  643. package/dist/components/navigation/sidebar/sidebar-menu-badge.svelte +42 -0
  644. package/dist/components/navigation/sidebar/sidebar-menu-badge.svelte.d.ts +6 -0
  645. package/dist/components/navigation/sidebar/sidebar-menu-button.svelte +97 -0
  646. package/dist/components/navigation/sidebar/sidebar-menu-button.svelte.d.ts +20 -0
  647. package/dist/components/navigation/sidebar/sidebar-menu-item.svelte +33 -0
  648. package/dist/components/navigation/sidebar/sidebar-menu-item.svelte.d.ts +6 -0
  649. package/dist/components/navigation/sidebar/sidebar-menu-skeleton.svelte +46 -0
  650. package/dist/components/navigation/sidebar/sidebar-menu-skeleton.svelte.d.ts +8 -0
  651. package/dist/components/navigation/sidebar/sidebar-menu-sub-button.svelte +64 -0
  652. package/dist/components/navigation/sidebar/sidebar-menu-sub-button.svelte.d.ts +14 -0
  653. package/dist/components/navigation/sidebar/sidebar-menu-sub-item.svelte +33 -0
  654. package/dist/components/navigation/sidebar/sidebar-menu-sub-item.svelte.d.ts +6 -0
  655. package/dist/components/navigation/sidebar/sidebar-menu-sub.svelte +37 -0
  656. package/dist/components/navigation/sidebar/sidebar-menu-sub.svelte.d.ts +6 -0
  657. package/dist/components/navigation/sidebar/sidebar-menu.svelte +28 -0
  658. package/dist/components/navigation/sidebar/sidebar-menu.svelte.d.ts +6 -0
  659. package/dist/components/navigation/sidebar/sidebar-provider.svelte +74 -0
  660. package/dist/components/navigation/sidebar/sidebar-provider.svelte.d.ts +19 -0
  661. package/dist/components/navigation/sidebar/sidebar-rail.svelte +42 -0
  662. package/dist/components/navigation/sidebar/sidebar-rail.svelte.d.ts +6 -0
  663. package/dist/components/navigation/sidebar/sidebar-separator.svelte +29 -0
  664. package/dist/components/navigation/sidebar/sidebar-separator.svelte.d.ts +5 -0
  665. package/dist/components/navigation/sidebar/sidebar-trigger.svelte +40 -0
  666. package/dist/components/navigation/sidebar/sidebar-trigger.svelte.d.ts +5 -0
  667. package/dist/components/navigation/sidebar/sidebar-variants.d.ts +11 -0
  668. package/dist/components/navigation/sidebar/sidebar-variants.js +40 -0
  669. package/dist/components/navigation/sidebar/sidebar.svelte +152 -0
  670. package/dist/components/navigation/sidebar/sidebar.svelte.d.ts +17 -0
  671. package/dist/components/navigation/stepper/index.d.ts +2 -0
  672. package/dist/components/navigation/stepper/index.js +2 -0
  673. package/dist/components/navigation/stepper/stepper-chip.svelte +42 -0
  674. package/dist/components/navigation/stepper/stepper-chip.svelte.d.ts +16 -0
  675. package/dist/components/navigation/stepper/stepper-navigation.svelte +112 -0
  676. package/dist/components/navigation/stepper/stepper-navigation.svelte.d.ts +36 -0
  677. package/dist/components/navigation/stepper/stepper.svelte +364 -0
  678. package/dist/components/navigation/stepper/stepper.svelte.d.ts +65 -0
  679. package/dist/components/navigation/tabs/index.d.ts +4 -0
  680. package/dist/components/navigation/tabs/index.js +4 -0
  681. package/dist/components/navigation/tabs/tabs-content.svelte +23 -0
  682. package/dist/components/navigation/tabs/tabs-content.svelte.d.ts +5 -0
  683. package/dist/components/navigation/tabs/tabs-list.svelte +24 -0
  684. package/dist/components/navigation/tabs/tabs-list.svelte.d.ts +5 -0
  685. package/dist/components/navigation/tabs/tabs-trigger.svelte +24 -0
  686. package/dist/components/navigation/tabs/tabs-trigger.svelte.d.ts +5 -0
  687. package/dist/components/navigation/tabs/tabs.svelte +30 -0
  688. package/dist/components/navigation/tabs/tabs.svelte.d.ts +5 -0
  689. package/dist/components/overlays/alert-dialog/alert-dialog-action.svelte +50 -0
  690. package/dist/components/overlays/alert-dialog/alert-dialog-action.svelte.d.ts +7 -0
  691. package/dist/components/overlays/alert-dialog/alert-dialog-cancel.svelte +34 -0
  692. package/dist/components/overlays/alert-dialog/alert-dialog-cancel.svelte.d.ts +7 -0
  693. package/dist/components/overlays/alert-dialog/alert-dialog-content.svelte +45 -0
  694. package/dist/components/overlays/alert-dialog/alert-dialog-content.svelte.d.ts +12 -0
  695. package/dist/components/overlays/alert-dialog/alert-dialog-description.svelte +23 -0
  696. package/dist/components/overlays/alert-dialog/alert-dialog-description.svelte.d.ts +5 -0
  697. package/dist/components/overlays/alert-dialog/alert-dialog-footer.svelte +35 -0
  698. package/dist/components/overlays/alert-dialog/alert-dialog-footer.svelte.d.ts +6 -0
  699. package/dist/components/overlays/alert-dialog/alert-dialog-header.svelte +35 -0
  700. package/dist/components/overlays/alert-dialog/alert-dialog-header.svelte.d.ts +6 -0
  701. package/dist/components/overlays/alert-dialog/alert-dialog-media.svelte +35 -0
  702. package/dist/components/overlays/alert-dialog/alert-dialog-media.svelte.d.ts +6 -0
  703. package/dist/components/overlays/alert-dialog/alert-dialog-overlay.svelte +26 -0
  704. package/dist/components/overlays/alert-dialog/alert-dialog-overlay.svelte.d.ts +5 -0
  705. package/dist/components/overlays/alert-dialog/alert-dialog-portal.svelte +16 -0
  706. package/dist/components/overlays/alert-dialog/alert-dialog-portal.svelte.d.ts +5 -0
  707. package/dist/components/overlays/alert-dialog/alert-dialog-title.svelte +26 -0
  708. package/dist/components/overlays/alert-dialog/alert-dialog-title.svelte.d.ts +5 -0
  709. package/dist/components/overlays/alert-dialog/alert-dialog-trigger.svelte +16 -0
  710. package/dist/components/overlays/alert-dialog/alert-dialog-trigger.svelte.d.ts +5 -0
  711. package/dist/components/overlays/alert-dialog/alert-dialog.svelte +34 -0
  712. package/dist/components/overlays/alert-dialog/alert-dialog.svelte.d.ts +12 -0
  713. package/dist/components/overlays/alert-dialog/index.d.ts +12 -0
  714. package/dist/components/overlays/alert-dialog/index.js +12 -0
  715. package/dist/components/overlays/dialog/dialog-close.svelte +16 -0
  716. package/dist/components/overlays/dialog/dialog-close.svelte.d.ts +5 -0
  717. package/dist/components/overlays/dialog/dialog-content.svelte +79 -0
  718. package/dist/components/overlays/dialog/dialog-content.svelte.d.ts +26 -0
  719. package/dist/components/overlays/dialog/dialog-description.svelte +23 -0
  720. package/dist/components/overlays/dialog/dialog-description.svelte.d.ts +5 -0
  721. package/dist/components/overlays/dialog/dialog-footer.svelte +27 -0
  722. package/dist/components/overlays/dialog/dialog-footer.svelte.d.ts +6 -0
  723. package/dist/components/overlays/dialog/dialog-header.svelte +27 -0
  724. package/dist/components/overlays/dialog/dialog-header.svelte.d.ts +6 -0
  725. package/dist/components/overlays/dialog/dialog-overlay.svelte +26 -0
  726. package/dist/components/overlays/dialog/dialog-overlay.svelte.d.ts +5 -0
  727. package/dist/components/overlays/dialog/dialog-portal.svelte +16 -0
  728. package/dist/components/overlays/dialog/dialog-portal.svelte.d.ts +5 -0
  729. package/dist/components/overlays/dialog/dialog-title.svelte +23 -0
  730. package/dist/components/overlays/dialog/dialog-title.svelte.d.ts +5 -0
  731. package/dist/components/overlays/dialog/dialog-trigger.svelte +16 -0
  732. package/dist/components/overlays/dialog/dialog-trigger.svelte.d.ts +5 -0
  733. package/dist/components/overlays/dialog/dialog.svelte +16 -0
  734. package/dist/components/overlays/dialog/dialog.svelte.d.ts +5 -0
  735. package/dist/components/overlays/dialog/index.d.ts +10 -0
  736. package/dist/components/overlays/dialog/index.js +10 -0
  737. package/dist/components/overlays/drawer/drawer-close.svelte +16 -0
  738. package/dist/components/overlays/drawer/drawer-close.svelte.d.ts +5 -0
  739. package/dist/components/overlays/drawer/drawer-content.svelte +50 -0
  740. package/dist/components/overlays/drawer/drawer-content.svelte.d.ts +8 -0
  741. package/dist/components/overlays/drawer/drawer-description.svelte +23 -0
  742. package/dist/components/overlays/drawer/drawer-description.svelte.d.ts +5 -0
  743. package/dist/components/overlays/drawer/drawer-footer.svelte +27 -0
  744. package/dist/components/overlays/drawer/drawer-footer.svelte.d.ts +6 -0
  745. package/dist/components/overlays/drawer/drawer-header.svelte +30 -0
  746. package/dist/components/overlays/drawer/drawer-header.svelte.d.ts +6 -0
  747. package/dist/components/overlays/drawer/drawer-overlay.svelte +26 -0
  748. package/dist/components/overlays/drawer/drawer-overlay.svelte.d.ts +5 -0
  749. package/dist/components/overlays/drawer/drawer-portal.svelte +16 -0
  750. package/dist/components/overlays/drawer/drawer-portal.svelte.d.ts +5 -0
  751. package/dist/components/overlays/drawer/drawer-title.svelte +23 -0
  752. package/dist/components/overlays/drawer/drawer-title.svelte.d.ts +5 -0
  753. package/dist/components/overlays/drawer/drawer-trigger.svelte +16 -0
  754. package/dist/components/overlays/drawer/drawer-trigger.svelte.d.ts +5 -0
  755. package/dist/components/overlays/drawer/drawer.svelte +28 -0
  756. package/dist/components/overlays/drawer/drawer.svelte.d.ts +11 -0
  757. package/dist/components/overlays/drawer/index.d.ts +10 -0
  758. package/dist/components/overlays/drawer/index.js +10 -0
  759. package/dist/components/overlays/hint/hint.svelte +69 -0
  760. package/dist/components/overlays/hint/hint.svelte.d.ts +32 -0
  761. package/dist/components/overlays/hint/index.d.ts +1 -0
  762. package/dist/components/overlays/hint/index.js +1 -0
  763. package/dist/components/overlays/hover-card/hover-card-content.svelte +46 -0
  764. package/dist/components/overlays/hover-card/hover-card-content.svelte.d.ts +12 -0
  765. package/dist/components/overlays/hover-card/hover-card-trigger.svelte +18 -0
  766. package/dist/components/overlays/hover-card/hover-card-trigger.svelte.d.ts +5 -0
  767. package/dist/components/overlays/hover-card/hover-card.svelte +22 -0
  768. package/dist/components/overlays/hover-card/hover-card.svelte.d.ts +10 -0
  769. package/dist/components/overlays/hover-card/index.d.ts +3 -0
  770. package/dist/components/overlays/hover-card/index.js +3 -0
  771. package/dist/components/overlays/popover/index.d.ts +3 -0
  772. package/dist/components/overlays/popover/index.js +3 -0
  773. package/dist/components/overlays/popover/popover-content.svelte +54 -0
  774. package/dist/components/overlays/popover/popover-content.svelte.d.ts +19 -0
  775. package/dist/components/overlays/popover/popover-trigger.svelte +16 -0
  776. package/dist/components/overlays/popover/popover-trigger.svelte.d.ts +5 -0
  777. package/dist/components/overlays/popover/popover.svelte +22 -0
  778. package/dist/components/overlays/popover/popover.svelte.d.ts +10 -0
  779. package/dist/components/overlays/sheet/index.d.ts +8 -0
  780. package/dist/components/overlays/sheet/index.js +8 -0
  781. package/dist/components/overlays/sheet/sheet-close.svelte +16 -0
  782. package/dist/components/overlays/sheet/sheet-close.svelte.d.ts +5 -0
  783. package/dist/components/overlays/sheet/sheet-content.svelte +71 -0
  784. package/dist/components/overlays/sheet/sheet-content.svelte.d.ts +18 -0
  785. package/dist/components/overlays/sheet/sheet-description.svelte +23 -0
  786. package/dist/components/overlays/sheet/sheet-description.svelte.d.ts +5 -0
  787. package/dist/components/overlays/sheet/sheet-footer.svelte +27 -0
  788. package/dist/components/overlays/sheet/sheet-footer.svelte.d.ts +6 -0
  789. package/dist/components/overlays/sheet/sheet-header.svelte +27 -0
  790. package/dist/components/overlays/sheet/sheet-header.svelte.d.ts +6 -0
  791. package/dist/components/overlays/sheet/sheet-title.svelte +23 -0
  792. package/dist/components/overlays/sheet/sheet-title.svelte.d.ts +5 -0
  793. package/dist/components/overlays/sheet/sheet-trigger.svelte +16 -0
  794. package/dist/components/overlays/sheet/sheet-trigger.svelte.d.ts +5 -0
  795. package/dist/components/overlays/sheet/sheet.svelte +20 -0
  796. package/dist/components/overlays/sheet/sheet.svelte.d.ts +9 -0
  797. package/dist/components/overlays/tooltip/index.d.ts +4 -0
  798. package/dist/components/overlays/tooltip/index.js +4 -0
  799. package/dist/components/overlays/tooltip/tooltip-content.svelte +58 -0
  800. package/dist/components/overlays/tooltip/tooltip-content.svelte.d.ts +14 -0
  801. package/dist/components/overlays/tooltip/tooltip-provider.svelte +16 -0
  802. package/dist/components/overlays/tooltip/tooltip-provider.svelte.d.ts +5 -0
  803. package/dist/components/overlays/tooltip/tooltip-trigger.svelte +16 -0
  804. package/dist/components/overlays/tooltip/tooltip-trigger.svelte.d.ts +5 -0
  805. package/dist/components/overlays/tooltip/tooltip.svelte +21 -0
  806. package/dist/components/overlays/tooltip/tooltip.svelte.d.ts +5 -0
  807. package/dist/components/typography/heading/heading.svelte +60 -0
  808. package/dist/components/typography/heading/heading.svelte.d.ts +23 -0
  809. package/dist/components/typography/heading/index.d.ts +1 -0
  810. package/dist/components/typography/heading/index.js +1 -0
  811. package/dist/components/typography/text/index.d.ts +1 -0
  812. package/dist/components/typography/text/index.js +1 -0
  813. package/dist/components/typography/text/text.svelte +84 -0
  814. package/dist/components/typography/text/text.svelte.d.ts +31 -0
  815. package/dist/form.d.ts +9 -0
  816. package/dist/form.js +9 -0
  817. package/dist/hooks/is-mobile.svelte.d.ts +15 -0
  818. package/dist/hooks/is-mobile.svelte.js +17 -0
  819. package/dist/index.d.ts +94 -0
  820. package/dist/index.js +101 -0
  821. package/dist/styles/components.css +192 -0
  822. package/dist/theme.css +535 -0
  823. package/dist/tokens/cli.d.ts +11 -0
  824. package/dist/tokens/cli.js +37 -0
  825. package/dist/tokens/config.d.ts +39 -0
  826. package/dist/tokens/config.js +46 -0
  827. package/dist/tokens/emit-web.d.ts +11 -0
  828. package/dist/tokens/emit-web.js +172 -0
  829. package/dist/tokens/geometry.d.ts +62 -0
  830. package/dist/tokens/geometry.js +67 -0
  831. package/dist/tokens/presets.d.ts +51 -0
  832. package/dist/tokens/presets.js +35 -0
  833. package/dist/tokens/semantic.d.ts +32 -0
  834. package/dist/tokens/semantic.js +158 -0
  835. package/dist/tokens/tailwind-palette.d.ts +356 -0
  836. package/dist/tokens/tailwind-palette.js +352 -0
  837. package/dist/tokens.d.ts +11 -0
  838. package/dist/tokens.js +11 -0
  839. package/dist/utils/cn.d.ts +11 -0
  840. package/dist/utils/cn.js +14 -0
  841. package/dist/utils/monotone-path.d.ts +10 -0
  842. package/dist/utils/monotone-path.js +52 -0
  843. package/dist/utils/segmented-control.d.ts +47 -0
  844. package/dist/utils/segmented-control.js +53 -0
  845. package/dist/utils/tone.d.ts +78 -0
  846. package/dist/utils/tone.js +119 -0
  847. package/dist/utils/types.d.ts +17 -0
  848. package/dist/utils/types.js +6 -0
  849. package/package.json +122 -3
@@ -0,0 +1,122 @@
1
+ <!--
2
+ Origin: the React package 2.23.0 `metric-bar.tsx` (`MetricBar`)
3
+ Diverged: `icon` is a snippet, and `label`, `value`, `description` and
4
+ `trailing` take a string or a snippet, as R4-5 has a ReactNode prop. Takes
5
+ `class` and spreads the rest onto the root, as every component does.
6
+ -->
7
+ <script lang="ts" module>
8
+ import type { Snippet } from 'svelte'
9
+ import type { HTMLAttributes } from 'svelte/elements'
10
+
11
+ import type { Tone } from '../../../utils/tone.js'
12
+
13
+ /**
14
+ * One measure, stated and then drawn. The figure is the answer and the bar
15
+ * is the context: a reader who wants the value should not estimate it from a
16
+ * length, and a reader comparing rows scans the bars, not the digits. So the
17
+ * figure sits on the label's line.
18
+ *
19
+ * Tone colours the fill only. Colouring one bar red says act on it;
20
+ * colouring all of them says nothing.
21
+ *
22
+ * Every slot is a `div`, since any of them may hold a block, such as a
23
+ * `Skeleton`.
24
+ */
25
+ export type MetricBarProps = HTMLAttributes<HTMLDivElement> & {
26
+ label: string | Snippet
27
+ /** How full the bar is, 0–100. Clamped: over 100 is a bug upstream. */
28
+ percent: number
29
+ /** The figure the bar shows, at the label's right edge. */
30
+ value?: string | number | Snippet
31
+ /** A muted line under the label. */
32
+ description?: string | Snippet
33
+ /** A glyph in a `md` `IconChip` before the label: what the row is about. */
34
+ icon?: Snippet
35
+ /**
36
+ * The row's place in a ranking, as a `MetricRank` before the label, for a
37
+ * list whose order is the point. Pass `icon` or `rank`, not both.
38
+ */
39
+ rank?: number
40
+ /**
41
+ * Beside the bar, on its line: `398 / 500 units`. The bar shortens to make
42
+ * room; a figure that qualifies the bar belongs on the bar's line.
43
+ */
44
+ trailing?: string | Snippet
45
+ /** The fill. `primary` by default; a status only where the reader should act. */
46
+ tone?: Tone
47
+ }
48
+ </script>
49
+
50
+ <script lang="ts">
51
+ import { cn } from '../../../utils/cn.js'
52
+ import { TONE_INDICATOR_CLASS } from '../../../utils/tone.js'
53
+ import Progress from '../../feedback/progress/progress.svelte'
54
+ import IconChip from '../icon-chip/icon-chip.svelte'
55
+ import MetricRank from './metric-rank.svelte'
56
+
57
+ let {
58
+ label,
59
+ percent,
60
+ value,
61
+ description,
62
+ icon,
63
+ rank,
64
+ trailing,
65
+ tone = 'primary',
66
+ class: className,
67
+ ...rest
68
+ }: MetricBarProps = $props()
69
+
70
+ const clamped = $derived(Math.min(100, Math.max(0, percent)))
71
+ /** The bar is data, so it needs a name of its own; the label is a separate node. */
72
+ const barLabel = $derived(
73
+ typeof label === 'string' ? `${label}: ${clamped.toFixed(0)}%` : undefined,
74
+ )
75
+ </script>
76
+
77
+ {#snippet content(node: string | number | Snippet)}
78
+ {#if typeof node === 'function'}
79
+ {@render node()}
80
+ {:else}
81
+ {node}
82
+ {/if}
83
+ {/snippet}
84
+
85
+ <div data-slot="metric-bar" class={cn('flex items-start gap-3', className)} {...rest}>
86
+ {#if icon}
87
+ <IconChip size="md">{@render icon()}</IconChip>
88
+ {/if}
89
+ {#if rank !== undefined}
90
+ <MetricRank {rank} />
91
+ {/if}
92
+
93
+ <div class="min-w-0 flex-1">
94
+ <div class="flex items-baseline justify-between gap-3">
95
+ <div class="min-w-0 truncate text-sm font-medium">{@render content(label)}</div>
96
+ {#if value !== undefined}
97
+ <div class="text-muted-foreground shrink-0 text-sm tabular-nums">
98
+ {@render content(value)}
99
+ </div>
100
+ {/if}
101
+ </div>
102
+
103
+ {#if description}
104
+ <div class="text-muted-foreground mt-0.5 truncate text-xs">
105
+ {@render content(description)}
106
+ </div>
107
+ {/if}
108
+
109
+ <div class="mt-2 flex items-center gap-3">
110
+ <Progress
111
+ value={clamped}
112
+ aria-label={barLabel}
113
+ class={cn('flex-1', TONE_INDICATOR_CLASS[tone])}
114
+ />
115
+ {#if trailing}
116
+ <div class="text-muted-foreground shrink-0 text-xs tabular-nums">
117
+ {@render content(trailing)}
118
+ </div>
119
+ {/if}
120
+ </div>
121
+ </div>
122
+ </div>
@@ -0,0 +1,41 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import type { Tone } from '../../../utils/tone.js';
4
+ /**
5
+ * One measure, stated and then drawn. The figure is the answer and the bar
6
+ * is the context: a reader who wants the value should not estimate it from a
7
+ * length, and a reader comparing rows scans the bars, not the digits. So the
8
+ * figure sits on the label's line.
9
+ *
10
+ * Tone colours the fill only. Colouring one bar red says act on it;
11
+ * colouring all of them says nothing.
12
+ *
13
+ * Every slot is a `div`, since any of them may hold a block, such as a
14
+ * `Skeleton`.
15
+ */
16
+ export type MetricBarProps = HTMLAttributes<HTMLDivElement> & {
17
+ label: string | Snippet;
18
+ /** How full the bar is, 0–100. Clamped: over 100 is a bug upstream. */
19
+ percent: number;
20
+ /** The figure the bar shows, at the label's right edge. */
21
+ value?: string | number | Snippet;
22
+ /** A muted line under the label. */
23
+ description?: string | Snippet;
24
+ /** A glyph in a `md` `IconChip` before the label: what the row is about. */
25
+ icon?: Snippet;
26
+ /**
27
+ * The row's place in a ranking, as a `MetricRank` before the label, for a
28
+ * list whose order is the point. Pass `icon` or `rank`, not both.
29
+ */
30
+ rank?: number;
31
+ /**
32
+ * Beside the bar, on its line: `398 / 500 units`. The bar shortens to make
33
+ * room; a figure that qualifies the bar belongs on the bar's line.
34
+ */
35
+ trailing?: string | Snippet;
36
+ /** The fill. `primary` by default; a status only where the reader should act. */
37
+ tone?: Tone;
38
+ };
39
+ declare const MetricBar: import("svelte").Component<MetricBarProps, {}, "">;
40
+ type MetricBar = ReturnType<typeof MetricBar>;
41
+ export default MetricBar;
@@ -0,0 +1,33 @@
1
+ <!--
2
+ Origin: the React package 2.23.0 `metric-bar.tsx` (`MetricRank`)
3
+ Diverged: takes `class` and spreads the rest onto the root, as every
4
+ component does. The disc is the neutral wash, `bg-foreground/[0.07]`, not
5
+ `bg-muted`, which vanished on the muted canvas.
6
+ -->
7
+ <script lang="ts" module>
8
+ import type { HTMLAttributes } from 'svelte/elements'
9
+
10
+ /**
11
+ * A place in a ranking, `1`, `2`, `3`, in a small muted circle. Smaller than
12
+ * an `IconChip` on purpose: the number orders the rows, it is not what they
13
+ * are about.
14
+ */
15
+ export type MetricRankProps = HTMLAttributes<HTMLSpanElement> & { rank: number }
16
+ </script>
17
+
18
+ <script lang="ts">
19
+ import { cn } from '../../../utils/cn.js'
20
+
21
+ let { rank, class: className, ...rest }: MetricRankProps = $props()
22
+ </script>
23
+
24
+ <span
25
+ data-slot="metric-rank"
26
+ class={cn(
27
+ 'bg-foreground/[0.07] text-muted-foreground grid size-6 shrink-0 place-items-center rounded-full text-xs tabular-nums',
28
+ className,
29
+ )}
30
+ {...rest}
31
+ >
32
+ {rank}
33
+ </span>
@@ -0,0 +1,12 @@
1
+ import type { HTMLAttributes } from 'svelte/elements';
2
+ /**
3
+ * A place in a ranking, `1`, `2`, `3`, in a small muted circle. Smaller than
4
+ * an `IconChip` on purpose: the number orders the rows, it is not what they
5
+ * are about.
6
+ */
7
+ export type MetricRankProps = HTMLAttributes<HTMLSpanElement> & {
8
+ rank: number;
9
+ };
10
+ declare const MetricRank: import("svelte").Component<MetricRankProps, {}, "">;
11
+ type MetricRank = ReturnType<typeof MetricRank>;
12
+ export default MetricRank;
@@ -0,0 +1 @@
1
+ export { default as MetricGrid, type MetricGridItem, type MetricGridProps, } from './metric-grid.svelte';
@@ -0,0 +1 @@
1
+ export { default as MetricGrid, } from './metric-grid.svelte';
@@ -0,0 +1,66 @@
1
+ <!--
2
+ Origin: the React package 2.23.0 `metric-grid.tsx`
3
+ Diverged: an item's `label`, `value`, `description` and `trailing` take a
4
+ string or a snippet, as R4-5 has a ReactNode prop. Takes `class` and spreads
5
+ the rest onto the grid, as every component does.
6
+ -->
7
+ <script lang="ts" module>
8
+ import type { Snippet } from 'svelte'
9
+ import type { HTMLAttributes } from 'svelte/elements'
10
+
11
+ import type { Tone } from '../../../utils/tone.js'
12
+
13
+ export type MetricGridItem = {
14
+ /** Stable across renders; a translated label is not. */
15
+ id: string
16
+ label: string | Snippet
17
+ /** How full this cell's bar is, 0–100. */
18
+ percent: number
19
+ value?: string | number | Snippet
20
+ description?: string | Snippet
21
+ /** Beside the bar: a percentage, a count, a unit. */
22
+ trailing?: string | Snippet
23
+ tone?: Tone
24
+ }
25
+
26
+ /**
27
+ * A breakdown as a grid of bordered cells rather than a list of rows. A
28
+ * reader comparing sub-groups against each other wants them adjacent, not in
29
+ * order; `CardList` is the shape when the order means something.
30
+ *
31
+ * Each cell is a `MetricBar`, and this does not relitigate it: a caller
32
+ * wanting other cell content wants `CardGrid` directly.
33
+ */
34
+ export type MetricGridProps = HTMLAttributes<HTMLDivElement> & {
35
+ items: MetricGridItem[]
36
+ /**
37
+ * Columns at `md` and up; one below, where two cells side by side leave no
38
+ * room for a label and a bar. The caller picks it, knowing how many items
39
+ * there are: three columns and four items leaves an orphan.
40
+ */
41
+ columns?: 2 | 3
42
+ }
43
+ </script>
44
+
45
+ <script lang="ts">
46
+ import CardGrid from '../../layout/card-grid/card-grid.svelte'
47
+ import CardGridCell from '../../layout/card-grid/card-grid-cell.svelte'
48
+ import MetricBar from '../metric-bar/metric-bar.svelte'
49
+
50
+ let { items, columns = 3, ...rest }: MetricGridProps = $props()
51
+ </script>
52
+
53
+ <CardGrid {columns} {...rest}>
54
+ {#each items as item (item.id)}
55
+ <CardGridCell>
56
+ <MetricBar
57
+ label={item.label}
58
+ percent={item.percent}
59
+ value={item.value}
60
+ description={item.description}
61
+ trailing={item.trailing}
62
+ tone={item.tone}
63
+ />
64
+ </CardGridCell>
65
+ {/each}
66
+ </CardGrid>
@@ -0,0 +1,35 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import type { Tone } from '../../../utils/tone.js';
4
+ export type MetricGridItem = {
5
+ /** Stable across renders; a translated label is not. */
6
+ id: string;
7
+ label: string | Snippet;
8
+ /** How full this cell's bar is, 0–100. */
9
+ percent: number;
10
+ value?: string | number | Snippet;
11
+ description?: string | Snippet;
12
+ /** Beside the bar: a percentage, a count, a unit. */
13
+ trailing?: string | Snippet;
14
+ tone?: Tone;
15
+ };
16
+ /**
17
+ * A breakdown as a grid of bordered cells rather than a list of rows. A
18
+ * reader comparing sub-groups against each other wants them adjacent, not in
19
+ * order; `CardList` is the shape when the order means something.
20
+ *
21
+ * Each cell is a `MetricBar`, and this does not relitigate it: a caller
22
+ * wanting other cell content wants `CardGrid` directly.
23
+ */
24
+ export type MetricGridProps = HTMLAttributes<HTMLDivElement> & {
25
+ items: MetricGridItem[];
26
+ /**
27
+ * Columns at `md` and up; one below, where two cells side by side leave no
28
+ * room for a label and a bar. The caller picks it, knowing how many items
29
+ * there are: three columns and four items leaves an orphan.
30
+ */
31
+ columns?: 2 | 3;
32
+ };
33
+ declare const MetricGrid: import("svelte").Component<MetricGridProps, {}, "">;
34
+ type MetricGrid = ReturnType<typeof MetricGrid>;
35
+ export default MetricGrid;
@@ -0,0 +1 @@
1
+ export { default as MetricRow, type MetricRowProps, type MetricRowStat, } from './metric-row.svelte';
@@ -0,0 +1 @@
1
+ export { default as MetricRow, } from './metric-row.svelte';
@@ -0,0 +1,175 @@
1
+ <!--
2
+ Origin: the React package 2.23.0 `metric-row.tsx`
3
+ Diverged: `icon` is a snippet, and `label`, `description`, `trailing` and a
4
+ stat's `label` and `value` take a string or a snippet, as R4-5 has a
5
+ ReactNode prop. Takes `class` and spreads the rest onto the root, as every
6
+ component does.
7
+ -->
8
+ <script lang="ts" module>
9
+ import type { Snippet } from 'svelte'
10
+ import type { HTMLAttributes } from 'svelte/elements'
11
+
12
+ import type { Tone } from '../../../utils/tone.js'
13
+
14
+ export type MetricRowStat = {
15
+ /** Stable key. Labels repeat down a list, so they are not one. */
16
+ id: string
17
+ /**
18
+ * The caption over the figure. Optional: a lone `56%` beside its own bar
19
+ * explains itself.
20
+ */
21
+ label?: string | Snippet
22
+ value: string | number | Snippet
23
+ /**
24
+ * Colours the figure only. A row where every stat is tinted reads as an
25
+ * alert, the opposite of what a scannable list needs.
26
+ */
27
+ tone?: Tone
28
+ }
29
+
30
+ /**
31
+ * A subject, the figures that describe it, and one bar beneath them all.
32
+ *
33
+ * Not `MetricBar` on two counts. Several labelled figures, not one: `80%`,
34
+ * `3`, `1` side by side say nothing without their captions. And the bar runs
35
+ * the full width, under the chip too, because it summarises the row rather
36
+ * than belonging to any one figure. Reach for `MetricBar` when the bar is the
37
+ * point; for this when the row is a thing with several measurements.
38
+ */
39
+ export type MetricRowProps = HTMLAttributes<HTMLDivElement> & {
40
+ /** A glyph in a `md` `IconChip` before the label. */
41
+ icon?: Snippet
42
+ /** A place in a ranking, as `MetricRank`. Pass `icon` or `rank`, not both. */
43
+ rank?: number
44
+ label: string | Snippet
45
+ /** A muted line under the title. */
46
+ description?: string | Snippet
47
+ /** The figures along the top right, each under its own caption. */
48
+ stats?: MetricRowStat[]
49
+ /** How full the bar is, 0–100. Clamped: over 100 is a bug upstream. */
50
+ percent: number
51
+ tone?: Tone
52
+ /**
53
+ * Beside the bar: `398 / 500 units`. Inline, it takes a right-aligned slot
54
+ * with a floor width, so every row's bar starts and ends at the same x.
55
+ * `null` holds the slot empty; leave it out to give the slot up.
56
+ */
57
+ trailing?: string | Snippet | null
58
+ /**
59
+ * `below`, the default, runs the bar the full width under the row, for a
60
+ * row whose bar belongs to no figure in particular. `inline` puts it before
61
+ * the figures at a fixed width, for one figure the bar is a picture of.
62
+ */
63
+ barPlacement?: 'below' | 'inline'
64
+ /** Hides the bar, for a row with nothing to measure: an empty bar reads as a failure. */
65
+ hideBar?: boolean
66
+ }
67
+ </script>
68
+
69
+ <script lang="ts">
70
+ import { cn } from '../../../utils/cn.js'
71
+ import { TONE_INDICATOR_CLASS, TONE_TEXT_CLASS } from '../../../utils/tone.js'
72
+ import Progress from '../../feedback/progress/progress.svelte'
73
+ import IconChip from '../icon-chip/icon-chip.svelte'
74
+ import MetricRank from '../metric-bar/metric-rank.svelte'
75
+
76
+ let {
77
+ icon,
78
+ rank,
79
+ label,
80
+ description,
81
+ stats,
82
+ percent,
83
+ tone = 'primary',
84
+ trailing,
85
+ barPlacement = 'below',
86
+ hideBar = false,
87
+ class: className,
88
+ ...rest
89
+ }: MetricRowProps = $props()
90
+
91
+ const clamped = $derived(Math.min(100, Math.max(0, percent)))
92
+ const inline = $derived(barPlacement === 'inline')
93
+ const barLabel = $derived(
94
+ typeof label === 'string' ? `${label}: ${clamped.toFixed(0)}%` : undefined,
95
+ )
96
+ </script>
97
+
98
+ {#snippet content(node: string | number | Snippet)}
99
+ {#if typeof node === 'function'}
100
+ {@render node()}
101
+ {:else}
102
+ {node}
103
+ {/if}
104
+ {/snippet}
105
+
106
+ {#snippet bar()}
107
+ <Progress value={clamped} aria-label={barLabel} class={cn('h-2', TONE_INDICATOR_CLASS[tone])} />
108
+ {/snippet}
109
+
110
+ <div data-slot="metric-row" class={cn('flex flex-col gap-3', className)} {...rest}>
111
+ <div class="flex items-start justify-between gap-4">
112
+ <div class="flex min-w-0 items-center gap-3">
113
+ {#if icon}
114
+ <IconChip size="md">{@render icon()}</IconChip>
115
+ {/if}
116
+ {#if rank !== undefined}
117
+ <MetricRank {rank} />
118
+ {/if}
119
+ <div class="min-w-0">
120
+ <div class="truncate text-sm font-medium">{@render content(label)}</div>
121
+ {#if description}
122
+ <div class="text-muted-foreground truncate text-xs">{@render content(description)}</div>
123
+ {/if}
124
+ </div>
125
+ </div>
126
+
127
+ <!-- Inline keeps one baseline; below, the figures stack over their captions. -->
128
+ <div
129
+ class={cn('flex shrink-0 items-center gap-5 text-right sm:gap-6', !inline && 'items-start')}
130
+ >
131
+ {#if inline && !hideBar}
132
+ <div class="w-24 sm:w-32">{@render bar()}</div>
133
+ {/if}
134
+
135
+ {#each stats ?? [] as stat (stat.id)}
136
+ <div>
137
+ {#if stat.label !== undefined}
138
+ <div class="text-muted-foreground text-xs whitespace-nowrap">
139
+ {@render content(stat.label)}
140
+ </div>
141
+ {/if}
142
+ <div
143
+ class={cn(
144
+ 'text-sm font-semibold tabular-nums',
145
+ stat.tone === undefined || stat.tone === 'neutral'
146
+ ? 'text-foreground'
147
+ : TONE_TEXT_CLASS[stat.tone],
148
+ )}
149
+ >
150
+ {@render content(stat.value)}
151
+ </div>
152
+ </div>
153
+ {/each}
154
+
155
+ {#if inline && trailing !== undefined}
156
+ <div class="min-w-20 shrink-0 text-right tabular-nums">
157
+ {#if trailing !== null}
158
+ {@render content(trailing)}
159
+ {/if}
160
+ </div>
161
+ {/if}
162
+ </div>
163
+ </div>
164
+
165
+ {#if !inline && !hideBar}
166
+ <div class="flex items-center gap-3">
167
+ <div class="flex-1">{@render bar()}</div>
168
+ {#if trailing}
169
+ <div class="text-muted-foreground shrink-0 text-xs tabular-nums">
170
+ {@render content(trailing)}
171
+ </div>
172
+ {/if}
173
+ </div>
174
+ {/if}
175
+ </div>
@@ -0,0 +1,58 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import type { Tone } from '../../../utils/tone.js';
4
+ export type MetricRowStat = {
5
+ /** Stable key. Labels repeat down a list, so they are not one. */
6
+ id: string;
7
+ /**
8
+ * The caption over the figure. Optional: a lone `56%` beside its own bar
9
+ * explains itself.
10
+ */
11
+ label?: string | Snippet;
12
+ value: string | number | Snippet;
13
+ /**
14
+ * Colours the figure only. A row where every stat is tinted reads as an
15
+ * alert, the opposite of what a scannable list needs.
16
+ */
17
+ tone?: Tone;
18
+ };
19
+ /**
20
+ * A subject, the figures that describe it, and one bar beneath them all.
21
+ *
22
+ * Not `MetricBar` on two counts. Several labelled figures, not one: `80%`,
23
+ * `3`, `1` side by side say nothing without their captions. And the bar runs
24
+ * the full width, under the chip too, because it summarises the row rather
25
+ * than belonging to any one figure. Reach for `MetricBar` when the bar is the
26
+ * point; for this when the row is a thing with several measurements.
27
+ */
28
+ export type MetricRowProps = HTMLAttributes<HTMLDivElement> & {
29
+ /** A glyph in a `md` `IconChip` before the label. */
30
+ icon?: Snippet;
31
+ /** A place in a ranking, as `MetricRank`. Pass `icon` or `rank`, not both. */
32
+ rank?: number;
33
+ label: string | Snippet;
34
+ /** A muted line under the title. */
35
+ description?: string | Snippet;
36
+ /** The figures along the top right, each under its own caption. */
37
+ stats?: MetricRowStat[];
38
+ /** How full the bar is, 0–100. Clamped: over 100 is a bug upstream. */
39
+ percent: number;
40
+ tone?: Tone;
41
+ /**
42
+ * Beside the bar: `398 / 500 units`. Inline, it takes a right-aligned slot
43
+ * with a floor width, so every row's bar starts and ends at the same x.
44
+ * `null` holds the slot empty; leave it out to give the slot up.
45
+ */
46
+ trailing?: string | Snippet | null;
47
+ /**
48
+ * `below`, the default, runs the bar the full width under the row, for a
49
+ * row whose bar belongs to no figure in particular. `inline` puts it before
50
+ * the figures at a fixed width, for one figure the bar is a picture of.
51
+ */
52
+ barPlacement?: 'below' | 'inline';
53
+ /** Hides the bar, for a row with nothing to measure: an empty bar reads as a failure. */
54
+ hideBar?: boolean;
55
+ };
56
+ declare const MetricRow: import("svelte").Component<MetricRowProps, {}, "">;
57
+ type MetricRow = ReturnType<typeof MetricRow>;
58
+ export default MetricRow;
@@ -0,0 +1 @@
1
+ export { default as RadialStat, type RadialStatProps, type RadialThickness, } from './radial-stat.svelte';
@@ -0,0 +1 @@
1
+ export { default as RadialStat, } from './radial-stat.svelte';
@@ -0,0 +1,113 @@
1
+ <!--
2
+ Origin: the React package 2.23.0 `radial-stat.tsx`
3
+ Diverged: `children` is a snippet. Takes `class` and spreads the rest onto
4
+ the root, as every component does.
5
+ -->
6
+ <script lang="ts" module>
7
+ import type { Snippet } from 'svelte'
8
+ import type { HTMLAttributes } from 'svelte/elements'
9
+
10
+ import type { Tone } from '../../../utils/tone.js'
11
+
12
+ /**
13
+ * How heavy the ring is, as a fraction of its diameter. `regular` is a
14
+ * twelfth, a ring around a figure; `thick` is a sixth, with the weight to
15
+ * carry a card on its own. A ratio, because a fixed stroke is a hairline at
16
+ * 140px and a solid disc at 48px.
17
+ */
18
+ export type RadialThickness = 'regular' | 'thick'
19
+
20
+ const THICKNESS_DIVISOR: Record<RadialThickness, number> = { regular: 12, thick: 6 }
21
+
22
+ /**
23
+ * A share, drawn as an arc with the figure inside it. A circle has an obvious
24
+ * whole, so the ring says "roughly a quarter" without the reader converting a
25
+ * length. Right for a handful of parts side by side; wrong for a list, where
26
+ * twenty rings are a wall of dials.
27
+ */
28
+ export type RadialStatProps = HTMLAttributes<HTMLDivElement> & {
29
+ /** 0–100. Clamped: a share over 100 is a bug upstream, not a full ring plus. */
30
+ percent: number
31
+ tone?: Tone
32
+ /**
33
+ * Outer diameter in pixels; the stroke scales with it. `diameter`, not
34
+ * `size`, which across the package means `sm | md | lg`.
35
+ */
36
+ diameter?: number
37
+ /** Ring weight. `thick` for a ring that is the subject of its own card. */
38
+ thickness?: RadialThickness
39
+ /** Replaces the printed percentage: a count, or a short word. */
40
+ children?: Snippet
41
+ /** Read by assistive tech in place of the ring. */
42
+ 'aria-label'?: string
43
+ }
44
+ </script>
45
+
46
+ <script lang="ts">
47
+ import { cn } from '../../../utils/cn.js'
48
+ import { TONE_STROKE_CLASS } from '../../../utils/tone.js'
49
+
50
+ let {
51
+ percent,
52
+ tone = 'primary',
53
+ diameter = 72,
54
+ thickness = 'regular',
55
+ children,
56
+ 'aria-label': ariaLabel,
57
+ class: className,
58
+ ...rest
59
+ }: RadialStatProps = $props()
60
+
61
+ const clamped = $derived(Math.min(100, Math.max(0, percent)))
62
+ const stroke = $derived(Math.max(4, Math.round(diameter / THICKNESS_DIVISOR[thickness])))
63
+ const radius = $derived((diameter - stroke) / 2)
64
+ const circumference = $derived(2 * Math.PI * radius)
65
+ const arc = $derived(circumference * (clamped / 100))
66
+ const centre = $derived(diameter / 2)
67
+ /**
68
+ * Round caps add half a stroke at each end, so on an arc shorter than the
69
+ * stroke they overrun it and read as a marker. Below that the cap squares
70
+ * off, and 0% draws nothing rather than a dot at twelve o'clock.
71
+ */
72
+ const linecap = $derived(arc >= stroke ? 'round' : 'butt')
73
+ </script>
74
+
75
+ <div
76
+ data-slot="radial-stat"
77
+ role="img"
78
+ aria-label={ariaLabel ?? `${clamped.toFixed(0)} percent`}
79
+ class={cn('relative shrink-0', className)}
80
+ style:width="{diameter}px"
81
+ style:height="{diameter}px"
82
+ {...rest}
83
+ >
84
+ <svg width={diameter} height={diameter} viewBox="0 0 {diameter} {diameter}" aria-hidden="true">
85
+ <circle
86
+ class="stroke-muted"
87
+ cx={centre}
88
+ cy={centre}
89
+ r={radius}
90
+ fill="none"
91
+ stroke-width={stroke}
92
+ />
93
+ <circle
94
+ class={cn('transition-[stroke-dashoffset]', TONE_STROKE_CLASS[tone])}
95
+ cx={centre}
96
+ cy={centre}
97
+ r={radius}
98
+ fill="none"
99
+ stroke-width={stroke}
100
+ stroke-linecap={linecap}
101
+ stroke-dasharray={circumference}
102
+ stroke-dashoffset={circumference - arc}
103
+ transform="rotate(-90 {centre} {centre})"
104
+ />
105
+ </svg>
106
+ <div class="absolute inset-0 grid place-items-center text-sm font-medium tabular-nums">
107
+ {#if children}
108
+ {@render children()}
109
+ {:else}
110
+ {clamped.toFixed(0)}%
111
+ {/if}
112
+ </div>
113
+ </div>