@geniusdynamics/ns8-ui-lib 1.0.6 → 1.0.7

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 (294) hide show
  1. package/dist/ns8-ui-lib.css +1 -1
  2. package/dist/ns8-ui-lib.es.js +222 -222
  3. package/dist/ns8-ui-lib.es.js.map +1 -1
  4. package/dist/ns8-ui-lib.umd.js +3 -3
  5. package/dist/ns8-ui-lib.umd.js.map +1 -1
  6. package/package.json +2 -2
  7. package/src/App.vue +3 -4
  8. package/src/components/HelloWorld.vue +2 -2
  9. package/src/components/NS/CompleteDemo.vue +49 -49
  10. package/src/components/NS/Demo.vue +20 -20
  11. package/src/components/NS/cards/NSBackupCard.vue +41 -41
  12. package/src/components/NS/cards/NSSystemInfoCard.vue +37 -37
  13. package/src/components/NS/cards/NSSystemdServiceCard.vue +27 -27
  14. package/src/components/NS/checkbox/NSCheckbox.vue +4 -4
  15. package/src/components/NS/data-table/NSDataTable.vue +29 -29
  16. package/src/components/NS/empty-state/NSEmptyState.vue +3 -3
  17. package/src/components/NS/inline-notification/NSInlineNotification.vue +9 -9
  18. package/src/components/NS/lottie-animation/NSLottieAnimation.vue +5 -5
  19. package/src/components/NS/modal/NSModal.vue +10 -10
  20. package/src/components/NS/modal/NSModalTrigger.vue +1 -1
  21. package/src/components/NS/pagination/NSPagination.vue +10 -10
  22. package/src/components/NS/progress/NSProgress.vue +3 -3
  23. package/src/components/NS/progress/NSProgressBar.vue +4 -4
  24. package/src/components/NS/slider/NSByteSlider.vue +3 -3
  25. package/src/components/NS/slider/NSSlider.vue +2 -2
  26. package/src/components/NS/tag/NSTag.vue +5 -5
  27. package/src/components/NS/text-input/NSTextInput.vue +5 -5
  28. package/src/components/NS/toast-notification/NSToastNotification.vue +7 -7
  29. package/src/components/NS/toggle/NSToggle.vue +2 -2
  30. package/src/components/NS/wizard/NSWizard.vue +21 -21
  31. package/src/components/ui/accordion/AccordionContent.vue +2 -2
  32. package/src/components/ui/accordion/AccordionItem.vue +1 -1
  33. package/src/components/ui/accordion/AccordionTrigger.vue +3 -3
  34. package/src/components/ui/alert/AlertDescription.vue +1 -1
  35. package/src/components/ui/alert/AlertTitle.vue +1 -1
  36. package/src/components/ui/alert-dialog/AlertDialogCancel.vue +1 -1
  37. package/src/components/ui/alert-dialog/AlertDialogContent.vue +2 -2
  38. package/src/components/ui/alert-dialog/AlertDialogDescription.vue +1 -1
  39. package/src/components/ui/alert-dialog/AlertDialogFooter.vue +1 -1
  40. package/src/components/ui/alert-dialog/AlertDialogHeader.vue +1 -1
  41. package/src/components/ui/alert-dialog/AlertDialogTitle.vue +1 -1
  42. package/src/components/ui/avatar/Avatar.vue +1 -1
  43. package/src/components/ui/avatar/AvatarFallback.vue +1 -1
  44. package/src/components/ui/avatar/AvatarImage.vue +1 -1
  45. package/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +3 -3
  46. package/src/components/ui/breadcrumb/BreadcrumbItem.vue +1 -1
  47. package/src/components/ui/breadcrumb/BreadcrumbLink.vue +1 -1
  48. package/src/components/ui/breadcrumb/BreadcrumbList.vue +1 -1
  49. package/src/components/ui/breadcrumb/BreadcrumbPage.vue +1 -1
  50. package/src/components/ui/breadcrumb/BreadcrumbSeparator.vue +1 -1
  51. package/src/components/ui/button-group/ButtonGroupSeparator.vue +1 -1
  52. package/src/components/ui/button-group/ButtonGroupText.vue +1 -1
  53. package/src/components/ui/calendar/Calendar.vue +16 -16
  54. package/src/components/ui/calendar/CalendarCell.vue +1 -1
  55. package/src/components/ui/calendar/CalendarCellTrigger.vue +6 -6
  56. package/src/components/ui/calendar/CalendarGrid.vue +1 -1
  57. package/src/components/ui/calendar/CalendarGridRow.vue +1 -1
  58. package/src/components/ui/calendar/CalendarHeadCell.vue +1 -1
  59. package/src/components/ui/calendar/CalendarHeader.vue +1 -1
  60. package/src/components/ui/calendar/CalendarHeading.vue +1 -1
  61. package/src/components/ui/calendar/CalendarNextButton.vue +2 -2
  62. package/src/components/ui/calendar/CalendarPrevButton.vue +2 -2
  63. package/src/components/ui/card/Card.vue +1 -1
  64. package/src/components/ui/card/CardAction.vue +1 -1
  65. package/src/components/ui/card/CardContent.vue +1 -1
  66. package/src/components/ui/card/CardDescription.vue +1 -1
  67. package/src/components/ui/card/CardFooter.vue +1 -1
  68. package/src/components/ui/card/CardHeader.vue +1 -1
  69. package/src/components/ui/card/CardTitle.vue +1 -1
  70. package/src/components/ui/carousel/Carousel.vue +1 -1
  71. package/src/components/ui/carousel/CarouselContent.vue +3 -3
  72. package/src/components/ui/carousel/CarouselItem.vue +2 -2
  73. package/src/components/ui/carousel/CarouselNext.vue +4 -4
  74. package/src/components/ui/carousel/CarouselPrevious.vue +4 -4
  75. package/src/components/ui/checkbox/Checkbox.vue +3 -3
  76. package/src/components/ui/combobox/ComboboxAnchor.vue +1 -1
  77. package/src/components/ui/combobox/ComboboxEmpty.vue +1 -1
  78. package/src/components/ui/combobox/ComboboxGroup.vue +2 -2
  79. package/src/components/ui/combobox/ComboboxInput.vue +3 -3
  80. package/src/components/ui/combobox/ComboboxItem.vue +1 -1
  81. package/src/components/ui/combobox/ComboboxItemIndicator.vue +1 -1
  82. package/src/components/ui/combobox/ComboboxList.vue +1 -1
  83. package/src/components/ui/combobox/ComboboxSeparator.vue +1 -1
  84. package/src/components/ui/combobox/ComboboxTrigger.vue +1 -1
  85. package/src/components/ui/combobox/ComboboxViewport.vue +1 -1
  86. package/src/components/ui/command/Command.vue +1 -1
  87. package/src/components/ui/command/CommandDialog.vue +2 -2
  88. package/src/components/ui/command/CommandEmpty.vue +1 -1
  89. package/src/components/ui/command/CommandGroup.vue +2 -2
  90. package/src/components/ui/command/CommandInput.vue +3 -3
  91. package/src/components/ui/command/CommandItem.vue +1 -1
  92. package/src/components/ui/command/CommandList.vue +1 -1
  93. package/src/components/ui/command/CommandSeparator.vue +1 -1
  94. package/src/components/ui/command/CommandShortcut.vue +1 -1
  95. package/src/components/ui/context-menu/ContextMenuCheckboxItem.vue +3 -3
  96. package/src/components/ui/context-menu/ContextMenuContent.vue +1 -1
  97. package/src/components/ui/context-menu/ContextMenuItem.vue +1 -1
  98. package/src/components/ui/context-menu/ContextMenuLabel.vue +1 -1
  99. package/src/components/ui/context-menu/ContextMenuRadioItem.vue +3 -3
  100. package/src/components/ui/context-menu/ContextMenuSeparator.vue +1 -1
  101. package/src/components/ui/context-menu/ContextMenuShortcut.vue +1 -1
  102. package/src/components/ui/context-menu/ContextMenuSubContent.vue +1 -1
  103. package/src/components/ui/context-menu/ContextMenuSubTrigger.vue +2 -2
  104. package/src/components/ui/dialog/DialogContent.vue +18 -27
  105. package/src/components/ui/dialog/DialogDescription.vue +1 -1
  106. package/src/components/ui/dialog/DialogFooter.vue +1 -1
  107. package/src/components/ui/dialog/DialogHeader.vue +1 -1
  108. package/src/components/ui/dialog/DialogOverlay.vue +1 -1
  109. package/src/components/ui/dialog/DialogScrollContent.vue +5 -5
  110. package/src/components/ui/dialog/DialogTitle.vue +1 -1
  111. package/src/components/ui/drawer/DrawerContent.vue +6 -6
  112. package/src/components/ui/drawer/DrawerDescription.vue +1 -1
  113. package/src/components/ui/drawer/DrawerFooter.vue +1 -1
  114. package/src/components/ui/drawer/DrawerHeader.vue +1 -1
  115. package/src/components/ui/drawer/DrawerOverlay.vue +1 -1
  116. package/src/components/ui/drawer/DrawerTitle.vue +1 -1
  117. package/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +3 -3
  118. package/src/components/ui/dropdown-menu/DropdownMenuContent.vue +1 -1
  119. package/src/components/ui/dropdown-menu/DropdownMenuItem.vue +1 -1
  120. package/src/components/ui/dropdown-menu/DropdownMenuLabel.vue +1 -1
  121. package/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +3 -3
  122. package/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue +1 -1
  123. package/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue +1 -1
  124. package/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue +1 -1
  125. package/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +2 -2
  126. package/src/components/ui/empty/Empty.vue +1 -1
  127. package/src/components/ui/empty/EmptyContent.vue +1 -1
  128. package/src/components/ui/empty/EmptyDescription.vue +2 -2
  129. package/src/components/ui/empty/EmptyHeader.vue +1 -1
  130. package/src/components/ui/empty/EmptyTitle.vue +1 -1
  131. package/src/components/ui/field/FieldContent.vue +1 -1
  132. package/src/components/ui/field/FieldDescription.vue +3 -3
  133. package/src/components/ui/field/FieldError.vue +2 -2
  134. package/src/components/ui/field/FieldGroup.vue +1 -1
  135. package/src/components/ui/field/FieldLabel.vue +3 -3
  136. package/src/components/ui/field/FieldLegend.vue +3 -3
  137. package/src/components/ui/field/FieldSeparator.vue +3 -3
  138. package/src/components/ui/field/FieldSet.vue +2 -2
  139. package/src/components/ui/field/FieldTitle.vue +1 -1
  140. package/src/components/ui/form/FormDescription.vue +1 -1
  141. package/src/components/ui/form/FormItem.vue +1 -1
  142. package/src/components/ui/form/FormLabel.vue +1 -1
  143. package/src/components/ui/form/FormMessage.vue +1 -1
  144. package/src/components/ui/hover-card/HoverCardContent.vue +1 -1
  145. package/src/components/ui/input/Input.vue +3 -3
  146. package/src/components/ui/input-group/InputGroup.vue +8 -8
  147. package/src/components/ui/input-group/InputGroupInput.vue +1 -1
  148. package/src/components/ui/input-group/InputGroupText.vue +1 -1
  149. package/src/components/ui/input-group/InputGroupTextarea.vue +1 -1
  150. package/src/components/ui/input-otp/InputOTP.vue +1 -1
  151. package/src/components/ui/input-otp/InputOTPGroup.vue +1 -1
  152. package/src/components/ui/input-otp/InputOTPSlot.vue +3 -3
  153. package/src/components/ui/item/ItemActions.vue +1 -1
  154. package/src/components/ui/item/ItemContent.vue +1 -1
  155. package/src/components/ui/item/ItemDescription.vue +2 -2
  156. package/src/components/ui/item/ItemFooter.vue +1 -1
  157. package/src/components/ui/item/ItemGroup.vue +1 -1
  158. package/src/components/ui/item/ItemHeader.vue +1 -1
  159. package/src/components/ui/item/ItemSeparator.vue +1 -1
  160. package/src/components/ui/item/ItemTitle.vue +1 -1
  161. package/src/components/ui/kbd/Kbd.vue +3 -3
  162. package/src/components/ui/kbd/KbdGroup.vue +1 -1
  163. package/src/components/ui/label/Label.vue +1 -1
  164. package/src/components/ui/menubar/Menubar.vue +1 -1
  165. package/src/components/ui/menubar/MenubarCheckboxItem.vue +3 -3
  166. package/src/components/ui/menubar/MenubarContent.vue +1 -1
  167. package/src/components/ui/menubar/MenubarItem.vue +1 -1
  168. package/src/components/ui/menubar/MenubarLabel.vue +1 -1
  169. package/src/components/ui/menubar/MenubarRadioItem.vue +3 -3
  170. package/src/components/ui/menubar/MenubarSeparator.vue +1 -1
  171. package/src/components/ui/menubar/MenubarShortcut.vue +1 -1
  172. package/src/components/ui/menubar/MenubarSubContent.vue +1 -1
  173. package/src/components/ui/menubar/MenubarSubTrigger.vue +2 -2
  174. package/src/components/ui/menubar/MenubarTrigger.vue +1 -1
  175. package/src/components/ui/native-select/NativeSelect.vue +5 -5
  176. package/src/components/ui/native-select/NativeSelectOptGroup.vue +1 -1
  177. package/src/components/ui/native-select/NativeSelectOption.vue +1 -1
  178. package/src/components/ui/navigation-menu/NavigationMenu.vue +1 -1
  179. package/src/components/ui/navigation-menu/NavigationMenuContent.vue +2 -2
  180. package/src/components/ui/navigation-menu/NavigationMenuIndicator.vue +2 -2
  181. package/src/components/ui/navigation-menu/NavigationMenuItem.vue +1 -1
  182. package/src/components/ui/navigation-menu/NavigationMenuLink.vue +1 -1
  183. package/src/components/ui/navigation-menu/NavigationMenuList.vue +1 -1
  184. package/src/components/ui/navigation-menu/NavigationMenuTrigger.vue +2 -2
  185. package/src/components/ui/navigation-menu/NavigationMenuViewport.vue +2 -2
  186. package/src/components/ui/number-field/NumberField.vue +1 -1
  187. package/src/components/ui/number-field/NumberFieldContent.vue +1 -1
  188. package/src/components/ui/number-field/NumberFieldDecrement.vue +2 -2
  189. package/src/components/ui/number-field/NumberFieldIncrement.vue +2 -2
  190. package/src/components/ui/number-field/NumberFieldInput.vue +1 -1
  191. package/src/components/ui/pagination/Pagination.vue +1 -1
  192. package/src/components/ui/pagination/PaginationContent.vue +1 -1
  193. package/src/components/ui/pagination/PaginationEllipsis.vue +3 -3
  194. package/src/components/ui/pagination/PaginationFirst.vue +2 -2
  195. package/src/components/ui/pagination/PaginationLast.vue +2 -2
  196. package/src/components/ui/pagination/PaginationNext.vue +2 -2
  197. package/src/components/ui/pagination/PaginationPrevious.vue +2 -2
  198. package/src/components/ui/pin-input/PinInput.vue +1 -1
  199. package/src/components/ui/pin-input/PinInputGroup.vue +1 -1
  200. package/src/components/ui/pin-input/PinInputSlot.vue +1 -1
  201. package/src/components/ui/popover/PopoverContent.vue +1 -1
  202. package/src/components/ui/progress/Progress.vue +12 -9
  203. package/src/components/ui/radio-group/RadioGroup.vue +1 -1
  204. package/src/components/ui/radio-group/RadioGroupItem.vue +16 -16
  205. package/src/components/ui/range-calendar/RangeCalendar.vue +4 -4
  206. package/src/components/ui/range-calendar/RangeCalendarCell.vue +1 -1
  207. package/src/components/ui/range-calendar/RangeCalendarCellTrigger.vue +7 -7
  208. package/src/components/ui/range-calendar/RangeCalendarGrid.vue +1 -1
  209. package/src/components/ui/range-calendar/RangeCalendarGridRow.vue +1 -1
  210. package/src/components/ui/range-calendar/RangeCalendarHeadCell.vue +1 -1
  211. package/src/components/ui/range-calendar/RangeCalendarHeader.vue +1 -1
  212. package/src/components/ui/range-calendar/RangeCalendarHeading.vue +1 -1
  213. package/src/components/ui/range-calendar/RangeCalendarNextButton.vue +3 -3
  214. package/src/components/ui/range-calendar/RangeCalendarPrevButton.vue +3 -3
  215. package/src/components/ui/resizable/ResizableHandle.vue +3 -3
  216. package/src/components/ui/resizable/ResizablePanelGroup.vue +1 -1
  217. package/src/components/ui/scroll-area/ScrollArea.vue +2 -2
  218. package/src/components/ui/scroll-area/ScrollBar.vue +16 -22
  219. package/src/components/ui/select/SelectContent.vue +18 -27
  220. package/src/components/ui/select/SelectItem.vue +3 -3
  221. package/src/components/ui/select/SelectLabel.vue +1 -1
  222. package/src/components/ui/select/SelectScrollDownButton.vue +2 -2
  223. package/src/components/ui/select/SelectScrollUpButton.vue +2 -2
  224. package/src/components/ui/select/SelectSeparator.vue +1 -1
  225. package/src/components/ui/select/SelectTrigger.vue +2 -2
  226. package/src/components/ui/separator/Separator.vue +1 -1
  227. package/src/components/ui/sheet/SheetContent.vue +28 -31
  228. package/src/components/ui/sheet/SheetDescription.vue +1 -1
  229. package/src/components/ui/sheet/SheetFooter.vue +1 -1
  230. package/src/components/ui/sheet/SheetHeader.vue +1 -1
  231. package/src/components/ui/sheet/SheetOverlay.vue +1 -1
  232. package/src/components/ui/sheet/SheetTitle.vue +1 -1
  233. package/src/components/ui/sidebar/Sidebar.vue +16 -16
  234. package/src/components/ui/sidebar/SidebarContent.vue +1 -1
  235. package/src/components/ui/sidebar/SidebarFooter.vue +1 -1
  236. package/src/components/ui/sidebar/SidebarGroup.vue +1 -1
  237. package/src/components/ui/sidebar/SidebarGroupAction.vue +3 -3
  238. package/src/components/ui/sidebar/SidebarGroupContent.vue +1 -1
  239. package/src/components/ui/sidebar/SidebarGroupLabel.vue +2 -2
  240. package/src/components/ui/sidebar/SidebarHeader.vue +1 -1
  241. package/src/components/ui/sidebar/SidebarInput.vue +1 -1
  242. package/src/components/ui/sidebar/SidebarInset.vue +2 -2
  243. package/src/components/ui/sidebar/SidebarMenu.vue +1 -1
  244. package/src/components/ui/sidebar/SidebarMenuAction.vue +7 -7
  245. package/src/components/ui/sidebar/SidebarMenuBadge.vue +6 -6
  246. package/src/components/ui/sidebar/SidebarMenuItem.vue +1 -1
  247. package/src/components/ui/sidebar/SidebarMenuSkeleton.vue +3 -3
  248. package/src/components/ui/sidebar/SidebarMenuSub.vue +2 -2
  249. package/src/components/ui/sidebar/SidebarMenuSubButton.vue +5 -5
  250. package/src/components/ui/sidebar/SidebarMenuSubItem.vue +1 -1
  251. package/src/components/ui/sidebar/SidebarProvider.vue +1 -1
  252. package/src/components/ui/sidebar/SidebarRail.vue +6 -6
  253. package/src/components/ui/sidebar/SidebarSeparator.vue +1 -1
  254. package/src/components/ui/sidebar/SidebarTrigger.vue +2 -2
  255. package/src/components/ui/skeleton/Skeleton.vue +1 -1
  256. package/src/components/ui/slider/Slider.vue +4 -4
  257. package/src/components/ui/sonner/Sonner.vue +7 -7
  258. package/src/components/ui/spinner/Spinner.vue +1 -1
  259. package/src/components/ui/stepper/Stepper.vue +1 -1
  260. package/src/components/ui/stepper/StepperDescription.vue +1 -1
  261. package/src/components/ui/stepper/StepperIndicator.vue +4 -4
  262. package/src/components/ui/stepper/StepperItem.vue +1 -1
  263. package/src/components/ui/stepper/StepperSeparator.vue +3 -3
  264. package/src/components/ui/stepper/StepperTitle.vue +1 -1
  265. package/src/components/ui/stepper/StepperTrigger.vue +1 -1
  266. package/src/components/ui/switch/Switch.vue +2 -2
  267. package/src/components/ui/table/Table.vue +6 -12
  268. package/src/components/ui/table/TableBody.vue +1 -1
  269. package/src/components/ui/table/TableCaption.vue +1 -1
  270. package/src/components/ui/table/TableCell.vue +1 -1
  271. package/src/components/ui/table/TableEmpty.vue +14 -17
  272. package/src/components/ui/table/TableFooter.vue +1 -1
  273. package/src/components/ui/table/TableHead.vue +1 -1
  274. package/src/components/ui/table/TableHeader.vue +1 -1
  275. package/src/components/ui/table/TableRow.vue +1 -1
  276. package/src/components/ui/tabs/Tabs.vue +1 -1
  277. package/src/components/ui/tabs/TabsContent.vue +1 -1
  278. package/src/components/ui/tabs/TabsList.vue +1 -1
  279. package/src/components/ui/tabs/TabsTrigger.vue +1 -1
  280. package/src/components/ui/tags-input/TagsInput.vue +3 -3
  281. package/src/components/ui/tags-input/TagsInputInput.vue +1 -1
  282. package/src/components/ui/tags-input/TagsInputItem.vue +1 -1
  283. package/src/components/ui/tags-input/TagsInputItemDelete.vue +2 -2
  284. package/src/components/ui/tags-input/TagsInputItemText.vue +1 -1
  285. package/src/components/ui/textarea/Textarea.vue +1 -1
  286. package/src/components/ui/toggle-group/ToggleGroup.vue +1 -1
  287. package/src/components/ui/toggle-group/ToggleGroupItem.vue +2 -2
  288. package/src/components/ui/tooltip/TooltipContent.vue +2 -2
  289. package/src/components/ui/checkbox/NsCheckbox.vue +0 -123
  290. package/src/components/ui/empty-state/NsEmptyState.vue +0 -149
  291. package/src/components/ui/inline-notification/NsInlineNotification.vue +0 -163
  292. package/src/components/ui/tag/NsTag.vue +0 -114
  293. package/src/components/ui/text-input/NsTextInput.vue +0 -269
  294. package/src/components/ui/toggle/NsToggle.vue +0 -126
@@ -1,18 +1,15 @@
1
1
  <script setup lang="ts">
2
- import type { ScrollAreaScrollbarProps } from "reka-ui";
3
- import type { HTMLAttributes } from "vue";
4
- import { reactiveOmit } from "@vueuse/core";
5
- import { ScrollAreaScrollbar, ScrollAreaThumb } from "reka-ui";
6
- import { cn } from "@/lib/utils";
2
+ import type { ScrollAreaScrollbarProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { ScrollAreaScrollbar, ScrollAreaThumb } from "reka-ui"
6
+ import { cn } from "@/lib/utils"
7
7
 
8
- const props = withDefaults(
9
- defineProps<ScrollAreaScrollbarProps & { class?: HTMLAttributes["class"] }>(),
10
- {
11
- orientation: "vertical",
12
- },
13
- );
8
+ const props = withDefaults(defineProps<ScrollAreaScrollbarProps & { class?: HTMLAttributes["class"] }>(), {
9
+ orientation: "vertical",
10
+ })
14
11
 
15
- const delegatedProps = reactiveOmit(props, "class");
12
+ const delegatedProps = reactiveOmit(props, "class")
16
13
  </script>
17
14
 
18
15
  <template>
@@ -20,19 +17,16 @@ const delegatedProps = reactiveOmit(props, "class");
20
17
  data-slot="scroll-area-scrollbar"
21
18
  v-bind="delegatedProps"
22
19
  :class="
23
- cn(
24
- 'tw:flex tw:touch-none tw:p-px tw:transition-colors tw:select-none',
25
- orientation === 'vertical' &&
26
- 'tw:h-full tw:w-2.5 tw:border-l tw:border-l-transparent',
27
- orientation === 'horizontal' &&
28
- 'tw:h-2.5 tw:flex-col tw:border-t tw:border-t-transparent',
29
- props.class,
30
- )
31
- "
20
+ cn('flex touch-none p-px transition-colors select-none',
21
+ orientation === 'vertical'
22
+ && 'h-full w-2.5 border-l border-l-transparent',
23
+ orientation === 'horizontal'
24
+ && 'h-2.5 flex-col border-t border-t-transparent',
25
+ props.class)"
32
26
  >
33
27
  <ScrollAreaThumb
34
28
  data-slot="scroll-area-thumb"
35
- class="tw:bg-border tw:relative tw:flex-1 tw:rounded-full"
29
+ class="bg-border relative flex-1 rounded-full"
36
30
  />
37
31
  </ScrollAreaScrollbar>
38
32
  </template>
@@ -1,31 +1,31 @@
1
1
  <script setup lang="ts">
2
- import type { SelectContentEmits, SelectContentProps } from "reka-ui";
3
- import type { HTMLAttributes } from "vue";
4
- import { reactiveOmit } from "@vueuse/core";
2
+ import type { SelectContentEmits, SelectContentProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
5
  import {
6
6
  SelectContent,
7
7
  SelectPortal,
8
8
  SelectViewport,
9
9
  useForwardPropsEmits,
10
- } from "reka-ui";
11
- import { cn } from "@/lib/utils";
12
- import { SelectScrollDownButton, SelectScrollUpButton } from ".";
10
+ } from "reka-ui"
11
+ import { cn } from "@/lib/utils"
12
+ import { SelectScrollDownButton, SelectScrollUpButton } from "."
13
13
 
14
14
  defineOptions({
15
15
  inheritAttrs: false,
16
- });
16
+ })
17
17
 
18
18
  const props = withDefaults(
19
19
  defineProps<SelectContentProps & { class?: HTMLAttributes["class"] }>(),
20
20
  {
21
21
  position: "popper",
22
22
  },
23
- );
24
- const emits = defineEmits<SelectContentEmits>();
23
+ )
24
+ const emits = defineEmits<SelectContentEmits>()
25
25
 
26
- const delegatedProps = reactiveOmit(props, "class");
26
+ const delegatedProps = reactiveOmit(props, "class")
27
27
 
28
- const forwarded = useForwardPropsEmits(delegatedProps, emits);
28
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
29
29
  </script>
30
30
 
31
31
  <template>
@@ -33,25 +33,16 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits);
33
33
  <SelectContent
34
34
  data-slot="select-content"
35
35
  v-bind="{ ...$attrs, ...forwarded }"
36
- :class="
37
- cn(
38
- 'tw:bg-popover tw:text-popover-foreground tw:data-[state=open]:animate-in tw:data-[state=closed]:animate-out tw:data-[state=closed]:fade-out-0 tw:data-[state=open]:fade-in-0 tw:data-[state=closed]:zoom-out-95 tw:data-[state=open]:zoom-in-95 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:relative tw:z-50 tw:max-h-(--reka-select-content-available-height) tw:min-w-[8rem] tw:overflow-x-hidden tw:overflow-y-auto tw:rounded-md tw:border tw:shadow-md',
39
- position === 'popper' &&
40
- 'tw:data-[side=bottom]:translate-y-1 tw:data-[side=left]:-translate-x-1 tw:data-[side=right]:translate-x-1 tw:data-[side=top]:-translate-y-1',
41
- props.class,
42
- )
36
+ :class="cn(
37
+ '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-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border shadow-md',
38
+ position === 'popper'
39
+ && 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
40
+ props.class,
41
+ )
43
42
  "
44
43
  >
45
44
  <SelectScrollUpButton />
46
- <SelectViewport
47
- :class="
48
- cn(
49
- 'tw:p-1',
50
- position === 'popper' &&
51
- 'tw:h-[var(--reka-select-trigger-height)] tw:w-full tw:min-w-[var(--reka-select-trigger-width)] tw:scroll-my-1',
52
- )
53
- "
54
- >
45
+ <SelectViewport :class="cn('p-1', position === 'popper' && 'h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1')">
55
46
  <slot />
56
47
  </SelectViewport>
57
48
  <SelectScrollDownButton />
@@ -24,15 +24,15 @@ const forwardedProps = useForwardProps(delegatedProps)
24
24
  v-bind="forwardedProps"
25
25
  :class="
26
26
  cn(
27
- 'tw:focus:bg-accent tw:focus:text-accent-foreground tw:[&_svg:not([class*=\'text-\'])]:text-muted-foreground tw:relative tw:flex tw:w-full tw:cursor-default tw:items-center tw:gap-2 tw:rounded-sm tw:py-1.5 tw:pr-8 tw:pl-2 tw:text-sm tw:outline-hidden tw:select-none tw:data-[disabled]:pointer-events-none tw:data-[disabled]:opacity-50 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=\'size-\'])]:size-4 tw:*:[span]:last:flex tw:*:[span]:last:items-center tw:*:[span]:last:gap-2',
27
+ 'focus:bg-accent focus: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 pr-8 pl-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 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2',
28
28
  props.class,
29
29
  )
30
30
  "
31
31
  >
32
- <span class=""tw:absolute tw:right-2 tw:flex tw:size-3.5 tw:items-center tw:justify-center"">
32
+ <span class="absolute right-2 flex size-3.5 items-center justify-center">
33
33
  <SelectItemIndicator>
34
34
  <slot name="indicator-icon">
35
- <Check class=""tw:size-4"" />
35
+ <Check class="size-4" />
36
36
  </slot>
37
37
  </SelectItemIndicator>
38
38
  </span>
@@ -10,7 +10,7 @@ const props = defineProps<SelectLabelProps & { class?: HTMLAttributes["class"] }
10
10
  <template>
11
11
  <SelectLabel
12
12
  data-slot="select-label"
13
- :class="cn('tw:text-muted-foreground tw:px-2 tw:py-1.5 tw:text-xs', props.class)"
13
+ :class="cn('text-muted-foreground px-2 py-1.5 text-xs', props.class)"
14
14
  >
15
15
  <slot />
16
16
  </SelectLabel>
@@ -17,10 +17,10 @@ const forwardedProps = useForwardProps(delegatedProps)
17
17
  <SelectScrollDownButton
18
18
  data-slot="select-scroll-down-button"
19
19
  v-bind="forwardedProps"
20
- :class="cn('tw:flex tw:cursor-default tw:items-center tw:justify-center tw:py-1', props.class)"
20
+ :class="cn('flex cursor-default items-center justify-center py-1', props.class)"
21
21
  >
22
22
  <slot>
23
- <ChevronDown class=""tw:size-4"" />
23
+ <ChevronDown class="size-4" />
24
24
  </slot>
25
25
  </SelectScrollDownButton>
26
26
  </template>
@@ -17,10 +17,10 @@ const forwardedProps = useForwardProps(delegatedProps)
17
17
  <SelectScrollUpButton
18
18
  data-slot="select-scroll-up-button"
19
19
  v-bind="forwardedProps"
20
- :class="cn('tw:flex tw:cursor-default tw:items-center tw:justify-center tw:py-1', props.class)"
20
+ :class="cn('flex cursor-default items-center justify-center py-1', props.class)"
21
21
  >
22
22
  <slot>
23
- <ChevronUp class=""tw:size-4"" />
23
+ <ChevronUp class="size-4" />
24
24
  </slot>
25
25
  </SelectScrollUpButton>
26
26
  </template>
@@ -14,6 +14,6 @@ const delegatedProps = reactiveOmit(props, "class")
14
14
  <SelectSeparator
15
15
  data-slot="select-separator"
16
16
  v-bind="delegatedProps"
17
- :class="cn('tw:bg-border tw:pointer-events-none tw:-mx-1 tw:my-1 tw:h-px', props.class)"
17
+ :class="cn('bg-border pointer-events-none -mx-1 my-1 h-px', props.class)"
18
18
  />
19
19
  </template>
@@ -21,13 +21,13 @@ const forwardedProps = useForwardProps(delegatedProps)
21
21
  :data-size="size"
22
22
  v-bind="forwardedProps"
23
23
  :class="cn(
24
- 'tw:border-input tw:data-[placeholder]:text-muted-foreground tw:[&_svg:not([class*=\'text-\'])]:text-muted-foreground tw:focus-visible:border-ring tw:focus-visible:ring-ring/50 tw:aria-invalid:ring-destructive/20 tw:dark:aria-invalid:ring-destructive/40 tw:aria-invalid:border-destructive tw:dark:bg-input/30 tw:dark:hover:bg-input/50 tw:flex tw:w-fit tw:items-center tw:justify-between tw:gap-2 tw:rounded-md tw:border tw:bg-transparent tw:px-3 tw:py-2 tw:text-sm tw:whitespace-nowrap tw:shadow-xs tw:transition-[color,box-shadow] tw:outline-none tw:focus-visible:ring-[3px] tw:disabled:cursor-not-allowed tw:disabled:opacity-50 tw:data-[size=default]:h-9 tw:data-[size=sm]:h-8 tw:*:data-[slot=select-value]:line-clamp-1 tw:*:data-[slot=select-value]:flex tw:*:data-[slot=select-value]:items-center tw:*:data-[slot=select-value]:gap-2 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=\'size-\'])]:size-4',
24
+ '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 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',
25
25
  props.class,
26
26
  )"
27
27
  >
28
28
  <slot />
29
29
  <SelectIcon as-child>
30
- <ChevronDown class=""tw:size-4 tw:opacity-50"" />
30
+ <ChevronDown class="size-4 opacity-50" />
31
31
  </SelectIcon>
32
32
  </SelectTrigger>
33
33
  </template>
@@ -21,7 +21,7 @@ const delegatedProps = reactiveOmit(props, "class")
21
21
  v-bind="delegatedProps"
22
22
  :class="
23
23
  cn(
24
- 'tw:bg-border tw:shrink-0 tw:data-[orientation=horizontal]:h-px tw:data-[orientation=horizontal]:w-full tw:data-[orientation=vertical]:h-full tw:data-[orientation=vertical]:w-px',
24
+ 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',
25
25
  props.class,
26
26
  )
27
27
  "
@@ -1,34 +1,34 @@
1
1
  <script setup lang="ts">
2
- import type { DialogContentEmits, DialogContentProps } from "reka-ui";
3
- import type { HTMLAttributes } from "vue";
4
- import { reactiveOmit } from "@vueuse/core";
5
- import { X } from "lucide-vue-next";
2
+ import type { DialogContentEmits, DialogContentProps } from "reka-ui"
3
+ import type { HTMLAttributes } from "vue"
4
+ import { reactiveOmit } from "@vueuse/core"
5
+ import { X } from "lucide-vue-next"
6
6
  import {
7
7
  DialogClose,
8
8
  DialogContent,
9
9
  DialogPortal,
10
10
  useForwardPropsEmits,
11
- } from "reka-ui";
12
- import { cn } from "@/lib/utils";
13
- import SheetOverlay from "./SheetOverlay.vue";
11
+ } from "reka-ui"
12
+ import { cn } from "@/lib/utils"
13
+ import SheetOverlay from "./SheetOverlay.vue"
14
14
 
15
15
  interface SheetContentProps extends DialogContentProps {
16
- class?: HTMLAttributes["class"];
17
- side?: "top" | "right" | "bottom" | "left";
16
+ class?: HTMLAttributes["class"]
17
+ side?: "top" | "right" | "bottom" | "left"
18
18
  }
19
19
 
20
20
  defineOptions({
21
21
  inheritAttrs: false,
22
- });
22
+ })
23
23
 
24
24
  const props = withDefaults(defineProps<SheetContentProps>(), {
25
25
  side: "right",
26
- });
27
- const emits = defineEmits<DialogContentEmits>();
26
+ })
27
+ const emits = defineEmits<DialogContentEmits>()
28
28
 
29
- const delegatedProps = reactiveOmit(props, "class", "side");
29
+ const delegatedProps = reactiveOmit(props, "class", "side")
30
30
 
31
- const forwarded = useForwardPropsEmits(delegatedProps, emits);
31
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
32
32
  </script>
33
33
 
34
34
  <template>
@@ -36,29 +36,26 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits);
36
36
  <SheetOverlay />
37
37
  <DialogContent
38
38
  data-slot="sheet-content"
39
- :class="
40
- cn(
41
- 'tw:bg-background tw:data-[state=open]:animate-in tw:data-[state=closed]:animate-out tw:fixed tw:z-50 tw:flex tw:flex-col tw:gap-4 tw:shadow-lg tw:transition tw:ease-in-out tw:data-[state=closed]:duration-300 tw:data-[state=open]:duration-500',
42
- side === 'right' &&
43
- 'tw:data-[state=closed]:slide-out-to-right tw:data-[state=open]:slide-in-from-right tw:inset-y-0 tw:right-0 tw:h-full tw:w-3/4 tw:border-l tw:sm:max-w-sm',
44
- side === 'left' &&
45
- 'tw:data-[state=closed]:slide-out-to-left tw:data-[state=open]:slide-in-from-left tw:inset-y-0 tw:left-0 tw:h-full tw:w-3/4 tw:border-r tw:sm:max-w-sm',
46
- side === 'top' &&
47
- 'tw:data-[state=closed]:slide-out-to-top tw:data-[state=open]:slide-in-from-top tw:inset-x-0 tw:top-0 tw:h-auto tw:border-b',
48
- side === 'bottom' &&
49
- 'tw:data-[state=closed]:slide-out-to-bottom tw:data-[state=open]:slide-in-from-bottom tw:inset-x-0 tw:bottom-0 tw:h-auto tw:border-t',
50
- props.class,
51
- )
52
- "
39
+ :class="cn(
40
+ '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',
41
+ side === 'right'
42
+ && 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',
43
+ side === 'left'
44
+ && 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',
45
+ side === 'top'
46
+ && 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b',
47
+ side === 'bottom'
48
+ && 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',
49
+ props.class)"
53
50
  v-bind="{ ...$attrs, ...forwarded }"
54
51
  >
55
52
  <slot />
56
53
 
57
54
  <DialogClose
58
- class="tw:ring-offset-background tw:focus:ring-ring tw:data-[state=open]:bg-secondary tw:absolute tw:top-4 tw:right-4 tw:rounded-xs tw:opacity-70 tw:transition-opacity tw:hover:opacity-100 tw:focus:ring-2 tw:focus:ring-offset-2 tw:focus:outline-hidden tw:disabled:pointer-events-none"
55
+ class="ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none"
59
56
  >
60
- <X class="tw:size-4" />
61
- <span class="tw:sr-only">Close</span>
57
+ <X class="size-4" />
58
+ <span class="sr-only">Close</span>
62
59
  </DialogClose>
63
60
  </DialogContent>
64
61
  </DialogPortal>
@@ -13,7 +13,7 @@ const delegatedProps = reactiveOmit(props, "class")
13
13
  <template>
14
14
  <DialogDescription
15
15
  data-slot="sheet-description"
16
- :class="cn('tw:text-muted-foreground tw:text-sm', props.class)"
16
+ :class="cn('text-muted-foreground text-sm', props.class)"
17
17
  v-bind="delegatedProps"
18
18
  >
19
19
  <slot />
@@ -8,7 +8,7 @@ const props = defineProps<{ class?: HTMLAttributes["class"] }>()
8
8
  <template>
9
9
  <div
10
10
  data-slot="sheet-footer"
11
- :class="cn('tw:mt-auto tw:flex tw:flex-col tw:gap-2 tw:p-4', props.class)
11
+ :class="cn('mt-auto flex flex-col gap-2 p-4', props.class)
12
12
  "
13
13
  >
14
14
  <slot />
@@ -8,7 +8,7 @@ const props = defineProps<{ class?: HTMLAttributes["class"] }>()
8
8
  <template>
9
9
  <div
10
10
  data-slot="sheet-header"
11
- :class="cn('tw:flex tw:flex-col tw:gap-1.5 tw:p-4', props.class)"
11
+ :class="cn('flex flex-col gap-1.5 p-4', props.class)"
12
12
  >
13
13
  <slot />
14
14
  </div>
@@ -13,7 +13,7 @@ const delegatedProps = reactiveOmit(props, "class")
13
13
  <template>
14
14
  <DialogOverlay
15
15
  data-slot="sheet-overlay"
16
- :class="cn('tw:data-[state=open]:animate-in tw:data-[state=closed]:animate-out tw:data-[state=closed]:fade-out-0 tw:data-[state=open]:fade-in-0 tw:fixed tw:inset-0 tw:z-50 tw:bg-black/80', props.class)"
16
+ :class="cn('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/80', props.class)"
17
17
  v-bind="delegatedProps"
18
18
  >
19
19
  <slot />
@@ -13,7 +13,7 @@ const delegatedProps = reactiveOmit(props, "class")
13
13
  <template>
14
14
  <DialogTitle
15
15
  data-slot="sheet-title"
16
- :class="cn('tw:text-foreground tw:font-semibold', props.class)"
16
+ :class="cn('text-foreground font-semibold', props.class)"
17
17
  v-bind="delegatedProps"
18
18
  >
19
19
  <slot />
@@ -24,7 +24,7 @@ const { isMobile, state, openMobile, setOpenMobile } = useSidebar()
24
24
  <div
25
25
  v-if="collapsible === 'none'"
26
26
  data-slot="sidebar"
27
- :class="cn('tw:bg-sidebar tw:text-sidebar-foreground tw:flex tw:h-full tw:w-(--sidebar-width) tw:flex-col', props.class)"
27
+ :class="cn('bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col', props.class)"
28
28
  v-bind="$attrs"
29
29
  >
30
30
  <slot />
@@ -36,16 +36,16 @@ const { isMobile, state, openMobile, setOpenMobile } = useSidebar()
36
36
  data-slot="sidebar"
37
37
  data-mobile="true"
38
38
  :side="side"
39
- class=""tw:bg-sidebar tw:text-sidebar-foreground tw:w-(--sidebar-width) tw:p-0 tw:[&>button]:hidden""
39
+ class="bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden"
40
40
  :style="{
41
41
  '--sidebar-width': SIDEBAR_WIDTH_MOBILE,
42
42
  }"
43
43
  >
44
- <SheetHeader class=""tw:sr-only"">
44
+ <SheetHeader class="sr-only">
45
45
  <SheetTitle>Sidebar</SheetTitle>
46
46
  <SheetDescription>Displays the mobile sidebar.</SheetDescription>
47
47
  </SheetHeader>
48
- <div class=""tw:flex tw:h-full tw:w-full tw:flex-col"">
48
+ <div class="flex h-full w-full flex-col">
49
49
  <slot />
50
50
  </div>
51
51
  </SheetContent>
@@ -53,7 +53,7 @@ const { isMobile, state, openMobile, setOpenMobile } = useSidebar()
53
53
 
54
54
  <div
55
55
  v-else
56
- class=""tw:group tw:peer tw:text-sidebar-foreground tw:hidden tw:md:block""
56
+ class="group peer text-sidebar-foreground hidden md:block"
57
57
  data-slot="sidebar"
58
58
  :data-state="state"
59
59
  :data-collapsible="state === 'collapsed' ? collapsible : ''"
@@ -63,31 +63,31 @@ const { isMobile, state, openMobile, setOpenMobile } = useSidebar()
63
63
  <!-- This is what handles the sidebar gap on desktop -->
64
64
  <div
65
65
  :class="cn(
66
- 'tw:relative tw:w-(--sidebar-width) tw:bg-transparent tw:transition-[width] tw:duration-200 tw:ease-linear',
67
- 'tw:group-data-[collapsible=offcanvas]:w-0',
68
- 'tw:group-data-[side=right]:rotate-180',
66
+ 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',
67
+ 'group-data-[collapsible=offcanvas]:w-0',
68
+ 'group-data-[side=right]:rotate-180',
69
69
  variant === 'floating' || variant === 'inset'
70
- ? 'tw:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'
71
- : 'tw:group-data-[collapsible=icon]:w-(--sidebar-width-icon)',
70
+ ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'
71
+ : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',
72
72
  )"
73
73
  />
74
74
  <div
75
75
  :class="cn(
76
- 'tw:fixed tw:inset-y-0 tw:z-10 tw:hidden tw:h-svh tw:w-(--sidebar-width) tw:transition-[left,right,width] tw:duration-200 tw:ease-linear tw:md:flex',
76
+ 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',
77
77
  side === 'left'
78
- ? 'tw:left-0 tw:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'
79
- : 'tw:right-0 tw:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',
78
+ ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'
79
+ : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',
80
80
  // Adjust the padding for floating and inset variants.
81
81
  variant === 'floating' || variant === 'inset'
82
- ? 'tw:p-2 tw:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'
83
- : 'tw:group-data-[collapsible=icon]:w-(--sidebar-width-icon) tw:group-data-[side=left]:border-r tw:group-data-[side=right]:border-l',
82
+ ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'
83
+ : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',
84
84
  props.class,
85
85
  )"
86
86
  v-bind="$attrs"
87
87
  >
88
88
  <div
89
89
  data-sidebar="sidebar"
90
- class=""tw:bg-sidebar tw:group-data-[variant=floating]:border-sidebar-border tw:flex tw:h-full tw:w-full tw:flex-col tw:group-data-[variant=floating]:rounded-lg tw:group-data-[variant=floating]:border tw:group-data-[variant=floating]:shadow-sm""
90
+ 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"
91
91
  >
92
92
  <slot />
93
93
  </div>
@@ -11,7 +11,7 @@ const props = defineProps<{
11
11
  <div
12
12
  data-slot="sidebar-content"
13
13
  data-sidebar="content"
14
- :class="cn('tw:flex tw:min-h-0 tw:flex-1 tw:flex-col tw:gap-2 tw:overflow-auto tw:group-data-[collapsible=icon]:overflow-hidden', props.class)"
14
+ :class="cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', props.class)"
15
15
  >
16
16
  <slot />
17
17
  </div>
@@ -11,7 +11,7 @@ const props = defineProps<{
11
11
  <div
12
12
  data-slot="sidebar-footer"
13
13
  data-sidebar="footer"
14
- :class="cn('tw:flex tw:flex-col tw:gap-2 tw:p-2', props.class)"
14
+ :class="cn('flex flex-col gap-2 p-2', props.class)"
15
15
  >
16
16
  <slot />
17
17
  </div>
@@ -11,7 +11,7 @@ const props = defineProps<{
11
11
  <div
12
12
  data-slot="sidebar-group"
13
13
  data-sidebar="group"
14
- :class="cn('tw:relative tw:flex tw:w-full tw:min-w-0 tw:flex-col tw:p-2', props.class)"
14
+ :class="cn('relative flex w-full min-w-0 flex-col p-2', props.class)"
15
15
  >
16
16
  <slot />
17
17
  </div>
@@ -16,9 +16,9 @@ const props = defineProps<PrimitiveProps & {
16
16
  :as="as"
17
17
  :as-child="asChild"
18
18
  :class="cn(
19
- 'tw:text-sidebar-foreground tw:ring-sidebar-ring tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:absolute tw:top-3.5 tw:right-3 tw:flex tw:aspect-square tw:w-5 tw:items-center tw:justify-center tw:rounded-md tw:p-0 tw:outline-hidden tw:transition-transform tw:focus-visible:ring-2 tw:[&>svg]:size-4 tw:[&>svg]:shrink-0',
20
- 'tw:after:absolute tw:after:-inset-2 tw:md:after:hidden',
21
- 'tw:group-data-[collapsible=icon]:hidden',
19
+ 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 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',
20
+ 'after:absolute after:-inset-2 md:after:hidden',
21
+ 'group-data-[collapsible=icon]:hidden',
22
22
  props.class,
23
23
  )"
24
24
  >
@@ -11,7 +11,7 @@ const props = defineProps<{
11
11
  <div
12
12
  data-slot="sidebar-group-content"
13
13
  data-sidebar="group-content"
14
- :class="cn('tw:w-full tw:text-sm', props.class)"
14
+ :class="cn('w-full text-sm', props.class)"
15
15
  >
16
16
  <slot />
17
17
  </div>
@@ -16,8 +16,8 @@ const props = defineProps<PrimitiveProps & {
16
16
  :as="as"
17
17
  :as-child="asChild"
18
18
  :class="cn(
19
- 'tw:text-sidebar-foreground/70 tw:ring-sidebar-ring tw:flex tw:h-8 tw:shrink-0 tw:items-center tw:rounded-md tw:px-2 tw:text-xs tw:font-medium tw:outline-hidden tw:transition-[margin,opacity] tw:duration-200 tw:ease-linear tw:focus-visible:ring-2 tw:[&>svg]:size-4 tw:[&>svg]:shrink-0',
20
- 'tw:group-data-[collapsible=icon]:-mt-8 tw:group-data-[collapsible=icon]:opacity-0',
19
+ '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',
20
+ 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',
21
21
  props.class)"
22
22
  >
23
23
  <slot />
@@ -11,7 +11,7 @@ const props = defineProps<{
11
11
  <div
12
12
  data-slot="sidebar-header"
13
13
  data-sidebar="header"
14
- :class="cn('tw:flex tw:flex-col tw:gap-2 tw:p-2', props.class)"
14
+ :class="cn('flex flex-col gap-2 p-2', props.class)"
15
15
  >
16
16
  <slot />
17
17
  </div>
@@ -13,7 +13,7 @@ const props = defineProps<{
13
13
  data-slot="sidebar-input"
14
14
  data-sidebar="input"
15
15
  :class="cn(
16
- 'tw:bg-background tw:h-8 tw:w-full tw:shadow-none',
16
+ 'bg-background h-8 w-full shadow-none',
17
17
  props.class,
18
18
  )"
19
19
  >
@@ -11,8 +11,8 @@ const props = defineProps<{
11
11
  <main
12
12
  data-slot="sidebar-inset"
13
13
  :class="cn(
14
- 'tw:bg-background tw:relative tw:flex tw:w-full tw:flex-1 tw:flex-col',
15
- 'tw:md:peer-data-[variant=inset]:m-2 tw:md:peer-data-[variant=inset]:ml-0 tw:md:peer-data-[variant=inset]:rounded-xl tw:md:peer-data-[variant=inset]:shadow-sm tw:md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',
14
+ 'bg-background relative flex w-full flex-1 flex-col',
15
+ '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',
16
16
  props.class,
17
17
  )"
18
18
  >
@@ -11,7 +11,7 @@ const props = defineProps<{
11
11
  <ul
12
12
  data-slot="sidebar-menu"
13
13
  data-sidebar="menu"
14
- :class="cn('tw:flex tw:w-full tw:min-w-0 tw:flex-col tw:gap-1', props.class)"
14
+ :class="cn('flex w-full min-w-0 flex-col gap-1', props.class)"
15
15
  >
16
16
  <slot />
17
17
  </ul>
@@ -17,14 +17,14 @@ const props = withDefaults(defineProps<PrimitiveProps & {
17
17
  data-slot="sidebar-menu-action"
18
18
  data-sidebar="menu-action"
19
19
  :class="cn(
20
- 'tw:text-sidebar-foreground tw:ring-sidebar-ring tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:peer-hover/menu-button:text-sidebar-accent-foreground tw:absolute tw:top-1.5 tw:right-1 tw:flex tw:aspect-square tw:w-5 tw:items-center tw:justify-center tw:rounded-md tw:p-0 tw:outline-hidden tw:transition-transform tw:focus-visible:ring-2 tw:[&>svg]:size-4 tw:[&>svg]:shrink-0',
21
- 'tw:after:absolute tw:after:-inset-2 tw:md:after:hidden',
22
- 'tw:peer-data-[size=sm]/menu-button:top-1',
23
- 'tw:peer-data-[size=default]/menu-button:top-1.5',
24
- 'tw:peer-data-[size=lg]/menu-button:top-2.5',
25
- 'tw: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 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
+ 'after:absolute after:-inset-2 md:after:hidden',
22
+ 'peer-data-[size=sm]/menu-button:top-1',
23
+ 'peer-data-[size=default]/menu-button:top-1.5',
24
+ 'peer-data-[size=lg]/menu-button:top-2.5',
25
+ 'group-data-[collapsible=icon]:hidden',
26
26
  showOnHover
27
- && 'tw:peer-data-[active=true]/menu-button:text-sidebar-accent-foreground tw:group-focus-within/menu-item:opacity-100 tw:group-hover/menu-item:opacity-100 tw:data-[state=open]:opacity-100 tw:md:opacity-0',
27
+ && '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',
28
28
  props.class,
29
29
  )"
30
30
  :as="as"
@@ -12,12 +12,12 @@ const props = defineProps<{
12
12
  data-slot="sidebar-menu-badge"
13
13
  data-sidebar="menu-badge"
14
14
  :class="cn(
15
- 'tw:text-sidebar-foreground tw:pointer-events-none tw:absolute tw:right-1 tw:flex tw:h-5 tw:min-w-5 tw:items-center tw:justify-center tw:rounded-md tw:px-1 tw:text-xs tw:font-medium tw:tabular-nums tw:select-none',
16
- 'tw:peer-hover/menu-button:text-sidebar-accent-foreground tw:peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',
17
- 'tw:peer-data-[size=sm]/menu-button:top-1',
18
- 'tw:peer-data-[size=default]/menu-button:top-1.5',
19
- 'tw:peer-data-[size=lg]/menu-button:top-2.5',
20
- 'tw:group-data-[collapsible=icon]:hidden',
15
+ 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',
16
+ 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',
17
+ 'peer-data-[size=sm]/menu-button:top-1',
18
+ 'peer-data-[size=default]/menu-button:top-1.5',
19
+ 'peer-data-[size=lg]/menu-button:top-2.5',
20
+ 'group-data-[collapsible=icon]:hidden',
21
21
  props.class,
22
22
  )"
23
23
  >