@kayord/ui 0.11.0 → 0.12.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 (503) hide show
  1. package/dist/components/custom/data-table/DataTable.svelte +2 -1
  2. package/dist/components/custom/data-table/DataTable.svelte.d.ts +1 -1
  3. package/dist/components/custom/data-table/DataTableActions.svelte +8 -4
  4. package/dist/components/custom/data-table/DataTableActions.svelte.d.ts +2 -18
  5. package/dist/components/custom/data-table/DataTableCheckbox.svelte +1 -1
  6. package/dist/components/custom/data-table/DataTableCheckbox.svelte.d.ts +1 -1
  7. package/dist/components/custom/data-table/FullscreenModeToggle.svelte +1 -1
  8. package/dist/components/custom/data-table/Pagination.svelte +14 -17
  9. package/dist/components/custom/data-table/Pagination.svelte.d.ts +1 -1
  10. package/dist/components/custom/data-table/VisibilitySelect.svelte +4 -4
  11. package/dist/components/custom/data-table/VisibilitySelect.svelte.d.ts +1 -1
  12. package/dist/components/custom/progress-loading/ProgressLoading.svelte +8 -9
  13. package/dist/components/custom/progress-loading/ProgressLoading.svelte.d.ts +5 -18
  14. package/dist/components/ui/accordion/accordion-content.svelte +14 -15
  15. package/dist/components/ui/accordion/accordion-content.svelte.d.ts +1 -26
  16. package/dist/components/ui/accordion/accordion-item.svelte +2 -8
  17. package/dist/components/ui/accordion/accordion-item.svelte.d.ts +1 -26
  18. package/dist/components/ui/accordion/accordion-trigger.svelte +14 -11
  19. package/dist/components/ui/accordion/accordion-trigger.svelte.d.ts +3 -24
  20. package/dist/components/ui/alert/alert-description.svelte +9 -6
  21. package/dist/components/ui/alert/alert-description.svelte.d.ts +2 -26
  22. package/dist/components/ui/alert/alert-title.svelte +19 -11
  23. package/dist/components/ui/alert/alert-title.svelte.d.ts +5 -29
  24. package/dist/components/ui/alert/alert.svelte +31 -10
  25. package/dist/components/ui/alert/alert.svelte.d.ts +40 -26
  26. package/dist/components/ui/alert/index.d.ts +1 -39
  27. package/dist/components/ui/alert/index.js +1 -13
  28. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte +2 -8
  29. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +3 -0
  30. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte +4 -12
  31. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +3 -0
  32. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +15 -20
  33. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +1 -27
  34. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +2 -7
  35. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte.d.ts +1 -26
  36. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +13 -6
  37. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte.d.ts +2 -26
  38. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +9 -6
  39. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte.d.ts +2 -26
  40. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +7 -13
  41. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte.d.ts +1 -17
  42. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +2 -8
  43. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte.d.ts +1 -26
  44. package/dist/components/ui/alert-dialog/index.js +1 -1
  45. package/dist/components/ui/aspect-ratio/index.js +2 -1
  46. package/dist/components/ui/avatar/avatar-fallback.svelte +4 -8
  47. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +1 -26
  48. package/dist/components/ui/avatar/avatar-image.svelte +2 -7
  49. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +1 -17
  50. package/dist/components/ui/avatar/avatar.svelte +5 -11
  51. package/dist/components/ui/avatar/avatar.svelte.d.ts +1 -26
  52. package/dist/components/ui/badge/badge.svelte +41 -7
  53. package/dist/components/ui/badge/badge.svelte.d.ts +54 -28
  54. package/dist/components/ui/badge/index.d.ts +1 -52
  55. package/dist/components/ui/badge/index.js +1 -15
  56. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +10 -11
  57. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +2 -19
  58. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +4 -9
  59. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +2 -28
  60. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +19 -19
  61. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +8 -33
  62. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +5 -10
  63. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +2 -28
  64. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +10 -10
  65. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +2 -32
  66. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +8 -11
  67. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +2 -28
  68. package/dist/components/ui/breadcrumb/breadcrumb.svelte +9 -9
  69. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +2 -28
  70. package/dist/components/ui/button/button.svelte +58 -20
  71. package/dist/components/ui/button/button.svelte.d.ts +116 -26
  72. package/dist/components/ui/button/index.d.ts +2 -117
  73. package/dist/components/ui/button/index.js +1 -25
  74. package/dist/components/ui/calendar/calendar-cell.svelte +5 -11
  75. package/dist/components/ui/calendar/calendar-cell.svelte.d.ts +1 -26
  76. package/dist/components/ui/calendar/calendar-day.svelte +6 -22
  77. package/dist/components/ui/calendar/calendar-day.svelte.d.ts +3 -0
  78. package/dist/components/ui/calendar/calendar-grid-body.svelte +2 -7
  79. package/dist/components/ui/calendar/calendar-grid-body.svelte.d.ts +1 -26
  80. package/dist/components/ui/calendar/calendar-grid-head.svelte +2 -7
  81. package/dist/components/ui/calendar/calendar-grid-head.svelte.d.ts +1 -26
  82. package/dist/components/ui/calendar/calendar-grid-row.svelte +2 -7
  83. package/dist/components/ui/calendar/calendar-grid-row.svelte.d.ts +1 -26
  84. package/dist/components/ui/calendar/calendar-grid.svelte +2 -7
  85. package/dist/components/ui/calendar/calendar-grid.svelte.d.ts +1 -26
  86. package/dist/components/ui/calendar/calendar-head-cell.svelte +4 -8
  87. package/dist/components/ui/calendar/calendar-head-cell.svelte.d.ts +1 -26
  88. package/dist/components/ui/calendar/calendar-header.svelte +4 -8
  89. package/dist/components/ui/calendar/calendar-header.svelte.d.ts +1 -26
  90. package/dist/components/ui/calendar/calendar-heading.svelte +2 -9
  91. package/dist/components/ui/calendar/calendar-heading.svelte.d.ts +1 -30
  92. package/dist/components/ui/calendar/calendar-months.svelte +13 -6
  93. package/dist/components/ui/calendar/calendar-months.svelte.d.ts +2 -26
  94. package/dist/components/ui/calendar/calendar-next-button.svelte +10 -14
  95. package/dist/components/ui/calendar/calendar-next-button.svelte.d.ts +3 -0
  96. package/dist/components/ui/calendar/calendar-prev-button.svelte +10 -14
  97. package/dist/components/ui/calendar/calendar-prev-button.svelte.d.ts +3 -0
  98. package/dist/components/ui/calendar/calendar.svelte +47 -45
  99. package/dist/components/ui/calendar/calendar.svelte.d.ts +2 -16
  100. package/dist/components/ui/card/card-content.svelte +9 -6
  101. package/dist/components/ui/card/card-content.svelte.d.ts +2 -26
  102. package/dist/components/ui/card/card-description.svelte +9 -6
  103. package/dist/components/ui/card/card-description.svelte.d.ts +2 -26
  104. package/dist/components/ui/card/card-footer.svelte +9 -6
  105. package/dist/components/ui/card/card-footer.svelte.d.ts +2 -26
  106. package/dist/components/ui/card/card-header.svelte +9 -6
  107. package/dist/components/ui/card/card-header.svelte.d.ts +2 -26
  108. package/dist/components/ui/card/card-title.svelte +19 -11
  109. package/dist/components/ui/card/card-title.svelte.d.ts +5 -29
  110. package/dist/components/ui/card/card.svelte +9 -6
  111. package/dist/components/ui/card/card.svelte.d.ts +2 -26
  112. package/dist/components/ui/card/index.d.ts +0 -1
  113. package/dist/components/ui/carousel/carousel-content.svelte +18 -13
  114. package/dist/components/ui/carousel/carousel-content.svelte.d.ts +2 -26
  115. package/dist/components/ui/carousel/carousel-item.svelte +12 -7
  116. package/dist/components/ui/carousel/carousel-item.svelte.d.ts +2 -26
  117. package/dist/components/ui/carousel/carousel-next.svelte +18 -15
  118. package/dist/components/ui/carousel/carousel-next.svelte.d.ts +1 -17
  119. package/dist/components/ui/carousel/carousel-previous.svelte +20 -16
  120. package/dist/components/ui/carousel/carousel-previous.svelte.d.ts +1 -17
  121. package/dist/components/ui/carousel/carousel.svelte +50 -62
  122. package/dist/components/ui/carousel/carousel.svelte.d.ts +1 -29
  123. package/dist/components/ui/carousel/context.d.ts +12 -12
  124. package/dist/components/ui/carousel/index.d.ts +6 -5
  125. package/dist/components/ui/carousel/index.js +8 -5
  126. package/dist/components/ui/checkbox/checkbox.svelte +19 -21
  127. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +1 -15
  128. package/dist/components/ui/collapsible/index.js +1 -1
  129. package/dist/components/ui/command/command-dialog.svelte +18 -12
  130. package/dist/components/ui/command/command-dialog.svelte.d.ts +5 -48
  131. package/dist/components/ui/command/command-empty.svelte +3 -7
  132. package/dist/components/ui/command/command-empty.svelte.d.ts +2 -27
  133. package/dist/components/ui/command/command-group.svelte +17 -12
  134. package/dist/components/ui/command/command-group.svelte.d.ts +13 -27
  135. package/dist/components/ui/command/command-input.svelte +11 -9
  136. package/dist/components/ui/command/command-input.svelte.d.ts +2 -18
  137. package/dist/components/ui/command/command-item.svelte +5 -14
  138. package/dist/components/ui/command/command-item.svelte.d.ts +2 -55
  139. package/dist/components/ui/command/command-link-item.svelte +15 -0
  140. package/dist/components/ui/command/command-link-item.svelte.d.ts +3 -0
  141. package/dist/components/ui/command/command-list.svelte +7 -7
  142. package/dist/components/ui/command/command-list.svelte.d.ts +2 -27
  143. package/dist/components/ui/command/command-separator.svelte +3 -5
  144. package/dist/components/ui/command/command-separator.svelte.d.ts +2 -18
  145. package/dist/components/ui/command/command-shortcut.svelte +9 -6
  146. package/dist/components/ui/command/command-shortcut.svelte.d.ts +2 -26
  147. package/dist/components/ui/command/command.svelte +10 -11
  148. package/dist/components/ui/command/command.svelte.d.ts +2 -27
  149. package/dist/components/ui/command/index.js +4 -3
  150. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte +21 -21
  151. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte.d.ts +1 -24
  152. package/dist/components/ui/context-menu/context-menu-content.svelte +5 -14
  153. package/dist/components/ui/context-menu/context-menu-content.svelte.d.ts +1 -28
  154. package/dist/components/ui/context-menu/context-menu-group-heading.svelte +19 -0
  155. package/dist/components/ui/context-menu/context-menu-group-heading.svelte.d.ts +11 -0
  156. package/dist/components/ui/context-menu/context-menu-item.svelte +10 -18
  157. package/dist/components/ui/context-menu/context-menu-item.svelte.d.ts +15 -26
  158. package/dist/components/ui/context-menu/context-menu-radio-item.svelte +17 -22
  159. package/dist/components/ui/context-menu/context-menu-radio-item.svelte.d.ts +1 -24
  160. package/dist/components/ui/context-menu/context-menu-separator.svelte +2 -5
  161. package/dist/components/ui/context-menu/context-menu-separator.svelte.d.ts +1 -17
  162. package/dist/components/ui/context-menu/context-menu-shortcut.svelte +9 -6
  163. package/dist/components/ui/context-menu/context-menu-shortcut.svelte.d.ts +2 -26
  164. package/dist/components/ui/context-menu/context-menu-sub-content.svelte +5 -19
  165. package/dist/components/ui/context-menu/context-menu-sub-content.svelte.d.ts +1 -30
  166. package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte +13 -17
  167. package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte.d.ts +2 -29
  168. package/dist/components/ui/context-menu/index.js +4 -4
  169. package/dist/components/ui/data-table/data-table.svelte.d.ts +28 -0
  170. package/dist/components/ui/data-table/data-table.svelte.js +89 -0
  171. package/dist/components/ui/data-table/flex-render.svelte +40 -0
  172. package/dist/components/ui/data-table/flex-render.svelte.d.ts +23 -0
  173. package/dist/components/ui/data-table/index.d.ts +3 -0
  174. package/dist/components/ui/data-table/index.js +3 -0
  175. package/dist/components/ui/data-table/render-helpers.d.ts +90 -0
  176. package/dist/components/ui/data-table/render-helpers.js +99 -0
  177. package/dist/components/ui/dialog/dialog-content.svelte +17 -17
  178. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +4 -26
  179. package/dist/components/ui/dialog/dialog-description.svelte +2 -7
  180. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +1 -26
  181. package/dist/components/ui/dialog/dialog-footer.svelte +13 -6
  182. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +2 -26
  183. package/dist/components/ui/dialog/dialog-header.svelte +9 -6
  184. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +2 -26
  185. package/dist/components/ui/dialog/dialog-overlay.svelte +7 -13
  186. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +1 -17
  187. package/dist/components/ui/dialog/dialog-title.svelte +6 -7
  188. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +1 -26
  189. package/dist/components/ui/dialog/index.js +1 -1
  190. package/dist/components/ui/drawer/drawer-content.svelte +4 -6
  191. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +1 -26
  192. package/dist/components/ui/drawer/drawer-description.svelte +2 -8
  193. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +2 -26
  194. package/dist/components/ui/drawer/drawer-footer.svelte +10 -10
  195. package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +2 -28
  196. package/dist/components/ui/drawer/drawer-header.svelte +9 -8
  197. package/dist/components/ui/drawer/drawer-header.svelte.d.ts +2 -28
  198. package/dist/components/ui/drawer/drawer-nested.svelte +7 -7
  199. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +1 -27
  200. package/dist/components/ui/drawer/drawer-overlay.svelte +2 -8
  201. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +1 -26
  202. package/dist/components/ui/drawer/drawer-title.svelte +4 -10
  203. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +2 -26
  204. package/dist/components/ui/drawer/drawer.svelte +7 -7
  205. package/dist/components/ui/drawer/drawer.svelte.d.ts +1 -27
  206. package/dist/components/ui/drawer/index.d.ts +13 -0
  207. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +21 -21
  208. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +1 -24
  209. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +11 -17
  210. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +1 -24
  211. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +19 -0
  212. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +11 -0
  213. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +12 -20
  214. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +15 -26
  215. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +13 -13
  216. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +5 -30
  217. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +17 -22
  218. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +1 -24
  219. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +2 -5
  220. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +1 -17
  221. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +9 -6
  222. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +2 -26
  223. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +5 -20
  224. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +1 -24
  225. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +12 -16
  226. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +15 -30
  227. package/dist/components/ui/dropdown-menu/index.js +6 -7
  228. package/dist/components/ui/form/form-button.svelte +2 -5
  229. package/dist/components/ui/form/form-button.svelte.d.ts +1 -24
  230. package/dist/components/ui/form/form-description.svelte +7 -7
  231. package/dist/components/ui/form/form-description.svelte.d.ts +2 -39
  232. package/dist/components/ui/form/form-element-field.svelte +20 -16
  233. package/dist/components/ui/form/form-element-field.svelte.d.ts +11 -25
  234. package/dist/components/ui/form/form-field-errors.svelte +19 -18
  235. package/dist/components/ui/form/form-field-errors.svelte.d.ts +3 -55
  236. package/dist/components/ui/form/form-field.svelte +20 -16
  237. package/dist/components/ui/form/form-field.svelte.d.ts +11 -25
  238. package/dist/components/ui/form/form-fieldset.svelte +13 -22
  239. package/dist/components/ui/form/form-fieldset.svelte.d.ts +9 -24
  240. package/dist/components/ui/form/form-label.svelte +16 -12
  241. package/dist/components/ui/form/form-label.svelte.d.ts +2 -31
  242. package/dist/components/ui/form/form-legend.svelte +5 -9
  243. package/dist/components/ui/form/form-legend.svelte.d.ts +1 -36
  244. package/dist/components/ui/form/index.d.ts +1 -1
  245. package/dist/components/ui/hover-card/hover-card-content.svelte +11 -15
  246. package/dist/components/ui/hover-card/hover-card-content.svelte.d.ts +1 -26
  247. package/dist/components/ui/index.d.ts +4 -3
  248. package/dist/components/ui/index.js +1 -0
  249. package/dist/components/ui/input/index.d.ts +0 -21
  250. package/dist/components/ui/input/input.svelte +9 -29
  251. package/dist/components/ui/input/input.svelte.d.ts +2 -16
  252. package/dist/components/ui/label/label.svelte +4 -10
  253. package/dist/components/ui/label/label.svelte.d.ts +1 -24
  254. package/dist/components/ui/menubar/index.js +3 -3
  255. package/dist/components/ui/menubar/menubar-checkbox-item.svelte +21 -21
  256. package/dist/components/ui/menubar/menubar-checkbox-item.svelte.d.ts +1 -24
  257. package/dist/components/ui/menubar/menubar-content.svelte +13 -19
  258. package/dist/components/ui/menubar/menubar-content.svelte.d.ts +1 -24
  259. package/dist/components/ui/menubar/menubar-group-heading.svelte +19 -0
  260. package/dist/components/ui/menubar/menubar-group-heading.svelte.d.ts +11 -0
  261. package/dist/components/ui/menubar/menubar-item.svelte +10 -18
  262. package/dist/components/ui/menubar/menubar-item.svelte.d.ts +15 -26
  263. package/dist/components/ui/menubar/menubar-radio-item.svelte +17 -22
  264. package/dist/components/ui/menubar/menubar-radio-item.svelte.d.ts +1 -24
  265. package/dist/components/ui/menubar/menubar-separator.svelte +2 -5
  266. package/dist/components/ui/menubar/menubar-separator.svelte.d.ts +1 -17
  267. package/dist/components/ui/menubar/menubar-shortcut.svelte +9 -6
  268. package/dist/components/ui/menubar/menubar-shortcut.svelte.d.ts +2 -26
  269. package/dist/components/ui/menubar/menubar-sub-content.svelte +5 -17
  270. package/dist/components/ui/menubar/menubar-sub-content.svelte.d.ts +1 -24
  271. package/dist/components/ui/menubar/menubar-sub-trigger.svelte +13 -17
  272. package/dist/components/ui/menubar/menubar-sub-trigger.svelte.d.ts +2 -29
  273. package/dist/components/ui/menubar/menubar-trigger.svelte +4 -12
  274. package/dist/components/ui/menubar/menubar-trigger.svelte.d.ts +1 -24
  275. package/dist/components/ui/menubar/menubar.svelte +4 -8
  276. package/dist/components/ui/menubar/menubar.svelte.d.ts +1 -26
  277. package/dist/components/ui/pagination/pagination-content.svelte +9 -6
  278. package/dist/components/ui/pagination/pagination-content.svelte.d.ts +2 -26
  279. package/dist/components/ui/pagination/pagination-ellipsis.svelte +13 -6
  280. package/dist/components/ui/pagination/pagination-ellipsis.svelte.d.ts +2 -17
  281. package/dist/components/ui/pagination/pagination-item.svelte +5 -8
  282. package/dist/components/ui/pagination/pagination-item.svelte.d.ts +3 -27
  283. package/dist/components/ui/pagination/pagination-link.svelte +19 -17
  284. package/dist/components/ui/pagination/pagination-link.svelte.d.ts +14 -31
  285. package/dist/components/ui/pagination/pagination-next-button.svelte +24 -14
  286. package/dist/components/ui/pagination/pagination-next-button.svelte.d.ts +1 -26
  287. package/dist/components/ui/pagination/pagination-prev-button.svelte +24 -14
  288. package/dist/components/ui/pagination/pagination-prev-button.svelte.d.ts +1 -26
  289. package/dist/components/ui/pagination/pagination.svelte +13 -21
  290. package/dist/components/ui/pagination/pagination.svelte.d.ts +1 -38
  291. package/dist/components/ui/popover/popover-content.svelte +20 -14
  292. package/dist/components/ui/popover/popover-content.svelte.d.ts +1 -26
  293. package/dist/components/ui/progress/progress.svelte +12 -8
  294. package/dist/components/ui/progress/progress.svelte.d.ts +1 -17
  295. package/dist/components/ui/radio-group/index.d.ts +1 -3
  296. package/dist/components/ui/radio-group/index.js +2 -4
  297. package/dist/components/ui/radio-group/radio-group-item.svelte +16 -16
  298. package/dist/components/ui/radio-group/radio-group-item.svelte.d.ts +1 -15
  299. package/dist/components/ui/radio-group/radio-group.svelte +7 -8
  300. package/dist/components/ui/radio-group/radio-group.svelte.d.ts +1 -26
  301. package/dist/components/ui/range-calendar/index.js +3 -2
  302. package/dist/components/ui/range-calendar/range-calendar-cell.svelte +5 -11
  303. package/dist/components/ui/range-calendar/range-calendar-cell.svelte.d.ts +1 -26
  304. package/dist/components/ui/range-calendar/range-calendar-day.svelte +5 -18
  305. package/dist/components/ui/range-calendar/range-calendar-day.svelte.d.ts +5 -0
  306. package/dist/components/ui/range-calendar/range-calendar-grid-row.svelte +2 -7
  307. package/dist/components/ui/range-calendar/range-calendar-grid-row.svelte.d.ts +1 -26
  308. package/dist/components/ui/range-calendar/range-calendar-grid.svelte +2 -7
  309. package/dist/components/ui/range-calendar/range-calendar-grid.svelte.d.ts +1 -26
  310. package/dist/components/ui/range-calendar/range-calendar-head-cell.svelte +4 -8
  311. package/dist/components/ui/range-calendar/range-calendar-head-cell.svelte.d.ts +1 -26
  312. package/dist/components/ui/range-calendar/range-calendar-header.svelte +4 -8
  313. package/dist/components/ui/range-calendar/range-calendar-header.svelte.d.ts +1 -26
  314. package/dist/components/ui/range-calendar/range-calendar-heading.svelte +2 -9
  315. package/dist/components/ui/range-calendar/range-calendar-heading.svelte.d.ts +1 -30
  316. package/dist/components/ui/range-calendar/range-calendar-months.svelte +13 -6
  317. package/dist/components/ui/range-calendar/range-calendar-months.svelte.d.ts +2 -26
  318. package/dist/components/ui/range-calendar/range-calendar-next-button.svelte +15 -14
  319. package/dist/components/ui/range-calendar/range-calendar-next-button.svelte.d.ts +3 -0
  320. package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte +15 -14
  321. package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte.d.ts +3 -0
  322. package/dist/components/ui/range-calendar/range-calendar.svelte +42 -45
  323. package/dist/components/ui/range-calendar/range-calendar.svelte.d.ts +1 -15
  324. package/dist/components/ui/resizable/resizable-handle.svelte +11 -9
  325. package/dist/components/ui/resizable/resizable-handle.svelte.d.ts +3 -23
  326. package/dist/components/ui/resizable/resizable-pane-group.svelte +11 -14
  327. package/dist/components/ui/resizable/resizable-pane-group.svelte.d.ts +16 -26
  328. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +13 -11
  329. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +2 -33
  330. package/dist/components/ui/scroll-area/scroll-area.svelte +16 -16
  331. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +7 -0
  332. package/dist/components/ui/select/index.js +5 -5
  333. package/dist/components/ui/select/select-content.svelte +30 -35
  334. package/dist/components/ui/select/select-content.svelte.d.ts +1 -24
  335. package/dist/components/ui/select/select-group-heading.svelte +8 -0
  336. package/dist/components/ui/select/select-group-heading.svelte.d.ts +3 -0
  337. package/dist/components/ui/select/select-item.svelte +23 -26
  338. package/dist/components/ui/select/select-item.svelte.d.ts +1 -24
  339. package/dist/components/ui/select/select-scroll-down-button.svelte +19 -0
  340. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +3 -0
  341. package/dist/components/ui/select/select-scroll-up-button.svelte +19 -0
  342. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +3 -0
  343. package/dist/components/ui/select/select-separator.svelte +4 -6
  344. package/dist/components/ui/select/select-separator.svelte.d.ts +2 -18
  345. package/dist/components/ui/select/select-trigger.svelte +12 -15
  346. package/dist/components/ui/select/select-trigger.svelte.d.ts +3 -0
  347. package/dist/components/ui/separator/separator.svelte +8 -8
  348. package/dist/components/ui/separator/separator.svelte.d.ts +1 -17
  349. package/dist/components/ui/sheet/index.js +1 -66
  350. package/dist/components/ui/sheet/sheet-content.svelte +39 -25
  351. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +54 -34
  352. package/dist/components/ui/sheet/sheet-description.svelte +2 -7
  353. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +1 -26
  354. package/dist/components/ui/sheet/sheet-footer.svelte +13 -6
  355. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +2 -26
  356. package/dist/components/ui/sheet/sheet-header.svelte +9 -6
  357. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +2 -26
  358. package/dist/components/ui/sheet/sheet-overlay.svelte +7 -11
  359. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +3 -17
  360. package/dist/components/ui/sheet/sheet-title.svelte +2 -7
  361. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +1 -26
  362. package/dist/components/ui/sidebar/constants.d.ts +6 -0
  363. package/dist/components/ui/sidebar/constants.js +6 -0
  364. package/dist/components/ui/sidebar/context.svelte.d.ts +42 -0
  365. package/dist/components/ui/sidebar/context.svelte.js +52 -0
  366. package/dist/components/ui/sidebar/index.d.ts +25 -0
  367. package/dist/components/ui/sidebar/index.js +27 -0
  368. package/dist/components/ui/sidebar/sidebar-content.svelte +24 -0
  369. package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +4 -0
  370. package/dist/components/ui/sidebar/sidebar-footer.svelte +16 -0
  371. package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +4 -0
  372. package/dist/components/ui/sidebar/sidebar-group-action.svelte +36 -0
  373. package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +10 -0
  374. package/dist/components/ui/sidebar/sidebar-group-content.svelte +16 -0
  375. package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +4 -0
  376. package/dist/components/ui/sidebar/sidebar-group-label.svelte +34 -0
  377. package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +10 -0
  378. package/dist/components/ui/sidebar/sidebar-group.svelte +21 -0
  379. package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +4 -0
  380. package/dist/components/ui/sidebar/sidebar-header.svelte +16 -0
  381. package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +4 -0
  382. package/dist/components/ui/sidebar/sidebar-input.svelte +20 -0
  383. package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +4 -0
  384. package/dist/components/ui/sidebar/sidebar-inset.svelte +24 -0
  385. package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +4 -0
  386. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +43 -0
  387. package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +11 -0
  388. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +29 -0
  389. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +4 -0
  390. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +95 -0
  391. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +91 -0
  392. package/dist/components/ui/sidebar/sidebar-menu-item.svelte +16 -0
  393. package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +4 -0
  394. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +36 -0
  395. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +7 -0
  396. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +43 -0
  397. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +12 -0
  398. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +10 -0
  399. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +4 -0
  400. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +25 -0
  401. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +4 -0
  402. package/dist/components/ui/sidebar/sidebar-menu.svelte +16 -0
  403. package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +4 -0
  404. package/dist/components/ui/sidebar/sidebar-provider.svelte +51 -0
  405. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +9 -0
  406. package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -0
  407. package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +4 -0
  408. package/dist/components/ui/sidebar/sidebar-separator.svelte +9 -0
  409. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +12 -0
  410. package/dist/components/ui/sidebar/sidebar-trigger.svelte +34 -0
  411. package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +9 -0
  412. package/dist/components/ui/sidebar/sidebar.svelte +90 -0
  413. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +9 -0
  414. package/dist/components/ui/skeleton/skeleton.svelte +7 -5
  415. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +2 -17
  416. package/dist/components/ui/slider/slider.svelte +20 -17
  417. package/dist/components/ui/slider/slider.svelte.d.ts +1 -17
  418. package/dist/components/ui/sonner/sonner.svelte +2 -2
  419. package/dist/components/ui/sonner/sonner.svelte.d.ts +1 -17
  420. package/dist/components/ui/switch/switch.svelte +10 -11
  421. package/dist/components/ui/switch/switch.svelte.d.ts +1 -15
  422. package/dist/components/ui/table/table-body.svelte +9 -6
  423. package/dist/components/ui/table/table-body.svelte.d.ts +2 -26
  424. package/dist/components/ui/table/table-caption.svelte +9 -6
  425. package/dist/components/ui/table/table-caption.svelte.d.ts +2 -26
  426. package/dist/components/ui/table/table-cell.svelte +4 -6
  427. package/dist/components/ui/table/table-cell.svelte.d.ts +2 -29
  428. package/dist/components/ui/table/table-footer.svelte +9 -6
  429. package/dist/components/ui/table/table-footer.svelte.d.ts +2 -26
  430. package/dist/components/ui/table/table-head.svelte +5 -6
  431. package/dist/components/ui/table/table-head.svelte.d.ts +2 -26
  432. package/dist/components/ui/table/table-header.svelte +9 -7
  433. package/dist/components/ui/table/table-header.svelte.d.ts +2 -29
  434. package/dist/components/ui/table/table-row.svelte +10 -10
  435. package/dist/components/ui/table/table-row.svelte.d.ts +2 -31
  436. package/dist/components/ui/table/table.svelte +9 -6
  437. package/dist/components/ui/table/table.svelte.d.ts +2 -26
  438. package/dist/components/ui/tabs/tabs-content.svelte +4 -10
  439. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +1 -26
  440. package/dist/components/ui/tabs/tabs-list.svelte +4 -8
  441. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +1 -26
  442. package/dist/components/ui/tabs/tabs-trigger.svelte +4 -12
  443. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +1 -24
  444. package/dist/components/ui/textarea/textarea.svelte +9 -25
  445. package/dist/components/ui/textarea/textarea.svelte.d.ts +2 -16
  446. package/dist/components/ui/toggle/index.d.ts +1 -74
  447. package/dist/components/ui/toggle/index.js +1 -19
  448. package/dist/components/ui/toggle/toggle.svelte +39 -15
  449. package/dist/components/ui/toggle/toggle.svelte.d.ts +90 -34
  450. package/dist/components/ui/toggle-group/index.d.ts +0 -5
  451. package/dist/components/ui/toggle-group/index.js +0 -7
  452. package/dist/components/ui/toggle-group/toggle-group-item.svelte +13 -14
  453. package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +11 -31
  454. package/dist/components/ui/toggle-group/toggle-group.svelte +28 -17
  455. package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +6 -0
  456. package/dist/components/ui/tooltip/index.js +3 -2
  457. package/dist/components/ui/tooltip/tooltip-content.svelte +10 -17
  458. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +1 -26
  459. package/dist/hooks/is-mobile.svelte.d.ts +5 -0
  460. package/dist/hooks/is-mobile.svelte.js +23 -0
  461. package/dist/utils.d.ts +0 -9
  462. package/dist/utils.js +0 -33
  463. package/package.json +14 -24
  464. package/dist/components/ui/accordion/index.d.ts +0 -6
  465. package/dist/components/ui/alert-dialog/alert-dialog-portal.svelte +0 -9
  466. package/dist/components/ui/alert-dialog/alert-dialog-portal.svelte.d.ts +0 -28
  467. package/dist/components/ui/alert-dialog/index.d.ts +0 -13
  468. package/dist/components/ui/aspect-ratio/aspect-ratio.svelte +0 -11
  469. package/dist/components/ui/aspect-ratio/aspect-ratio.svelte.d.ts +0 -28
  470. package/dist/components/ui/aspect-ratio/index.d.ts +0 -2
  471. package/dist/components/ui/collapsible/collapsible-content.svelte +0 -15
  472. package/dist/components/ui/collapsible/collapsible-content.svelte.d.ts +0 -28
  473. package/dist/components/ui/collapsible/index.d.ts +0 -5
  474. package/dist/components/ui/command/index.d.ts +0 -12
  475. package/dist/components/ui/context-menu/context-menu-label.svelte +0 -19
  476. package/dist/components/ui/context-menu/context-menu-label.svelte.d.ts +0 -32
  477. package/dist/components/ui/context-menu/context-menu-radio-group.svelte +0 -11
  478. package/dist/components/ui/context-menu/context-menu-radio-group.svelte.d.ts +0 -28
  479. package/dist/components/ui/context-menu/index.d.ts +0 -16
  480. package/dist/components/ui/dialog/dialog-portal.svelte +0 -8
  481. package/dist/components/ui/dialog/dialog-portal.svelte.d.ts +0 -28
  482. package/dist/components/ui/dialog/index.d.ts +0 -12
  483. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +0 -11
  484. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +0 -28
  485. package/dist/components/ui/dropdown-menu/index.d.ts +0 -16
  486. package/dist/components/ui/hover-card/index.d.ts +0 -5
  487. package/dist/components/ui/menubar/index.d.ts +0 -17
  488. package/dist/components/ui/menubar/menubar-label.svelte +0 -16
  489. package/dist/components/ui/menubar/menubar-label.svelte.d.ts +0 -32
  490. package/dist/components/ui/popover/index.d.ts +0 -6
  491. package/dist/components/ui/range-calendar/index.d.ts +0 -14
  492. package/dist/components/ui/range-calendar/range-calendar-grid-body.svelte +0 -13
  493. package/dist/components/ui/range-calendar/range-calendar-grid-body.svelte.d.ts +0 -28
  494. package/dist/components/ui/range-calendar/range-calendar-grid-head.svelte +0 -13
  495. package/dist/components/ui/range-calendar/range-calendar-grid-head.svelte.d.ts +0 -28
  496. package/dist/components/ui/select/index.d.ts +0 -11
  497. package/dist/components/ui/select/select-label.svelte +0 -13
  498. package/dist/components/ui/select/select-label.svelte.d.ts +0 -28
  499. package/dist/components/ui/sheet/index.d.ts +0 -114
  500. package/dist/components/ui/sheet/sheet-portal.svelte +0 -13
  501. package/dist/components/ui/sheet/sheet-portal.svelte.d.ts +0 -28
  502. package/dist/components/ui/tabs/index.d.ts +0 -6
  503. package/dist/components/ui/tooltip/index.d.ts +0 -5
@@ -0,0 +1,43 @@
1
+ <script lang="ts">
2
+ import { cn } from "../../../utils.js";
3
+ import type { WithElementRef } from "bits-ui";
4
+ import type { Snippet } from "svelte";
5
+ import type { HTMLButtonAttributes } from "svelte/elements";
6
+
7
+ let {
8
+ ref = $bindable(null),
9
+ class: className,
10
+ showOnHover = false,
11
+ children,
12
+ child,
13
+ ...restProps
14
+ }: WithElementRef<HTMLButtonAttributes> & {
15
+ child?: Snippet<[{ props: Record<string, unknown> }]>;
16
+ showOnHover?: boolean;
17
+ } = $props();
18
+
19
+ const mergedProps = $derived({
20
+ class: cn(
21
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
22
+ // Increases the hit area of the button on mobile.
23
+ "after:absolute after:-inset-2 after:md:hidden",
24
+ "peer-data-[size=sm]/menu-button:top-1",
25
+ "peer-data-[size=default]/menu-button:top-1.5",
26
+ "peer-data-[size=lg]/menu-button:top-2.5",
27
+ "group-data-[collapsible=icon]:hidden",
28
+ showOnHover &&
29
+ "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",
30
+ className
31
+ ),
32
+ "data-sidebar": "menu-action",
33
+ ...restProps,
34
+ });
35
+ </script>
36
+
37
+ {#if child}
38
+ {@render child({ props: mergedProps })}
39
+ {:else}
40
+ <button bind:this={ref} {...mergedProps}>
41
+ {@render children?.()}
42
+ </button>
43
+ {/if}
@@ -0,0 +1,11 @@
1
+ import type { Snippet } from "svelte";
2
+ import type { HTMLButtonAttributes } from "svelte/elements";
3
+ declare const SidebarMenuAction: import("svelte").Component<HTMLButtonAttributes & {
4
+ ref?: HTMLElement | null | undefined;
5
+ } & {
6
+ child?: Snippet<[{
7
+ props: Record<string, unknown>;
8
+ }]>;
9
+ showOnHover?: boolean;
10
+ }, {}, "ref">;
11
+ export default SidebarMenuAction;
@@ -0,0 +1,29 @@
1
+ <script lang="ts">
2
+ import { cn } from "../../../utils.js";
3
+ import type { WithElementRef } from "bits-ui";
4
+ import type { HTMLAttributes } from "svelte/elements";
5
+
6
+ let {
7
+ ref = $bindable(null),
8
+ class: className,
9
+ children,
10
+ ...restProps
11
+ }: WithElementRef<HTMLAttributes<HTMLElement>> = $props();
12
+ </script>
13
+
14
+ <div
15
+ bind:this={ref}
16
+ data-sidebar="menu-badge"
17
+ class={cn(
18
+ "text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums",
19
+ "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
20
+ "peer-data-[size=sm]/menu-button:top-1",
21
+ "peer-data-[size=default]/menu-button:top-1.5",
22
+ "peer-data-[size=lg]/menu-button:top-2.5",
23
+ "group-data-[collapsible=icon]:hidden",
24
+ className
25
+ )}
26
+ {...restProps}
27
+ >
28
+ {@render children?.()}
29
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { WithElementRef } from "bits-ui";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ declare const SidebarMenuBadge: import("svelte").Component<WithElementRef<HTMLAttributes<HTMLElement>>, {}, "ref">;
4
+ export default SidebarMenuBadge;
@@ -0,0 +1,95 @@
1
+ <script lang="ts" module>
2
+ import { tv, type VariantProps } from "tailwind-variants";
3
+
4
+ export const sidebarMenuButtonVariants = tv({
5
+ base: "peer/menu-button ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
6
+ variants: {
7
+ variant: {
8
+ default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
9
+ outline:
10
+ "bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]",
11
+ },
12
+ size: {
13
+ default: "h-8 text-sm",
14
+ sm: "h-7 text-xs",
15
+ lg: "h-12 text-sm group-data-[collapsible=icon]:!p-0",
16
+ },
17
+ },
18
+ defaultVariants: {
19
+ variant: "default",
20
+ size: "default",
21
+ },
22
+ });
23
+
24
+ export type SidebarMenuButtonVariant = VariantProps<typeof sidebarMenuButtonVariants>["variant"];
25
+ export type SidebarMenuButtonSize = VariantProps<typeof sidebarMenuButtonVariants>["size"];
26
+ </script>
27
+
28
+ <script lang="ts">
29
+ import * as Tooltip from "../tooltip/index.js";
30
+ import { cn } from "../../../utils.js";
31
+ import { mergeProps, type WithElementRef, type WithoutChildrenOrChild } from "bits-ui";
32
+ import type { ComponentProps, Snippet } from "svelte";
33
+ import type { HTMLAttributes } from "svelte/elements";
34
+ import { useSidebar } from "./context.svelte.js";
35
+
36
+ let {
37
+ ref = $bindable(null),
38
+ class: className,
39
+ children,
40
+ child,
41
+ variant = "default",
42
+ size = "default",
43
+ isActive = false,
44
+ tooltipContent,
45
+ tooltipContentProps,
46
+ ...restProps
47
+ }: WithElementRef<HTMLAttributes<HTMLButtonElement>, HTMLButtonElement> & {
48
+ isActive?: boolean;
49
+ variant?: SidebarMenuButtonVariant;
50
+ size?: SidebarMenuButtonSize;
51
+ tooltipContent?: Snippet;
52
+ tooltipContentProps?: WithoutChildrenOrChild<ComponentProps<typeof Tooltip.Content>>;
53
+ child?: Snippet<[{ props: Record<string, unknown> }]>;
54
+ } = $props();
55
+
56
+ const sidebar = useSidebar();
57
+
58
+ const buttonProps = $derived({
59
+ class: cn(sidebarMenuButtonVariants({ variant, size }), className),
60
+ "data-sidebar": "menu-button",
61
+ "data-size": size,
62
+ "data-active": isActive,
63
+ ...restProps,
64
+ });
65
+ </script>
66
+
67
+ {#snippet Button({ props }: { props?: Record<string, unknown> })}
68
+ {@const mergedProps = mergeProps(buttonProps, props)}
69
+ {#if child}
70
+ {@render child({ props: mergedProps })}
71
+ {:else}
72
+ <button bind:this={ref} {...mergedProps}>
73
+ {@render children?.()}
74
+ </button>
75
+ {/if}
76
+ {/snippet}
77
+
78
+ {#if !tooltipContent}
79
+ {@render Button({})}
80
+ {:else}
81
+ <Tooltip.Root>
82
+ <Tooltip.Trigger>
83
+ {#snippet child({ props })}
84
+ {@render Button({ props })}
85
+ {/snippet}
86
+ </Tooltip.Trigger>
87
+ <Tooltip.Content
88
+ side="right"
89
+ align="center"
90
+ hidden={sidebar.state !== "collapsed" || sidebar.isMobile}
91
+ children={tooltipContent}
92
+ {...tooltipContentProps}
93
+ />
94
+ </Tooltip.Root>
95
+ {/if}
@@ -0,0 +1,91 @@
1
+ import { type VariantProps } from "tailwind-variants";
2
+ export declare const sidebarMenuButtonVariants: import("tailwind-variants").TVReturnType<{
3
+ variant: {
4
+ default: string;
5
+ outline: string;
6
+ };
7
+ size: {
8
+ default: string;
9
+ sm: string;
10
+ lg: string;
11
+ };
12
+ }, undefined, "peer/menu-button ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", import("tailwind-variants/dist/config.js").TVConfig<{
13
+ variant: {
14
+ default: string;
15
+ outline: string;
16
+ };
17
+ size: {
18
+ default: string;
19
+ sm: string;
20
+ lg: string;
21
+ };
22
+ }, {
23
+ variant: {
24
+ default: string;
25
+ outline: string;
26
+ };
27
+ size: {
28
+ default: string;
29
+ sm: string;
30
+ lg: string;
31
+ };
32
+ }>, {
33
+ variant: {
34
+ default: string;
35
+ outline: string;
36
+ };
37
+ size: {
38
+ default: string;
39
+ sm: string;
40
+ lg: string;
41
+ };
42
+ }, undefined, import("tailwind-variants").TVReturnType<{
43
+ variant: {
44
+ default: string;
45
+ outline: string;
46
+ };
47
+ size: {
48
+ default: string;
49
+ sm: string;
50
+ lg: string;
51
+ };
52
+ }, undefined, "peer/menu-button ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", import("tailwind-variants/dist/config.js").TVConfig<{
53
+ variant: {
54
+ default: string;
55
+ outline: string;
56
+ };
57
+ size: {
58
+ default: string;
59
+ sm: string;
60
+ lg: string;
61
+ };
62
+ }, {
63
+ variant: {
64
+ default: string;
65
+ outline: string;
66
+ };
67
+ size: {
68
+ default: string;
69
+ sm: string;
70
+ lg: string;
71
+ };
72
+ }>, unknown, unknown, undefined>>;
73
+ export type SidebarMenuButtonVariant = VariantProps<typeof sidebarMenuButtonVariants>["variant"];
74
+ export type SidebarMenuButtonSize = VariantProps<typeof sidebarMenuButtonVariants>["size"];
75
+ import * as Tooltip from "../tooltip/index.js";
76
+ import { type WithoutChildrenOrChild } from "bits-ui";
77
+ import type { ComponentProps, Snippet } from "svelte";
78
+ import type { HTMLAttributes } from "svelte/elements";
79
+ declare const SidebarMenuButton: import("svelte").Component<HTMLAttributes<HTMLButtonElement> & {
80
+ ref?: HTMLButtonElement | null | undefined;
81
+ } & {
82
+ isActive?: boolean;
83
+ variant?: SidebarMenuButtonVariant;
84
+ size?: SidebarMenuButtonSize;
85
+ tooltipContent?: Snippet;
86
+ tooltipContentProps?: WithoutChildrenOrChild<ComponentProps<typeof Tooltip.Content>>;
87
+ child?: Snippet<[{
88
+ props: Record<string, unknown>;
89
+ }]>;
90
+ }, {}, "ref">;
91
+ export default SidebarMenuButton;
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { cn } from "../../../utils.js";
3
+ import type { WithElementRef } from "bits-ui";
4
+ import type { HTMLAttributes } from "svelte/elements";
5
+
6
+ let {
7
+ ref = $bindable(null),
8
+ class: className,
9
+ children,
10
+ ...restProps
11
+ }: WithElementRef<HTMLAttributes<HTMLLIElement>, HTMLLIElement> = $props();
12
+ </script>
13
+
14
+ <li bind:this={ref} data-sidebar="menu-item" class={cn("group/menu-item relative", className)} {...restProps}>
15
+ {@render children?.()}
16
+ </li>
@@ -0,0 +1,4 @@
1
+ import type { WithElementRef } from "bits-ui";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ declare const SidebarMenuItem: import("svelte").Component<WithElementRef<HTMLAttributes<HTMLLIElement>, HTMLLIElement>, {}, "ref">;
4
+ export default SidebarMenuItem;
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ import { Skeleton } from "../skeleton/index.js";
3
+ import { cn } from "../../../utils.js";
4
+ import type { WithElementRef } from "bits-ui";
5
+ import type { HTMLAttributes } from "svelte/elements";
6
+
7
+ let {
8
+ ref = $bindable(null),
9
+ class: className,
10
+ showIcon = false,
11
+ children,
12
+ ...restProps
13
+ }: WithElementRef<HTMLAttributes<HTMLElement>> & {
14
+ showIcon?: boolean;
15
+ } = $props();
16
+
17
+ // Random width between 50% and 90%
18
+ const width = `${Math.floor(Math.random() * 40) + 50}%`;
19
+ </script>
20
+
21
+ <div
22
+ bind:this={ref}
23
+ data-sidebar="menu-skeleton"
24
+ class={cn("flex h-8 items-center gap-2 rounded-md px-2", className)}
25
+ {...restProps}
26
+ >
27
+ {#if showIcon}
28
+ <Skeleton class="size-4 rounded-md" data-sidebar="menu-skeleton-icon" />
29
+ {/if}
30
+ <Skeleton
31
+ class="h-4 max-w-[--skeleton-width] flex-1"
32
+ data-sidebar="menu-skeleton-text"
33
+ style="--skeleton-width: {width};"
34
+ />
35
+ {@render children?.()}
36
+ </div>
@@ -0,0 +1,7 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ declare const SidebarMenuSkeleton: import("svelte").Component<HTMLAttributes<HTMLElement> & {
3
+ ref?: HTMLElement | null | undefined;
4
+ } & {
5
+ showIcon?: boolean;
6
+ }, {}, "ref">;
7
+ export default SidebarMenuSkeleton;
@@ -0,0 +1,43 @@
1
+ <script lang="ts">
2
+ import { cn } from "../../../utils.js";
3
+ import type { WithElementRef } from "bits-ui";
4
+ import type { Snippet } from "svelte";
5
+ import type { HTMLAnchorAttributes } from "svelte/elements";
6
+
7
+ let {
8
+ ref = $bindable(null),
9
+ children,
10
+ child,
11
+ class: className,
12
+ size = "md",
13
+ isActive,
14
+ ...restProps
15
+ }: WithElementRef<HTMLAnchorAttributes> & {
16
+ child?: Snippet<[{ props: Record<string, unknown> }]>;
17
+ size?: "sm" | "md";
18
+ isActive?: boolean;
19
+ } = $props();
20
+
21
+ const mergedProps = $derived({
22
+ class: cn(
23
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
24
+ "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
25
+ size === "sm" && "text-xs",
26
+ size === "md" && "text-sm",
27
+ "group-data-[collapsible=icon]:hidden",
28
+ className
29
+ ),
30
+ "data-sidebar": "menu-sub-button",
31
+ "data-size": size,
32
+ "data-active": isActive,
33
+ ...restProps,
34
+ });
35
+ </script>
36
+
37
+ {#if child}
38
+ {@render child({ props: mergedProps })}
39
+ {:else}
40
+ <a bind:this={ref} {...mergedProps}>
41
+ {@render children?.()}
42
+ </a>
43
+ {/if}
@@ -0,0 +1,12 @@
1
+ import type { Snippet } from "svelte";
2
+ import type { HTMLAnchorAttributes } from "svelte/elements";
3
+ declare const SidebarMenuSubButton: import("svelte").Component<HTMLAnchorAttributes & {
4
+ ref?: HTMLElement | null | undefined;
5
+ } & {
6
+ child?: Snippet<[{
7
+ props: Record<string, unknown>;
8
+ }]>;
9
+ size?: "sm" | "md";
10
+ isActive?: boolean;
11
+ }, {}, "ref">;
12
+ export default SidebarMenuSubButton;
@@ -0,0 +1,10 @@
1
+ <script lang="ts">
2
+ import type { WithElementRef } from "bits-ui";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+
5
+ let { ref = $bindable(null), children, ...restProps }: WithElementRef<HTMLAttributes<HTMLLIElement>> = $props();
6
+ </script>
7
+
8
+ <li bind:this={ref} data-sidebar="menu-sub-item" {...restProps}>
9
+ {@render children?.()}
10
+ </li>
@@ -0,0 +1,4 @@
1
+ import type { WithElementRef } from "bits-ui";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ declare const SidebarMenuSubItem: import("svelte").Component<WithElementRef<HTMLAttributes<HTMLLIElement>>, {}, "ref">;
4
+ export default SidebarMenuSubItem;
@@ -0,0 +1,25 @@
1
+ <script lang="ts">
2
+ import { cn } from "../../../utils.js";
3
+ import type { WithElementRef } from "bits-ui";
4
+ import type { HTMLAttributes } from "svelte/elements";
5
+
6
+ let {
7
+ ref = $bindable(null),
8
+ class: className,
9
+ children,
10
+ ...restProps
11
+ }: WithElementRef<HTMLAttributes<HTMLUListElement>> = $props();
12
+ </script>
13
+
14
+ <ul
15
+ bind:this={ref}
16
+ data-sidebar="menu-sub"
17
+ class={cn(
18
+ "border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5",
19
+ "group-data-[collapsible=icon]:hidden",
20
+ className
21
+ )}
22
+ {...restProps}
23
+ >
24
+ {@render children?.()}
25
+ </ul>
@@ -0,0 +1,4 @@
1
+ import type { WithElementRef } from "bits-ui";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ declare const SidebarMenuSub: import("svelte").Component<WithElementRef<HTMLAttributes<HTMLUListElement>>, {}, "ref">;
4
+ export default SidebarMenuSub;
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { cn } from "../../../utils.js";
3
+ import type { WithElementRef } from "bits-ui";
4
+ import type { HTMLAttributes } from "svelte/elements";
5
+
6
+ let {
7
+ ref = $bindable(null),
8
+ class: className,
9
+ children,
10
+ ...restProps
11
+ }: WithElementRef<HTMLAttributes<HTMLUListElement>, HTMLUListElement> = $props();
12
+ </script>
13
+
14
+ <ul bind:this={ref} data-sidebar="menu" class={cn("flex w-full min-w-0 flex-col gap-1", className)} {...restProps}>
15
+ {@render children?.()}
16
+ </ul>
@@ -0,0 +1,4 @@
1
+ import type { WithElementRef } from "bits-ui";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ declare const SidebarMenu: import("svelte").Component<WithElementRef<HTMLAttributes<HTMLUListElement>, HTMLUListElement>, {}, "ref">;
4
+ export default SidebarMenu;
@@ -0,0 +1,51 @@
1
+ <script lang="ts">
2
+ import * as Tooltip from "../tooltip/index.js";
3
+ import { cn } from "../../../utils.js";
4
+ import type { WithElementRef } from "bits-ui";
5
+ import type { HTMLAttributes } from "svelte/elements";
6
+ import { SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON } from "./constants.js";
7
+ import { setSidebar } from "./context.svelte.js";
8
+
9
+ let {
10
+ ref = $bindable(null),
11
+ open = $bindable(true),
12
+ onOpenChange = () => {},
13
+ controlledOpen = false,
14
+ class: className,
15
+ style,
16
+ children,
17
+ ...restProps
18
+ }: WithElementRef<HTMLAttributes<HTMLDivElement>> & {
19
+ open?: boolean;
20
+ onOpenChange?: (open: boolean) => void;
21
+ controlledOpen?: boolean;
22
+ } = $props();
23
+
24
+ const sidebar = setSidebar({
25
+ open: () => open,
26
+ setOpen: (value: boolean) => {
27
+ if (controlledOpen) {
28
+ onOpenChange(value);
29
+ } else {
30
+ open = value;
31
+ onOpenChange(value);
32
+ }
33
+
34
+ // This sets the cookie to keep the sidebar state.
35
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${open}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
36
+ },
37
+ });
38
+ </script>
39
+
40
+ <svelte:window onkeydown={sidebar.handleShortcutKeydown} />
41
+
42
+ <Tooltip.Provider delayDuration={0}>
43
+ <div
44
+ style="--sidebar-width: {SIDEBAR_WIDTH}; --sidebar-width-icon: {SIDEBAR_WIDTH_ICON}; {style}"
45
+ class={cn("group/sidebar-wrapper has-[[data-variant=inset]]:bg-sidebar flex min-h-svh w-full", className)}
46
+ bind:this={ref}
47
+ {...restProps}
48
+ >
49
+ {@render children?.()}
50
+ </div>
51
+ </Tooltip.Provider>
@@ -0,0 +1,9 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ declare const SidebarProvider: import("svelte").Component<HTMLAttributes<HTMLDivElement> & {
3
+ ref?: HTMLElement | null | undefined;
4
+ } & {
5
+ open?: boolean;
6
+ onOpenChange?: (open: boolean) => void;
7
+ controlledOpen?: boolean;
8
+ }, {}, "ref" | "open">;
9
+ export default SidebarProvider;
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ import { cn } from "../../../utils.js";
3
+ import type { WithElementRef } from "bits-ui";
4
+ import type { HTMLAttributes } from "svelte/elements";
5
+ import { useSidebar } from "./context.svelte.js";
6
+
7
+ let {
8
+ ref = $bindable(null),
9
+ class: className,
10
+ children,
11
+ ...restProps
12
+ }: WithElementRef<HTMLAttributes<HTMLButtonElement>, HTMLButtonElement> = $props();
13
+
14
+ const sidebar = useSidebar();
15
+ </script>
16
+
17
+ <button
18
+ bind:this={ref}
19
+ data-sidebar="rail"
20
+ aria-label="Toggle Sidebar"
21
+ tabIndex={-1}
22
+ onclick={() => sidebar.toggle()}
23
+ title="Toggle Sidebar"
24
+ class={cn(
25
+ "hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
26
+ "[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize",
27
+ "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
28
+ "group-data-[collapsible=offcanvas]:hover:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full",
29
+ "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
30
+ "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
31
+ className
32
+ )}
33
+ {...restProps}
34
+ >
35
+ {@render children?.()}
36
+ </button>
@@ -0,0 +1,4 @@
1
+ import type { WithElementRef } from "bits-ui";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ declare const SidebarRail: import("svelte").Component<WithElementRef<HTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}, "ref">;
4
+ export default SidebarRail;
@@ -0,0 +1,9 @@
1
+ <script lang="ts">
2
+ import { Separator } from "../separator/index.js";
3
+ import { cn } from "../../../utils.js";
4
+ import type { ComponentProps } from "svelte";
5
+
6
+ let { ref = $bindable(null), class: className, ...restProps }: ComponentProps<typeof Separator> = $props();
7
+ </script>
8
+
9
+ <Separator bind:ref data-sidebar="separator" class={cn("bg-sidebar-border mx-2 w-auto", className)} {...restProps} />
@@ -0,0 +1,12 @@
1
+ declare const SidebarSeparator: import("svelte").Component<Omit<{
2
+ orientation?: import("bits-ui").Orientation;
3
+ decorative?: boolean;
4
+ }, "child" | "children"> & {
5
+ child?: import("svelte").Snippet<[{
6
+ props: Record<string, unknown>;
7
+ }]> | undefined;
8
+ children?: import("svelte").Snippet<[]> | undefined;
9
+ style?: import("bits-ui").StyleProperties | string | null | undefined;
10
+ ref?: HTMLElement | null | undefined;
11
+ } & import("bits-ui").Without<import("bits-ui").BitsPrimitiveDivAttributes, import("bits-ui").SeparatorRootPropsWithoutHTML>, {}, "ref">;
12
+ export default SidebarSeparator;
@@ -0,0 +1,34 @@
1
+ <script lang="ts">
2
+ import { Button } from "../button/index.js";
3
+ import { cn } from "../../../utils.js";
4
+ import PanelLeft from "lucide-svelte/icons/panel-left";
5
+ import type { ComponentProps } from "svelte";
6
+ import { useSidebar } from "./context.svelte.js";
7
+
8
+ let {
9
+ ref = $bindable(null),
10
+ class: className,
11
+ onclick,
12
+ ...restProps
13
+ }: ComponentProps<typeof Button> & {
14
+ onclick?: (e: MouseEvent) => void;
15
+ } = $props();
16
+
17
+ const sidebar = useSidebar();
18
+ </script>
19
+
20
+ <Button
21
+ type="button"
22
+ onclick={(e) => {
23
+ onclick?.(e);
24
+ sidebar.toggle();
25
+ }}
26
+ data-sidebar="trigger"
27
+ variant="ghost"
28
+ size="icon"
29
+ class={cn("h-7 w-7", className)}
30
+ {...restProps}
31
+ >
32
+ <PanelLeft />
33
+ <span class="sr-only">Toggle Sidebar</span>
34
+ </Button>
@@ -0,0 +1,9 @@
1
+ declare const SidebarTrigger: import("svelte").Component<import("svelte/elements.js").HTMLButtonAttributes & {
2
+ ref?: HTMLElement | null | undefined;
3
+ } & import("svelte/elements.js").HTMLAnchorAttributes & {
4
+ variant?: import("../button/index.js").ButtonVariant;
5
+ size?: import("../button/index.js").ButtonSize;
6
+ } & {
7
+ onclick?: (e: MouseEvent) => void;
8
+ }, {}, "ref">;
9
+ export default SidebarTrigger;