@kayord/ui 2.1.14 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/dist/components/ui/accordion/accordion-content.svelte +7 -2
  2. package/dist/components/ui/accordion/accordion-item.svelte +1 -1
  3. package/dist/components/ui/accordion/accordion-trigger.svelte +9 -3
  4. package/dist/components/ui/accordion/accordion.svelte +14 -2
  5. package/dist/components/ui/alert/alert-action.svelte +15 -0
  6. package/dist/components/ui/alert/alert-action.svelte.d.ts +5 -0
  7. package/dist/components/ui/alert/alert-description.svelte +1 -1
  8. package/dist/components/ui/alert/alert-title.svelte +4 -1
  9. package/dist/components/ui/alert/alert.svelte +2 -2
  10. package/dist/components/ui/alert/alert.svelte.d.ts +2 -2
  11. package/dist/components/ui/alert/index.d.ts +2 -1
  12. package/dist/components/ui/alert/index.js +3 -2
  13. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte +12 -3
  14. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +6 -1
  15. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte +12 -3
  16. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +6 -1
  17. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +4 -1
  18. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +1 -0
  19. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +4 -1
  20. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +4 -1
  21. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +4 -1
  22. package/dist/components/ui/alert-dialog/alert-dialog-media.svelte +23 -0
  23. package/dist/components/ui/alert-dialog/alert-dialog-media.svelte.d.ts +5 -0
  24. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +1 -1
  25. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +4 -1
  26. package/dist/components/ui/alert-dialog/index.d.ts +2 -1
  27. package/dist/components/ui/alert-dialog/index.js +3 -2
  28. package/dist/components/ui/avatar/avatar-badge.svelte +26 -0
  29. package/dist/components/ui/avatar/avatar-badge.svelte.d.ts +5 -0
  30. package/dist/components/ui/avatar/avatar-fallback.svelte +4 -1
  31. package/dist/components/ui/avatar/avatar-group-count.svelte +23 -0
  32. package/dist/components/ui/avatar/avatar-group-count.svelte.d.ts +5 -0
  33. package/dist/components/ui/avatar/avatar-group.svelte +23 -0
  34. package/dist/components/ui/avatar/avatar-group.svelte.d.ts +5 -0
  35. package/dist/components/ui/avatar/avatar-image.svelte +1 -1
  36. package/dist/components/ui/avatar/avatar.svelte +9 -2
  37. package/dist/components/ui/avatar/avatar.svelte.d.ts +4 -1
  38. package/dist/components/ui/avatar/index.d.ts +4 -1
  39. package/dist/components/ui/avatar/index.js +5 -2
  40. package/dist/components/ui/badge/badge.svelte +7 -5
  41. package/dist/components/ui/badge/badge.svelte.d.ts +8 -2
  42. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +3 -3
  43. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +1 -6
  44. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +1 -1
  45. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +1 -1
  46. package/dist/components/ui/breadcrumb/breadcrumb.svelte +8 -1
  47. package/dist/components/ui/button/button.svelte +18 -13
  48. package/dist/components/ui/button/button.svelte.d.ts +11 -5
  49. package/dist/components/ui/button-group/button-group-separator.svelte +4 -1
  50. package/dist/components/ui/button-group/button-group-text.svelte +2 -1
  51. package/dist/components/ui/button-group/button-group.svelte +3 -3
  52. package/dist/components/ui/button-group/button-group.svelte.d.ts +2 -2
  53. package/dist/components/ui/button-group/index.d.ts +2 -2
  54. package/dist/components/ui/button-group/index.js +2 -2
  55. package/dist/components/ui/calendar/calendar-cell.svelte +1 -1
  56. package/dist/components/ui/calendar/calendar-day.svelte +4 -6
  57. package/dist/components/ui/calendar/calendar-grid.svelte +1 -5
  58. package/dist/components/ui/calendar/calendar-month-select.svelte +2 -2
  59. package/dist/components/ui/calendar/calendar-month.svelte +1 -1
  60. package/dist/components/ui/calendar/calendar-next-button.svelte +7 -2
  61. package/dist/components/ui/calendar/calendar-prev-button.svelte +7 -2
  62. package/dist/components/ui/calendar/calendar-year-select.svelte +1 -1
  63. package/dist/components/ui/calendar/calendar.svelte +1 -1
  64. package/dist/components/ui/card/card-action.svelte +1 -1
  65. package/dist/components/ui/card/card-content.svelte +6 -1
  66. package/dist/components/ui/card/card-footer.svelte +1 -1
  67. package/dist/components/ui/card/card-header.svelte +1 -1
  68. package/dist/components/ui/card/card-title.svelte +6 -1
  69. package/dist/components/ui/card/card.svelte +7 -2
  70. package/dist/components/ui/card/card.svelte.d.ts +4 -1
  71. package/dist/components/ui/carousel/carousel-next.svelte +5 -4
  72. package/dist/components/ui/carousel/carousel-previous.svelte +5 -4
  73. package/dist/components/ui/carousel/carousel.svelte +1 -0
  74. package/dist/components/ui/chart/chart-container.svelte +1 -1
  75. package/dist/components/ui/chart/chart-tooltip.svelte +1 -0
  76. package/dist/components/ui/checkbox/checkbox.svelte +5 -5
  77. package/dist/components/ui/command/command-dialog.svelte +12 -10
  78. package/dist/components/ui/command/command-dialog.svelte.d.ts +3 -1
  79. package/dist/components/ui/command/command-group.svelte +4 -1
  80. package/dist/components/ui/command/command-input.svelte +17 -13
  81. package/dist/components/ui/command/command-item.svelte +9 -3
  82. package/dist/components/ui/command/command-list.svelte +1 -1
  83. package/dist/components/ui/command/command-shortcut.svelte +4 -1
  84. package/dist/components/ui/command/command.svelte +1 -1
  85. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte +7 -4
  86. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte.d.ts +1 -0
  87. package/dist/components/ui/context-menu/context-menu-content.svelte +1 -1
  88. package/dist/components/ui/context-menu/context-menu-group-heading.svelte +1 -1
  89. package/dist/components/ui/context-menu/context-menu-item.svelte +1 -1
  90. package/dist/components/ui/context-menu/context-menu-label.svelte +1 -1
  91. package/dist/components/ui/context-menu/context-menu-radio-item.svelte +9 -5
  92. package/dist/components/ui/context-menu/context-menu-radio-item.svelte.d.ts +5 -1
  93. package/dist/components/ui/context-menu/context-menu-shortcut.svelte +4 -1
  94. package/dist/components/ui/context-menu/context-menu-sub-content.svelte +1 -1
  95. package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte +3 -3
  96. package/dist/components/ui/context-menu/context-menu-trigger.svelte +8 -2
  97. package/dist/components/ui/dialog/dialog-close.svelte +2 -2
  98. package/dist/components/ui/dialog/dialog-content.svelte +10 -7
  99. package/dist/components/ui/dialog/dialog-description.svelte +4 -1
  100. package/dist/components/ui/dialog/dialog-footer.svelte +17 -2
  101. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +4 -1
  102. package/dist/components/ui/dialog/dialog-header.svelte +1 -6
  103. package/dist/components/ui/dialog/dialog-overlay.svelte +1 -1
  104. package/dist/components/ui/dialog/dialog-title.svelte +1 -1
  105. package/dist/components/ui/dialog/dialog-trigger.svelte +2 -2
  106. package/dist/components/ui/drawer/drawer-content.svelte +2 -6
  107. package/dist/components/ui/drawer/drawer-header.svelte +9 -1
  108. package/dist/components/ui/drawer/drawer-overlay.svelte +1 -1
  109. package/dist/components/ui/drawer/drawer-title.svelte +1 -1
  110. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +9 -6
  111. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +3 -1
  112. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +1 -1
  113. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +1 -1
  114. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +7 -4
  115. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +4 -1
  116. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
  117. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +2 -2
  118. package/dist/components/ui/empty/empty-content.svelte +1 -1
  119. package/dist/components/ui/empty/empty-description.svelte +1 -1
  120. package/dist/components/ui/empty/empty-header.svelte +1 -1
  121. package/dist/components/ui/empty/empty-media.svelte +1 -1
  122. package/dist/components/ui/empty/empty-title.svelte +1 -1
  123. package/dist/components/ui/empty/empty.svelte +1 -1
  124. package/dist/components/ui/field/field-content.svelte +1 -1
  125. package/dist/components/ui/field/field-description.svelte +2 -2
  126. package/dist/components/ui/field/field-error.svelte +1 -1
  127. package/dist/components/ui/field/field-group.svelte +1 -1
  128. package/dist/components/ui/field/field-label.svelte +2 -3
  129. package/dist/components/ui/field/field-legend.svelte +1 -1
  130. package/dist/components/ui/field/field-separator.svelte +1 -1
  131. package/dist/components/ui/field/field-set.svelte +1 -2
  132. package/dist/components/ui/field/field-title.svelte +1 -1
  133. package/dist/components/ui/field/field.svelte +6 -12
  134. package/dist/components/ui/field/field.svelte.d.ts +8 -8
  135. package/dist/components/ui/hover-card/hover-card-content.svelte +1 -1
  136. package/dist/components/ui/input/input.svelte +2 -6
  137. package/dist/components/ui/input-group/input-group-addon.svelte +5 -5
  138. package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +2 -2
  139. package/dist/components/ui/input-group/input-group-button.svelte +4 -4
  140. package/dist/components/ui/input-group/input-group-button.svelte.d.ts +2 -2
  141. package/dist/components/ui/input-group/input-group-input.svelte +1 -1
  142. package/dist/components/ui/input-group/input-group-textarea.svelte +1 -1
  143. package/dist/components/ui/input-group/input-group.svelte +1 -15
  144. package/dist/components/ui/input-otp/input-otp-group.svelte +9 -1
  145. package/dist/components/ui/input-otp/input-otp-separator.svelte +14 -2
  146. package/dist/components/ui/input-otp/input-otp-slot.svelte +3 -5
  147. package/dist/components/ui/input-otp/input-otp.svelte +5 -1
  148. package/dist/components/ui/item/item-content.svelte +4 -1
  149. package/dist/components/ui/item/item-description.svelte +1 -2
  150. package/dist/components/ui/item/item-group.svelte +4 -1
  151. package/dist/components/ui/item/item-media.svelte +4 -3
  152. package/dist/components/ui/item/item-media.svelte.d.ts +2 -2
  153. package/dist/components/ui/item/item-separator.svelte +1 -1
  154. package/dist/components/ui/item/item-title.svelte +4 -1
  155. package/dist/components/ui/item/item.svelte +6 -5
  156. package/dist/components/ui/item/item.svelte.d.ts +5 -2
  157. package/dist/components/ui/kbd/kbd.svelte +1 -3
  158. package/dist/components/ui/menubar/menubar-checkbox-item.svelte +13 -8
  159. package/dist/components/ui/menubar/menubar-checkbox-item.svelte.d.ts +1 -0
  160. package/dist/components/ui/menubar/menubar-content.svelte +2 -2
  161. package/dist/components/ui/menubar/menubar-item.svelte +1 -1
  162. package/dist/components/ui/menubar/menubar-label.svelte +1 -1
  163. package/dist/components/ui/menubar/menubar-radio-item.svelte +11 -5
  164. package/dist/components/ui/menubar/menubar-radio-item.svelte.d.ts +5 -1
  165. package/dist/components/ui/menubar/menubar-shortcut.svelte +4 -1
  166. package/dist/components/ui/menubar/menubar-sub-content.svelte +1 -1
  167. package/dist/components/ui/menubar/menubar-sub-trigger.svelte +3 -3
  168. package/dist/components/ui/menubar/menubar-trigger.svelte +1 -1
  169. package/dist/components/ui/menubar/menubar.svelte +1 -1
  170. package/dist/components/ui/native-select/native-select.svelte +15 -10
  171. package/dist/components/ui/native-select/native-select.svelte.d.ts +4 -1
  172. package/dist/components/ui/navigation-menu/navigation-menu-content.svelte +1 -2
  173. package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte +1 -1
  174. package/dist/components/ui/navigation-menu/navigation-menu-item.svelte +1 -1
  175. package/dist/components/ui/navigation-menu/navigation-menu-link.svelte +1 -1
  176. package/dist/components/ui/navigation-menu/navigation-menu-list.svelte +1 -1
  177. package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte +2 -4
  178. package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte.d.ts +1 -1
  179. package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte +1 -1
  180. package/dist/components/ui/navigation-menu/navigation-menu.svelte +1 -2
  181. package/dist/components/ui/pagination/index.d.ts +4 -4
  182. package/dist/components/ui/pagination/index.js +4 -4
  183. package/dist/components/ui/pagination/pagination-content.svelte +1 -6
  184. package/dist/components/ui/pagination/pagination-ellipsis.svelte +7 -4
  185. package/dist/components/ui/pagination/pagination-ellipsis.svelte.d.ts +1 -1
  186. package/dist/components/ui/pagination/pagination-link.svelte +14 -15
  187. package/dist/components/ui/pagination/pagination-link.svelte.d.ts +3 -2
  188. package/dist/components/ui/pagination/pagination-next-button.svelte +9 -11
  189. package/dist/components/ui/pagination/pagination-next.svelte +10 -20
  190. package/dist/components/ui/pagination/pagination-next.svelte.d.ts +13 -2
  191. package/dist/components/ui/pagination/pagination-prev-button.svelte +9 -11
  192. package/dist/components/ui/pagination/pagination-previous.svelte +10 -20
  193. package/dist/components/ui/pagination/pagination-previous.svelte.d.ts +13 -2
  194. package/dist/components/ui/pagination/pagination.svelte +1 -1
  195. package/dist/components/ui/popover/index.d.ts +4 -1
  196. package/dist/components/ui/popover/index.js +5 -2
  197. package/dist/components/ui/popover/popover-content.svelte +1 -1
  198. package/dist/components/ui/popover/popover-description.svelte +15 -0
  199. package/dist/components/ui/popover/popover-description.svelte.d.ts +5 -0
  200. package/dist/components/ui/popover/popover-header.svelte +15 -0
  201. package/dist/components/ui/popover/popover-header.svelte.d.ts +5 -0
  202. package/dist/components/ui/popover/popover-title.svelte +15 -0
  203. package/dist/components/ui/popover/popover-title.svelte.d.ts +5 -0
  204. package/dist/components/ui/progress/progress.svelte +2 -2
  205. package/dist/components/ui/radio-group/radio-group-item.svelte +5 -3
  206. package/dist/components/ui/radio-group/radio-group.svelte +1 -1
  207. package/dist/components/ui/range-calendar/range-calendar-cell.svelte +1 -1
  208. package/dist/components/ui/range-calendar/range-calendar-day.svelte +4 -7
  209. package/dist/components/ui/range-calendar/range-calendar-month-select.svelte +1 -1
  210. package/dist/components/ui/range-calendar/range-calendar-next-button.svelte +7 -2
  211. package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte +7 -2
  212. package/dist/components/ui/range-calendar/range-calendar-year-select.svelte +1 -1
  213. package/dist/components/ui/range-calendar/range-calendar.svelte +1 -1
  214. package/dist/components/ui/resizable/resizable-handle.svelte +2 -5
  215. package/dist/components/ui/resizable/resizable-pane-group.svelte +2 -1
  216. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +2 -3
  217. package/dist/components/ui/scroll-area/scroll-area.svelte +1 -1
  218. package/dist/components/ui/select/select-content.svelte +2 -2
  219. package/dist/components/ui/select/select-group.svelte +3 -2
  220. package/dist/components/ui/select/select-item.svelte +3 -3
  221. package/dist/components/ui/select/select-label.svelte +1 -1
  222. package/dist/components/ui/select/select-scroll-down-button.svelte +6 -3
  223. package/dist/components/ui/select/select-scroll-up-button.svelte +6 -3
  224. package/dist/components/ui/select/select-trigger.svelte +3 -3
  225. package/dist/components/ui/separator/separator.svelte +3 -1
  226. package/dist/components/ui/sheet/sheet-content.svelte +20 -27
  227. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +2 -24
  228. package/dist/components/ui/sheet/sheet-header.svelte +1 -1
  229. package/dist/components/ui/sheet/sheet-overlay.svelte +1 -4
  230. package/dist/components/ui/sheet/sheet-title.svelte +1 -1
  231. package/dist/components/ui/sidebar/sidebar-content.svelte +1 -1
  232. package/dist/components/ui/sidebar/sidebar-group-action.svelte +1 -4
  233. package/dist/components/ui/sidebar/sidebar-group-label.svelte +1 -2
  234. package/dist/components/ui/sidebar/sidebar-inset.svelte +1 -2
  235. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +2 -8
  236. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +1 -6
  237. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +2 -2
  238. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +2 -2
  239. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +1 -5
  240. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +1 -2
  241. package/dist/components/ui/sidebar/sidebar-menu.svelte +1 -1
  242. package/dist/components/ui/sidebar/sidebar-rail.svelte +4 -4
  243. package/dist/components/ui/sidebar/sidebar-separator.svelte +1 -1
  244. package/dist/components/ui/sidebar/sidebar-trigger.svelte +3 -3
  245. package/dist/components/ui/sidebar/sidebar.svelte +3 -3
  246. package/dist/components/ui/skeleton/skeleton.svelte +1 -1
  247. package/dist/components/ui/slider/slider.svelte +8 -8
  248. package/dist/components/ui/sonner/sonner.svelte +6 -6
  249. package/dist/components/ui/spinner/spinner.svelte +18 -4
  250. package/dist/components/ui/spinner/spinner.svelte.d.ts +2 -1
  251. package/dist/components/ui/switch/switch.svelte +7 -5
  252. package/dist/components/ui/switch/switch.svelte.d.ts +5 -1
  253. package/dist/components/ui/table/table-cell.svelte +1 -1
  254. package/dist/components/ui/table/table-head.svelte +1 -1
  255. package/dist/components/ui/table/table-row.svelte +1 -4
  256. package/dist/components/ui/tabs/index.d.ts +2 -2
  257. package/dist/components/ui/tabs/index.js +2 -2
  258. package/dist/components/ui/tabs/tabs-content.svelte +6 -1
  259. package/dist/components/ui/tabs/tabs-list.svelte +29 -5
  260. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +22 -1
  261. package/dist/components/ui/tabs/tabs-trigger.svelte +4 -1
  262. package/dist/components/ui/tabs/tabs.svelte +7 -1
  263. package/dist/components/ui/textarea/textarea.svelte +1 -1
  264. package/dist/components/ui/toggle/toggle.svelte +5 -5
  265. package/dist/components/ui/toggle/toggle.svelte.d.ts +2 -2
  266. package/dist/components/ui/toggle-group/toggle-group-item.svelte +1 -1
  267. package/dist/components/ui/toggle-group/toggle-group.svelte +21 -5
  268. package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +2 -0
  269. package/dist/components/ui/tooltip/tooltip-content.svelte +6 -6
  270. package/dist/components/ui/tooltip/tooltip-provider.svelte +2 -2
  271. package/dist/components/ui/tooltip/tooltip.svelte +4 -1
  272. package/package.json +16 -16
@@ -24,7 +24,7 @@
24
24
  <ScrollAreaPrimitive.Viewport
25
25
  bind:ref={viewportRef}
26
26
  data-slot="scroll-area-viewport"
27
- class="ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1"
27
+ class="cn-scroll-area-viewport focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1"
28
28
  >
29
29
  {@render children?.()}
30
30
  </ScrollAreaPrimitive.Viewport>
@@ -27,14 +27,14 @@
27
27
  {preventScroll}
28
28
  data-slot="select-content"
29
29
  class={cn(
30
- "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--bits-select-content-available-height) min-w-[8rem] origin-(--bits-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
30
+ "bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 relative isolate z-50 min-w-36 overflow-x-hidden overflow-y-auto rounded-lg shadow-md ring-1 duration-100",
31
31
  className
32
32
  )}
33
33
  {...restProps}
34
34
  >
35
35
  <SelectScrollUpButton />
36
36
  <SelectPrimitive.Viewport
37
- class={cn("h-(--bits-select-anchor-height) w-full min-w-(--bits-select-anchor-width) scroll-my-1 p-1")}
37
+ class={cn("h-(--bits-select-anchor-height) w-full min-w-(--bits-select-anchor-width) scroll-my-1")}
38
38
  >
39
39
  {@render children?.()}
40
40
  </SelectPrimitive.Viewport>
@@ -1,7 +1,8 @@
1
1
  <script lang="ts">
2
2
  import { Select as SelectPrimitive } from "bits-ui";
3
+ import { cn } from "../../../utils.js";
3
4
 
4
- let { ref = $bindable(null), ...restProps }: SelectPrimitive.GroupProps = $props();
5
+ let { ref = $bindable(null), class: className, ...restProps }: SelectPrimitive.GroupProps = $props();
5
6
  </script>
6
7
 
7
- <SelectPrimitive.Group bind:ref data-slot="select-group" {...restProps} />
8
+ <SelectPrimitive.Group bind:ref data-slot="select-group" class={cn("scroll-my-1 p-1", className)} {...restProps} />
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
- import CheckIcon from "@lucide/svelte/icons/check";
3
2
  import { Select as SelectPrimitive } from "bits-ui";
4
3
  import { cn, type WithoutChild } from "../../../utils.js";
4
+ import CheckIcon from "@lucide/svelte/icons/check";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -18,7 +18,7 @@
18
18
  {value}
19
19
  data-slot="select-item"
20
20
  class={cn(
21
- "data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
21
+ "focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground focus:bg-accent data-highlighted:bg-accent data-highlighted:text-accent-foreground focus:text-accent-foreground relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
22
22
  className
23
23
  )}
24
24
  {...restProps}
@@ -26,7 +26,7 @@
26
26
  {#snippet children({ selected, highlighted })}
27
27
  <span class="absolute end-2 flex size-3.5 items-center justify-center">
28
28
  {#if selected}
29
- <CheckIcon class="size-4" />
29
+ <CheckIcon class="cn-select-item-indicator-icon" />
30
30
  {/if}
31
31
  </span>
32
32
  {#if childrenProp}
@@ -13,7 +13,7 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="select-label"
16
- class={cn("text-muted-foreground px-2 py-1.5 text-xs", className)}
16
+ class={cn("text-muted-foreground px-1.5 py-1 text-xs", className)}
17
17
  {...restProps}
18
18
  >
19
19
  {@render children?.()}
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
- import ChevronDownIcon from "@lucide/svelte/icons/chevron-down";
3
2
  import { Select as SelectPrimitive } from "bits-ui";
4
3
  import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
4
+ import ChevronDownIcon from "@lucide/svelte/icons/chevron-down";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -13,8 +13,11 @@
13
13
  <SelectPrimitive.ScrollDownButton
14
14
  bind:ref
15
15
  data-slot="select-scroll-down-button"
16
- class={cn("flex cursor-default items-center justify-center py-1", className)}
16
+ class={cn(
17
+ "bg-popover bottom-0 z-10 flex w-full cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",
18
+ className
19
+ )}
17
20
  {...restProps}
18
21
  >
19
- <ChevronDownIcon class="size-4" />
22
+ <ChevronDownIcon />
20
23
  </SelectPrimitive.ScrollDownButton>
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
- import ChevronUpIcon from "@lucide/svelte/icons/chevron-up";
3
2
  import { Select as SelectPrimitive } from "bits-ui";
4
3
  import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
4
+ import ChevronUpIcon from "@lucide/svelte/icons/chevron-up";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -13,8 +13,11 @@
13
13
  <SelectPrimitive.ScrollUpButton
14
14
  bind:ref
15
15
  data-slot="select-scroll-up-button"
16
- class={cn("flex cursor-default items-center justify-center py-1", className)}
16
+ class={cn(
17
+ "bg-popover top-0 z-10 flex w-full cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",
18
+ className
19
+ )}
17
20
  {...restProps}
18
21
  >
19
- <ChevronUpIcon class="size-4" />
22
+ <ChevronUpIcon />
20
23
  </SelectPrimitive.ScrollUpButton>
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { Select as SelectPrimitive } from "bits-ui";
3
- import ChevronDownIcon from "@lucide/svelte/icons/chevron-down";
4
3
  import { cn, type WithoutChild } from "../../../utils.js";
4
+ import ChevronDownIcon from "@lucide/svelte/icons/chevron-down";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -19,11 +19,11 @@
19
19
  data-slot="select-trigger"
20
20
  data-size={size}
21
21
  class={cn(
22
- "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none select-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
22
+ "border-input data-placeholder:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 flex w-fit items-center justify-between gap-1.5 rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:ring-3 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-3 data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
23
23
  className
24
24
  )}
25
25
  {...restProps}
26
26
  >
27
27
  {@render children?.()}
28
- <ChevronDownIcon class="size-4 opacity-50" />
28
+ <ChevronDownIcon class="text-muted-foreground pointer-events-none size-4" />
29
29
  </SelectPrimitive.Trigger>
@@ -14,7 +14,9 @@
14
14
  bind:ref
15
15
  data-slot={dataSlot}
16
16
  class={cn(
17
- "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:min-h-full data-[orientation=vertical]:w-px",
17
+ "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px",
18
+ // this is different in shadcn/ui but self-stretch breaks things for us
19
+ "data-[orientation=vertical]:h-full",
18
20
  className
19
21
  )}
20
22
  {...restProps}
@@ -1,31 +1,14 @@
1
1
  <script lang="ts" module>
2
- import { tv, type VariantProps } from "tailwind-variants";
3
- export const sheetVariants = tv({
4
- base: "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
5
- variants: {
6
- side: {
7
- top: "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",
8
- bottom:
9
- "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",
10
- left: "data-[state=closed]:slide-out-to-start data-[state=open]:slide-in-from-start rtl:data-[state=closed]:slide-out-to-end rtl:data-[state=open]:slide-in-from-end inset-y-0 start-0 h-full w-3/4 border-e sm:max-w-sm",
11
- right:
12
- "data-[state=closed]:slide-out-to-end data-[state=open]:slide-in-from-end rtl:data-[state=closed]:slide-out-to-start rtl:data-[state=open]:slide-in-from-start inset-y-0 end-0 h-full w-3/4 border-s sm:max-w-sm",
13
- },
14
- },
15
- defaultVariants: {
16
- side: "right",
17
- },
18
- });
19
-
20
- export type Side = VariantProps<typeof sheetVariants>["side"];
2
+ export type Side = "top" | "right" | "bottom" | "left";
21
3
  </script>
22
4
 
23
5
  <script lang="ts">
24
6
  import { Dialog as SheetPrimitive } from "bits-ui";
25
- import XIcon from "@lucide/svelte/icons/x";
26
7
  import type { Snippet } from "svelte";
27
8
  import SheetPortal from "./sheet-portal.svelte";
28
9
  import SheetOverlay from "./sheet-overlay.svelte";
10
+ import { Button } from "../button/index.js";
11
+ import XIcon from "@lucide/svelte/icons/x";
29
12
  import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
30
13
  import type { ComponentProps } from "svelte";
31
14
 
@@ -33,12 +16,14 @@
33
16
  ref = $bindable(null),
34
17
  class: className,
35
18
  side = "right",
19
+ showCloseButton = true,
36
20
  portalProps,
37
21
  children,
38
22
  ...restProps
39
23
  }: WithoutChildrenOrChild<SheetPrimitive.ContentProps> & {
40
24
  portalProps?: WithoutChildrenOrChild<ComponentProps<typeof SheetPortal>>;
41
25
  side?: Side;
26
+ showCloseButton?: boolean;
42
27
  children: Snippet;
43
28
  } = $props();
44
29
  </script>
@@ -48,15 +33,23 @@
48
33
  <SheetPrimitive.Content
49
34
  bind:ref
50
35
  data-slot="sheet-content"
51
- class={cn(sheetVariants({ side }), className)}
36
+ data-side={side}
37
+ class={cn(
38
+ "bg-background data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10 fixed z-50 flex flex-col gap-4 bg-clip-padding text-sm shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",
39
+ className
40
+ )}
52
41
  {...restProps}
53
42
  >
54
43
  {@render children?.()}
55
- <SheetPrimitive.Close
56
- class="ring-offset-background focus-visible:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:pointer-events-none"
57
- >
58
- <XIcon class="size-4" />
59
- <span class="sr-only">Close</span>
60
- </SheetPrimitive.Close>
44
+ {#if showCloseButton}
45
+ <SheetPrimitive.Close data-slot="sheet-close">
46
+ {#snippet child({ props })}
47
+ <Button variant="ghost" class="absolute top-3 right-3" size="icon-sm" {...props}>
48
+ <XIcon />
49
+ <span class="sr-only">Close</span>
50
+ </Button>
51
+ {/snippet}
52
+ </SheetPrimitive.Close>
53
+ {/if}
61
54
  </SheetPrimitive.Content>
62
55
  </SheetPortal>
@@ -1,27 +1,4 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- export declare const sheetVariants: import("tailwind-variants").TVReturnType<{
3
- side: {
4
- top: string;
5
- bottom: string;
6
- left: string;
7
- right: string;
8
- };
9
- }, undefined, "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", {
10
- side: {
11
- top: string;
12
- bottom: string;
13
- left: string;
14
- right: string;
15
- };
16
- }, undefined, import("tailwind-variants").TVReturnType<{
17
- side: {
18
- top: string;
19
- bottom: string;
20
- left: string;
21
- right: string;
22
- };
23
- }, undefined, "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", unknown, unknown, undefined>>;
24
- export type Side = VariantProps<typeof sheetVariants>["side"];
1
+ export type Side = "top" | "right" | "bottom" | "left";
25
2
  import { Dialog as SheetPrimitive } from "bits-ui";
26
3
  import type { Snippet } from "svelte";
27
4
  import SheetPortal from "./sheet-portal.svelte";
@@ -30,6 +7,7 @@ import type { ComponentProps } from "svelte";
30
7
  type $$ComponentProps = WithoutChildrenOrChild<SheetPrimitive.ContentProps> & {
31
8
  portalProps?: WithoutChildrenOrChild<ComponentProps<typeof SheetPortal>>;
32
9
  side?: Side;
10
+ showCloseButton?: boolean;
33
11
  children: Snippet;
34
12
  };
35
13
  declare const SheetContent: import("svelte").Component<$$ComponentProps, {}, "ref">;
@@ -10,6 +10,6 @@
10
10
  }: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
11
11
  </script>
12
12
 
13
- <div bind:this={ref} data-slot="sheet-header" class={cn("flex flex-col gap-1.5 p-4", className)} {...restProps}>
13
+ <div bind:this={ref} data-slot="sheet-header" class={cn("flex flex-col gap-0.5 p-4", className)} {...restProps}>
14
14
  {@render children?.()}
15
15
  </div>
@@ -8,9 +8,6 @@
8
8
  <SheetPrimitive.Overlay
9
9
  bind:ref
10
10
  data-slot="sheet-overlay"
11
- class={cn(
12
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
13
- className
14
- )}
11
+ class={cn("fixed inset-0 z-50 bg-black/10 supports-backdrop-filter:backdrop-blur-xs", className)}
15
12
  {...restProps}
16
13
  />
@@ -8,6 +8,6 @@
8
8
  <SheetPrimitive.Title
9
9
  bind:ref
10
10
  data-slot="sheet-title"
11
- class={cn("text-foreground font-semibold", className)}
11
+ class={cn("text-foreground text-base font-medium", className)}
12
12
  {...restProps}
13
13
  />
@@ -15,7 +15,7 @@
15
15
  data-slot="sidebar-content"
16
16
  data-sidebar="content"
17
17
  class={cn(
18
- "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
18
+ "no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
19
19
  className
20
20
  )}
21
21
  {...restProps}
@@ -15,10 +15,7 @@
15
15
 
16
16
  const mergedProps = $derived({
17
17
  class: cn(
18
- "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute end-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
19
- // Increases the hit area of the button on mobile.
20
- "after:absolute after:-inset-2 md:after:hidden",
21
- "group-data-[collapsible=icon]:hidden",
18
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 w-5 rounded-md p-0 focus-visible:ring-2 [&>svg]:size-4 flex aspect-square items-center justify-center outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 md:after:hidden [&>svg]:shrink-0",
22
19
  className
23
20
  ),
24
21
  "data-slot": "sidebar-group-action",
@@ -15,8 +15,7 @@
15
15
 
16
16
  const mergedProps = $derived({
17
17
  class: cn(
18
- "text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
19
- "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
18
+ "text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 flex shrink-0 items-center outline-hidden [&>svg]:shrink-0",
20
19
  className
21
20
  ),
22
21
  "data-slot": "sidebar-group-label",
@@ -14,8 +14,7 @@
14
14
  bind:this={ref}
15
15
  data-slot="sidebar-inset"
16
16
  class={cn(
17
- "bg-background relative flex w-full flex-1 flex-col",
18
- "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ms-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2",
17
+ "bg-background relative flex w-full flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
19
18
  className
20
19
  )}
21
20
  {...restProps}
@@ -17,15 +17,9 @@
17
17
 
18
18
  const mergedProps = $derived({
19
19
  class: cn(
20
- "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute end-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
21
- // Increases the hit area of the button on mobile.
22
- "after:absolute after:-inset-2 md:after:hidden",
23
- "peer-data-[size=sm]/menu-button:top-1",
24
- "peer-data-[size=default]/menu-button:top-1.5",
25
- "peer-data-[size=lg]/menu-button:top-2.5",
26
- "group-data-[collapsible=icon]:hidden",
20
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 aspect-square w-5 rounded-md p-0 peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 focus-visible:ring-2 [&>svg]:size-4 flex items-center justify-center outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 md:after:hidden [&>svg]:shrink-0",
27
21
  showOnHover &&
28
- "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",
22
+ "peer-data-active/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-open:opacity-100 md:opacity-0",
29
23
  className
30
24
  ),
31
25
  "data-slot": "sidebar-menu-action",
@@ -15,12 +15,7 @@
15
15
  data-slot="sidebar-menu-badge"
16
16
  data-sidebar="menu-badge"
17
17
  class={cn(
18
- "text-sidebar-foreground pointer-events-none absolute end-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none",
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",
18
+ "text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-active/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1",
24
19
  className
25
20
  )}
26
21
  {...restProps}
@@ -2,12 +2,12 @@
2
2
  import { tv, type VariantProps } from "tailwind-variants";
3
3
 
4
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-clip rounded-md p-2 text-start text-sm outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pe-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
5
+ base: "ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-left text-sm transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 data-active:font-medium peer/menu-button group/menu-button flex w-full items-center overflow-hidden outline-hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",
6
6
  variants: {
7
7
  variant: {
8
8
  default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
9
9
  outline:
10
- "bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_var(--sidebar-border)] hover:shadow-[0_0_0_1px_var(--sidebar-accent)]",
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
11
  },
12
12
  size: {
13
13
  default: "h-8 text-sm",
@@ -9,7 +9,7 @@ export declare const sidebarMenuButtonVariants: import("tailwind-variants").TVRe
9
9
  sm: string;
10
10
  lg: string;
11
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-clip rounded-md p-2 text-start text-sm outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pe-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
12
+ }, undefined, "ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-left text-sm transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 data-active:font-medium peer/menu-button group/menu-button flex w-full items-center overflow-hidden outline-hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate", {
13
13
  variant: {
14
14
  default: string;
15
15
  outline: string;
@@ -29,7 +29,7 @@ export declare const sidebarMenuButtonVariants: import("tailwind-variants").TVRe
29
29
  sm: string;
30
30
  lg: string;
31
31
  };
32
- }, 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-clip rounded-md p-2 text-start text-sm outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pe-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", unknown, unknown, undefined>>;
32
+ }, undefined, "ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-left text-sm transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 data-active:font-medium peer/menu-button group/menu-button flex w-full items-center overflow-hidden outline-hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate", unknown, unknown, undefined>>;
33
33
  export type SidebarMenuButtonVariant = VariantProps<typeof sidebarMenuButtonVariants>["variant"];
34
34
  export type SidebarMenuButtonSize = VariantProps<typeof sidebarMenuButtonVariants>["size"];
35
35
  import * as Tooltip from "../tooltip/index.js";
@@ -19,11 +19,7 @@
19
19
 
20
20
  const mergedProps = $derived({
21
21
  class: cn(
22
- "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-hidden 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",
23
- "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
24
- size === "sm" && "text-xs",
25
- size === "md" && "text-sm",
26
- "group-data-[collapsible=icon]:hidden",
22
+ "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 data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground h-7 gap-2 rounded-md px-2 focus-visible:ring-2 data-[size=md]:text-sm data-[size=sm]:text-xs [&>svg]:size-4 flex min-w-0 -translate-x-px items-center overflow-hidden outline-hidden group-data-[collapsible=icon]:hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0",
27
23
  className
28
24
  ),
29
25
  "data-slot": "sidebar-menu-sub-button",
@@ -15,8 +15,7 @@
15
15
  data-slot="sidebar-menu-sub"
16
16
  data-sidebar="menu-sub"
17
17
  class={cn(
18
- "border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-s px-2.5 py-0.5",
19
- "group-data-[collapsible=icon]:hidden",
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 group-data-[collapsible=icon]:hidden",
20
19
  className
21
20
  )}
22
21
  {...restProps}
@@ -14,7 +14,7 @@
14
14
  bind:this={ref}
15
15
  data-slot="sidebar-menu"
16
16
  data-sidebar="menu"
17
- class={cn("flex w-full min-w-0 flex-col gap-1", className)}
17
+ class={cn("flex w-full min-w-0 flex-col gap-0", className)}
18
18
  {...restProps}
19
19
  >
20
20
  {@render children?.()}
@@ -22,12 +22,12 @@
22
22
  onclick={sidebar.toggle}
23
23
  title="Toggle Sidebar"
24
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 group-data-[side=left]:-end-4 group-data-[side=right]:start-0 after:absolute after:inset-y-0 after:start-[calc(1/2*100%-1px)] after:w-[2px] sm:flex",
25
+ "hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex",
26
26
  "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
27
27
  "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
28
- "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:start-full",
29
- "[[data-side=left][data-collapsible=offcanvas]_&]:-end-2",
30
- "[[data-side=right][data-collapsible=offcanvas]_&]:-start-2",
28
+ "hover:group-data-[collapsible=offcanvas]: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
31
  className
32
32
  )}
33
33
  {...restProps}
@@ -10,6 +10,6 @@
10
10
  bind:ref
11
11
  data-slot="sidebar-separator"
12
12
  data-sidebar="separator"
13
- class={cn("bg-sidebar-border", className)}
13
+ class={cn("bg-sidebar-border mx-2 w-auto", className)}
14
14
  {...restProps}
15
15
  />
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { Button } from "../button/index.js";
3
- import { cn } from "../../../utils.js";
4
3
  import PanelLeftIcon from "@lucide/svelte/icons/panel-left";
4
+ import { cn } from "../../../utils.js";
5
5
  import type { ComponentProps } from "svelte";
6
6
  import { useSidebar } from "./context.svelte.js";
7
7
 
@@ -22,8 +22,8 @@
22
22
  data-sidebar="trigger"
23
23
  data-slot="sidebar-trigger"
24
24
  variant="ghost"
25
- size="icon"
26
- class={cn("size-7", className)}
25
+ size="icon-sm"
26
+ class={cn("cn-sidebar-trigger", className)}
27
27
  type="button"
28
28
  onclick={(e) => {
29
29
  onclick?.(e);
@@ -37,7 +37,7 @@
37
37
  data-sidebar="sidebar"
38
38
  data-slot="sidebar"
39
39
  data-mobile="true"
40
- class="bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden"
40
+ class={cn("bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden", className)}
41
41
  style="--sidebar-width: {SIDEBAR_WIDTH_MOBILE};"
42
42
  {side}
43
43
  >
@@ -68,7 +68,7 @@
68
68
  "group-data-[collapsible=offcanvas]:w-0",
69
69
  "group-data-[side=right]:rotate-180",
70
70
  variant === "floating" || variant === "inset"
71
- ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]"
71
+ ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]"
72
72
  : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
73
73
  )}
74
74
  ></div>
@@ -90,7 +90,7 @@
90
90
  <div
91
91
  data-sidebar="sidebar"
92
92
  data-slot="sidebar-inner"
93
- class="bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"
93
+ class="bg-sidebar group-data-[variant=floating]:ring-sidebar-border flex size-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1"
94
94
  >
95
95
  {@render children?.()}
96
96
  </div>
@@ -12,6 +12,6 @@
12
12
  <div
13
13
  bind:this={ref}
14
14
  data-slot="skeleton"
15
- class={cn("bg-accent animate-pulse rounded-md", className)}
15
+ class={cn("bg-muted animate-pulse rounded-md", className)}
16
16
  {...restProps}
17
17
  ></div>
@@ -21,29 +21,29 @@ get along, so we shut typescript up by casting `value` to `never`.
21
21
  data-slot="slider"
22
22
  {orientation}
23
23
  class={cn(
24
- "relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",
24
+ "relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col",
25
25
  className
26
26
  )}
27
27
  {...restProps}
28
28
  >
29
- {#snippet children({ thumbs })}
29
+ {#snippet children({ thumbItems })}
30
30
  <span
31
- data-orientation={orientation}
32
31
  data-slot="slider-track"
32
+ data-orientation={orientation}
33
33
  class={cn(
34
- "bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
34
+ "bg-muted bg-muted relative grow overflow-hidden rounded-full data-horizontal:h-1 data-horizontal:w-full data-horizontal:w-full data-vertical:h-full data-vertical:h-full data-vertical:w-1"
35
35
  )}
36
36
  >
37
37
  <SliderPrimitive.Range
38
38
  data-slot="slider-range"
39
- class={cn("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")}
39
+ class={cn("bg-primary absolute select-none data-horizontal:h-full data-vertical:w-full")}
40
40
  />
41
41
  </span>
42
- {#each thumbs as thumb (thumb)}
42
+ {#each thumbItems as thumb (thumb)}
43
43
  <SliderPrimitive.Thumb
44
44
  data-slot="slider-thumb"
45
- index={thumb}
46
- class="border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"
45
+ index={thumb.index}
46
+ class="border-ring ring-ring/50 relative block size-3 shrink-0 rounded-full border bg-white transition-[color,box-shadow] select-none after:absolute after:-inset-2 hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 disabled:pointer-events-none disabled:opacity-50"
47
47
  />
48
48
  {/each}
49
49
  {/snippet}