@kayord/ui 2.1.13 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) 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/index.d.ts +1 -0
  137. package/dist/components/ui/index.js +1 -0
  138. package/dist/components/ui/input/input.svelte +2 -6
  139. package/dist/components/ui/input-group/input-group-addon.svelte +5 -5
  140. package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +2 -2
  141. package/dist/components/ui/input-group/input-group-button.svelte +4 -4
  142. package/dist/components/ui/input-group/input-group-button.svelte.d.ts +2 -2
  143. package/dist/components/ui/input-group/input-group-input.svelte +1 -1
  144. package/dist/components/ui/input-group/input-group-textarea.svelte +1 -1
  145. package/dist/components/ui/input-group/input-group.svelte +1 -15
  146. package/dist/components/ui/input-otp/input-otp-group.svelte +9 -1
  147. package/dist/components/ui/input-otp/input-otp-separator.svelte +14 -2
  148. package/dist/components/ui/input-otp/input-otp-slot.svelte +3 -5
  149. package/dist/components/ui/input-otp/input-otp.svelte +5 -1
  150. package/dist/components/ui/item/item-content.svelte +4 -1
  151. package/dist/components/ui/item/item-description.svelte +1 -2
  152. package/dist/components/ui/item/item-group.svelte +4 -1
  153. package/dist/components/ui/item/item-media.svelte +4 -3
  154. package/dist/components/ui/item/item-media.svelte.d.ts +2 -2
  155. package/dist/components/ui/item/item-separator.svelte +1 -1
  156. package/dist/components/ui/item/item-title.svelte +4 -1
  157. package/dist/components/ui/item/item.svelte +6 -5
  158. package/dist/components/ui/item/item.svelte.d.ts +5 -2
  159. package/dist/components/ui/kbd/kbd.svelte +1 -3
  160. package/dist/components/ui/menubar/menubar-checkbox-item.svelte +13 -8
  161. package/dist/components/ui/menubar/menubar-checkbox-item.svelte.d.ts +1 -0
  162. package/dist/components/ui/menubar/menubar-content.svelte +2 -2
  163. package/dist/components/ui/menubar/menubar-item.svelte +1 -1
  164. package/dist/components/ui/menubar/menubar-label.svelte +1 -1
  165. package/dist/components/ui/menubar/menubar-radio-item.svelte +11 -5
  166. package/dist/components/ui/menubar/menubar-radio-item.svelte.d.ts +5 -1
  167. package/dist/components/ui/menubar/menubar-shortcut.svelte +4 -1
  168. package/dist/components/ui/menubar/menubar-sub-content.svelte +1 -1
  169. package/dist/components/ui/menubar/menubar-sub-trigger.svelte +3 -3
  170. package/dist/components/ui/menubar/menubar-trigger.svelte +1 -1
  171. package/dist/components/ui/menubar/menubar.svelte +1 -1
  172. package/dist/components/ui/native-select/native-select.svelte +15 -10
  173. package/dist/components/ui/native-select/native-select.svelte.d.ts +4 -1
  174. package/dist/components/ui/navigation-menu/navigation-menu-content.svelte +1 -2
  175. package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte +1 -1
  176. package/dist/components/ui/navigation-menu/navigation-menu-item.svelte +1 -1
  177. package/dist/components/ui/navigation-menu/navigation-menu-link.svelte +1 -1
  178. package/dist/components/ui/navigation-menu/navigation-menu-list.svelte +1 -1
  179. package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte +2 -4
  180. package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte.d.ts +1 -1
  181. package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte +1 -1
  182. package/dist/components/ui/navigation-menu/navigation-menu.svelte +1 -2
  183. package/dist/components/ui/pagination/index.d.ts +4 -4
  184. package/dist/components/ui/pagination/index.js +4 -4
  185. package/dist/components/ui/pagination/pagination-content.svelte +1 -6
  186. package/dist/components/ui/pagination/pagination-ellipsis.svelte +7 -4
  187. package/dist/components/ui/pagination/pagination-ellipsis.svelte.d.ts +1 -1
  188. package/dist/components/ui/pagination/pagination-link.svelte +14 -15
  189. package/dist/components/ui/pagination/pagination-link.svelte.d.ts +3 -2
  190. package/dist/components/ui/pagination/pagination-next-button.svelte +9 -11
  191. package/dist/components/ui/pagination/pagination-next.svelte +10 -20
  192. package/dist/components/ui/pagination/pagination-next.svelte.d.ts +13 -2
  193. package/dist/components/ui/pagination/pagination-prev-button.svelte +9 -11
  194. package/dist/components/ui/pagination/pagination-previous.svelte +10 -20
  195. package/dist/components/ui/pagination/pagination-previous.svelte.d.ts +13 -2
  196. package/dist/components/ui/pagination/pagination.svelte +1 -1
  197. package/dist/components/ui/popover/index.d.ts +4 -1
  198. package/dist/components/ui/popover/index.js +5 -2
  199. package/dist/components/ui/popover/popover-content.svelte +1 -1
  200. package/dist/components/ui/popover/popover-description.svelte +15 -0
  201. package/dist/components/ui/popover/popover-description.svelte.d.ts +5 -0
  202. package/dist/components/ui/popover/popover-header.svelte +15 -0
  203. package/dist/components/ui/popover/popover-header.svelte.d.ts +5 -0
  204. package/dist/components/ui/popover/popover-title.svelte +15 -0
  205. package/dist/components/ui/popover/popover-title.svelte.d.ts +5 -0
  206. package/dist/components/ui/progress/progress.svelte +2 -2
  207. package/dist/components/ui/radio-group/radio-group-item.svelte +5 -3
  208. package/dist/components/ui/radio-group/radio-group.svelte +1 -1
  209. package/dist/components/ui/range-calendar/range-calendar-cell.svelte +1 -1
  210. package/dist/components/ui/range-calendar/range-calendar-day.svelte +4 -7
  211. package/dist/components/ui/range-calendar/range-calendar-month-select.svelte +1 -1
  212. package/dist/components/ui/range-calendar/range-calendar-next-button.svelte +7 -2
  213. package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte +7 -2
  214. package/dist/components/ui/range-calendar/range-calendar-year-select.svelte +1 -1
  215. package/dist/components/ui/range-calendar/range-calendar.svelte +1 -1
  216. package/dist/components/ui/resizable/resizable-handle.svelte +2 -5
  217. package/dist/components/ui/resizable/resizable-pane-group.svelte +2 -1
  218. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +2 -3
  219. package/dist/components/ui/scroll-area/scroll-area.svelte +1 -1
  220. package/dist/components/ui/select/select-content.svelte +2 -2
  221. package/dist/components/ui/select/select-group.svelte +3 -2
  222. package/dist/components/ui/select/select-item.svelte +3 -3
  223. package/dist/components/ui/select/select-label.svelte +1 -1
  224. package/dist/components/ui/select/select-scroll-down-button.svelte +6 -3
  225. package/dist/components/ui/select/select-scroll-up-button.svelte +6 -3
  226. package/dist/components/ui/select/select-trigger.svelte +3 -3
  227. package/dist/components/ui/separator/separator.svelte +3 -1
  228. package/dist/components/ui/sheet/sheet-content.svelte +20 -27
  229. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +2 -24
  230. package/dist/components/ui/sheet/sheet-header.svelte +1 -1
  231. package/dist/components/ui/sheet/sheet-overlay.svelte +1 -4
  232. package/dist/components/ui/sheet/sheet-title.svelte +1 -1
  233. package/dist/components/ui/sidebar/sidebar-content.svelte +1 -1
  234. package/dist/components/ui/sidebar/sidebar-group-action.svelte +1 -4
  235. package/dist/components/ui/sidebar/sidebar-group-label.svelte +1 -2
  236. package/dist/components/ui/sidebar/sidebar-inset.svelte +1 -2
  237. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +2 -8
  238. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +1 -6
  239. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +2 -2
  240. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +2 -2
  241. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +1 -5
  242. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +1 -2
  243. package/dist/components/ui/sidebar/sidebar-menu.svelte +1 -1
  244. package/dist/components/ui/sidebar/sidebar-rail.svelte +4 -4
  245. package/dist/components/ui/sidebar/sidebar-separator.svelte +1 -1
  246. package/dist/components/ui/sidebar/sidebar-trigger.svelte +4 -3
  247. package/dist/components/ui/sidebar/sidebar.svelte +3 -3
  248. package/dist/components/ui/skeleton/skeleton.svelte +1 -1
  249. package/dist/components/ui/slider/slider.svelte +8 -8
  250. package/dist/components/ui/sonner/sonner.svelte +6 -6
  251. package/dist/components/ui/spinner/spinner.svelte +18 -4
  252. package/dist/components/ui/spinner/spinner.svelte.d.ts +2 -1
  253. package/dist/components/ui/stepper/ctx.d.ts +8 -0
  254. package/dist/components/ui/stepper/ctx.js +8 -0
  255. package/dist/components/ui/stepper/index.d.ts +8 -0
  256. package/dist/components/ui/stepper/index.js +8 -0
  257. package/dist/components/ui/stepper/stepper-description.svelte +7 -0
  258. package/dist/components/ui/stepper/stepper-description.svelte.d.ts +8 -0
  259. package/dist/components/ui/stepper/stepper-indicator.svelte +45 -0
  260. package/dist/components/ui/stepper/stepper-indicator.svelte.d.ts +10 -0
  261. package/dist/components/ui/stepper/stepper-item.svelte +33 -0
  262. package/dist/components/ui/stepper/stepper-item.svelte.d.ts +9 -0
  263. package/dist/components/ui/stepper/stepper-separator.svelte +28 -0
  264. package/dist/components/ui/stepper/stepper-separator.svelte.d.ts +6 -0
  265. package/dist/components/ui/stepper/stepper-title.svelte +7 -0
  266. package/dist/components/ui/stepper/stepper-title.svelte.d.ts +8 -0
  267. package/dist/components/ui/stepper/stepper-trigger.svelte +35 -0
  268. package/dist/components/ui/stepper/stepper-trigger.svelte.d.ts +10 -0
  269. package/dist/components/ui/stepper/stepper.svelte +35 -0
  270. package/dist/components/ui/stepper/stepper.svelte.d.ts +10 -0
  271. package/dist/components/ui/switch/switch.svelte +7 -5
  272. package/dist/components/ui/switch/switch.svelte.d.ts +5 -1
  273. package/dist/components/ui/table/table-cell.svelte +1 -1
  274. package/dist/components/ui/table/table-head.svelte +1 -1
  275. package/dist/components/ui/table/table-row.svelte +1 -4
  276. package/dist/components/ui/tabs/index.d.ts +2 -2
  277. package/dist/components/ui/tabs/index.js +2 -2
  278. package/dist/components/ui/tabs/tabs-content.svelte +6 -1
  279. package/dist/components/ui/tabs/tabs-list.svelte +29 -5
  280. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +22 -1
  281. package/dist/components/ui/tabs/tabs-trigger.svelte +4 -1
  282. package/dist/components/ui/tabs/tabs.svelte +7 -1
  283. package/dist/components/ui/textarea/textarea.svelte +1 -1
  284. package/dist/components/ui/toggle/toggle.svelte +5 -5
  285. package/dist/components/ui/toggle/toggle.svelte.d.ts +2 -2
  286. package/dist/components/ui/toggle-group/toggle-group-item.svelte +1 -1
  287. package/dist/components/ui/toggle-group/toggle-group.svelte +21 -5
  288. package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +2 -0
  289. package/dist/components/ui/tooltip/tooltip-content.svelte +6 -6
  290. package/dist/components/ui/tooltip/tooltip-provider.svelte +2 -2
  291. package/dist/components/ui/tooltip/tooltip.svelte +4 -1
  292. package/package.json +15 -15
@@ -1,12 +1,24 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLAttributes } from "svelte/elements";
3
3
  import type { WithElementRef } from "../../../utils.js";
4
+ import { cn } from "../../../utils.js";
4
5
  import MinusIcon from "@lucide/svelte/icons/minus";
5
6
 
6
- let { ref = $bindable(null), children, ...restProps }: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
7
+ let {
8
+ ref = $bindable(null),
9
+ class: className,
10
+ children,
11
+ ...restProps
12
+ }: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
7
13
  </script>
8
14
 
9
- <div bind:this={ref} data-slot="input-otp-separator" role="separator" {...restProps}>
15
+ <div
16
+ bind:this={ref}
17
+ data-slot="input-otp-separator"
18
+ role="separator"
19
+ class={cn("flex items-center [&_svg:not([class*='size-'])]:size-4", className)}
20
+ {...restProps}
21
+ >
10
22
  {#if children}
11
23
  {@render children?.()}
12
24
  {:else}
@@ -10,17 +10,15 @@
10
10
  bind:ref
11
11
  data-slot="input-otp-slot"
12
12
  class={cn(
13
- "border-input aria-invalid:border-destructive dark:bg-input/30 relative flex size-9 items-center justify-center border-y border-e text-sm transition-all outline-none first:rounded-s-md first:border-s last:rounded-e-md",
14
- cell.isActive &&
15
- "border-ring ring-ring/50 aria-invalid:border-destructive dark:aria-invalid:ring-destructive/40 aria-invalid:ring-destructive/20 ring-offset-background z-10 ring-[3px]",
13
+ "dark:bg-input/30 border-input data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive relative flex size-8 items-center justify-center border-y border-r text-sm transition-all outline-none first:rounded-l-lg first:border-l last:rounded-r-lg data-[active=true]:z-10 data-[active=true]:ring-3",
16
14
  className
17
15
  )}
18
16
  {...restProps}
19
17
  >
20
18
  {cell.char}
21
19
  {#if cell.hasFakeCaret}
22
- <div class="pointer-events-none absolute inset-0 flex items-center justify-center">
23
- <div class="animate-caret-blink bg-foreground h-4 w-px duration-1000"></div>
20
+ <div class="cn-input-otp-caret pointer-events-none absolute inset-0 flex items-center justify-center">
21
+ <div class="animate-caret-blink bg-foreground bg-foreground h-4 w-px duration-1000"></div>
24
22
  </div>
25
23
  {/if}
26
24
  </InputOTPPrimitive.Cell>
@@ -14,6 +14,10 @@
14
14
  bind:ref
15
15
  bind:value
16
16
  data-slot="input-otp"
17
- class={cn("flex items-center gap-2 has-disabled:opacity-50 [&_input]:disabled:cursor-not-allowed", className)}
17
+ spellcheck={false}
18
+ class={cn(
19
+ "cn-input-otp-input flex items-center gap-2 disabled:cursor-not-allowed has-disabled:opacity-50",
20
+ className
21
+ )}
18
22
  {...restProps}
19
23
  />
@@ -13,7 +13,10 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="item-content"
16
- class={cn("flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none", className)}
16
+ class={cn(
17
+ "flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none",
18
+ className
19
+ )}
17
20
  {...restProps}
18
21
  >
19
22
  {@render children?.()}
@@ -14,8 +14,7 @@
14
14
  bind:this={ref}
15
15
  data-slot="item-description"
16
16
  class={cn(
17
- "text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance",
18
- "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
17
+ "text-muted-foreground [&>a:hover]:text-primary line-clamp-2 text-left text-sm leading-normal font-normal group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4",
19
18
  className
20
19
  )}
21
20
  {...restProps}
@@ -14,7 +14,10 @@
14
14
  bind:this={ref}
15
15
  role="list"
16
16
  data-slot="item-group"
17
- class={cn("group/item-group flex flex-col", className)}
17
+ class={cn(
18
+ "group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",
19
+ className
20
+ )}
18
21
  {...restProps}
19
22
  >
20
23
  {@render children?.()}
@@ -2,12 +2,13 @@
2
2
  import { tv, type VariantProps } from "tailwind-variants";
3
3
 
4
4
  export const itemMediaVariants = tv({
5
- base: "flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none",
5
+ base: "gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start flex shrink-0 items-center justify-center [&_svg]:pointer-events-none",
6
6
  variants: {
7
7
  variant: {
8
8
  default: "bg-transparent",
9
- icon: "bg-muted size-8 rounded-sm border [&_svg:not([class*='size-'])]:size-4",
10
- image: "size-10 overflow-hidden rounded-sm [&_img]:size-full [&_img]:object-cover",
9
+ icon: "[&_svg:not([class*='size-'])]:size-4",
10
+ image:
11
+ "size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover",
11
12
  },
12
13
  },
13
14
  defaultVariants: {
@@ -5,7 +5,7 @@ export declare const itemMediaVariants: import("tailwind-variants").TVReturnType
5
5
  icon: string;
6
6
  image: string;
7
7
  };
8
- }, undefined, "flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none", {
8
+ }, undefined, "gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start flex shrink-0 items-center justify-center [&_svg]:pointer-events-none", {
9
9
  variant: {
10
10
  default: string;
11
11
  icon: string;
@@ -17,7 +17,7 @@ export declare const itemMediaVariants: import("tailwind-variants").TVReturnType
17
17
  icon: string;
18
18
  image: string;
19
19
  };
20
- }, undefined, "flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none", unknown, unknown, undefined>>;
20
+ }, undefined, "gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start flex shrink-0 items-center justify-center [&_svg]:pointer-events-none", unknown, unknown, undefined>>;
21
21
  export type ItemMediaVariant = VariantProps<typeof itemMediaVariants>["variant"];
22
22
  import { type WithElementRef } from "../../../utils.js";
23
23
  import type { HTMLAttributes } from "svelte/elements";
@@ -6,4 +6,4 @@
6
6
  let { ref = $bindable(null), class: className, ...restProps }: ComponentProps<typeof Separator> = $props();
7
7
  </script>
8
8
 
9
- <Separator bind:ref data-slot="item-separator" orientation="horizontal" class={cn("my-0", className)} {...restProps} />
9
+ <Separator bind:ref data-slot="item-separator" orientation="horizontal" class={cn("my-2", className)} {...restProps} />
@@ -13,7 +13,10 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="item-title"
16
- class={cn("flex w-fit items-center gap-2 text-sm leading-snug font-medium", className)}
16
+ class={cn(
17
+ "line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4",
18
+ className
19
+ )}
17
20
  {...restProps}
18
21
  >
19
22
  {@render children?.()}
@@ -2,16 +2,17 @@
2
2
  import { tv, type VariantProps } from "tailwind-variants";
3
3
 
4
4
  export const itemVariants = tv({
5
- base: "group/item [a]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 flex flex-wrap items-center rounded-md border border-transparent text-sm transition-colors duration-100 outline-none focus-visible:ring-[3px] [a]:transition-colors",
5
+ base: "[a]:hover:bg-muted rounded-lg border text-sm group/item focus-visible:border-ring focus-visible:ring-ring/50 flex w-full flex-wrap items-center transition-colors duration-100 outline-none focus-visible:ring-[3px] [a]:transition-colors",
6
6
  variants: {
7
7
  variant: {
8
- default: "bg-transparent",
8
+ default: "border-transparent",
9
9
  outline: "border-border",
10
- muted: "bg-muted/50",
10
+ muted: "bg-muted/50 border-transparent",
11
11
  },
12
12
  size: {
13
- default: "gap-4 p-4",
14
- sm: "gap-2.5 px-4 py-3",
13
+ default: "gap-2.5 px-3 py-2.5",
14
+ sm: "gap-2.5 px-3 py-2.5",
15
+ xs: "gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0",
15
16
  },
16
17
  },
17
18
  defaultVariants: {
@@ -8,8 +8,9 @@ export declare const itemVariants: import("tailwind-variants").TVReturnType<{
8
8
  size: {
9
9
  default: string;
10
10
  sm: string;
11
+ xs: string;
11
12
  };
12
- }, undefined, "group/item [a]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 flex flex-wrap items-center rounded-md border border-transparent text-sm transition-colors duration-100 outline-none focus-visible:ring-[3px] [a]:transition-colors", {
13
+ }, undefined, "[a]:hover:bg-muted rounded-lg border text-sm group/item focus-visible:border-ring focus-visible:ring-ring/50 flex w-full flex-wrap items-center transition-colors duration-100 outline-none focus-visible:ring-[3px] [a]:transition-colors", {
13
14
  variant: {
14
15
  default: string;
15
16
  outline: string;
@@ -18,6 +19,7 @@ export declare const itemVariants: import("tailwind-variants").TVReturnType<{
18
19
  size: {
19
20
  default: string;
20
21
  sm: string;
22
+ xs: string;
21
23
  };
22
24
  }, undefined, import("tailwind-variants").TVReturnType<{
23
25
  variant: {
@@ -28,8 +30,9 @@ export declare const itemVariants: import("tailwind-variants").TVReturnType<{
28
30
  size: {
29
31
  default: string;
30
32
  sm: string;
33
+ xs: string;
31
34
  };
32
- }, undefined, "group/item [a]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 flex flex-wrap items-center rounded-md border border-transparent text-sm transition-colors duration-100 outline-none focus-visible:ring-[3px] [a]:transition-colors", unknown, unknown, undefined>>;
35
+ }, undefined, "[a]:hover:bg-muted rounded-lg border text-sm group/item focus-visible:border-ring focus-visible:ring-ring/50 flex w-full flex-wrap items-center transition-colors duration-100 outline-none focus-visible:ring-[3px] [a]:transition-colors", unknown, unknown, undefined>>;
33
36
  export type ItemSize = VariantProps<typeof itemVariants>["size"];
34
37
  export type ItemVariant = VariantProps<typeof itemVariants>["variant"];
35
38
  import { type WithElementRef } from "../../../utils.js";
@@ -14,9 +14,7 @@
14
14
  bind:this={ref}
15
15
  data-slot="kbd"
16
16
  class={cn(
17
- "bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none",
18
- "[&_svg:not([class*='size-'])]:size-3",
19
- "[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10",
17
+ "bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none [&_svg:not([class*='size-'])]:size-3",
20
18
  className
21
19
  )}
22
20
  {...restProps}
@@ -1,18 +1,20 @@
1
1
  <script lang="ts">
2
2
  import { Menubar as MenubarPrimitive } from "bits-ui";
3
- import CheckIcon from "@lucide/svelte/icons/check";
4
- import MinusIcon from "@lucide/svelte/icons/minus";
5
3
  import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
6
4
  import type { Snippet } from "svelte";
5
+ import MinusIcon from "@lucide/svelte/icons/minus";
6
+ import CheckIcon from "@lucide/svelte/icons/check";
7
7
 
8
8
  let {
9
9
  ref = $bindable(null),
10
10
  class: className,
11
11
  checked = $bindable(false),
12
12
  indeterminate = $bindable(false),
13
+ inset,
13
14
  children: childrenProp,
14
15
  ...restProps
15
16
  }: WithoutChildrenOrChild<MenubarPrimitive.CheckboxItemProps> & {
17
+ inset?: boolean;
16
18
  children?: Snippet;
17
19
  } = $props();
18
20
  </script>
@@ -22,18 +24,21 @@
22
24
  bind:checked
23
25
  bind:indeterminate
24
26
  data-slot="menubar-checkbox-item"
27
+ data-inset={inset}
25
28
  class={cn(
26
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 ps-8 pe-2 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",
29
+ "focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-1.5 pl-7 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-7 [&_svg]:pointer-events-none [&_svg]:shrink-0",
27
30
  className
28
31
  )}
29
32
  {...restProps}
30
33
  >
31
- {#snippet children({ checked, indeterminate })}
32
- <span class="pointer-events-none absolute start-2 flex size-3.5 items-center justify-center">
34
+ {#snippet children({ checked: checked, indeterminate: indeterminate })}
35
+ <span
36
+ class="pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4"
37
+ >
33
38
  {#if indeterminate}
34
- <MinusIcon class="size-4" />
35
- {:else}
36
- <CheckIcon class={cn("size-4", !checked && "text-transparent")} />
39
+ <MinusIcon />
40
+ {:else if checked}
41
+ <CheckIcon />
37
42
  {/if}
38
43
  </span>
39
44
  {@render childrenProp?.()}
@@ -2,6 +2,7 @@ import { Menubar as MenubarPrimitive } from "bits-ui";
2
2
  import { type WithoutChildrenOrChild } from "../../../utils.js";
3
3
  import type { Snippet } from "svelte";
4
4
  type $$ComponentProps = WithoutChildrenOrChild<MenubarPrimitive.CheckboxItemProps> & {
5
+ inset?: boolean;
5
6
  children?: Snippet;
6
7
  };
7
8
  declare const MenubarCheckboxItem: import("svelte").Component<$$ComponentProps, {}, "ref" | "checked" | "indeterminate">;
@@ -22,12 +22,12 @@
22
22
  <MenubarPrimitive.Content
23
23
  bind:ref
24
24
  data-slot="menubar-content"
25
- {sideOffset}
26
25
  {align}
27
26
  {alignOffset}
28
27
  {side}
28
+ {sideOffset}
29
29
  class={cn(
30
- "bg-popover text-popover-foreground data-[state=open]:animate-in 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 z-50 min-w-[12rem] origin-(--bits-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md",
30
+ "bg-popover text-popover-foreground ring-foreground/10 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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 z-50 min-w-36 origin-(--bits-menubar-content-transform-origin) overflow-hidden rounded-lg p-1 shadow-md ring-1 duration-100",
31
31
  className
32
32
  )}
33
33
  {...restProps}
@@ -20,7 +20,7 @@
20
20
  data-inset={inset}
21
21
  data-variant={variant}
22
22
  class={cn(
23
- "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:ps-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
23
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! not-data-[variant=destructive]:focus:**:text-accent-foreground group/menubar-item flex items-center gap-1.5 rounded-md px-1.5 py-1 text-sm data-disabled:opacity-50 data-inset:pl-7 [&_svg:not([class*='size-'])]:size-4",
24
24
  className
25
25
  )}
26
26
  {...restProps}
@@ -18,7 +18,7 @@
18
18
  bind:this={ref}
19
19
  data-slot="menubar-label"
20
20
  data-inset={inset}
21
- class={cn("px-2 py-1.5 text-sm font-medium data-[inset]:ps-8", className)}
21
+ class={cn("px-1.5 py-1 text-sm font-medium data-inset:pl-7", className)}
22
22
  {...restProps}
23
23
  >
24
24
  {@render children?.()}
@@ -1,29 +1,35 @@
1
1
  <script lang="ts">
2
2
  import { Menubar as MenubarPrimitive } from "bits-ui";
3
- import CircleIcon from "@lucide/svelte/icons/circle";
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),
8
8
  class: className,
9
+ inset,
9
10
  children: childrenProp,
10
11
  ...restProps
11
- }: WithoutChild<MenubarPrimitive.RadioItemProps> = $props();
12
+ }: WithoutChild<MenubarPrimitive.RadioItemProps> & {
13
+ inset?: boolean;
14
+ } = $props();
12
15
  </script>
13
16
 
14
17
  <MenubarPrimitive.RadioItem
15
18
  bind:ref
16
19
  data-slot="menubar-radio-item"
20
+ data-inset={inset}
17
21
  class={cn(
18
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 ps-8 pe-2 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",
22
+ "focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-1.5 pl-7 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
19
23
  className
20
24
  )}
21
25
  {...restProps}
22
26
  >
23
27
  {#snippet children({ checked })}
24
- <span class="pointer-events-none absolute start-2 flex size-3.5 items-center justify-center">
28
+ <span
29
+ class="pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4"
30
+ >
25
31
  {#if checked}
26
- <CircleIcon class="size-2 fill-current" />
32
+ <CheckIcon />
27
33
  {/if}
28
34
  </span>
29
35
  {@render childrenProp?.({ checked })}
@@ -1,4 +1,8 @@
1
1
  import { Menubar as MenubarPrimitive } from "bits-ui";
2
- declare const MenubarRadioItem: import("svelte").Component<Omit<MenubarPrimitive.RadioItemProps, "child">, {}, "ref">;
2
+ import { type WithoutChild } from "../../../utils.js";
3
+ type $$ComponentProps = WithoutChild<MenubarPrimitive.RadioItemProps> & {
4
+ inset?: boolean;
5
+ };
6
+ declare const MenubarRadioItem: import("svelte").Component<$$ComponentProps, {}, "ref">;
3
7
  type MenubarRadioItem = ReturnType<typeof MenubarRadioItem>;
4
8
  export default MenubarRadioItem;
@@ -13,7 +13,10 @@
13
13
  <span
14
14
  bind:this={ref}
15
15
  data-slot="menubar-shortcut"
16
- class={cn("text-muted-foreground ms-auto text-xs tracking-widest", className)}
16
+ class={cn(
17
+ "text-muted-foreground group-focus/menubar-item:text-accent-foreground ml-auto text-xs tracking-widest",
18
+ className
19
+ )}
17
20
  {...restProps}
18
21
  >
19
22
  {@render children?.()}
@@ -9,7 +9,7 @@
9
9
  bind:ref
10
10
  data-slot="menubar-sub-content"
11
11
  class={cn(
12
- "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 z-50 min-w-[8rem] origin-(--bits-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
12
+ "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 min-w-32 rounded-lg p-1 shadow-lg ring-1 duration-100",
13
13
  className
14
14
  )}
15
15
  {...restProps}
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { Menubar as MenubarPrimitive } from "bits-ui";
3
- import ChevronRightIcon from "@lucide/svelte/icons/chevron-right";
4
3
  import { cn, type WithoutChild } from "../../../utils.js";
4
+ import ChevronRightIcon from "@lucide/svelte/icons/chevron-right";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -19,11 +19,11 @@
19
19
  data-slot="menubar-sub-trigger"
20
20
  data-inset={inset}
21
21
  class={cn(
22
- "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:ps-8",
22
+ "focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-none select-none data-inset:pl-7 [&_svg:not([class*='size-'])]:size-4",
23
23
  className
24
24
  )}
25
25
  {...restProps}
26
26
  >
27
27
  {@render children?.()}
28
- <ChevronRightIcon class="ms-auto size-4" />
28
+ <ChevronRightIcon class="cn-rtl-flip ml-auto size-4" />
29
29
  </MenubarPrimitive.SubTrigger>
@@ -9,7 +9,7 @@
9
9
  bind:ref
10
10
  data-slot="menubar-trigger"
11
11
  class={cn(
12
- "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none",
12
+ "hover:bg-muted aria-expanded:bg-muted flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none",
13
13
  className
14
14
  )}
15
15
  {...restProps}
@@ -8,6 +8,6 @@
8
8
  <MenubarPrimitive.Root
9
9
  bind:ref
10
10
  data-slot="menubar"
11
- class={cn("bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs", className)}
11
+ class={cn("flex h-8 items-center gap-0.5 rounded-lg border p-[3px]", className)}
12
12
  {...restProps}
13
13
  />
@@ -3,33 +3,38 @@
3
3
  import type { HTMLSelectAttributes } from "svelte/elements";
4
4
  import ChevronDownIcon from "@lucide/svelte/icons/chevron-down";
5
5
 
6
+ type NativeSelectProps = Omit<WithElementRef<HTMLSelectAttributes>, "size"> & {
7
+ size?: "sm" | "default";
8
+ };
9
+
6
10
  let {
7
11
  ref = $bindable(null),
8
12
  value = $bindable(),
9
13
  class: className,
14
+ size = "default",
10
15
  children,
11
16
  ...restProps
12
- }: WithElementRef<HTMLSelectAttributes> = $props();
17
+ }: NativeSelectProps = $props();
13
18
  </script>
14
19
 
15
- <div class="group/native-select relative w-fit has-[select:disabled]:opacity-50" data-slot="native-select-wrapper">
20
+ <div
21
+ class={cn("cn-native-select-wrapper group/native-select relative w-fit has-[select:disabled]:opacity-50", className)}
22
+ data-slot="native-select-wrapper"
23
+ data-size={size}
24
+ >
16
25
  <select
17
26
  bind:value
18
27
  bind:this={ref}
19
28
  data-slot="native-select"
20
- class={cn(
21
- "border-input placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 dark:hover:bg-input/50 h-9 w-full min-w-0 appearance-none rounded-md border bg-transparent px-3 py-2 pe-9 text-sm shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed",
22
- "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
23
- "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
24
- className
25
- )}
29
+ data-size={size}
30
+ class="border-input placeholder:text-muted-foreground selection:bg-primary selection:text-primary-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 h-8 w-full min-w-0 appearance-none rounded-lg border bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors outline-none select-none focus-visible:ring-3 disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:ring-3 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5"
26
31
  {...restProps}
27
32
  >
28
33
  {@render children?.()}
29
34
  </select>
30
35
  <ChevronDownIcon
31
- class="text-muted-foreground pointer-events-none absolute end-3.5 top-1/2 size-4 -translate-y-1/2 opacity-50 select-none"
32
- aria-hidden="true"
36
+ class="text-muted-foreground pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 select-none"
37
+ aria-hidden
33
38
  data-slot="native-select-icon"
34
39
  />
35
40
  </div>
@@ -1,5 +1,8 @@
1
1
  import { type WithElementRef } from "../../../utils.js";
2
2
  import type { HTMLSelectAttributes } from "svelte/elements";
3
- declare const NativeSelect: import("svelte").Component<WithElementRef<HTMLSelectAttributes>, {}, "ref" | "value">;
3
+ type NativeSelectProps = Omit<WithElementRef<HTMLSelectAttributes>, "size"> & {
4
+ size?: "sm" | "default";
5
+ };
6
+ declare const NativeSelect: import("svelte").Component<NativeSelectProps, {}, "ref" | "value">;
4
7
  type NativeSelect = ReturnType<typeof NativeSelect>;
5
8
  export default NativeSelect;
@@ -9,8 +9,7 @@
9
9
  bind:ref
10
10
  data-slot="navigation-menu-content"
11
11
  class={cn(
12
- "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-end-52 data-[motion=from-start]:slide-in-from-start-52 data-[motion=to-end]:slide-out-to-end-52 data-[motion=to-start]:slide-out-to-start-52 start-0 top-0 w-full p-2 pe-2.5 md:absolute md:w-auto",
13
- "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none",
12
+ "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-open:animate-in group-data-[viewport=false]/navigation-menu:data-closed:animate-out group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-open:fade-in-0 group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0 group-data-[viewport=false]/navigation-menu:ring-foreground/10 top-0 left-0 w-full p-1 ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:duration-300 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none md:absolute md:w-auto",
14
13
  className
15
14
  )}
16
15
  {...restProps}
@@ -14,5 +14,5 @@
14
14
  )}
15
15
  {...restProps}
16
16
  >
17
- <div class="bg-border rounded-ts-sm relative top-[60%] h-2 w-2 rotate-45 shadow-md"></div>
17
+ <div class="bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md"></div>
18
18
  </NavigationMenuPrimitive.Indicator>
@@ -8,6 +8,6 @@
8
8
  <NavigationMenuPrimitive.Item
9
9
  bind:ref
10
10
  data-slot="navigation-menu-item"
11
- class={cn("relative", className)}
11
+ class={cn("cn-navigation-menu-item relative", className)}
12
12
  {...restProps}
13
13
  />
@@ -9,7 +9,7 @@
9
9
  bind:ref
10
10
  data-slot="navigation-menu-link"
11
11
  class={cn(
12
- "data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
12
+ "data-active:focus:bg-muted data-active:hover:bg-muted data-active:bg-muted/50 focus-visible:ring-ring/50 hover:bg-muted focus:bg-muted flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none focus-visible:ring-3 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md [&_svg:not([class*='size-'])]:size-4",
13
13
  className
14
14
  )}
15
15
  {...restProps}
@@ -8,6 +8,6 @@
8
8
  <NavigationMenuPrimitive.List
9
9
  bind:ref
10
10
  data-slot="navigation-menu-list"
11
- class={cn("group flex flex-1 list-none items-center justify-center gap-1", className)}
11
+ class={cn("group flex flex-1 list-none items-center justify-center gap-0", className)}
12
12
  {...restProps}
13
13
  />
@@ -3,14 +3,13 @@
3
3
  import { tv } from "tailwind-variants";
4
4
 
5
5
  export const navigationMenuTriggerStyle = tv({
6
- base: "bg-background hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 group inline-flex h-9 w-max items-center justify-center rounded-md px-4 py-2 text-sm font-medium transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50",
6
+ base: "bg-background hover:bg-muted focus:bg-muted data-open:hover:bg-muted data-open:focus:bg-muted data-open:bg-muted/50 focus-visible:ring-ring/50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted rounded-lg px-2.5 py-1.5 text-sm font-medium transition-all focus-visible:ring-3 focus-visible:outline-1 disabled:opacity-50 group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center outline-none disabled:pointer-events-none",
7
7
  });
8
8
  </script>
9
9
 
10
10
  <script lang="ts">
11
11
  import { NavigationMenu as NavigationMenuPrimitive } from "bits-ui";
12
12
  import ChevronDownIcon from "@lucide/svelte/icons/chevron-down";
13
-
14
13
  let {
15
14
  ref = $bindable(null),
16
15
  class: className,
@@ -26,9 +25,8 @@
26
25
  {...restProps}
27
26
  >
28
27
  {@render children?.()}
29
-
30
28
  <ChevronDownIcon
31
- class="relative top-[1px] ms-1 size-3 transition duration-300 group-data-[state=open]:rotate-180"
29
+ class="relative top-px ml-1 size-3 transition duration-300 group-data-open/navigation-menu-trigger:rotate-180 group-data-popup-open/navigation-menu-trigger:rotate-180"
32
30
  aria-hidden="true"
33
31
  />
34
32
  </NavigationMenuPrimitive.Trigger>
@@ -1,4 +1,4 @@
1
- export declare const navigationMenuTriggerStyle: import("tailwind-variants").TVReturnType<{} | {} | {}, undefined, "bg-background hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 group inline-flex h-9 w-max items-center justify-center rounded-md px-4 py-2 text-sm font-medium transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50", {} | {}, undefined, import("tailwind-variants").TVReturnType<unknown, undefined, "bg-background hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 group inline-flex h-9 w-max items-center justify-center rounded-md px-4 py-2 text-sm font-medium transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50", unknown, unknown, undefined>>;
1
+ export declare const navigationMenuTriggerStyle: import("tailwind-variants").TVReturnType<{} | {} | {}, undefined, "bg-background hover:bg-muted focus:bg-muted data-open:hover:bg-muted data-open:focus:bg-muted data-open:bg-muted/50 focus-visible:ring-ring/50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted rounded-lg px-2.5 py-1.5 text-sm font-medium transition-all focus-visible:ring-3 focus-visible:outline-1 disabled:opacity-50 group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center outline-none disabled:pointer-events-none", {} | {}, undefined, import("tailwind-variants").TVReturnType<unknown, undefined, "bg-background hover:bg-muted focus:bg-muted data-open:hover:bg-muted data-open:focus:bg-muted data-open:bg-muted/50 focus-visible:ring-ring/50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted rounded-lg px-2.5 py-1.5 text-sm font-medium transition-all focus-visible:ring-3 focus-visible:outline-1 disabled:opacity-50 group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center outline-none disabled:pointer-events-none", unknown, unknown, undefined>>;
2
2
  import { NavigationMenu as NavigationMenuPrimitive } from "bits-ui";
3
3
  declare const NavigationMenuTrigger: import("svelte").Component<NavigationMenuPrimitive.TriggerProps, {}, "ref">;
4
4
  type NavigationMenuTrigger = ReturnType<typeof NavigationMenuTrigger>;
@@ -10,7 +10,7 @@
10
10
  bind:ref
11
11
  data-slot="navigation-menu-viewport"
12
12
  class={cn(
13
- "origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--bits-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--bits-navigation-menu-viewport-width)]",
13
+ "bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:zoom-out-90 data-open:zoom-in-90 ring-foreground/10 origin-top-center relative mt-1.5 h-[calc(var(--bits-navigation-menu-viewport-height)+1rem)] w-full overflow-hidden rounded-lg shadow ring-1 duration-100 md:w-[calc(var(--bits-navigation-menu-viewport-width)+1rem)]",
14
14
  className
15
15
  )}
16
16
  {...restProps}