@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,20 @@
1
+ /**
2
+ * Origin: the React package 2.23.0 `button-group.tsx` (`buttonGroupVariants`), itself shadcn/ui new-york `button-group`
3
+ * Diverged: split out of the component file, as field-variants.ts is. Joined
4
+ * children overlap by a pixel (`-ml-px`, `-mt-px` when vertical) instead of
5
+ * dropping a border (`border-l-0`, `border-t-0`), and a toned child is raised
6
+ * above its neighbours, so a critical outline button keeps its whole outline;
7
+ * React's drops the shared side and shows its neighbour's grey edge there.
8
+ */
9
+ import { cva } from 'class-variance-authority';
10
+ export const buttonGroupVariants = cva("flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-tone]:not([data-tone=neutral])]:relative [&>[data-tone]:not([data-tone=neutral])]:z-[1] [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2", {
11
+ variants: {
12
+ orientation: {
13
+ horizontal: '[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:-ml-px [&>*:not(:last-child)]:rounded-r-none',
14
+ vertical: 'flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:-mt-px [&>*:not(:last-child)]:rounded-b-none',
15
+ },
16
+ },
17
+ defaultVariants: {
18
+ orientation: 'horizontal',
19
+ },
20
+ });
@@ -0,0 +1,46 @@
1
+ <!--
2
+ Origin: the React package 2.23.0 `button-group.tsx` (`ButtonGroup`), itself shadcn/ui new-york `button-group`
3
+ Svelte: shadcn-svelte `button-group`
4
+ Diverged: unaudited, as in the React package. `orientation` defaults to
5
+ `horizontal` on `data-orientation` too, where React leaves it unset.
6
+ -->
7
+ <script lang="ts" module>
8
+ import type { HTMLAttributes } from 'svelte/elements'
9
+
10
+ import type { WithElementRef } from '../../../utils/types.js'
11
+ import type { ButtonGroupOrientation } from './button-group-variants.js'
12
+
13
+ /**
14
+ * Adjacent controls that share one edge instead of each carrying its own
15
+ * radius and gap: a segmented set of buttons, or two buttons and the input
16
+ * they act on, read as one control.
17
+ */
18
+ export type ButtonGroupProps = WithElementRef<HTMLAttributes<HTMLDivElement>> & {
19
+ orientation?: ButtonGroupOrientation
20
+ }
21
+ </script>
22
+
23
+ <script lang="ts">
24
+ import { cn } from '../../../utils/cn.js'
25
+ import { buttonGroupVariants } from './button-group-variants.js'
26
+
27
+ let {
28
+ ref = $bindable(null),
29
+ orientation = 'horizontal',
30
+ class: className,
31
+ children,
32
+ ...rest
33
+ }: ButtonGroupProps = $props()
34
+ </script>
35
+
36
+ <!-- biome-ignore lint/a11y/useSemanticElements: upstream shadcn markup. The element is a styling wrapper carrying a role for grouping, not a landmark, and no semantic element covers it -->
37
+ <div
38
+ bind:this={ref}
39
+ role="group"
40
+ data-slot="button-group"
41
+ data-orientation={orientation}
42
+ class={cn(buttonGroupVariants({ orientation }), className)}
43
+ {...rest}
44
+ >
45
+ {@render children?.()}
46
+ </div>
@@ -0,0 +1,14 @@
1
+ import type { HTMLAttributes } from 'svelte/elements';
2
+ import type { WithElementRef } from '../../../utils/types.js';
3
+ import type { ButtonGroupOrientation } from './button-group-variants.js';
4
+ /**
5
+ * Adjacent controls that share one edge instead of each carrying its own
6
+ * radius and gap: a segmented set of buttons, or two buttons and the input
7
+ * they act on, read as one control.
8
+ */
9
+ export type ButtonGroupProps = WithElementRef<HTMLAttributes<HTMLDivElement>> & {
10
+ orientation?: ButtonGroupOrientation;
11
+ };
12
+ declare const ButtonGroup: import("svelte").Component<ButtonGroupProps, {}, "ref">;
13
+ type ButtonGroup = ReturnType<typeof ButtonGroup>;
14
+ export default ButtonGroup;
@@ -0,0 +1,4 @@
1
+ export { type ButtonGroupProps, default as ButtonGroup } from './button-group.svelte';
2
+ export { type ButtonGroupSeparatorProps, default as ButtonGroupSeparator, } from './button-group-separator.svelte';
3
+ export { type ButtonGroupTextProps, default as ButtonGroupText } from './button-group-text.svelte';
4
+ export { type ButtonGroupOrientation, buttonGroupVariants } from './button-group-variants.js';
@@ -0,0 +1,4 @@
1
+ export { default as ButtonGroup } from './button-group.svelte';
2
+ export { default as ButtonGroupSeparator, } from './button-group-separator.svelte';
3
+ export { default as ButtonGroupText } from './button-group-text.svelte';
4
+ export { buttonGroupVariants } from './button-group-variants.js';
@@ -0,0 +1,103 @@
1
+ <!--
2
+ Origin: the React package 2.23.0 `calendar.tsx` (`caption_label`, `dropdowns`)
3
+ Svelte: shadcn-svelte `calendar`
4
+ Diverged: the caption as its own part, drawn for Calendar and RangeCalendar
5
+ alike from whichever bits-ui primitive renders it. Not exported. The
6
+ dropdowns are bits-ui's MonthSelect and YearSelect behind React's invisible
7
+ native select, as react-day-picker drew them. Lucide's chevron-down.
8
+ -->
9
+ <script lang="ts" module>
10
+ import type { DateValue } from '@internationalized/date'
11
+ import type {
12
+ Calendar as CalendarPrimitive,
13
+ RangeCalendar as RangeCalendarPrimitive,
14
+ } from 'bits-ui'
15
+
16
+ import type { CalendarCaptionLayout } from './calendar-classes.js'
17
+
18
+ export type CalendarCaptionProps = {
19
+ primitive: typeof CalendarPrimitive | typeof RangeCalendarPrimitive
20
+ layout: CalendarCaptionLayout
21
+ /** The month this caption heads. */
22
+ month: DateValue
23
+ /** Which of the visible months it is, so a month pick moves the first one. */
24
+ monthIndex: number
25
+ locale: string
26
+ placeholder?: DateValue
27
+ }
28
+ </script>
29
+
30
+ <script lang="ts">
31
+ import { DateFormatter, getLocalTimeZone } from '@internationalized/date'
32
+ import ChevronDownIcon from '@lucide/svelte/icons/chevron-down'
33
+
34
+ import { CALENDAR_CLASS } from './calendar-classes.js'
35
+
36
+ let {
37
+ primitive,
38
+ layout,
39
+ month,
40
+ monthIndex,
41
+ locale,
42
+ placeholder = $bindable(),
43
+ }: CalendarCaptionProps = $props()
44
+
45
+ const format = (date: DateValue, options: Intl.DateTimeFormatOptions) =>
46
+ new DateFormatter(locale, options).format(date.toDate(getLocalTimeZone()))
47
+
48
+ const showMonths = $derived(layout === 'dropdown' || layout === 'dropdown-months')
49
+ const showYears = $derived(layout === 'dropdown' || layout === 'dropdown-years')
50
+
51
+ function pickMonth(event: Event & { currentTarget: HTMLSelectElement }) {
52
+ if (!placeholder) return
53
+ const picked = placeholder.set({ month: Number.parseInt(event.currentTarget.value, 10) })
54
+ placeholder = picked.subtract({ months: monthIndex })
55
+ }
56
+ </script>
57
+
58
+ {#if layout === 'label'}
59
+ <span class={CALENDAR_CLASS.captionLabel}
60
+ >{format(month, { month: 'long', year: 'numeric' })}</span
61
+ >
62
+ {:else}
63
+ <div class={CALENDAR_CLASS.dropdowns}>
64
+ {#if showMonths}
65
+ <span class={CALENDAR_CLASS.dropdownRoot}>
66
+ <primitive.MonthSelect monthFormat="short" class={CALENDAR_CLASS.dropdown}>
67
+ {#snippet child({ props, monthItems })}
68
+ <select {...props} value={month.month} onchange={pickMonth}>
69
+ {#each monthItems as item (item.value)}
70
+ <option value={item.value}>{item.label}</option>
71
+ {/each}
72
+ </select>
73
+ <span class={CALENDAR_CLASS.dropdownLabel} aria-hidden="true">
74
+ {format(month, { month: 'short' })}
75
+ <ChevronDownIcon />
76
+ </span>
77
+ {/snippet}
78
+ </primitive.MonthSelect>
79
+ </span>
80
+ {:else}
81
+ <span class={CALENDAR_CLASS.captionLabel}>{format(month, { month: 'long' })}</span>
82
+ {/if}
83
+ {#if showYears}
84
+ <span class={CALENDAR_CLASS.dropdownRoot}>
85
+ <primitive.YearSelect class={CALENDAR_CLASS.dropdown}>
86
+ {#snippet child({ props, yearItems })}
87
+ <select {...props} value={month.year}>
88
+ {#each yearItems as item (item.value)}
89
+ <option value={item.value}>{item.label}</option>
90
+ {/each}
91
+ </select>
92
+ <span class={CALENDAR_CLASS.dropdownLabel} aria-hidden="true">
93
+ {month.year}
94
+ <ChevronDownIcon />
95
+ </span>
96
+ {/snippet}
97
+ </primitive.YearSelect>
98
+ </span>
99
+ {:else}
100
+ <span class={CALENDAR_CLASS.captionLabel}>{month.year}</span>
101
+ {/if}
102
+ </div>
103
+ {/if}
@@ -0,0 +1,16 @@
1
+ import type { DateValue } from '@internationalized/date';
2
+ import type { Calendar as CalendarPrimitive, RangeCalendar as RangeCalendarPrimitive } from 'bits-ui';
3
+ import type { CalendarCaptionLayout } from './calendar-classes.js';
4
+ export type CalendarCaptionProps = {
5
+ primitive: typeof CalendarPrimitive | typeof RangeCalendarPrimitive;
6
+ layout: CalendarCaptionLayout;
7
+ /** The month this caption heads. */
8
+ month: DateValue;
9
+ /** Which of the visible months it is, so a month pick moves the first one. */
10
+ monthIndex: number;
11
+ locale: string;
12
+ placeholder?: DateValue;
13
+ };
14
+ declare const CalendarCaption: import("svelte").Component<CalendarCaptionProps, {}, "placeholder">;
15
+ type CalendarCaption = ReturnType<typeof CalendarCaption>;
16
+ export default CalendarCaption;
@@ -0,0 +1,23 @@
1
+ export type CalendarCaptionLayout = 'label' | 'dropdown' | 'dropdown-months' | 'dropdown-years';
2
+ export declare const CALENDAR_CLASS: {
3
+ readonly root: "bg-background group/calendar w-fit p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent";
4
+ readonly months: "relative flex flex-col gap-4 md:flex-row";
5
+ readonly month: "flex w-full flex-col gap-4";
6
+ readonly nav: "absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1";
7
+ readonly navButton: string;
8
+ readonly header: "flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)";
9
+ readonly captionLabel: "select-none text-sm font-medium";
10
+ readonly dropdowns: "flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium";
11
+ readonly dropdownRoot: "relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50";
12
+ readonly dropdown: "absolute inset-0 bg-popover opacity-0";
13
+ readonly dropdownLabel: "flex h-8 select-none items-center gap-1 rounded-md pr-1 pl-2 text-sm font-medium [&>svg]:size-3.5 [&>svg]:text-muted-foreground";
14
+ readonly grid: "w-full border-collapse";
15
+ readonly weekdays: "flex";
16
+ readonly weekday: "text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal";
17
+ readonly week: "mt-2 flex w-full";
18
+ readonly cell: "group/day relative aspect-square h-full w-full select-none p-0 text-center";
19
+ readonly rangeCell: "[&:first-child[data-selected]_[data-bits-day]]:rounded-l-md [&:last-child[data-selected]_[data-bits-day]]:rounded-r-md [&:has([data-range-start])]:bg-muted [&:has([data-range-start])]:rounded-l-md [&:has([data-range-middle])]:bg-muted [&:has([data-range-middle])]:rounded-none [&:has([data-range-end])]:bg-muted [&:has([data-range-end])]:rounded-r-md";
20
+ readonly day: `${string} flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal [&>span]:text-xs [&>span]:opacity-70 focus-visible:relative focus-visible:z-10 [&[data-today]:not([data-selected])]:bg-muted [&[data-today]:not([data-selected])]:text-foreground [&[data-outside-month]:not([data-selected])]:text-muted-foreground data-[disabled]:pointer-events-none data-[disabled]:text-muted-foreground data-[disabled]:opacity-50 data-[unavailable]:text-muted-foreground data-[unavailable]:line-through`;
21
+ readonly singleDay: "data-[selected]:bg-primary data-[selected]:text-primary-foreground";
22
+ readonly rangeDay: "data-[range-start]:bg-primary data-[range-start]:text-primary-foreground data-[range-start]:rounded-md data-[range-start]:rounded-l-md data-[range-end]:bg-primary data-[range-end]:text-primary-foreground data-[range-end]:rounded-md data-[range-end]:rounded-r-md data-[range-middle]:bg-muted data-[range-middle]:text-foreground data-[range-middle]:rounded-none data-[selection-start]:bg-primary data-[selection-start]:text-primary-foreground";
23
+ };
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Origin: the React package 2.23.0 `calendar.tsx` (`classNames`, `CalendarDayButton`)
3
+ * Diverged: React's react-day-picker class map, keyed by the bits-ui part each
4
+ * lands on, and shared by Calendar and RangeCalendar so the two cannot
5
+ * drift. react-day-picker's `data-*` modifiers become bits-ui's
6
+ * (`data-selected`, `data-today`, `data-outside-month`, `data-range-*`).
7
+ * React's `bg-accent`, which the React package redefined as the brand tint,
8
+ * is `bg-muted` for today and the range's span, as shadcn's neutral accent
9
+ * is. The day is a ghost square button, as React's CalendarDayButton was.
10
+ */
11
+ import { buttonVariants } from '../../actions/button/button-variants.js';
12
+ const navButton = `${buttonVariants({ variant: 'ghost' })} size-(--cell-size) p-0 select-none disabled:opacity-50 aria-disabled:opacity-50`;
13
+ export const CALENDAR_CLASS = {
14
+ root: 'bg-background group/calendar w-fit p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',
15
+ months: 'relative flex flex-col gap-4 md:flex-row',
16
+ month: 'flex w-full flex-col gap-4',
17
+ nav: 'absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1',
18
+ navButton,
19
+ header: 'flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)',
20
+ captionLabel: 'select-none text-sm font-medium',
21
+ dropdowns: 'flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium',
22
+ dropdownRoot: 'relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50',
23
+ dropdown: 'absolute inset-0 bg-popover opacity-0',
24
+ dropdownLabel: 'flex h-8 select-none items-center gap-1 rounded-md pr-1 pl-2 text-sm font-medium [&>svg]:size-3.5 [&>svg]:text-muted-foreground',
25
+ grid: 'w-full border-collapse',
26
+ weekdays: 'flex',
27
+ weekday: 'text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal',
28
+ week: 'mt-2 flex w-full',
29
+ cell: 'group/day relative aspect-square h-full w-full select-none p-0 text-center',
30
+ // The row's ends round a span off at the week's edge. Range only: on a single
31
+ // day they squared one side of the selected pill in the first and last column.
32
+ rangeCell: '[&:first-child[data-selected]_[data-bits-day]]:rounded-l-md [&:last-child[data-selected]_[data-bits-day]]:rounded-r-md [&:has([data-range-start])]:bg-muted [&:has([data-range-start])]:rounded-l-md [&:has([data-range-middle])]:bg-muted [&:has([data-range-middle])]:rounded-none [&:has([data-range-end])]:bg-muted [&:has([data-range-end])]:rounded-r-md',
33
+ day: `${buttonVariants({ variant: 'ghost', iconOnly: true })} flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal [&>span]:text-xs [&>span]:opacity-70 focus-visible:relative focus-visible:z-10 [&[data-today]:not([data-selected])]:bg-muted [&[data-today]:not([data-selected])]:text-foreground [&[data-outside-month]:not([data-selected])]:text-muted-foreground data-[disabled]:pointer-events-none data-[disabled]:text-muted-foreground data-[disabled]:opacity-50 data-[unavailable]:text-muted-foreground data-[unavailable]:line-through`,
34
+ singleDay: 'data-[selected]:bg-primary data-[selected]:text-primary-foreground',
35
+ rangeDay: 'data-[range-start]:bg-primary data-[range-start]:text-primary-foreground data-[range-start]:rounded-md data-[range-start]:rounded-l-md data-[range-end]:bg-primary data-[range-end]:text-primary-foreground data-[range-end]:rounded-md data-[range-end]:rounded-r-md data-[range-middle]:bg-muted data-[range-middle]:text-foreground data-[range-middle]:rounded-none data-[selection-start]:bg-primary data-[selection-start]:text-primary-foreground',
36
+ };
@@ -0,0 +1,120 @@
1
+ <!--
2
+ Origin: the React package 2.23.0 `calendar.tsx` (`Calendar`, `mode="single"`), itself shadcn/ui new-york `calendar`
3
+ Svelte: shadcn-svelte `calendar`
4
+ Diverged: bits-ui Calendar for react-day-picker, with `bind:value` and
5
+ `bind:placeholder` (the month in view). Values are `@internationalized/date`
6
+ dates, not JS `Date`s (round 7 plan, R7-1). React's `mode="range"` is
7
+ RangeCalendar (R7-2). React's `classNames` and `components` override maps
8
+ have no counterpart, and the parts are not exported: React exported only
9
+ Calendar and its day button. React's `disabled` matcher is bits-ui's
10
+ `isDateDisabled`, with `minValue` and `maxValue` (R7-3). Lucide icons from
11
+ `@lucide/svelte`.
12
+ -->
13
+ <script lang="ts" module>
14
+ import { Calendar as CalendarPrimitive } from 'bits-ui'
15
+
16
+ import type { WithoutChildrenOrChild } from '../../../utils/types.js'
17
+ import type { CalendarCaptionLayout } from './calendar-classes.js'
18
+
19
+ /**
20
+ * A month grid to pick a day from. The one a `DatePicker` renders inside its
21
+ * popover, and the one most call sites want; `type="multiple"` picks several
22
+ * separate days, and `RangeCalendar` a contiguous span.
23
+ *
24
+ * Outside days show by default, so a week is never ragged.
25
+ */
26
+ export type CalendarProps = WithoutChildrenOrChild<CalendarPrimitive.RootProps> & {
27
+ /**
28
+ * `label` names the month; the dropdown layouts swap the month, the year or
29
+ * both for a native select, for a date far from today (a birth date, an
30
+ * expiry).
31
+ */
32
+ captionLayout?: CalendarCaptionLayout
33
+ }
34
+ </script>
35
+
36
+ <script lang="ts">
37
+ import ChevronLeftIcon from '@lucide/svelte/icons/chevron-left'
38
+ import ChevronRightIcon from '@lucide/svelte/icons/chevron-right'
39
+
40
+ import { cn } from '../../../utils/cn.js'
41
+ import CalendarCaption from './calendar-caption.svelte'
42
+ import { CALENDAR_CLASS } from './calendar-classes.js'
43
+
44
+ let {
45
+ ref = $bindable(null),
46
+ value = $bindable(),
47
+ placeholder = $bindable(),
48
+ type = 'single',
49
+ captionLayout = 'label',
50
+ locale = 'en-US',
51
+ weekdayFormat = 'short',
52
+ class: className,
53
+ ...rest
54
+ }: CalendarProps = $props()
55
+ </script>
56
+
57
+ <!-- bits-ui's single and multiple roots are a discriminated union, which a
58
+ bound, destructured `value` cannot satisfy; cast as shadcn-svelte does. -->
59
+ <CalendarPrimitive.Root
60
+ bind:ref
61
+ bind:value={value as never}
62
+ bind:placeholder
63
+ type={type as never}
64
+ {locale}
65
+ {weekdayFormat}
66
+ data-slot="calendar"
67
+ class={cn(CALENDAR_CLASS.root, className)}
68
+ {...rest}
69
+ >
70
+ {#snippet children({ months, weekdays })}
71
+ <div class={CALENDAR_CLASS.months}>
72
+ <nav class={CALENDAR_CLASS.nav}>
73
+ <CalendarPrimitive.PrevButton class={CALENDAR_CLASS.navButton}>
74
+ <ChevronLeftIcon class="size-4" />
75
+ </CalendarPrimitive.PrevButton>
76
+ <CalendarPrimitive.NextButton class={CALENDAR_CLASS.navButton}>
77
+ <ChevronRightIcon class="size-4" />
78
+ </CalendarPrimitive.NextButton>
79
+ </nav>
80
+ {#each months as month, monthIndex (month)}
81
+ <div class={CALENDAR_CLASS.month}>
82
+ <CalendarPrimitive.Header class={CALENDAR_CLASS.header}>
83
+ <CalendarCaption
84
+ primitive={CalendarPrimitive}
85
+ layout={captionLayout}
86
+ month={month.value}
87
+ {monthIndex}
88
+ {locale}
89
+ bind:placeholder
90
+ />
91
+ </CalendarPrimitive.Header>
92
+ <CalendarPrimitive.Grid class={CALENDAR_CLASS.grid}>
93
+ <CalendarPrimitive.GridHead>
94
+ <CalendarPrimitive.GridRow class={CALENDAR_CLASS.weekdays}>
95
+ {#each weekdays as weekday, index (index)}
96
+ <CalendarPrimitive.HeadCell class={CALENDAR_CLASS.weekday}>
97
+ {weekday.slice(0, 2)}
98
+ </CalendarPrimitive.HeadCell>
99
+ {/each}
100
+ </CalendarPrimitive.GridRow>
101
+ </CalendarPrimitive.GridHead>
102
+ <CalendarPrimitive.GridBody>
103
+ {#each month.weeks as week (week)}
104
+ <CalendarPrimitive.GridRow class={CALENDAR_CLASS.week}>
105
+ {#each week as date (date)}
106
+ <CalendarPrimitive.Cell {date} month={month.value} class={CALENDAR_CLASS.cell}>
107
+ <CalendarPrimitive.Day
108
+ class={cn(CALENDAR_CLASS.day, CALENDAR_CLASS.singleDay)}
109
+ />
110
+ </CalendarPrimitive.Cell>
111
+ {/each}
112
+ </CalendarPrimitive.GridRow>
113
+ {/each}
114
+ </CalendarPrimitive.GridBody>
115
+ </CalendarPrimitive.Grid>
116
+ </div>
117
+ {/each}
118
+ </div>
119
+ {/snippet}
120
+ </CalendarPrimitive.Root>
@@ -0,0 +1,21 @@
1
+ import { Calendar as CalendarPrimitive } from 'bits-ui';
2
+ import type { WithoutChildrenOrChild } from '../../../utils/types.js';
3
+ import type { CalendarCaptionLayout } from './calendar-classes.js';
4
+ /**
5
+ * A month grid to pick a day from. The one a `DatePicker` renders inside its
6
+ * popover, and the one most call sites want; `type="multiple"` picks several
7
+ * separate days, and `RangeCalendar` a contiguous span.
8
+ *
9
+ * Outside days show by default, so a week is never ragged.
10
+ */
11
+ export type CalendarProps = WithoutChildrenOrChild<CalendarPrimitive.RootProps> & {
12
+ /**
13
+ * `label` names the month; the dropdown layouts swap the month, the year or
14
+ * both for a native select, for a date far from today (a birth date, an
15
+ * expiry).
16
+ */
17
+ captionLayout?: CalendarCaptionLayout;
18
+ };
19
+ declare const Calendar: import("svelte").Component<CalendarProps, {}, "ref" | "placeholder" | "value">;
20
+ type Calendar = ReturnType<typeof Calendar>;
21
+ export default Calendar;
@@ -0,0 +1,3 @@
1
+ export { type CalendarProps, default as Calendar } from './calendar.svelte';
2
+ export type { CalendarCaptionLayout } from './calendar-classes.js';
3
+ export { default as RangeCalendar, type RangeCalendarProps } from './range-calendar.svelte';
@@ -0,0 +1,2 @@
1
+ export { default as Calendar } from './calendar.svelte';
2
+ export { default as RangeCalendar } from './range-calendar.svelte';
@@ -0,0 +1,114 @@
1
+ <!--
2
+ Origin: the React package 2.23.0 `calendar.tsx` (`Calendar`, `mode="range"`), itself shadcn/ui new-york `calendar`
3
+ Svelte: shadcn-svelte `range-calendar`
4
+ Diverged: React's Calendar with `mode="range"` is its own component here, on
5
+ bits-ui RangeCalendar, because its value is a `DateRange` (`{ start, end }`
6
+ of `@internationalized/date` dates) rather than a day (round 7 plan, R7-1,
7
+ R7-2). It shares Calendar's class map, so the two cannot drift. The range's
8
+ span is `bg-muted`, where React used the brand-tinted `bg-accent`.
9
+ -->
10
+ <script lang="ts" module>
11
+ import { RangeCalendar as RangeCalendarPrimitive } from 'bits-ui'
12
+
13
+ import type { WithoutChildrenOrChild } from '../../../utils/types.js'
14
+ import type { CalendarCaptionLayout } from './calendar-classes.js'
15
+
16
+ /**
17
+ * A contiguous span of days, for reporting windows and stay lengths. The
18
+ * first click sets `start`; the second sets `end` and closes the span.
19
+ */
20
+ export type RangeCalendarProps = WithoutChildrenOrChild<RangeCalendarPrimitive.RootProps> & {
21
+ /**
22
+ * `label` names the month; the dropdown layouts swap the month, the year or
23
+ * both for a native select, for a date far from today (a birth date, an
24
+ * expiry).
25
+ */
26
+ captionLayout?: CalendarCaptionLayout
27
+ }
28
+ </script>
29
+
30
+ <script lang="ts">
31
+ import ChevronLeftIcon from '@lucide/svelte/icons/chevron-left'
32
+ import ChevronRightIcon from '@lucide/svelte/icons/chevron-right'
33
+
34
+ import { cn } from '../../../utils/cn.js'
35
+ import CalendarCaption from './calendar-caption.svelte'
36
+ import { CALENDAR_CLASS } from './calendar-classes.js'
37
+
38
+ let {
39
+ ref = $bindable(null),
40
+ value = $bindable(),
41
+ placeholder = $bindable(),
42
+ captionLayout = 'label',
43
+ locale = 'en-US',
44
+ weekdayFormat = 'short',
45
+ class: className,
46
+ ...rest
47
+ }: RangeCalendarProps = $props()
48
+ </script>
49
+
50
+ <RangeCalendarPrimitive.Root
51
+ bind:ref
52
+ bind:value
53
+ bind:placeholder
54
+ {locale}
55
+ {weekdayFormat}
56
+ data-slot="range-calendar"
57
+ class={cn(CALENDAR_CLASS.root, className)}
58
+ {...rest}
59
+ >
60
+ {#snippet children({ months, weekdays })}
61
+ <div class={CALENDAR_CLASS.months}>
62
+ <nav class={CALENDAR_CLASS.nav}>
63
+ <RangeCalendarPrimitive.PrevButton class={CALENDAR_CLASS.navButton}>
64
+ <ChevronLeftIcon class="size-4" />
65
+ </RangeCalendarPrimitive.PrevButton>
66
+ <RangeCalendarPrimitive.NextButton class={CALENDAR_CLASS.navButton}>
67
+ <ChevronRightIcon class="size-4" />
68
+ </RangeCalendarPrimitive.NextButton>
69
+ </nav>
70
+ {#each months as month, monthIndex (month)}
71
+ <div class={CALENDAR_CLASS.month}>
72
+ <RangeCalendarPrimitive.Header class={CALENDAR_CLASS.header}>
73
+ <CalendarCaption
74
+ primitive={RangeCalendarPrimitive}
75
+ layout={captionLayout}
76
+ month={month.value}
77
+ {monthIndex}
78
+ {locale}
79
+ bind:placeholder
80
+ />
81
+ </RangeCalendarPrimitive.Header>
82
+ <RangeCalendarPrimitive.Grid class={CALENDAR_CLASS.grid}>
83
+ <RangeCalendarPrimitive.GridHead>
84
+ <RangeCalendarPrimitive.GridRow class={CALENDAR_CLASS.weekdays}>
85
+ {#each weekdays as weekday, index (index)}
86
+ <RangeCalendarPrimitive.HeadCell class={CALENDAR_CLASS.weekday}>
87
+ {weekday.slice(0, 2)}
88
+ </RangeCalendarPrimitive.HeadCell>
89
+ {/each}
90
+ </RangeCalendarPrimitive.GridRow>
91
+ </RangeCalendarPrimitive.GridHead>
92
+ <RangeCalendarPrimitive.GridBody>
93
+ {#each month.weeks as week (week)}
94
+ <RangeCalendarPrimitive.GridRow class={CALENDAR_CLASS.week}>
95
+ {#each week as date (date)}
96
+ <RangeCalendarPrimitive.Cell
97
+ {date}
98
+ month={month.value}
99
+ class={cn(CALENDAR_CLASS.cell, CALENDAR_CLASS.rangeCell)}
100
+ >
101
+ <RangeCalendarPrimitive.Day
102
+ class={cn(CALENDAR_CLASS.day, CALENDAR_CLASS.rangeDay)}
103
+ />
104
+ </RangeCalendarPrimitive.Cell>
105
+ {/each}
106
+ </RangeCalendarPrimitive.GridRow>
107
+ {/each}
108
+ </RangeCalendarPrimitive.GridBody>
109
+ </RangeCalendarPrimitive.Grid>
110
+ </div>
111
+ {/each}
112
+ </div>
113
+ {/snippet}
114
+ </RangeCalendarPrimitive.Root>
@@ -0,0 +1,18 @@
1
+ import { RangeCalendar as RangeCalendarPrimitive } from 'bits-ui';
2
+ import type { WithoutChildrenOrChild } from '../../../utils/types.js';
3
+ import type { CalendarCaptionLayout } from './calendar-classes.js';
4
+ /**
5
+ * A contiguous span of days, for reporting windows and stay lengths. The
6
+ * first click sets `start`; the second sets `end` and closes the span.
7
+ */
8
+ export type RangeCalendarProps = WithoutChildrenOrChild<RangeCalendarPrimitive.RootProps> & {
9
+ /**
10
+ * `label` names the month; the dropdown layouts swap the month, the year or
11
+ * both for a native select, for a date far from today (a birth date, an
12
+ * expiry).
13
+ */
14
+ captionLayout?: CalendarCaptionLayout;
15
+ };
16
+ declare const RangeCalendar: import("svelte").Component<RangeCalendarProps, {}, "ref" | "placeholder" | "value">;
17
+ type RangeCalendar = ReturnType<typeof RangeCalendar>;
18
+ export default RangeCalendar;
@@ -0,0 +1,55 @@
1
+ <!--
2
+ Origin: the React package 2.23.0 `checkbox.tsx`, itself shadcn/ui new-york `checkbox`
3
+ Svelte: shadcn-svelte `checkbox`
4
+ Diverged: unaudited, as in the React package. bits-ui Checkbox for Radix
5
+ Checkbox. The indeterminate state draws a minus, as shadcn-svelte's does,
6
+ and takes the checked fill; Radix's Indicator drew the same check for both.
7
+ -->
8
+ <script lang="ts" module>
9
+ import { Checkbox as CheckboxPrimitive } from 'bits-ui'
10
+
11
+ import type { WithoutChildrenOrChild } from '../../../utils/types.js'
12
+
13
+ export type CheckboxProps = WithoutChildrenOrChild<CheckboxPrimitive.RootProps>
14
+ </script>
15
+
16
+ <script lang="ts">
17
+ import CheckIcon from '@lucide/svelte/icons/check'
18
+ import MinusIcon from '@lucide/svelte/icons/minus'
19
+
20
+ import { cn } from '../../../utils/cn.js'
21
+
22
+ let {
23
+ ref = $bindable(null),
24
+ checked = $bindable(false),
25
+ indeterminate = $bindable(false),
26
+ class: className,
27
+ ...rest
28
+ }: CheckboxProps = $props()
29
+ </script>
30
+
31
+ <CheckboxPrimitive.Root
32
+ bind:ref
33
+ bind:checked
34
+ bind:indeterminate
35
+ data-slot="checkbox"
36
+ class={cn(
37
+ 'peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',
38
+ 'data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary',
39
+ className,
40
+ )}
41
+ {...rest}
42
+ >
43
+ {#snippet children({ checked, indeterminate })}
44
+ <div
45
+ data-slot="checkbox-indicator"
46
+ class="grid place-content-center text-current transition-none"
47
+ >
48
+ {#if indeterminate}
49
+ <MinusIcon class="size-3.5" />
50
+ {:else if checked}
51
+ <CheckIcon class="size-3.5" />
52
+ {/if}
53
+ </div>
54
+ {/snippet}
55
+ </CheckboxPrimitive.Root>
@@ -0,0 +1,6 @@
1
+ import { Checkbox as CheckboxPrimitive } from 'bits-ui';
2
+ import type { WithoutChildrenOrChild } from '../../../utils/types.js';
3
+ export type CheckboxProps = WithoutChildrenOrChild<CheckboxPrimitive.RootProps>;
4
+ declare const Checkbox: import("svelte").Component<Omit<Omit<CheckboxPrimitive.RootProps, "child">, "children">, {}, "ref" | "checked" | "indeterminate">;
5
+ type Checkbox = ReturnType<typeof Checkbox>;
6
+ export default Checkbox;
@@ -0,0 +1 @@
1
+ export { type CheckboxProps, default as Checkbox } from './checkbox.svelte';
@@ -0,0 +1 @@
1
+ export { default as Checkbox } from './checkbox.svelte';