@bl33dz/fa814698dcde12f86a37ac31dd3aedf9 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 (388) hide show
  1. package/README.md +80 -95
  2. package/dist/fa814698dcde12f86a37ac31dd3aedf9.css +1 -1
  3. package/dist/perisai-ui.es.js +97 -94
  4. package/dist/perisai-ui.umd.js +1 -1
  5. package/package.json +45 -45
  6. package/src/globals.css +575 -575
  7. package/src/index.ts +178 -177
  8. package/src/lib/utils.ts +6 -6
  9. package/src/shadcn/accordion/Accordion.vue +19 -19
  10. package/src/shadcn/accordion/AccordionContent.vue +23 -23
  11. package/src/shadcn/accordion/AccordionItem.vue +23 -23
  12. package/src/shadcn/accordion/AccordionTrigger.vue +38 -38
  13. package/src/shadcn/accordion/index.ts +4 -4
  14. package/src/shadcn/avatar/Avatar.vue +18 -18
  15. package/src/shadcn/avatar/AvatarFallback.vue +21 -21
  16. package/src/shadcn/avatar/AvatarImage.vue +16 -16
  17. package/src/shadcn/avatar/index.ts +3 -3
  18. package/src/shadcn/breadcrumb/Breadcrumb.vue +8 -8
  19. package/src/shadcn/breadcrumb/BreadcrumbEllipsis.vue +9 -9
  20. package/src/shadcn/breadcrumb/BreadcrumbItem.vue +8 -8
  21. package/src/shadcn/breadcrumb/BreadcrumbLink.vue +8 -8
  22. package/src/shadcn/breadcrumb/BreadcrumbList.vue +8 -8
  23. package/src/shadcn/breadcrumb/BreadcrumbPage.vue +8 -8
  24. package/src/shadcn/breadcrumb/BreadcrumbSeparator.vue +8 -8
  25. package/src/shadcn/breadcrumb/index.ts +7 -7
  26. package/src/shadcn/button/Button.vue +29 -29
  27. package/src/shadcn/button/index.ts +38 -38
  28. package/src/shadcn/calendar/Calendar.vue +64 -64
  29. package/src/shadcn/calendar/CalendarCell.vue +23 -23
  30. package/src/shadcn/calendar/CalendarCellTrigger.vue +39 -39
  31. package/src/shadcn/calendar/CalendarGrid.vue +23 -23
  32. package/src/shadcn/calendar/CalendarGridBody.vue +15 -15
  33. package/src/shadcn/calendar/CalendarGridHead.vue +16 -16
  34. package/src/shadcn/calendar/CalendarGridRow.vue +22 -22
  35. package/src/shadcn/calendar/CalendarHeadCell.vue +23 -23
  36. package/src/shadcn/calendar/CalendarHeader.vue +23 -23
  37. package/src/shadcn/calendar/CalendarHeading.vue +30 -30
  38. package/src/shadcn/calendar/CalendarNextButton.vue +32 -32
  39. package/src/shadcn/calendar/CalendarPrevButton.vue +32 -32
  40. package/src/shadcn/calendar/index.ts +12 -12
  41. package/src/shadcn/card/Card.vue +8 -8
  42. package/src/shadcn/card/CardContent.vue +8 -8
  43. package/src/shadcn/card/CardDescription.vue +8 -8
  44. package/src/shadcn/card/CardHeader.vue +8 -8
  45. package/src/shadcn/card/CardTitle.vue +8 -8
  46. package/src/shadcn/card/index.ts +5 -5
  47. package/src/shadcn/checkbox/Checkbox.vue +38 -38
  48. package/src/shadcn/checkbox/index.ts +1 -1
  49. package/src/shadcn/command/Command.vue +87 -87
  50. package/src/shadcn/command/CommandDialog.vue +31 -31
  51. package/src/shadcn/command/CommandEmpty.vue +27 -27
  52. package/src/shadcn/command/CommandGroup.vue +45 -45
  53. package/src/shadcn/command/CommandInput.vue +39 -39
  54. package/src/shadcn/command/CommandItem.vue +76 -76
  55. package/src/shadcn/command/CommandList.vue +25 -25
  56. package/src/shadcn/command/CommandSeparator.vue +21 -21
  57. package/src/shadcn/command/CommandShortcut.vue +17 -17
  58. package/src/shadcn/command/index.ts +25 -25
  59. package/src/shadcn/context-menu/ContextMenu.vue +18 -18
  60. package/src/shadcn/context-menu/ContextMenuCheckboxItem.vue +38 -38
  61. package/src/shadcn/context-menu/ContextMenuContent.vue +34 -34
  62. package/src/shadcn/context-menu/ContextMenuGroup.vue +15 -15
  63. package/src/shadcn/context-menu/ContextMenuItem.vue +39 -39
  64. package/src/shadcn/context-menu/ContextMenuLabel.vue +22 -22
  65. package/src/shadcn/context-menu/ContextMenuPortal.vue +15 -15
  66. package/src/shadcn/context-menu/ContextMenuRadioGroup.vue +22 -22
  67. package/src/shadcn/context-menu/ContextMenuRadioItem.vue +38 -38
  68. package/src/shadcn/context-menu/ContextMenuSeparator.vue +22 -22
  69. package/src/shadcn/context-menu/ContextMenuShortcut.vue +17 -17
  70. package/src/shadcn/context-menu/ContextMenuSub.vue +22 -22
  71. package/src/shadcn/context-menu/ContextMenuSubContent.vue +33 -33
  72. package/src/shadcn/context-menu/ContextMenuSubTrigger.vue +33 -33
  73. package/src/shadcn/context-menu/ContextMenuTrigger.vue +17 -17
  74. package/src/shadcn/context-menu/index.ts +15 -15
  75. package/src/shadcn/dialog/Dialog.vue +18 -18
  76. package/src/shadcn/dialog/DialogClose.vue +15 -15
  77. package/src/shadcn/dialog/DialogContent.vue +46 -46
  78. package/src/shadcn/dialog/DialogDescription.vue +23 -23
  79. package/src/shadcn/dialog/DialogFooter.vue +15 -15
  80. package/src/shadcn/dialog/DialogHeader.vue +17 -17
  81. package/src/shadcn/dialog/DialogOverlay.vue +21 -21
  82. package/src/shadcn/dialog/DialogScrollContent.vue +56 -56
  83. package/src/shadcn/dialog/DialogTitle.vue +23 -23
  84. package/src/shadcn/dialog/DialogTrigger.vue +15 -15
  85. package/src/shadcn/dialog/index.ts +10 -10
  86. package/src/shadcn/dropdown-menu/DropdownMenu.vue +18 -18
  87. package/src/shadcn/dropdown-menu/DropdownMenuCheckboxItem.vue +38 -38
  88. package/src/shadcn/dropdown-menu/DropdownMenuContent.vue +36 -36
  89. package/src/shadcn/dropdown-menu/DropdownMenuGroup.vue +15 -15
  90. package/src/shadcn/dropdown-menu/DropdownMenuItem.vue +31 -31
  91. package/src/shadcn/dropdown-menu/DropdownMenuLabel.vue +23 -23
  92. package/src/shadcn/dropdown-menu/DropdownMenuRadioGroup.vue +22 -22
  93. package/src/shadcn/dropdown-menu/DropdownMenuRadioItem.vue +39 -39
  94. package/src/shadcn/dropdown-menu/DropdownMenuSeparator.vue +24 -24
  95. package/src/shadcn/dropdown-menu/DropdownMenuShortcut.vue +17 -17
  96. package/src/shadcn/dropdown-menu/DropdownMenuSub.vue +19 -19
  97. package/src/shadcn/dropdown-menu/DropdownMenuSubContent.vue +28 -28
  98. package/src/shadcn/dropdown-menu/DropdownMenuSubTrigger.vue +31 -31
  99. package/src/shadcn/dropdown-menu/DropdownMenuTrigger.vue +17 -17
  100. package/src/shadcn/dropdown-menu/index.ts +16 -16
  101. package/src/shadcn/menubar/Menubar.vue +33 -33
  102. package/src/shadcn/menubar/MenubarCheckboxItem.vue +38 -38
  103. package/src/shadcn/menubar/MenubarContent.vue +42 -42
  104. package/src/shadcn/menubar/MenubarGroup.vue +15 -15
  105. package/src/shadcn/menubar/MenubarItem.vue +37 -37
  106. package/src/shadcn/menubar/MenubarLabel.vue +20 -20
  107. package/src/shadcn/menubar/MenubarMenu.vue +15 -15
  108. package/src/shadcn/menubar/MenubarPortal.vue +5 -5
  109. package/src/shadcn/menubar/MenubarRadioGroup.vue +22 -22
  110. package/src/shadcn/menubar/MenubarRadioItem.vue +38 -38
  111. package/src/shadcn/menubar/MenubarSeparator.vue +21 -21
  112. package/src/shadcn/menubar/MenubarShortcut.vue +17 -17
  113. package/src/shadcn/menubar/MenubarSub.vue +23 -23
  114. package/src/shadcn/menubar/MenubarSubContent.vue +36 -36
  115. package/src/shadcn/menubar/MenubarSubTrigger.vue +28 -28
  116. package/src/shadcn/menubar/MenubarTrigger.vue +28 -28
  117. package/src/shadcn/menubar/index.ts +15 -15
  118. package/src/shadcn/navigation-menu/NavigationMenu.vue +35 -35
  119. package/src/shadcn/navigation-menu/NavigationMenuContent.vue +31 -31
  120. package/src/shadcn/navigation-menu/NavigationMenuIndicator.vue +23 -23
  121. package/src/shadcn/navigation-menu/NavigationMenuItem.vue +21 -21
  122. package/src/shadcn/navigation-menu/NavigationMenuLink.vue +26 -26
  123. package/src/shadcn/navigation-menu/NavigationMenuList.vue +28 -28
  124. package/src/shadcn/navigation-menu/NavigationMenuTrigger.vue +24 -24
  125. package/src/shadcn/navigation-menu/NavigationMenuViewport.vue +31 -31
  126. package/src/shadcn/navigation-menu/index.ts +14 -14
  127. package/src/shadcn/pagination/Pagination.vue +151 -151
  128. package/src/shadcn/pagination/PaginationContent.vue +22 -22
  129. package/src/shadcn/pagination/PaginationEllipsis.vue +25 -25
  130. package/src/shadcn/pagination/PaginationFirst.vue +33 -33
  131. package/src/shadcn/pagination/PaginationItem.vue +31 -31
  132. package/src/shadcn/pagination/PaginationLast.vue +33 -33
  133. package/src/shadcn/pagination/PaginationLink.vue +13 -13
  134. package/src/shadcn/pagination/PaginationNext.vue +22 -22
  135. package/src/shadcn/pagination/PaginationPrevious.vue +33 -33
  136. package/src/shadcn/pagination/index.ts +9 -9
  137. package/src/shadcn/popover/Popover.vue +18 -18
  138. package/src/shadcn/popover/PopoverAnchor.vue +15 -15
  139. package/src/shadcn/popover/PopoverContent.vue +46 -46
  140. package/src/shadcn/popover/PopoverTrigger.vue +15 -15
  141. package/src/shadcn/popover/index.ts +4 -4
  142. package/src/shadcn/radio-group/RadioGroup.vue +24 -24
  143. package/src/shadcn/radio-group/RadioGroupItem.vue +39 -39
  144. package/src/shadcn/radio-group/index.ts +2 -2
  145. package/src/shadcn/range-calendar/RangeCalendar.vue +71 -71
  146. package/src/shadcn/range-calendar/RangeCalendarCell.vue +23 -23
  147. package/src/shadcn/range-calendar/RangeCalendarCellTrigger.vue +41 -41
  148. package/src/shadcn/range-calendar/RangeCalendarGrid.vue +23 -23
  149. package/src/shadcn/range-calendar/RangeCalendarGridBody.vue +15 -15
  150. package/src/shadcn/range-calendar/RangeCalendarGridHead.vue +15 -15
  151. package/src/shadcn/range-calendar/RangeCalendarGridRow.vue +22 -22
  152. package/src/shadcn/range-calendar/RangeCalendarHeadCell.vue +23 -23
  153. package/src/shadcn/range-calendar/RangeCalendarHeader.vue +23 -23
  154. package/src/shadcn/range-calendar/RangeCalendarHeading.vue +30 -30
  155. package/src/shadcn/range-calendar/RangeCalendarNextButton.vue +32 -32
  156. package/src/shadcn/range-calendar/RangeCalendarPrevButton.vue +32 -32
  157. package/src/shadcn/range-calendar/index.ts +12 -12
  158. package/src/shadcn/select/Select.vue +18 -18
  159. package/src/shadcn/select/SelectContent.vue +52 -52
  160. package/src/shadcn/select/SelectGroup.vue +15 -15
  161. package/src/shadcn/select/SelectItem.vue +43 -43
  162. package/src/shadcn/select/SelectItemText.vue +15 -15
  163. package/src/shadcn/select/SelectLabel.vue +17 -17
  164. package/src/shadcn/select/SelectScrollDownButton.vue +26 -26
  165. package/src/shadcn/select/SelectScrollUpButton.vue +26 -26
  166. package/src/shadcn/select/SelectSeparator.vue +19 -19
  167. package/src/shadcn/select/SelectTrigger.vue +33 -33
  168. package/src/shadcn/select/SelectValue.vue +15 -15
  169. package/src/shadcn/select/index.ts +11 -11
  170. package/src/shadcn/separator/Separator.vue +31 -31
  171. package/src/shadcn/separator/index.ts +1 -1
  172. package/src/shadcn/sidebar/MenuGroup.vue +28 -28
  173. package/src/shadcn/sidebar/MenuItemRenderer.vue +23 -23
  174. package/src/shadcn/sidebar/Sidebar.vue +14 -14
  175. package/src/shadcn/sidebar/SidebarDemoContent.vue +26 -26
  176. package/src/shadcn/sidebar/SidebarMenuGroupWithLabel.vue +29 -29
  177. package/src/shadcn/sidebar/SidebarMenuItemWithIcon.vue +103 -103
  178. package/src/shadcn/sidebar/SidebarMenuSub.vue +10 -10
  179. package/src/shadcn/sidebar/SidebarMenuSubItemStyled.vue +38 -38
  180. package/src/shadcn/sidebar/SidebarTrigger.vue +8 -8
  181. package/src/shadcn/sidebar/index.ts +5 -5
  182. package/src/shadcn/slider/Slider.vue +43 -43
  183. package/src/shadcn/slider/index.ts +1 -1
  184. package/src/shadcn/sonner/Sonner.vue +19 -19
  185. package/src/shadcn/sonner/index.ts +1 -1
  186. package/src/shadcn/spinner/Spinner.vue +17 -17
  187. package/src/shadcn/spinner/index.ts +1 -1
  188. package/src/shadcn/switch/Switch.vue +38 -38
  189. package/src/shadcn/switch/index.ts +1 -1
  190. package/src/shadcn/tabs/CardTabsContent.vue +16 -16
  191. package/src/shadcn/tabs/CornerCutTabsTrigger.vue +102 -102
  192. package/src/shadcn/tabs/GridTabsList.vue +30 -30
  193. package/src/shadcn/tabs/ScrollableTabsList.vue +8 -8
  194. package/src/shadcn/tabs/Tabs.vue +23 -23
  195. package/src/shadcn/tabs/TabsContent.vue +21 -21
  196. package/src/shadcn/tabs/TabsList.vue +24 -24
  197. package/src/shadcn/tabs/TabsTrigger.vue +30 -30
  198. package/src/shadcn/tabs/VerticalTabsList.vue +28 -28
  199. package/src/shadcn/tabs/VerticalTabsTrigger.vue +16 -16
  200. package/src/shadcn/tabs/index.ts +10 -10
  201. package/src/shadcn/toggle/Toggle.vue +35 -35
  202. package/src/shadcn/toggle/index.ts +28 -28
  203. package/src/shadcn/tooltip/Tooltip.vue +18 -18
  204. package/src/shadcn/tooltip/TooltipContent.vue +34 -34
  205. package/src/shadcn/tooltip/TooltipProvider.vue +14 -14
  206. package/src/shadcn/tooltip/TooltipTrigger.vue +15 -15
  207. package/src/shadcn/tooltip/index.ts +4 -4
  208. package/src/shadcn/tree/index.ts +2 -0
  209. package/src/ui/InputOTP.vue +69 -69
  210. package/src/ui/InputOTPContext.ts +9 -9
  211. package/src/ui/InputOTPGroup.vue +7 -7
  212. package/src/ui/InputOTPSeparator.vue +8 -8
  213. package/src/ui/InputOTPSlot.vue +61 -61
  214. package/src/ui/PopoverContent.vue +27 -27
  215. package/src/ui/PopoverTrigger.vue +9 -9
  216. package/src/ui/SelectContent.vue +23 -23
  217. package/src/ui/SelectGroup.vue +12 -12
  218. package/src/ui/SelectItem.vue +25 -25
  219. package/src/ui/SelectLabel.vue +16 -16
  220. package/src/ui/SelectSeparator.vue +17 -17
  221. package/src/ui/SelectTrigger.vue +22 -22
  222. package/src/ui/SelectValue.vue +9 -9
  223. package/src/ui/SheetContent.vue +34 -34
  224. package/src/ui/SheetDescription.vue +9 -9
  225. package/src/ui/SheetHeader.vue +11 -11
  226. package/src/ui/SheetTitle.vue +9 -9
  227. package/src/ui/accordion-content.vue +21 -21
  228. package/src/ui/accordion-item.vue +18 -18
  229. package/src/ui/accordion-trigger.vue +14 -14
  230. package/src/ui/accordion.vue +9 -9
  231. package/src/ui/alert-actions.vue +13 -13
  232. package/src/ui/alert-description.vue +13 -13
  233. package/src/ui/alert-title.vue +13 -13
  234. package/src/ui/alert.vue +63 -63
  235. package/src/ui/avatar-fallback.vue +38 -38
  236. package/src/ui/avatar-group.vue +32 -32
  237. package/src/ui/avatar-image.vue +19 -19
  238. package/src/ui/avatar.vue +32 -32
  239. package/src/ui/badge.vue +90 -90
  240. package/src/ui/breadcrumb-item.vue +11 -11
  241. package/src/ui/breadcrumb-separator.vue +9 -9
  242. package/src/ui/breadcrumb.vue +11 -11
  243. package/src/ui/button.vue +76 -76
  244. package/src/ui/card-content.vue +16 -16
  245. package/src/ui/card-description.vue +16 -16
  246. package/src/ui/card-footer.vue +13 -13
  247. package/src/ui/card-header.vue +19 -19
  248. package/src/ui/card-title.vue +16 -16
  249. package/src/ui/card.vue +73 -73
  250. package/src/ui/category-breakdown-metric.vue +205 -205
  251. package/src/ui/checkbox.vue +84 -84
  252. package/src/ui/cn.ts +6 -6
  253. package/src/ui/dialog-body.vue +13 -13
  254. package/src/ui/dialog-close.vue +9 -9
  255. package/src/ui/dialog-content.vue +36 -36
  256. package/src/ui/dialog-description.vue +13 -13
  257. package/src/ui/dialog-footer.vue +13 -13
  258. package/src/ui/dialog-header.vue +13 -13
  259. package/src/ui/dialog-overlay.vue +14 -14
  260. package/src/ui/dialog-portal.vue +9 -9
  261. package/src/ui/dialog-title.vue +13 -13
  262. package/src/ui/dialog-trigger.vue +9 -9
  263. package/src/ui/dialog.vue +9 -9
  264. package/src/ui/dismissible-badges-demo.vue +94 -94
  265. package/src/ui/drawer-content.vue +53 -53
  266. package/src/ui/drawer-description.vue +23 -23
  267. package/src/ui/drawer-footer.vue +22 -22
  268. package/src/ui/drawer-header.vue +22 -22
  269. package/src/ui/drawer-title.vue +23 -23
  270. package/src/ui/drawer-trigger.vue +23 -23
  271. package/src/ui/drawer.vue +34 -34
  272. package/src/ui/dropdown-menu-checkbox-item.vue +27 -27
  273. package/src/ui/dropdown-menu-content.vue +23 -23
  274. package/src/ui/dropdown-menu-group.vue +7 -7
  275. package/src/ui/dropdown-menu-item.vue +19 -19
  276. package/src/ui/dropdown-menu-label.vue +17 -17
  277. package/src/ui/dropdown-menu-portal.vue +8 -8
  278. package/src/ui/dropdown-menu-radio-group.vue +14 -14
  279. package/src/ui/dropdown-menu-radio-item.vue +30 -30
  280. package/src/ui/dropdown-menu-separator.vue +13 -13
  281. package/src/ui/dropdown-menu-shortcut.vue +15 -15
  282. package/src/ui/dropdown-menu-sub-content.vue +8 -8
  283. package/src/ui/dropdown-menu-sub-trigger.vue +8 -8
  284. package/src/ui/dropdown-menu-sub.vue +8 -8
  285. package/src/ui/dropdown-menu-trigger.vue +8 -8
  286. package/src/ui/dropdown-menu.vue +9 -9
  287. package/src/ui/grouped-avatar.vue +19 -19
  288. package/src/ui/icons/Accessibility.vue +7 -7
  289. package/src/ui/icons/AlignLeft.vue +6 -6
  290. package/src/ui/icons/ArrowDown.vue +7 -7
  291. package/src/ui/icons/ArrowUp.vue +7 -7
  292. package/src/ui/icons/ArrowUpDown.vue +8 -8
  293. package/src/ui/icons/BookOpen.vue +6 -6
  294. package/src/ui/icons/Calendar.vue +9 -9
  295. package/src/ui/icons/Check.vue +6 -6
  296. package/src/ui/icons/ChevronRight.vue +6 -6
  297. package/src/ui/icons/Circle.vue +6 -6
  298. package/src/ui/icons/Copy.vue +7 -7
  299. package/src/ui/icons/Dot.vue +6 -6
  300. package/src/ui/icons/Edit.vue +6 -6
  301. package/src/ui/icons/FileText.vue +9 -9
  302. package/src/ui/icons/Folder.vue +6 -6
  303. package/src/ui/icons/FolderOpen.vue +7 -7
  304. package/src/ui/icons/Hash.vue +6 -6
  305. package/src/ui/icons/Home.vue +6 -6
  306. package/src/ui/icons/Minus.vue +6 -6
  307. package/src/ui/icons/MoreHorizontal.vue +8 -8
  308. package/src/ui/icons/Settings.vue +7 -7
  309. package/src/ui/icons/Slash.vue +6 -6
  310. package/src/ui/icons/Trash2.vue +6 -6
  311. package/src/ui/icons/Type.vue +6 -6
  312. package/src/ui/icons/User.vue +7 -7
  313. package/src/ui/input-otp.vue +52 -52
  314. package/src/ui/input.vue +98 -98
  315. package/src/ui/label.vue +19 -19
  316. package/src/ui/pagination.vue +41 -41
  317. package/src/ui/popover.vue +9 -9
  318. package/src/ui/progress.vue +67 -67
  319. package/src/ui/radio-group-item.vue +53 -53
  320. package/src/ui/radio-group.vue +27 -27
  321. package/src/ui/scrollable-tabs-list.vue +148 -148
  322. package/src/ui/select-multiple.vue +135 -135
  323. package/src/ui/select.vue +77 -77
  324. package/src/ui/separator.vue +60 -60
  325. package/src/ui/sheet.vue +50 -50
  326. package/src/ui/sidebar/BaseSidebar.vue +97 -97
  327. package/src/ui/sidebar/BasicSearch.vue +27 -27
  328. package/src/ui/sidebar/ResponsiveSearch.vue +54 -54
  329. package/src/ui/sidebar/Sidebar.vue +227 -227
  330. package/src/ui/sidebar/SidebarCollapseButton.vue +10 -10
  331. package/src/ui/sidebar/SidebarContent.vue +31 -31
  332. package/src/ui/sidebar/SidebarDescription.vue +10 -10
  333. package/src/ui/sidebar/SidebarExpandButton.vue +10 -10
  334. package/src/ui/sidebar/SidebarFooter.vue +10 -10
  335. package/src/ui/sidebar/SidebarGroup.vue +11 -11
  336. package/src/ui/sidebar/SidebarGroupContent.vue +10 -10
  337. package/src/ui/sidebar/SidebarGroupLabel.vue +7 -7
  338. package/src/ui/sidebar/SidebarHeader.vue +10 -10
  339. package/src/ui/sidebar/SidebarInset.vue +19 -19
  340. package/src/ui/sidebar/SidebarMenu.vue +7 -7
  341. package/src/ui/sidebar/SidebarMenuBadge.vue +7 -7
  342. package/src/ui/sidebar/SidebarMenuButton.vue +17 -17
  343. package/src/ui/sidebar/SidebarMenuItem.vue +10 -10
  344. package/src/ui/sidebar/SidebarMenuSub.vue +18 -18
  345. package/src/ui/sidebar/SidebarMenuSubContent.vue +10 -10
  346. package/src/ui/sidebar/SidebarMenuSubItem.vue +10 -10
  347. package/src/ui/sidebar/SidebarMenuSubTrigger.vue +10 -10
  348. package/src/ui/sidebar/SidebarProvider.vue +108 -108
  349. package/src/ui/sidebar/SidebarScrollArea.vue +10 -10
  350. package/src/ui/sidebar/SidebarSection.vue +10 -10
  351. package/src/ui/sidebar/SidebarSeparator.vue +8 -8
  352. package/src/ui/sidebar/SidebarShortcut.vue +10 -10
  353. package/src/ui/sidebar/SidebarTitle.vue +10 -10
  354. package/src/ui/sidebar/SidebarTrigger.vue +27 -27
  355. package/src/ui/sidebar/Wrapper.vue +12 -12
  356. package/src/ui/sidebar/context.ts +8 -8
  357. package/src/ui/sidebar/index.ts +27 -27
  358. package/src/ui/sidebar/sidebarStore.ts +40 -40
  359. package/src/ui/sidebar/types.ts +30 -30
  360. package/src/ui/sidebar/useAutoCollapse.ts +81 -81
  361. package/src/ui/sidebar.vue +24 -24
  362. package/src/ui/skeleton.vue +15 -15
  363. package/src/ui/slider.vue +32 -32
  364. package/src/ui/sonner.vue +67 -67
  365. package/src/ui/switch.vue +33 -33
  366. package/src/ui/tab-content.vue +28 -28
  367. package/src/ui/tab-list.vue +31 -31
  368. package/src/ui/tab-panel.vue +19 -19
  369. package/src/ui/tab-trigger.vue +34 -34
  370. package/src/ui/tab.vue +30 -30
  371. package/src/ui/table-body.vue +16 -16
  372. package/src/ui/table-caption.vue +20 -20
  373. package/src/ui/table-cell.vue +16 -16
  374. package/src/ui/table-footer.vue +16 -16
  375. package/src/ui/table-header.vue +132 -132
  376. package/src/ui/table-row.vue +16 -16
  377. package/src/ui/table.vue +55 -55
  378. package/src/ui/tabs.vue +33 -33
  379. package/src/ui/textarea.vue +91 -91
  380. package/src/ui/threat-gauge.vue +137 -137
  381. package/src/ui/toggle.vue +69 -69
  382. package/src/ui/tooltip-content.vue +52 -52
  383. package/src/ui/tooltip-provider.vue +13 -13
  384. package/src/ui/tooltip-root.vue +9 -9
  385. package/src/ui/tooltip-trigger.vue +13 -13
  386. package/src/ui/tooltip.vue +22 -22
  387. package/src/ui/utils.ts +6 -6
  388. package/vite.config.ts +39 -39
package/src/globals.css CHANGED
@@ -1,575 +1,575 @@
1
- @source "../src/**/*.{vue,js,ts,jsx,tsx,html}";
2
-
3
- @custom-variant dark (&:is(.dark *));
4
-
5
- :root {
6
- --font-size: 16px;
7
-
8
- /* Font Family - Iosevka with fallbacks */
9
- --font-family-primary:
10
- "Iosevka", "SF Mono", "Monaco", "Inconsolata",
11
- "Roboto Mono", "Consolas", "Menlo", monospace;
12
- --font-family-mono:
13
- "IBM Plex Mono", "SF Mono", Monaco, "Cascadia Code",
14
- "Roboto Mono", Consolas, "Courier New", monospace;
15
-
16
- /* Typography Scale - Reset to browser defaults */
17
- --text-h1: 2rem; /* 32px */
18
- --text-h2: 1.5rem; /* 24px */
19
- --text-h3: 1.25rem; /* 20px */
20
- --text-h4: 1.125rem; /* 18px */
21
- --text-h5: 1rem; /* 16px */
22
- --text-body-lg: 1.125rem; /* 18px */
23
- --text-body: 1rem; /* 16px - Default body text */
24
- --text-body-sm: 0.875rem; /* 14px */
25
- --text-body-xs: 0.75rem; /* 12px */
26
-
27
- /* Font Weights */
28
- --font-weight-medium: 500;
29
- --font-weight-normal: 400;
30
- --radius: 0.5rem;
31
-
32
- /* New Neutral Color Scale - Optimized for #11151E background and #161C27 cards */
33
- --neutral-50: #fafbfc;
34
- --neutral-100: #f1f3f5;
35
- --neutral-200: #e8eaed;
36
- --neutral-300: #d1d5db;
37
- --neutral-400: #9ca3af;
38
- --neutral-500: #6b7280;
39
- --neutral-600: #4b5563;
40
- --neutral-700: #2d3748;
41
- --neutral-800: #161c27;
42
- --neutral-900: #11151e;
43
-
44
- /* Primary Color Scale */
45
- --primary-100: #e0f7f7;
46
- --primary-200: #b3eaea;
47
- --primary-300: #80dddd;
48
- --primary-400: #4dd0d0;
49
- --primary-500: #25a6a6;
50
- --primary-600: #1b8d8d;
51
- --primary-700: #147676;
52
- --primary-800: #0d5c5c;
53
- --primary-900: #083f3f;
54
-
55
- /* Semantic Color Scales */
56
- --success-100: #dcfce7;
57
- --success-200: #bbf7d0;
58
- --success-300: #86efac;
59
- --success-400: #4ade80;
60
- --success-500: #22c55e;
61
- --success-600: #16a34a;
62
- --success-700: #15803d;
63
- --success-800: #166534;
64
- --success-900: #14532d;
65
-
66
- --error-100: #fef2f2;
67
- --error-200: #fecaca;
68
- --error-300: #fca5a5;
69
- --error-400: #f87171;
70
- --error-500: #ef4444;
71
- --error-600: #dc2626;
72
- --error-700: #b91c1c;
73
- --error-800: #991b1b;
74
- --error-900: #7f1d1d;
75
-
76
- --warning-100: #fef3c7;
77
- --warning-200: #fde68a;
78
- --warning-300: #fcd34d;
79
- --warning-400: #fbbf24;
80
- --warning-500: #f59e0b;
81
- --warning-600: #d97706;
82
- --warning-700: #b45309;
83
- --warning-800: #92400e;
84
- --warning-900: #78350f;
85
-
86
- --info-100: #dbeafe;
87
- --info-200: #bfdbfe;
88
- --info-300: #93c5fd;
89
- --info-400: #60a5fa;
90
- --info-500: #3b82f6;
91
- --info-600: #2563eb;
92
- --info-700: #1d4ed8;
93
- --info-800: #1e40af;
94
- --info-900: #1e3a8a;
95
-
96
- /* Light Mode Colors */
97
- --background: #fafbfc;
98
- --foreground: #374151;
99
- --card: #ffffff;
100
- --card-foreground: #374151;
101
- --popover: #ffffff;
102
- --popover-foreground: #374151;
103
- --primary: #25a6a6;
104
- --primary-foreground: #fafbfc;
105
- --secondary: #f1f3f5;
106
- --secondary-foreground: #374151;
107
- --muted: #e8eaed;
108
- --muted-foreground: #6b7280;
109
- --accent: #f1f3f5;
110
- --accent-foreground: #374151;
111
- --destructive: #ef4444;
112
- --destructive-foreground: #fafbfc;
113
- --border: #e8eaed;
114
- --input: #ffffff;
115
- --input-background: #f1f3f5;
116
- --switch-background: #d1d5db;
117
- --switch-thumb: #ffffff;
118
- --slider-track: #e8eaed;
119
- --slider-range: #25a6a6;
120
- --slider-thumb: #25a6a6;
121
- --ring: #25a6a6;
122
-
123
- /* Chart Colors */
124
- --chart-1: #25a6a6;
125
- --chart-2: #22c55e;
126
- --chart-3: #3b82f6;
127
- --chart-4: #f59e0b;
128
- --chart-5: #ef4444;
129
-
130
- /* Sidebar Colors */
131
- --sidebar: #ffffff;
132
- --sidebar-foreground: #374151;
133
- --sidebar-primary: #25a6a6;
134
- --sidebar-primary-foreground: #fafbfc;
135
- --sidebar-accent: #f1f3f5;
136
- --sidebar-accent-foreground: #374151;
137
- --sidebar-border: #e8eaed;
138
- --sidebar-ring: #25a6a6;
139
-
140
- /* Light Mode Elevation Shadows */
141
- --elevation-0: none;
142
- --elevation-1:
143
- 0 1px 3px 0 rgba(0, 0, 0, 0.1),
144
- 0 1px 2px 0 rgba(0, 0, 0, 0.06);
145
- --elevation-2:
146
- 0 4px 6px -1px rgba(0, 0, 0, 0.1),
147
- 0 2px 4px -1px rgba(0, 0, 0, 0.06);
148
- --elevation-3:
149
- 0 10px 15px -3px rgba(0, 0, 0, 0.1),
150
- 0 4px 6px -2px rgba(0, 0, 0, 0.05);
151
- --elevation-4:
152
- 0 20px 25px -5px rgba(0, 0, 0, 0.1),
153
- 0 10px 10px -5px rgba(0, 0, 0, 0.04);
154
- --elevation-5: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
155
- }
156
-
157
- .dark {
158
- /* Dark Mode Colors - Optimized for #11151E background and #161C27 cards */
159
- --background: #11151e;
160
- --foreground: #f1f3f5;
161
- --card: #161c27;
162
- --card-foreground: #f1f3f5;
163
- --popover: #161c27;
164
- --popover-foreground: #f1f3f5;
165
- --primary: #4dd0d0;
166
- --primary-foreground: #11151e;
167
- --secondary: #2d3748;
168
- --secondary-foreground: #f1f3f5;
169
- --muted: #2d3748;
170
- --muted-foreground: #9ca3af;
171
- --accent: #2d3748;
172
- --accent-foreground: #f1f3f5;
173
- --destructive: #f87171;
174
- --destructive-foreground: #11151e;
175
- --border: #2d3748;
176
- --input: #161c27;
177
- --input-background: #2d3748;
178
- --switch-background: #4b5563;
179
- --switch-thumb: #f1f3f5;
180
- --slider-track: #4b5563;
181
- --slider-range: #4dd0d0;
182
- --slider-thumb: #4dd0d0;
183
- --ring: #4dd0d0;
184
-
185
- /* Chart Colors - Dark Mode Optimized */
186
- --chart-1: #4dd0d0;
187
- --chart-2: #4ade80;
188
- --chart-3: #60a5fa;
189
- --chart-4: #fbbf24;
190
- --chart-5: #f87171;
191
-
192
- /* Sidebar Colors - Dark Mode */
193
- --sidebar: #161c27;
194
- --sidebar-foreground: #f1f3f5;
195
- --sidebar-primary: #4dd0d0;
196
- --sidebar-primary-foreground: #11151e;
197
- --sidebar-accent: #161c27;
198
- --sidebar-accent-foreground: #f1f3f5;
199
- --sidebar-border: #2d3748;
200
- --sidebar-ring: #4dd0d0;
201
-
202
- /* Elevation Shadows for Dark Mode - Enhanced for darker cards */
203
- --elevation-0: none;
204
- --elevation-1:
205
- 0 1px 3px 0 rgba(0, 0, 0, 0.4),
206
- 0 1px 2px 0 rgba(255, 255, 255, 0.03);
207
- --elevation-2:
208
- 0 4px 6px -1px rgba(0, 0, 0, 0.5),
209
- 0 2px 4px -1px rgba(255, 255, 255, 0.05);
210
- --elevation-3:
211
- 0 10px 15px -3px rgba(0, 0, 0, 0.6),
212
- 0 4px 6px -2px rgba(255, 255, 255, 0.08);
213
- --elevation-4:
214
- 0 20px 25px -5px rgba(0, 0, 0, 0.7),
215
- 0 10px 10px -5px rgba(255, 255, 255, 0.1);
216
- --elevation-5:
217
- 0 25px 50px -12px rgba(0, 0, 0, 0.8),
218
- 0 0 0 1px rgba(255, 255, 255, 0.05);
219
- }
220
-
221
- @theme {
222
- /* Base Theme Colors */
223
- --color-background: var(--background);
224
- --color-foreground: var(--foreground);
225
- --color-card: var(--card);
226
- --color-card-foreground: var(--card-foreground);
227
- --color-popover: var(--popover);
228
- --color-popover-foreground: var(--popover-foreground);
229
- --color-primary: var(--primary);
230
- --color-primary-foreground: var(--primary-foreground);
231
- --color-secondary: var(--secondary);
232
- --color-secondary-foreground: var(--secondary-foreground);
233
- --color-muted: var(--muted);
234
- --color-muted-foreground: var(--muted-foreground);
235
- --color-accent: var(--accent);
236
- --color-accent-foreground: var(--accent-foreground);
237
- --color-destructive: var(--destructive);
238
- --color-destructive-foreground: var(--destructive-foreground);
239
- --color-border: var(--border);
240
- --color-input: var(--input);
241
- --color-input-background: var(--input-background);
242
- --color-switch-background: var(--switch-background);
243
- --color-switch-thumb: var(--switch-thumb);
244
- --color-slider-track: var(--slider-track);
245
- --color-slider-range: var(--slider-range);
246
- --color-slider-thumb: var(--slider-thumb);
247
- --color-ring: var(--ring);
248
-
249
- /* Chart Colors */
250
- --color-chart-1: var(--chart-1);
251
- --color-chart-2: var(--chart-2);
252
- --color-chart-3: var(--chart-3);
253
- --color-chart-4: var(--chart-4);
254
- --color-chart-5: var(--chart-5);
255
-
256
- /* Sidebar Colors */
257
- --color-sidebar: var(--sidebar);
258
- --color-sidebar-foreground: var(--sidebar-foreground);
259
- --color-sidebar-primary: var(--sidebar-primary);
260
- --color-sidebar-primary-foreground: var(
261
- --sidebar-primary-foreground
262
- );
263
- --color-sidebar-accent: var(--sidebar-accent);
264
- --color-sidebar-accent-foreground: var(
265
- --sidebar-accent-foreground
266
- );
267
- --color-sidebar-border: var(--sidebar-border);
268
- --color-sidebar-ring: var(--sidebar-ring);
269
-
270
- /* Radius */
271
- --radius-sm: calc(var(--radius) - 2px);
272
- --radius-md: calc(var(--radius) - 1px);
273
- --radius-lg: var(--radius);
274
- --radius-xl: calc(var(--radius) + 2px);
275
-
276
- /* Neutral Scale */
277
- --color-neutral-50: var(--neutral-50);
278
- --color-neutral-100: var(--neutral-100);
279
- --color-neutral-200: var(--neutral-200);
280
- --color-neutral-300: var(--neutral-300);
281
- --color-neutral-400: var(--neutral-400);
282
- --color-neutral-500: var(--neutral-500);
283
- --color-neutral-600: var(--neutral-600);
284
- --color-neutral-700: var(--neutral-700);
285
- --color-neutral-800: var(--neutral-800);
286
- --color-neutral-900: var(--neutral-900);
287
-
288
- /* Primary Scale */
289
- --color-primary-100: var(--primary-100);
290
- --color-primary-200: var(--primary-200);
291
- --color-primary-300: var(--primary-300);
292
- --color-primary-400: var(--primary-400);
293
- --color-primary-500: var(--primary-500);
294
- --color-primary-600: var(--primary-600);
295
- --color-primary-700: var(--primary-700);
296
- --color-primary-800: var(--primary-800);
297
- --color-primary-900: var(--primary-900);
298
-
299
- /* Semantic Scales */
300
- --color-success-100: var(--success-100);
301
- --color-success-200: var(--success-200);
302
- --color-success-300: var(--success-300);
303
- --color-success-400: var(--success-400);
304
- --color-success-500: var(--success-500);
305
- --color-success-600: var(--success-600);
306
- --color-success-700: var(--success-700);
307
- --color-success-800: var(--success-800);
308
- --color-success-900: var(--success-900);
309
-
310
- --color-error-100: var(--error-100);
311
- --color-error-200: var(--error-200);
312
- --color-error-300: var(--error-300);
313
- --color-error-400: var(--error-400);
314
- --color-error-500: var(--error-500);
315
- --color-error-600: var(--error-600);
316
- --color-error-700: var(--error-700);
317
- --color-error-800: var(--error-800);
318
- --color-error-900: var(--error-900);
319
-
320
- --color-warning-100: var(--warning-100);
321
- --color-warning-200: var(--warning-200);
322
- --color-warning-300: var(--warning-300);
323
- --color-warning-400: var(--warning-400);
324
- --color-warning-500: var(--warning-500);
325
- --color-warning-600: var(--warning-600);
326
- --color-warning-700: var(--warning-700);
327
- --color-warning-800: var(--warning-800);
328
- --color-warning-900: var(--warning-900);
329
-
330
- --color-info-100: var(--info-100);
331
- --color-info-200: var(--info-200);
332
- --color-info-300: var(--info-300);
333
- --color-info-400: var(--info-400);
334
- --color-info-500: var(--info-500);
335
- --color-info-600: var(--info-600);
336
- --color-info-700: var(--info-700);
337
- --color-info-800: var(--info-800);
338
- --color-info-900: var(--info-900);
339
-
340
- /* Elevation */
341
- --shadow-elevation-0: var(--elevation-0);
342
- --shadow-elevation-1: var(--elevation-1);
343
- --shadow-elevation-2: var(--elevation-2);
344
- --shadow-elevation-3: var(--elevation-3);
345
- --shadow-elevation-4: var(--elevation-4);
346
- --shadow-elevation-5: var(--elevation-5);
347
- }
348
-
349
- @layer base {
350
- * {
351
- @apply border-border outline-ring/50;
352
- }
353
-
354
- body {
355
- @apply bg-background text-foreground;
356
- font-family: var(--font-family-primary);
357
- }
358
- }
359
-
360
- @layer base {
361
- h1 {
362
- font-family: var(--font-family-primary);
363
- font-size: var(--text-h1);
364
- font-weight: var(--font-weight-medium);
365
- line-height: 1.3;
366
- color: var(--foreground);
367
- letter-spacing: -0.02em;
368
- }
369
-
370
- h2 {
371
- font-family: var(--font-family-primary);
372
- font-size: var(--text-h2);
373
- font-weight: var(--font-weight-medium);
374
- line-height: 1.3;
375
- color: var(--foreground);
376
- letter-spacing: -0.015em;
377
- }
378
-
379
- h3 {
380
- font-family: var(--font-family-primary);
381
- font-size: var(--text-h3);
382
- font-weight: var(--font-weight-medium);
383
- line-height: 1.4;
384
- color: var(--foreground);
385
- letter-spacing: -0.01em;
386
- }
387
-
388
- h4 {
389
- font-family: var(--font-family-primary);
390
- font-size: var(--text-h4);
391
- font-weight: var(--font-weight-medium);
392
- line-height: 1.4;
393
- color: var(--foreground);
394
- letter-spacing: -0.005em;
395
- }
396
-
397
- h5 {
398
- font-family: var(--font-family-primary);
399
- font-size: var(--text-h5);
400
- font-weight: var(--font-weight-medium);
401
- line-height: 1.4;
402
- color: var(--foreground);
403
- letter-spacing: 0;
404
- }
405
-
406
- p {
407
- font-family: var(--font-family-primary);
408
- font-size: var(--text-body);
409
- font-weight: var(--font-weight-normal);
410
- line-height: 1.6;
411
- color: var(--foreground);
412
- letter-spacing: 0;
413
- }
414
-
415
- label {
416
- font-family: var(--font-family-primary);
417
- font-size: var(--text-body);
418
- font-weight: var(--font-weight-medium);
419
- line-height: 1.4;
420
- color: var(--foreground);
421
- letter-spacing: 0;
422
- }
423
-
424
- button {
425
- font-family: var(--font-family-primary);
426
- font-size: var(--text-body);
427
- font-weight: var(--font-weight-medium);
428
- line-height: 1.4;
429
- letter-spacing: 0;
430
- }
431
-
432
- input,
433
- textarea {
434
- font-family: var(--font-family-primary);
435
- font-size: var(--text-body);
436
- font-weight: var(--font-weight-normal);
437
- line-height: 1.5;
438
- color: var(--foreground);
439
- background-color: var(--input-background);
440
- letter-spacing: 0;
441
- }
442
- }
443
-
444
- html {
445
- font-size: var(--font-size);
446
- }
447
-
448
- @layer utilities {
449
- /* Typography utilities */
450
- .text-h1 {
451
- font-size: var(--text-h1);
452
- }
453
- .text-h2 {
454
- font-size: var(--text-h2);
455
- }
456
- .text-h3 {
457
- font-size: var(--text-h3);
458
- }
459
- .text-h4 {
460
- font-size: var(--text-h4);
461
- }
462
- .text-h5 {
463
- font-size: var(--text-h5);
464
- }
465
- .text-body-lg {
466
- font-size: var(--text-body-lg);
467
- }
468
- .text-body {
469
- font-size: var(--text-body);
470
- }
471
- .text-body-sm {
472
- font-size: var(--text-body-sm);
473
- }
474
- .text-body-xs {
475
- font-size: var(--text-body-xs);
476
- }
477
- }
478
-
479
- @layer utilities {
480
- /* Elevation utilities */
481
- .elevation-0 {
482
- box-shadow: var(--elevation-0);
483
- }
484
- .elevation-1 {
485
- box-shadow: var(--elevation-1);
486
- }
487
- .elevation-2 {
488
- box-shadow: var(--elevation-2);
489
- }
490
- .elevation-3 {
491
- box-shadow: var(--elevation-3);
492
- }
493
- .elevation-4 {
494
- box-shadow: var(--elevation-4);
495
- }
496
- .elevation-5 {
497
- box-shadow: var(--elevation-5);
498
- }
499
- /* Scrollbar utilities */
500
- .scrollbar-hide {
501
- -ms-overflow-style: none; /* Internet Explorer 10+ */
502
- scrollbar-width: none; /* Firefox */
503
- }
504
- .scrollbar-hide::-webkit-scrollbar {
505
- display: none; /* Safari and Chrome */
506
- }
507
- }
508
-
509
- /* Toast semantic color classes */
510
- .toast-success {
511
- background-color: var(--success-100) !important;
512
- color: var(--success-800) !important;
513
- border-color: var(--success-200) !important;
514
- }
515
-
516
- .toast-error {
517
- background-color: var(--error-100) !important;
518
- color: var(--error-800) !important;
519
- border-color: var(--error-200) !important;
520
- }
521
-
522
- .toast-warning {
523
- background-color: var(--warning-100) !important;
524
- color: var(--warning-800) !important;
525
- border-color: var(--warning-200) !important;
526
- }
527
-
528
- .toast-info {
529
- background-color: var(--info-100) !important;
530
- color: var(--info-800) !important;
531
- border-color: var(--info-200) !important;
532
- }
533
-
534
- /* Dark mode toast colors */
535
- .dark .toast-success {
536
- background-color: var(--success-900) !important;
537
- color: var(--success-300) !important;
538
- border-color: var(--success-700) !important;
539
- }
540
-
541
- .dark .toast-error {
542
- background-color: var(--error-900) !important;
543
- color: var(--error-300) !important;
544
- border-color: var(--error-700) !important;
545
- }
546
-
547
- .dark .toast-warning {
548
- background-color: var(--warning-900) !important;
549
- color: var(--warning-300) !important;
550
- border-color: var(--warning-700) !important;
551
- }
552
-
553
- .dark .toast-info {
554
- background-color: var(--info-900) !important;
555
- color: var(--info-300) !important;
556
- border-color: var(--info-700) !important;
557
- }
558
-
559
- /* Slider styling utilities */
560
- .slider-track {
561
- background-color: var(--slider-track) !important;
562
- }
563
-
564
- .slider-range {
565
- background-color: var(--slider-range) !important;
566
- }
567
-
568
- .slider-thumb {
569
- background-color: var(--slider-thumb) !important;
570
- border-color: var(--slider-thumb) !important;
571
- }
572
-
573
- .switch-thumb {
574
- background-color: var(--switch-thumb) !important;
575
- }
1
+ @source "../src/**/*.{vue,js,ts,jsx,tsx,html}";
2
+
3
+ @custom-variant dark (&:is(.dark *));
4
+
5
+ :root {
6
+ --font-size: 16px;
7
+
8
+ /* Font Family - Iosevka with fallbacks */
9
+ --font-family-primary:
10
+ "Iosevka", "SF Mono", "Monaco", "Inconsolata",
11
+ "Roboto Mono", "Consolas", "Menlo", monospace;
12
+ --font-family-mono:
13
+ "IBM Plex Mono", "SF Mono", Monaco, "Cascadia Code",
14
+ "Roboto Mono", Consolas, "Courier New", monospace;
15
+
16
+ /* Typography Scale - Reset to browser defaults */
17
+ --text-h1: 2rem; /* 32px */
18
+ --text-h2: 1.5rem; /* 24px */
19
+ --text-h3: 1.25rem; /* 20px */
20
+ --text-h4: 1.125rem; /* 18px */
21
+ --text-h5: 1rem; /* 16px */
22
+ --text-body-lg: 1.125rem; /* 18px */
23
+ --text-body: 1rem; /* 16px - Default body text */
24
+ --text-body-sm: 0.875rem; /* 14px */
25
+ --text-body-xs: 0.75rem; /* 12px */
26
+
27
+ /* Font Weights */
28
+ --font-weight-medium: 500;
29
+ --font-weight-normal: 400;
30
+ --radius: 0.5rem;
31
+
32
+ /* New Neutral Color Scale - Optimized for #11151E background and #161C27 cards */
33
+ --neutral-50: #fafbfc;
34
+ --neutral-100: #f1f3f5;
35
+ --neutral-200: #e8eaed;
36
+ --neutral-300: #d1d5db;
37
+ --neutral-400: #9ca3af;
38
+ --neutral-500: #6b7280;
39
+ --neutral-600: #4b5563;
40
+ --neutral-700: #2d3748;
41
+ --neutral-800: #161c27;
42
+ --neutral-900: #11151e;
43
+
44
+ /* Primary Color Scale */
45
+ --primary-100: #e0f7f7;
46
+ --primary-200: #b3eaea;
47
+ --primary-300: #80dddd;
48
+ --primary-400: #4dd0d0;
49
+ --primary-500: #25a6a6;
50
+ --primary-600: #1b8d8d;
51
+ --primary-700: #147676;
52
+ --primary-800: #0d5c5c;
53
+ --primary-900: #083f3f;
54
+
55
+ /* Semantic Color Scales */
56
+ --success-100: #dcfce7;
57
+ --success-200: #bbf7d0;
58
+ --success-300: #86efac;
59
+ --success-400: #4ade80;
60
+ --success-500: #22c55e;
61
+ --success-600: #16a34a;
62
+ --success-700: #15803d;
63
+ --success-800: #166534;
64
+ --success-900: #14532d;
65
+
66
+ --error-100: #fef2f2;
67
+ --error-200: #fecaca;
68
+ --error-300: #fca5a5;
69
+ --error-400: #f87171;
70
+ --error-500: #ef4444;
71
+ --error-600: #dc2626;
72
+ --error-700: #b91c1c;
73
+ --error-800: #991b1b;
74
+ --error-900: #7f1d1d;
75
+
76
+ --warning-100: #fef3c7;
77
+ --warning-200: #fde68a;
78
+ --warning-300: #fcd34d;
79
+ --warning-400: #fbbf24;
80
+ --warning-500: #f59e0b;
81
+ --warning-600: #d97706;
82
+ --warning-700: #b45309;
83
+ --warning-800: #92400e;
84
+ --warning-900: #78350f;
85
+
86
+ --info-100: #dbeafe;
87
+ --info-200: #bfdbfe;
88
+ --info-300: #93c5fd;
89
+ --info-400: #60a5fa;
90
+ --info-500: #3b82f6;
91
+ --info-600: #2563eb;
92
+ --info-700: #1d4ed8;
93
+ --info-800: #1e40af;
94
+ --info-900: #1e3a8a;
95
+
96
+ /* Light Mode Colors */
97
+ --background: #fafbfc;
98
+ --foreground: #374151;
99
+ --card: #ffffff;
100
+ --card-foreground: #374151;
101
+ --popover: #ffffff;
102
+ --popover-foreground: #374151;
103
+ --primary: #25a6a6;
104
+ --primary-foreground: #fafbfc;
105
+ --secondary: #f1f3f5;
106
+ --secondary-foreground: #374151;
107
+ --muted: #e8eaed;
108
+ --muted-foreground: #6b7280;
109
+ --accent: #f1f3f5;
110
+ --accent-foreground: #374151;
111
+ --destructive: #ef4444;
112
+ --destructive-foreground: #fafbfc;
113
+ --border: #e8eaed;
114
+ --input: #ffffff;
115
+ --input-background: #f1f3f5;
116
+ --switch-background: #d1d5db;
117
+ --switch-thumb: #ffffff;
118
+ --slider-track: #e8eaed;
119
+ --slider-range: #25a6a6;
120
+ --slider-thumb: #25a6a6;
121
+ --ring: #25a6a6;
122
+
123
+ /* Chart Colors */
124
+ --chart-1: #25a6a6;
125
+ --chart-2: #22c55e;
126
+ --chart-3: #3b82f6;
127
+ --chart-4: #f59e0b;
128
+ --chart-5: #ef4444;
129
+
130
+ /* Sidebar Colors */
131
+ --sidebar: #ffffff;
132
+ --sidebar-foreground: #374151;
133
+ --sidebar-primary: #25a6a6;
134
+ --sidebar-primary-foreground: #fafbfc;
135
+ --sidebar-accent: #f1f3f5;
136
+ --sidebar-accent-foreground: #374151;
137
+ --sidebar-border: #e8eaed;
138
+ --sidebar-ring: #25a6a6;
139
+
140
+ /* Light Mode Elevation Shadows */
141
+ --elevation-0: none;
142
+ --elevation-1:
143
+ 0 1px 3px 0 rgba(0, 0, 0, 0.1),
144
+ 0 1px 2px 0 rgba(0, 0, 0, 0.06);
145
+ --elevation-2:
146
+ 0 4px 6px -1px rgba(0, 0, 0, 0.1),
147
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
148
+ --elevation-3:
149
+ 0 10px 15px -3px rgba(0, 0, 0, 0.1),
150
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05);
151
+ --elevation-4:
152
+ 0 20px 25px -5px rgba(0, 0, 0, 0.1),
153
+ 0 10px 10px -5px rgba(0, 0, 0, 0.04);
154
+ --elevation-5: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
155
+ }
156
+
157
+ .dark {
158
+ /* Dark Mode Colors - Optimized for #11151E background and #161C27 cards */
159
+ --background: #11151e;
160
+ --foreground: #f1f3f5;
161
+ --card: #161c27;
162
+ --card-foreground: #f1f3f5;
163
+ --popover: #161c27;
164
+ --popover-foreground: #f1f3f5;
165
+ --primary: #4dd0d0;
166
+ --primary-foreground: #11151e;
167
+ --secondary: #2d3748;
168
+ --secondary-foreground: #f1f3f5;
169
+ --muted: #2d3748;
170
+ --muted-foreground: #9ca3af;
171
+ --accent: #2d3748;
172
+ --accent-foreground: #f1f3f5;
173
+ --destructive: #f87171;
174
+ --destructive-foreground: #11151e;
175
+ --border: #2d3748;
176
+ --input: #161c27;
177
+ --input-background: #2d3748;
178
+ --switch-background: #4b5563;
179
+ --switch-thumb: #f1f3f5;
180
+ --slider-track: #4b5563;
181
+ --slider-range: #4dd0d0;
182
+ --slider-thumb: #4dd0d0;
183
+ --ring: #4dd0d0;
184
+
185
+ /* Chart Colors - Dark Mode Optimized */
186
+ --chart-1: #4dd0d0;
187
+ --chart-2: #4ade80;
188
+ --chart-3: #60a5fa;
189
+ --chart-4: #fbbf24;
190
+ --chart-5: #f87171;
191
+
192
+ /* Sidebar Colors - Dark Mode */
193
+ --sidebar: #161c27;
194
+ --sidebar-foreground: #f1f3f5;
195
+ --sidebar-primary: #4dd0d0;
196
+ --sidebar-primary-foreground: #11151e;
197
+ --sidebar-accent: #161c27;
198
+ --sidebar-accent-foreground: #f1f3f5;
199
+ --sidebar-border: #2d3748;
200
+ --sidebar-ring: #4dd0d0;
201
+
202
+ /* Elevation Shadows for Dark Mode - Enhanced for darker cards */
203
+ --elevation-0: none;
204
+ --elevation-1:
205
+ 0 1px 3px 0 rgba(0, 0, 0, 0.4),
206
+ 0 1px 2px 0 rgba(255, 255, 255, 0.03);
207
+ --elevation-2:
208
+ 0 4px 6px -1px rgba(0, 0, 0, 0.5),
209
+ 0 2px 4px -1px rgba(255, 255, 255, 0.05);
210
+ --elevation-3:
211
+ 0 10px 15px -3px rgba(0, 0, 0, 0.6),
212
+ 0 4px 6px -2px rgba(255, 255, 255, 0.08);
213
+ --elevation-4:
214
+ 0 20px 25px -5px rgba(0, 0, 0, 0.7),
215
+ 0 10px 10px -5px rgba(255, 255, 255, 0.1);
216
+ --elevation-5:
217
+ 0 25px 50px -12px rgba(0, 0, 0, 0.8),
218
+ 0 0 0 1px rgba(255, 255, 255, 0.05);
219
+ }
220
+
221
+ @theme {
222
+ /* Base Theme Colors */
223
+ --color-background: var(--background);
224
+ --color-foreground: var(--foreground);
225
+ --color-card: var(--card);
226
+ --color-card-foreground: var(--card-foreground);
227
+ --color-popover: var(--popover);
228
+ --color-popover-foreground: var(--popover-foreground);
229
+ --color-primary: var(--primary);
230
+ --color-primary-foreground: var(--primary-foreground);
231
+ --color-secondary: var(--secondary);
232
+ --color-secondary-foreground: var(--secondary-foreground);
233
+ --color-muted: var(--muted);
234
+ --color-muted-foreground: var(--muted-foreground);
235
+ --color-accent: var(--accent);
236
+ --color-accent-foreground: var(--accent-foreground);
237
+ --color-destructive: var(--destructive);
238
+ --color-destructive-foreground: var(--destructive-foreground);
239
+ --color-border: var(--border);
240
+ --color-input: var(--input);
241
+ --color-input-background: var(--input-background);
242
+ --color-switch-background: var(--switch-background);
243
+ --color-switch-thumb: var(--switch-thumb);
244
+ --color-slider-track: var(--slider-track);
245
+ --color-slider-range: var(--slider-range);
246
+ --color-slider-thumb: var(--slider-thumb);
247
+ --color-ring: var(--ring);
248
+
249
+ /* Chart Colors */
250
+ --color-chart-1: var(--chart-1);
251
+ --color-chart-2: var(--chart-2);
252
+ --color-chart-3: var(--chart-3);
253
+ --color-chart-4: var(--chart-4);
254
+ --color-chart-5: var(--chart-5);
255
+
256
+ /* Sidebar Colors */
257
+ --color-sidebar: var(--sidebar);
258
+ --color-sidebar-foreground: var(--sidebar-foreground);
259
+ --color-sidebar-primary: var(--sidebar-primary);
260
+ --color-sidebar-primary-foreground: var(
261
+ --sidebar-primary-foreground
262
+ );
263
+ --color-sidebar-accent: var(--sidebar-accent);
264
+ --color-sidebar-accent-foreground: var(
265
+ --sidebar-accent-foreground
266
+ );
267
+ --color-sidebar-border: var(--sidebar-border);
268
+ --color-sidebar-ring: var(--sidebar-ring);
269
+
270
+ /* Radius */
271
+ --radius-sm: calc(var(--radius) - 2px);
272
+ --radius-md: calc(var(--radius) - 1px);
273
+ --radius-lg: var(--radius);
274
+ --radius-xl: calc(var(--radius) + 2px);
275
+
276
+ /* Neutral Scale */
277
+ --color-neutral-50: var(--neutral-50);
278
+ --color-neutral-100: var(--neutral-100);
279
+ --color-neutral-200: var(--neutral-200);
280
+ --color-neutral-300: var(--neutral-300);
281
+ --color-neutral-400: var(--neutral-400);
282
+ --color-neutral-500: var(--neutral-500);
283
+ --color-neutral-600: var(--neutral-600);
284
+ --color-neutral-700: var(--neutral-700);
285
+ --color-neutral-800: var(--neutral-800);
286
+ --color-neutral-900: var(--neutral-900);
287
+
288
+ /* Primary Scale */
289
+ --color-primary-100: var(--primary-100);
290
+ --color-primary-200: var(--primary-200);
291
+ --color-primary-300: var(--primary-300);
292
+ --color-primary-400: var(--primary-400);
293
+ --color-primary-500: var(--primary-500);
294
+ --color-primary-600: var(--primary-600);
295
+ --color-primary-700: var(--primary-700);
296
+ --color-primary-800: var(--primary-800);
297
+ --color-primary-900: var(--primary-900);
298
+
299
+ /* Semantic Scales */
300
+ --color-success-100: var(--success-100);
301
+ --color-success-200: var(--success-200);
302
+ --color-success-300: var(--success-300);
303
+ --color-success-400: var(--success-400);
304
+ --color-success-500: var(--success-500);
305
+ --color-success-600: var(--success-600);
306
+ --color-success-700: var(--success-700);
307
+ --color-success-800: var(--success-800);
308
+ --color-success-900: var(--success-900);
309
+
310
+ --color-error-100: var(--error-100);
311
+ --color-error-200: var(--error-200);
312
+ --color-error-300: var(--error-300);
313
+ --color-error-400: var(--error-400);
314
+ --color-error-500: var(--error-500);
315
+ --color-error-600: var(--error-600);
316
+ --color-error-700: var(--error-700);
317
+ --color-error-800: var(--error-800);
318
+ --color-error-900: var(--error-900);
319
+
320
+ --color-warning-100: var(--warning-100);
321
+ --color-warning-200: var(--warning-200);
322
+ --color-warning-300: var(--warning-300);
323
+ --color-warning-400: var(--warning-400);
324
+ --color-warning-500: var(--warning-500);
325
+ --color-warning-600: var(--warning-600);
326
+ --color-warning-700: var(--warning-700);
327
+ --color-warning-800: var(--warning-800);
328
+ --color-warning-900: var(--warning-900);
329
+
330
+ --color-info-100: var(--info-100);
331
+ --color-info-200: var(--info-200);
332
+ --color-info-300: var(--info-300);
333
+ --color-info-400: var(--info-400);
334
+ --color-info-500: var(--info-500);
335
+ --color-info-600: var(--info-600);
336
+ --color-info-700: var(--info-700);
337
+ --color-info-800: var(--info-800);
338
+ --color-info-900: var(--info-900);
339
+
340
+ /* Elevation */
341
+ --shadow-elevation-0: var(--elevation-0);
342
+ --shadow-elevation-1: var(--elevation-1);
343
+ --shadow-elevation-2: var(--elevation-2);
344
+ --shadow-elevation-3: var(--elevation-3);
345
+ --shadow-elevation-4: var(--elevation-4);
346
+ --shadow-elevation-5: var(--elevation-5);
347
+ }
348
+
349
+ @layer base {
350
+ * {
351
+ @apply border-border outline-ring/50;
352
+ }
353
+
354
+ body {
355
+ @apply bg-background text-foreground;
356
+ font-family: var(--font-family-primary);
357
+ }
358
+ }
359
+
360
+ @layer base {
361
+ h1 {
362
+ font-family: var(--font-family-primary);
363
+ font-size: var(--text-h1);
364
+ font-weight: var(--font-weight-medium);
365
+ line-height: 1.3;
366
+ color: var(--foreground);
367
+ letter-spacing: -0.02em;
368
+ }
369
+
370
+ h2 {
371
+ font-family: var(--font-family-primary);
372
+ font-size: var(--text-h2);
373
+ font-weight: var(--font-weight-medium);
374
+ line-height: 1.3;
375
+ color: var(--foreground);
376
+ letter-spacing: -0.015em;
377
+ }
378
+
379
+ h3 {
380
+ font-family: var(--font-family-primary);
381
+ font-size: var(--text-h3);
382
+ font-weight: var(--font-weight-medium);
383
+ line-height: 1.4;
384
+ color: var(--foreground);
385
+ letter-spacing: -0.01em;
386
+ }
387
+
388
+ h4 {
389
+ font-family: var(--font-family-primary);
390
+ font-size: var(--text-h4);
391
+ font-weight: var(--font-weight-medium);
392
+ line-height: 1.4;
393
+ color: var(--foreground);
394
+ letter-spacing: -0.005em;
395
+ }
396
+
397
+ h5 {
398
+ font-family: var(--font-family-primary);
399
+ font-size: var(--text-h5);
400
+ font-weight: var(--font-weight-medium);
401
+ line-height: 1.4;
402
+ color: var(--foreground);
403
+ letter-spacing: 0;
404
+ }
405
+
406
+ p {
407
+ font-family: var(--font-family-primary);
408
+ font-size: var(--text-body);
409
+ font-weight: var(--font-weight-normal);
410
+ line-height: 1.6;
411
+ color: var(--foreground);
412
+ letter-spacing: 0;
413
+ }
414
+
415
+ label {
416
+ font-family: var(--font-family-primary);
417
+ font-size: var(--text-body);
418
+ font-weight: var(--font-weight-medium);
419
+ line-height: 1.4;
420
+ color: var(--foreground);
421
+ letter-spacing: 0;
422
+ }
423
+
424
+ button {
425
+ font-family: var(--font-family-primary);
426
+ font-size: var(--text-body);
427
+ font-weight: var(--font-weight-medium);
428
+ line-height: 1.4;
429
+ letter-spacing: 0;
430
+ }
431
+
432
+ input,
433
+ textarea {
434
+ font-family: var(--font-family-primary);
435
+ font-size: var(--text-body);
436
+ font-weight: var(--font-weight-normal);
437
+ line-height: 1.5;
438
+ color: var(--foreground);
439
+ background-color: var(--input-background);
440
+ letter-spacing: 0;
441
+ }
442
+ }
443
+
444
+ html {
445
+ font-size: var(--font-size);
446
+ }
447
+
448
+ @layer utilities {
449
+ /* Typography utilities */
450
+ .text-h1 {
451
+ font-size: var(--text-h1);
452
+ }
453
+ .text-h2 {
454
+ font-size: var(--text-h2);
455
+ }
456
+ .text-h3 {
457
+ font-size: var(--text-h3);
458
+ }
459
+ .text-h4 {
460
+ font-size: var(--text-h4);
461
+ }
462
+ .text-h5 {
463
+ font-size: var(--text-h5);
464
+ }
465
+ .text-body-lg {
466
+ font-size: var(--text-body-lg);
467
+ }
468
+ .text-body {
469
+ font-size: var(--text-body);
470
+ }
471
+ .text-body-sm {
472
+ font-size: var(--text-body-sm);
473
+ }
474
+ .text-body-xs {
475
+ font-size: var(--text-body-xs);
476
+ }
477
+ }
478
+
479
+ @layer utilities {
480
+ /* Elevation utilities */
481
+ .elevation-0 {
482
+ box-shadow: var(--elevation-0);
483
+ }
484
+ .elevation-1 {
485
+ box-shadow: var(--elevation-1);
486
+ }
487
+ .elevation-2 {
488
+ box-shadow: var(--elevation-2);
489
+ }
490
+ .elevation-3 {
491
+ box-shadow: var(--elevation-3);
492
+ }
493
+ .elevation-4 {
494
+ box-shadow: var(--elevation-4);
495
+ }
496
+ .elevation-5 {
497
+ box-shadow: var(--elevation-5);
498
+ }
499
+ /* Scrollbar utilities */
500
+ .scrollbar-hide {
501
+ -ms-overflow-style: none; /* Internet Explorer 10+ */
502
+ scrollbar-width: none; /* Firefox */
503
+ }
504
+ .scrollbar-hide::-webkit-scrollbar {
505
+ display: none; /* Safari and Chrome */
506
+ }
507
+ }
508
+
509
+ /* Toast semantic color classes */
510
+ .toast-success {
511
+ background-color: var(--success-100) !important;
512
+ color: var(--success-800) !important;
513
+ border-color: var(--success-200) !important;
514
+ }
515
+
516
+ .toast-error {
517
+ background-color: var(--error-100) !important;
518
+ color: var(--error-800) !important;
519
+ border-color: var(--error-200) !important;
520
+ }
521
+
522
+ .toast-warning {
523
+ background-color: var(--warning-100) !important;
524
+ color: var(--warning-800) !important;
525
+ border-color: var(--warning-200) !important;
526
+ }
527
+
528
+ .toast-info {
529
+ background-color: var(--info-100) !important;
530
+ color: var(--info-800) !important;
531
+ border-color: var(--info-200) !important;
532
+ }
533
+
534
+ /* Dark mode toast colors */
535
+ .dark .toast-success {
536
+ background-color: var(--success-900) !important;
537
+ color: var(--success-300) !important;
538
+ border-color: var(--success-700) !important;
539
+ }
540
+
541
+ .dark .toast-error {
542
+ background-color: var(--error-900) !important;
543
+ color: var(--error-300) !important;
544
+ border-color: var(--error-700) !important;
545
+ }
546
+
547
+ .dark .toast-warning {
548
+ background-color: var(--warning-900) !important;
549
+ color: var(--warning-300) !important;
550
+ border-color: var(--warning-700) !important;
551
+ }
552
+
553
+ .dark .toast-info {
554
+ background-color: var(--info-900) !important;
555
+ color: var(--info-300) !important;
556
+ border-color: var(--info-700) !important;
557
+ }
558
+
559
+ /* Slider styling utilities */
560
+ .slider-track {
561
+ background-color: var(--slider-track) !important;
562
+ }
563
+
564
+ .slider-range {
565
+ background-color: var(--slider-range) !important;
566
+ }
567
+
568
+ .slider-thumb {
569
+ background-color: var(--slider-thumb) !important;
570
+ border-color: var(--slider-thumb) !important;
571
+ }
572
+
573
+ .switch-thumb {
574
+ background-color: var(--switch-thumb) !important;
575
+ }