@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
@@ -11,7 +11,7 @@ const props = defineProps<{
11
11
  <li
12
12
  data-slot="sidebar-menu-item"
13
13
  data-sidebar="menu-item"
14
- :class="cn('tw:group/menu-item tw:relative', props.class)"
14
+ :class="cn('group/menu-item relative', props.class)"
15
15
  >
16
16
  <slot />
17
17
  </li>
@@ -18,16 +18,16 @@ const width = computed(() => {
18
18
  <div
19
19
  data-slot="sidebar-menu-skeleton"
20
20
  data-sidebar="menu-skeleton"
21
- :class="cn('tw:flex tw:h-8 tw:items-center tw:gap-2 tw:rounded-md tw:px-2', props.class)"
21
+ :class="cn('flex h-8 items-center gap-2 rounded-md px-2', props.class)"
22
22
  >
23
23
  <Skeleton
24
24
  v-if="showIcon"
25
- class=""tw:size-4 tw:rounded-md""
25
+ class="size-4 rounded-md"
26
26
  data-sidebar="menu-skeleton-icon"
27
27
  />
28
28
 
29
29
  <Skeleton
30
- class=""tw:h-4 tw:max-w-(--skeleton-width) tw:flex-1""
30
+ class="h-4 max-w-(--skeleton-width) flex-1"
31
31
  data-sidebar="menu-skeleton-text"
32
32
  :style="{ '--skeleton-width': width }"
33
33
  />
@@ -12,8 +12,8 @@ const props = defineProps<{
12
12
  data-slot="sidebar-menu-sub"
13
13
  data-sidebar="menu-badge"
14
14
  :class="cn(
15
- 'tw:border-sidebar-border tw:mx-3.5 tw:flex tw:min-w-0 tw:translate-x-px tw:flex-col tw:gap-1 tw:border-l tw:px-2.5 tw:py-0.5',
16
- 'tw:group-data-[collapsible=icon]:hidden',
15
+ 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',
16
+ 'group-data-[collapsible=icon]:hidden',
17
17
  props.class,
18
18
  )"
19
19
  >
@@ -23,11 +23,11 @@ const props = withDefaults(defineProps<PrimitiveProps & {
23
23
  :data-size="size"
24
24
  :data-active="isActive"
25
25
  :class="cn(
26
- 'tw:text-sidebar-foreground tw:ring-sidebar-ring tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:active:bg-sidebar-accent tw:active:text-sidebar-accent-foreground tw:[&>svg]:text-sidebar-accent-foreground tw:flex tw:h-7 tw:min-w-0 tw:-translate-x-px tw:items-center tw:gap-2 tw:overflow-hidden tw:rounded-md tw:px-2 tw:outline-hidden tw:focus-visible:ring-2 tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:aria-disabled:pointer-events-none tw:aria-disabled:opacity-50 tw:[&>span:last-child]:truncate tw:[&>svg]:size-4 tw:[&>svg]:shrink-0',
27
- 'tw:data-[active=true]:bg-sidebar-accent tw:data-[active=true]:text-sidebar-accent-foreground',
28
- size === 'tw:sm' && 'tw:text-xs',
29
- size === 'tw:md' && 'tw:text-sm',
30
- 'tw:group-data-[collapsible=icon]:hidden',
26
+ 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',
27
+ 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',
28
+ size === 'sm' && 'text-xs',
29
+ size === 'md' && 'text-sm',
30
+ 'group-data-[collapsible=icon]:hidden',
31
31
  props.class,
32
32
  )"
33
33
  >
@@ -11,7 +11,7 @@ const props = defineProps<{
11
11
  <li
12
12
  data-slot="sidebar-menu-sub-item"
13
13
  data-sidebar="menu-sub-item"
14
- :class="cn('tw:group/menu-sub-item tw:relative', props.class)"
14
+ :class="cn('group/menu-sub-item relative', props.class)"
15
15
  >
16
16
  <slot />
17
17
  </li>
@@ -73,7 +73,7 @@ provideSidebarContext({
73
73
  '--sidebar-width': SIDEBAR_WIDTH,
74
74
  '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,
75
75
  }"
76
- :class="cn('tw:group/sidebar-wrapper tw:has-data-[variant=inset]:bg-sidebar tw:flex tw:min-h-svh tw:w-full', props.class)"
76
+ :class="cn('group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full', props.class)"
77
77
  v-bind="$attrs"
78
78
  >
79
79
  <slot />
@@ -18,12 +18,12 @@ const { toggleSidebar } = useSidebar()
18
18
  :tabindex="-1"
19
19
  title="Toggle Sidebar"
20
20
  :class="cn(
21
- 'tw:hover:after:bg-sidebar-border tw:absolute tw:inset-y-0 tw:z-20 tw:hidden tw:w-4 tw:-translate-x-1/2 tw:transition-all tw:ease-linear tw:group-data-[side=left]:-right-4 tw:group-data-[side=right]:left-0 tw:after:absolute tw:after:inset-y-0 tw:after:left-1/2 tw:after:w-[2px] tw:sm:flex',
22
- 'tw:in-data-[side=left]:cursor-w-resize tw:in-data-[side=right]:cursor-e-resize',
23
- 'tw:[[data-side=left][data-state=collapsed]_&]:cursor-e-resize tw:[[data-side=right][data-state=collapsed]_&]:cursor-w-resize',
24
- 'tw:hover:group-data-[collapsible=offcanvas]:bg-sidebar tw:group-data-[collapsible=offcanvas]:translate-x-0 tw:group-data-[collapsible=offcanvas]:after:left-full',
25
- 'tw:[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',
26
- 'tw:[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',
21
+ 'hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex',
22
+ 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',
23
+ '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',
24
+ 'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',
25
+ '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',
26
+ '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',
27
27
  props.class,
28
28
  )"
29
29
  @click="toggleSidebar"
@@ -12,7 +12,7 @@ const props = defineProps<{
12
12
  <Separator
13
13
  data-slot="sidebar-separator"
14
14
  data-sidebar="separator"
15
- :class="cn('tw:bg-sidebar-border tw:mx-2 tw:w-auto', props.class)"
15
+ :class="cn('bg-sidebar-border mx-2 w-auto', props.class)"
16
16
  >
17
17
  <slot />
18
18
  </Separator>
@@ -18,10 +18,10 @@ const { toggleSidebar } = useSidebar()
18
18
  data-slot="sidebar-trigger"
19
19
  variant="ghost"
20
20
  size="icon"
21
- :class="cn('tw:h-7 tw:w-7', props.class)"
21
+ :class="cn('h-7 w-7', props.class)"
22
22
  @click="toggleSidebar"
23
23
  >
24
24
  <PanelLeft />
25
- <span class=""tw:sr-only"">Toggle Sidebar</span>
25
+ <span class="sr-only">Toggle Sidebar</span>
26
26
  </Button>
27
27
  </template>
@@ -12,6 +12,6 @@ const props = defineProps<SkeletonProps>()
12
12
  <template>
13
13
  <div
14
14
  data-slot="skeleton"
15
- :class="cn('tw:animate-pulse tw:rounded-md tw:bg-primary/10', props.class)"
15
+ :class="cn('animate-pulse rounded-md bg-primary/10', props.class)"
16
16
  />
17
17
  </template>
@@ -18,18 +18,18 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits)
18
18
  v-slot="{ modelValue }"
19
19
  data-slot="slider"
20
20
  :class="cn(
21
- 'tw:relative tw:flex tw:w-full tw:touch-none tw:items-center tw:select-none tw:data-[disabled]:opacity-50 tw:data-[orientation=vertical]:h-full tw:data-[orientation=vertical]:min-h-44 tw:data-[orientation=vertical]:w-auto tw:data-[orientation=vertical]:flex-col',
21
+ 'relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col',
22
22
  props.class,
23
23
  )"
24
24
  v-bind="forwarded"
25
25
  >
26
26
  <SliderTrack
27
27
  data-slot="slider-track"
28
- class=""tw:bg-muted tw:relative tw:grow tw:overflow-hidden tw:rounded-full tw:data-[orientation=horizontal]:h-1.5 tw:data-[orientation=horizontal]:w-full tw:data-[orientation=vertical]:h-full tw:data-[orientation=vertical]:w-1.5""
28
+ class="bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
29
29
  >
30
30
  <SliderRange
31
31
  data-slot="slider-range"
32
- class=""tw:bg-primary tw:absolute tw:data-[orientation=horizontal]:h-full tw:data-[orientation=vertical]:w-full""
32
+ class="bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full"
33
33
  />
34
34
  </SliderTrack>
35
35
 
@@ -37,7 +37,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits)
37
37
  v-for="(_, key) in modelValue"
38
38
  :key="key"
39
39
  data-slot="slider-thumb"
40
- class=""tw:bg-white tw:border-primary tw:ring-ring/50 tw:block tw:size-4 tw:shrink-0 tw:rounded-full tw:border tw:shadow-sm tw:transition-[color,box-shadow] tw:hover:ring-4 tw:focus-visible:ring-4 tw:focus-visible:outline-hidden tw:disabled:pointer-events-none tw:disabled:opacity-50""
40
+ class="bg-white border-primary ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"
41
41
  />
42
42
  </SliderRoot>
43
43
  </template>
@@ -9,7 +9,7 @@ const props = defineProps<ToasterProps>()
9
9
 
10
10
  <template>
11
11
  <Sonner
12
- :class="cn('tw:toaster tw:group', props.class)"
12
+ :class="cn('toaster group', props.class)"
13
13
  :style="{
14
14
  '--normal-bg': 'var(--popover)',
15
15
  '--normal-text': 'var(--popover-foreground)',
@@ -19,24 +19,24 @@ const props = defineProps<ToasterProps>()
19
19
  v-bind="props"
20
20
  >
21
21
  <template #success-icon>
22
- <CircleCheckIcon class=""tw:size-4"" />
22
+ <CircleCheckIcon class="size-4" />
23
23
  </template>
24
24
  <template #info-icon>
25
- <InfoIcon class=""tw:size-4"" />
25
+ <InfoIcon class="size-4" />
26
26
  </template>
27
27
  <template #warning-icon>
28
- <TriangleAlertIcon class=""tw:size-4"" />
28
+ <TriangleAlertIcon class="size-4" />
29
29
  </template>
30
30
  <template #error-icon>
31
- <OctagonXIcon class=""tw:size-4"" />
31
+ <OctagonXIcon class="size-4" />
32
32
  </template>
33
33
  <template #loading-icon>
34
34
  <div>
35
- <Loader2Icon class=""tw:size-4 tw:animate-spin"" />
35
+ <Loader2Icon class="size-4 animate-spin" />
36
36
  </div>
37
37
  </template>
38
38
  <template #close-icon>
39
- <XIcon class=""tw:size-4"" />
39
+ <XIcon class="size-4" />
40
40
  </template>
41
41
  </Sonner>
42
42
  </template>
@@ -12,6 +12,6 @@ const props = defineProps<{
12
12
  <Loader2Icon
13
13
  role="status"
14
14
  aria-label="Loading"
15
- :class="cn('tw:size-4 tw:animate-spin', props.class)"
15
+ :class="cn('size-4 animate-spin', props.class)"
16
16
  />
17
17
  </template>
@@ -17,7 +17,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits)
17
17
  <StepperRoot
18
18
  v-slot="slotProps"
19
19
  :class="cn(
20
- 'tw:flex tw:gap-2',
20
+ 'flex gap-2',
21
21
  props.class,
22
22
  )"
23
23
  v-bind="forwarded"
@@ -13,7 +13,7 @@ const forwarded = useForwardProps(delegatedProps)
13
13
  </script>
14
14
 
15
15
  <template>
16
- <StepperDescription v-slot="slotProps" v-bind="forwarded" :class="cn('tw:text-xs tw:text-muted-foreground', props.class)">
16
+ <StepperDescription v-slot="slotProps" v-bind="forwarded" :class="cn('text-xs text-muted-foreground', props.class)">
17
17
  <slot v-bind="slotProps" />
18
18
  </StepperDescription>
19
19
  </template>
@@ -17,13 +17,13 @@ const forwarded = useForwardProps(delegatedProps)
17
17
  v-slot="slotProps"
18
18
  v-bind="forwarded"
19
19
  :class="cn(
20
- 'tw:inline-flex tw:items-center tw:justify-center tw:rounded-full tw:text-muted-foreground/50 tw:w-8 tw:h-8',
20
+ 'inline-flex items-center justify-center rounded-full text-muted-foreground/50 w-8 h-8',
21
21
  // Disabled
22
- 'tw:group-data-[disabled]:text-muted-foreground tw:group-data-[disabled]:opacity-50',
22
+ 'group-data-[disabled]:text-muted-foreground group-data-[disabled]:opacity-50',
23
23
  // Active
24
- 'tw:group-data-[state=active]:bg-primary tw:group-data-[state=active]:text-primary-foreground',
24
+ 'group-data-[state=active]:bg-primary group-data-[state=active]:text-primary-foreground',
25
25
  // Completed
26
- 'tw:group-data-[state=completed]:bg-accent tw:group-data-[state=completed]:text-accent-foreground',
26
+ 'group-data-[state=completed]:bg-accent group-data-[state=completed]:text-accent-foreground',
27
27
  props.class,
28
28
  )"
29
29
  >
@@ -16,7 +16,7 @@ const forwarded = useForwardProps(delegatedProps)
16
16
  <StepperItem
17
17
  v-slot="slotProps"
18
18
  v-bind="forwarded"
19
- :class="cn('tw:flex tw:items-center tw:gap-2 tw:group tw:data-[disabled]:pointer-events-none', props.class)"
19
+ :class="cn('flex items-center gap-2 group data-[disabled]:pointer-events-none', props.class)"
20
20
  >
21
21
  <slot v-bind="slotProps" />
22
22
  </StepperItem>
@@ -16,11 +16,11 @@ const forwarded = useForwardProps(delegatedProps)
16
16
  <StepperSeparator
17
17
  v-bind="forwarded"
18
18
  :class="cn(
19
- 'tw:bg-muted',
19
+ 'bg-muted',
20
20
  // Disabled
21
- 'tw:group-data-[disabled]:bg-muted tw:group-data-[disabled]:opacity-50',
21
+ 'group-data-[disabled]:bg-muted group-data-[disabled]:opacity-50',
22
22
  // Completed
23
- 'tw:group-data-[state=completed]:bg-accent',
23
+ 'group-data-[state=completed]:bg-accent',
24
24
  props.class,
25
25
  )"
26
26
  />
@@ -13,7 +13,7 @@ const forwarded = useForwardProps(delegatedProps)
13
13
  </script>
14
14
 
15
15
  <template>
16
- <StepperTitle v-bind="forwarded" :class="cn('tw:text-md tw:font-semibold tw:whitespace-nowrap', props.class)">
16
+ <StepperTitle v-bind="forwarded" :class="cn('text-md font-semibold whitespace-nowrap', props.class)">
17
17
  <slot />
18
18
  </StepperTitle>
19
19
  </template>
@@ -15,7 +15,7 @@ const forwarded = useForwardProps(delegatedProps)
15
15
  <template>
16
16
  <StepperTrigger
17
17
  v-bind="forwarded"
18
- :class="cn('tw:p-1 tw:flex tw:flex-col tw:items-center tw:text-center tw:gap-1 tw:rounded-md', props.class)"
18
+ :class="cn('p-1 flex flex-col items-center text-center gap-1 rounded-md', props.class)"
19
19
  >
20
20
  <slot />
21
21
  </StepperTrigger>
@@ -24,13 +24,13 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits)
24
24
  data-slot="switch"
25
25
  v-bind="forwarded"
26
26
  :class="cn(
27
- 'tw:peer tw:data-[state=checked]:bg-primary tw:data-[state=unchecked]:bg-input tw:focus-visible:border-ring tw:focus-visible:ring-ring/50 tw:dark:data-[state=unchecked]:bg-input/80 tw:inline-flex tw:h-[1.15rem] tw:w-8 tw:shrink-0 tw:items-center tw:rounded-full tw:border tw:border-transparent tw:shadow-xs tw:transition-all tw:outline-none tw:focus-visible:ring-[3px] tw:disabled:cursor-not-allowed tw:disabled:opacity-50',
27
+ 'peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',
28
28
  props.class,
29
29
  )"
30
30
  >
31
31
  <SwitchThumb
32
32
  data-slot="switch-thumb"
33
- :class="cn('tw:bg-background tw:dark:data-[state=unchecked]:bg-foreground tw:dark:data-[state=checked]:bg-primary-foreground tw:pointer-events-none tw:block tw:size-4 tw:rounded-full tw:ring-0 tw:transition-transform tw:data-[state=checked]:translate-x-[calc(100%-2px)] tw:data-[state=unchecked]:translate-x-0')"
33
+ :class="cn('bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0')"
34
34
  >
35
35
  <slot name="thumb" v-bind="slotProps" />
36
36
  </SwitchThumb>
@@ -1,21 +1,15 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue";
3
- import { cn } from "@/lib/utils";
2
+ import type { HTMLAttributes } from "vue"
3
+ import { cn } from "@/lib/utils"
4
4
 
5
5
  const props = defineProps<{
6
- class?: HTMLAttributes["class"];
7
- }>();
6
+ class?: HTMLAttributes["class"]
7
+ }>()
8
8
  </script>
9
9
 
10
10
  <template>
11
- <div
12
- data-slot="table-container"
13
- class="tw:relative tw:w-full tw:overflow-auto"
14
- >
15
- <table
16
- data-slot="table"
17
- :class="cn('tw:w-full tw:caption-bottom tw:text-sm', props.class)"
18
- >
11
+ <div data-slot="table-container" class="relative w-full overflow-auto">
12
+ <table data-slot="table" :class="cn('w-full caption-bottom text-sm', props.class)">
19
13
  <slot />
20
14
  </table>
21
15
  </div>
@@ -10,7 +10,7 @@ const props = defineProps<{
10
10
  <template>
11
11
  <tbody
12
12
  data-slot="table-body"
13
- :class="cn('tw:[&_tr:last-child]:border-0', props.class)"
13
+ :class="cn('[&_tr:last-child]:border-0', props.class)"
14
14
  >
15
15
  <slot />
16
16
  </tbody>
@@ -10,7 +10,7 @@ const props = defineProps<{
10
10
  <template>
11
11
  <caption
12
12
  data-slot="table-caption"
13
- :class="cn('tw:text-muted-foreground tw:mt-4 tw:text-sm', props.class)"
13
+ :class="cn('text-muted-foreground mt-4 text-sm', props.class)"
14
14
  >
15
15
  <slot />
16
16
  </caption>
@@ -12,7 +12,7 @@ const props = defineProps<{
12
12
  data-slot="table-cell"
13
13
  :class="
14
14
  cn(
15
- 'tw:p-2 tw:align-middle tw:whitespace-nowrap tw:[&:has([role=checkbox])]:pr-0 tw:[&>[role=checkbox]]:translate-y-[2px]',
15
+ 'p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',
16
16
  props.class,
17
17
  )
18
18
  "
@@ -1,21 +1,18 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue";
3
- import { reactiveOmit } from "@vueuse/core";
4
- import { cn } from "@/lib/utils";
5
- import TableCell from "./TableCell.vue";
6
- import TableRow from "./TableRow.vue";
2
+ import type { HTMLAttributes } from "vue"
3
+ import { reactiveOmit } from "@vueuse/core"
4
+ import { cn } from "@/lib/utils"
5
+ import TableCell from "./TableCell.vue"
6
+ import TableRow from "./TableRow.vue"
7
7
 
8
- const props = withDefaults(
9
- defineProps<{
10
- class?: HTMLAttributes["class"];
11
- colspan?: number;
12
- }>(),
13
- {
14
- colspan: 1,
15
- },
16
- );
8
+ const props = withDefaults(defineProps<{
9
+ class?: HTMLAttributes["class"]
10
+ colspan?: number
11
+ }>(), {
12
+ colspan: 1,
13
+ })
17
14
 
18
- const delegatedProps = reactiveOmit(props, "class");
15
+ const delegatedProps = reactiveOmit(props, "class")
19
16
  </script>
20
17
 
21
18
  <template>
@@ -23,13 +20,13 @@ const delegatedProps = reactiveOmit(props, "class");
23
20
  <TableCell
24
21
  :class="
25
22
  cn(
26
- 'tw:p-4 tw:whitespace-nowrap tw:align-middle tw:text-sm tw:text-foreground',
23
+ 'p-4 whitespace-nowrap align-middle text-sm text-foreground',
27
24
  props.class,
28
25
  )
29
26
  "
30
27
  v-bind="delegatedProps"
31
28
  >
32
- <div class="tw:flex tw:items-center tw:justify-center tw:py-10">
29
+ <div class="flex items-center justify-center py-10">
33
30
  <slot />
34
31
  </div>
35
32
  </TableCell>
@@ -10,7 +10,7 @@ const props = defineProps<{
10
10
  <template>
11
11
  <tfoot
12
12
  data-slot="table-footer"
13
- :class="cn('tw:bg-muted/50 tw:border-t tw:font-medium tw:[&>tr]:last:border-b-0', props.class)"
13
+ :class="cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', props.class)"
14
14
  >
15
15
  <slot />
16
16
  </tfoot>
@@ -10,7 +10,7 @@ const props = defineProps<{
10
10
  <template>
11
11
  <th
12
12
  data-slot="table-head"
13
- :class="cn('tw:text-foreground tw:h-10 tw:px-2 tw:text-left tw:align-middle tw:font-medium tw:whitespace-nowrap tw:[&:has([role=checkbox])]:pr-0 tw:[&>[role=checkbox]]:translate-y-[2px]', props.class)"
13
+ :class="cn('text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]', props.class)"
14
14
  >
15
15
  <slot />
16
16
  </th>
@@ -10,7 +10,7 @@ const props = defineProps<{
10
10
  <template>
11
11
  <thead
12
12
  data-slot="table-header"
13
- :class="cn('tw:[&_tr]:border-b', props.class)"
13
+ :class="cn('[&_tr]:border-b', props.class)"
14
14
  >
15
15
  <slot />
16
16
  </thead>
@@ -10,7 +10,7 @@ const props = defineProps<{
10
10
  <template>
11
11
  <tr
12
12
  data-slot="table-row"
13
- :class="cn('tw:hover:bg-muted/50 tw:data-[state=selected]:bg-muted tw:border-b tw:transition-colors', props.class)"
13
+ :class="cn('hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors', props.class)"
14
14
  >
15
15
  <slot />
16
16
  </tr>
@@ -17,7 +17,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits)
17
17
  v-slot="slotProps"
18
18
  data-slot="tabs"
19
19
  v-bind="forwarded"
20
- :class="cn('tw:flex tw:flex-col tw:gap-2', props.class)"
20
+ :class="cn('flex flex-col gap-2', props.class)"
21
21
  >
22
22
  <slot v-bind="slotProps" />
23
23
  </TabsRoot>
@@ -13,7 +13,7 @@ const delegatedProps = reactiveOmit(props, "class")
13
13
  <template>
14
14
  <TabsContent
15
15
  data-slot="tabs-content"
16
- :class="cn('tw:flex-1 tw:outline-none', props.class)"
16
+ :class="cn('flex-1 outline-none', props.class)"
17
17
  v-bind="delegatedProps"
18
18
  >
19
19
  <slot />
@@ -15,7 +15,7 @@ const delegatedProps = reactiveOmit(props, "class")
15
15
  data-slot="tabs-list"
16
16
  v-bind="delegatedProps"
17
17
  :class="cn(
18
- 'tw:bg-muted tw:text-muted-foreground tw:inline-flex tw:h-9 tw:w-fit tw:items-center tw:justify-center tw:rounded-lg tw:p-[3px]',
18
+ 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]',
19
19
  props.class,
20
20
  )"
21
21
  >
@@ -16,7 +16,7 @@ const forwardedProps = useForwardProps(delegatedProps)
16
16
  <TabsTrigger
17
17
  data-slot="tabs-trigger"
18
18
  :class="cn(
19
- 'tw:data-[state=active]:bg-background tw:dark:data-[state=active]:text-foreground tw:focus-visible:border-ring tw:focus-visible:ring-ring/50 tw:focus-visible:outline-ring tw:dark:data-[state=active]:border-input tw:dark:data-[state=active]:bg-input/30 tw:text-foreground tw:dark:text-muted-foreground tw:inline-flex tw:h-[calc(100%-1px)] tw:flex-1 tw:items-center tw:justify-center tw:gap-1.5 tw:rounded-md tw:border tw:border-transparent tw:px-2 tw:py-1 tw:text-sm tw:font-medium tw:whitespace-nowrap tw:transition-[color,box-shadow] tw:focus-visible:ring-[3px] tw:focus-visible:outline-1 tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:data-[state=active]:shadow-sm tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=\'size-\'])]:size-4',
19
+ 'data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
20
20
  props.class,
21
21
  )"
22
22
  v-bind="forwardedProps"
@@ -16,9 +16,9 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits)
16
16
  <template>
17
17
  <TagsInputRoot
18
18
  v-slot="slotProps" v-bind="forwarded" :class="cn(
19
- 'tw:flex tw:flex-wrap tw:gap-2 tw:items-center tw:rounded-md tw:border tw:border-input tw:bg-background tw:px-2 tw:py-1 tw:text-sm tw:shadow-xs tw:transition-[color,box-shadow] tw:outline-none',
20
- 'tw:focus-within:border-ring tw:focus-within:ring-ring/50 tw:focus-within:ring-[3px]',
21
- 'tw:aria-invalid:ring-destructive/20 tw:dark:aria-invalid:ring-destructive/40 tw:aria-invalid:border-destructive',
19
+ 'flex flex-wrap gap-2 items-center rounded-md border border-input bg-background px-2 py-1 text-sm shadow-xs transition-[color,box-shadow] outline-none',
20
+ 'focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]',
21
+ 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',
22
22
  props.class)"
23
23
  >
24
24
  <slot v-bind="slotProps" />
@@ -13,5 +13,5 @@ const forwardedProps = useForwardProps(delegatedProps)
13
13
  </script>
14
14
 
15
15
  <template>
16
- <TagsInputInput v-bind="forwardedProps" :class="cn('tw:text-sm tw:min-h-5 tw:focus:outline-none tw:flex-1 tw:bg-transparent tw:px-1', props.class)" />
16
+ <TagsInputInput v-bind="forwardedProps" :class="cn('text-sm min-h-5 focus:outline-none flex-1 bg-transparent px-1', props.class)" />
17
17
  </template>
@@ -14,7 +14,7 @@ const forwardedProps = useForwardProps(delegatedProps)
14
14
  </script>
15
15
 
16
16
  <template>
17
- <TagsInputItem v-bind="forwardedProps" :class="cn('tw:flex tw:h-5 tw:items-center tw:rounded-md tw:bg-secondary tw:data-[state=active]:ring-ring tw:data-[state=active]:ring-2 tw:data-[state=active]:ring-offset-2 tw:ring-offset-background', props.class)">
17
+ <TagsInputItem v-bind="forwardedProps" :class="cn('flex h-5 items-center rounded-md bg-secondary data-[state=active]:ring-ring data-[state=active]:ring-2 data-[state=active]:ring-offset-2 ring-offset-background', props.class)">
18
18
  <slot />
19
19
  </TagsInputItem>
20
20
  </template>
@@ -14,9 +14,9 @@ const forwardedProps = useForwardProps(delegatedProps)
14
14
  </script>
15
15
 
16
16
  <template>
17
- <TagsInputItemDelete v-bind="forwardedProps" :class="cn('tw:flex tw:rounded tw:bg-transparent tw:mr-1', props.class)">
17
+ <TagsInputItemDelete v-bind="forwardedProps" :class="cn('flex rounded bg-transparent mr-1', props.class)">
18
18
  <slot>
19
- <X class=""tw:w-4 tw:h-4"" />
19
+ <X class="w-4 h-4" />
20
20
  </slot>
21
21
  </TagsInputItemDelete>
22
22
  </template>
@@ -13,7 +13,7 @@ const forwardedProps = useForwardProps(delegatedProps)
13
13
  </script>
14
14
 
15
15
  <template>
16
- <TagsInputItemText v-bind="forwardedProps" :class="cn('tw:py-0.5 tw:px-2 tw:text-sm tw:rounded tw:bg-transparent', props.class)">
16
+ <TagsInputItemText v-bind="forwardedProps" :class="cn('py-0.5 px-2 text-sm rounded bg-transparent', props.class)">
17
17
  <slot />
18
18
  </TagsInputItemText>
19
19
  </template>
@@ -23,6 +23,6 @@ const modelValue = useVModel(props, "modelValue", emits, {
23
23
  <textarea
24
24
  v-model="modelValue"
25
25
  data-slot="textarea"
26
- :class="cn('tw:border-input tw:placeholder: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:flex tw:field-sizing-content tw:min-h-16 tw:w-full tw:rounded-md tw:border tw:bg-transparent tw:px-3 tw:py-2 tw:text-base 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:md:text-sm', props.class)"
26
+ :class="cn('border-input placeholder: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 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm', props.class)"
27
27
  />
28
28
  </template>
@@ -42,7 +42,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits)
42
42
  '--gap': spacing,
43
43
  }"
44
44
  v-bind="forwarded"
45
- :class="cn('tw:group/toggle-group tw:flex tw:w-fit tw:items-center tw:gap-[--spacing(var(--gap))] tw:rounded-md tw:data-[spacing=default]:data-[variant=outline]:shadow-xs', props.class)"
45
+ :class="cn('group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs', props.class)"
46
46
  >
47
47
  <slot v-bind="slotProps" />
48
48
  </ToggleGroupRoot>
@@ -37,8 +37,8 @@ const forwardedProps = useForwardProps(delegatedProps)
37
37
  variant: context?.variant || variant,
38
38
  size: context?.size || size,
39
39
  }),
40
- 'tw:w-auto tw:min-w-0 tw:shrink-0 tw:px-3 tw:focus:z-10 tw:focus-visible:z-10',
41
- 'tw:data-[spacing=0]:rounded-none tw:data-[spacing=0]:shadow-none tw:data-[spacing=0]:first:rounded-l-md tw:data-[spacing=0]:last:rounded-r-md tw:data-[spacing=0]:data-[variant=outline]:border-l-0 tw:data-[spacing=0]:data-[variant=outline]:first:border-l',
40
+ 'w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10',
41
+ 'data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l',
42
42
  props.class)"
43
43
  >
44
44
  <slot v-bind="slotProps" />