@kopexa/theme 1.5.8 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/{chunk-FLD2CUFZ.mjs → chunk-3IIJVON7.mjs} +11 -8
  2. package/dist/chunk-CZMZHA7U.mjs +37 -0
  3. package/dist/{chunk-UI2M2MFB.mjs → chunk-DH3KNPAO.mjs} +3 -1
  4. package/dist/{chunk-4VKJFW6Y.mjs → chunk-EACX3NZF.mjs} +11 -2
  5. package/dist/chunk-GA6UOB2D.mjs +166 -0
  6. package/dist/{chunk-32L6KXLV.mjs → chunk-HOQ2LD24.mjs} +1 -1
  7. package/dist/chunk-I6M4S2KZ.mjs +41 -0
  8. package/dist/chunk-IRKCLWJD.mjs +15 -0
  9. package/dist/{chunk-3M5JSM7Y.mjs → chunk-MGYGD5BF.mjs} +1 -1
  10. package/dist/{chunk-I2NMD23O.mjs → chunk-OMS3433R.mjs} +1 -1
  11. package/dist/{chunk-CDTKWCOH.mjs → chunk-SU53TZN7.mjs} +34 -2
  12. package/dist/chunk-UPTG533L.mjs +87 -0
  13. package/dist/{chunk-67PPUTSS.mjs → chunk-UVT775TU.mjs} +1 -1
  14. package/dist/{chunk-5BIGFSZK.mjs → chunk-WSX3HKVE.mjs} +1 -1
  15. package/dist/components/avatar.js +1 -1
  16. package/dist/components/avatar.mjs +2 -2
  17. package/dist/components/button.js +1 -1
  18. package/dist/components/button.mjs +2 -2
  19. package/dist/components/card.d.mts +24 -0
  20. package/dist/components/card.d.ts +24 -0
  21. package/dist/components/card.js +11 -2
  22. package/dist/components/card.mjs +1 -1
  23. package/dist/components/chip.js +1 -1
  24. package/dist/components/chip.mjs +2 -2
  25. package/dist/components/code.js +1 -1
  26. package/dist/components/code.mjs +2 -2
  27. package/dist/components/drawer.d.mts +9 -3
  28. package/dist/components/drawer.d.ts +9 -3
  29. package/dist/components/drawer.js +3 -1
  30. package/dist/components/drawer.mjs +1 -1
  31. package/dist/components/index.d.mts +5 -0
  32. package/dist/components/index.d.ts +5 -0
  33. package/dist/components/index.js +411 -22
  34. package/dist/components/index.mjs +39 -15
  35. package/dist/components/page-layout.d.mts +9 -0
  36. package/dist/components/page-layout.d.ts +9 -0
  37. package/dist/components/page-layout.js +11 -8
  38. package/dist/components/page-layout.mjs +1 -1
  39. package/dist/components/risk-indicator.d.mts +76 -0
  40. package/dist/components/risk-indicator.d.ts +76 -0
  41. package/dist/components/risk-indicator.js +61 -0
  42. package/dist/components/risk-indicator.mjs +6 -0
  43. package/dist/components/separator.d.mts +22 -0
  44. package/dist/components/separator.d.ts +22 -0
  45. package/dist/components/separator.js +39 -0
  46. package/dist/components/separator.mjs +6 -0
  47. package/dist/components/sidebar.d.mts +206 -0
  48. package/dist/components/sidebar.d.ts +206 -0
  49. package/dist/components/sidebar.js +192 -0
  50. package/dist/components/sidebar.mjs +10 -0
  51. package/dist/components/tab-nav.d.mts +101 -0
  52. package/dist/components/tab-nav.d.ts +101 -0
  53. package/dist/components/tab-nav.js +111 -0
  54. package/dist/components/tab-nav.mjs +6 -0
  55. package/dist/components/table.d.mts +54 -0
  56. package/dist/components/table.d.ts +54 -0
  57. package/dist/components/table.js +34 -2
  58. package/dist/components/table.mjs +1 -1
  59. package/dist/components/tabs.d.mts +43 -0
  60. package/dist/components/tabs.d.ts +43 -0
  61. package/dist/components/tabs.js +65 -0
  62. package/dist/components/tabs.mjs +6 -0
  63. package/dist/index.css +23 -11
  64. package/dist/index.d.mts +5 -0
  65. package/dist/index.d.ts +5 -0
  66. package/dist/index.js +411 -22
  67. package/dist/index.mjs +39 -15
  68. package/dist/utils/variants.js +1 -1
  69. package/dist/utils/variants.mjs +1 -1
  70. package/package.json +1 -1
  71. /package/dist/{chunk-FWB233VZ.mjs → chunk-EOJ6MEGH.mjs} +0 -0
package/dist/index.css CHANGED
@@ -4,19 +4,19 @@
4
4
  @custom-variant dark (&:is(.dark *));
5
5
 
6
6
  :root {
7
- --background: oklch(0.9851 0 0);
7
+ --background: var(--color-white);
8
8
  --foreground: oklch(0.145 0 0);
9
- --card: oklch(1 0 0);
9
+ --card: var(--color-white);
10
10
  --card-foreground: oklch(0.145 0 0);
11
- --popover: oklch(1 0 0);
11
+ --popover: var(--color-white);
12
12
  --popover-foreground: oklch(0.145 0 0);
13
- --primary: var(--color-primary-800);
13
+ --primary: var(--color-primary-600);
14
14
  --primary-foreground: var(--color-white);
15
15
  --secondary: var(--color-default-200);
16
16
  --secondary-foreground: oklch(0.205 0 0);
17
17
  --muted: var(--color-default-100);
18
- --muted-foreground: oklch(0.556 0 0);
19
- --accent: var(--color-default-100);
18
+ --muted-foreground: var(--color-default-600);
19
+ --accent: var(--color-primary-50);
20
20
  --accent-foreground: oklch(0.205 0 0);
21
21
  --destructive: var(--color-destructive-600);
22
22
  --destructive-foreground: var(--color-white);
@@ -35,10 +35,10 @@
35
35
  --chart-4: oklch(0.828 0.189 84.429);
36
36
  --chart-5: oklch(0.769 0.188 70.08);
37
37
  --radius: 0.625rem;
38
- --sidebar: oklch(0.985 0 0);
39
- --sidebar-foreground: oklch(0.145 0 0);
38
+ --sidebar: var(--color-primary-900);
39
+ --sidebar-foreground: var(--color-white);
40
40
  --sidebar-primary: oklch(0.205 0 0);
41
- --sidebar-primary-foreground: oklch(0.985 0 0);
41
+ --sidebar-primary-foreground: var(--color-white);
42
42
  --sidebar-accent:var(--color-default-200);
43
43
  --sidebar-accent-foreground: oklch(0.205 0 0);
44
44
  --sidebar-border: var(--color-default-200);
@@ -46,7 +46,7 @@
46
46
  }
47
47
 
48
48
  .dark {
49
- --background: var(--color-primary-950);
49
+ --background: var(--color-primary-900);
50
50
  --foreground: var(--color-white);
51
51
  --card: var(--color-primary-900);
52
52
  --card-foreground: oklch(0.985 0 0);
@@ -76,7 +76,7 @@
76
76
  --chart-3: oklch(0.769 0.188 70.08);
77
77
  --chart-4: oklch(0.627 0.265 303.9);
78
78
  --chart-5: oklch(0.645 0.246 16.439);
79
- --sidebar: oklch(0.205 0 0);
79
+ --sidebar: var(--color-primary-950);
80
80
  --sidebar-foreground: oklch(0.985 0 0);
81
81
  --sidebar-primary: oklch(0.488 0.243 264.376);
82
82
  --sidebar-primary-foreground: oklch(0.985 0 0);
@@ -87,6 +87,18 @@
87
87
  }
88
88
 
89
89
  @theme {
90
+ --color-desert-storm-50: oklch(0.9831 0.0034 67.78);
91
+ --color-desert-storm-100: oklch(0.9406 0.0121 67.68);
92
+ --color-desert-storm-200: oklch(0.8755 0.0243 63.46);
93
+ --color-desert-storm-300: oklch(0.7943 0.04 63.4);
94
+ --color-desert-storm-400: oklch(0.6986 0.0578 54.9);
95
+ --color-desert-storm-500: oklch(0.6309 0.0714 50.37);
96
+ --color-desert-storm-600: oklch(0.5785 0.0752 42.41);
97
+ --color-desert-storm-700: oklch(0.5036 0.0654 37.66);
98
+ --color-desert-storm-800: oklch(0.4408 0.0533 34.25);
99
+ --color-desert-storm-900: oklch(0.3873 0.043 34.09);
100
+ --color-desert-storm-950: oklch(0.2556 0.0275 30.23);
101
+
90
102
  --color-primary-50: oklch(96.58% 0.016 262.77);
91
103
  --color-primary-100: oklch(92.21% 0.037 262.15);
92
104
  --color-primary-200: oklch(84.55% 0.074 259.28);
package/dist/index.d.mts CHANGED
@@ -18,8 +18,13 @@ export { InputVariantProps, input, passwordInput } from './components/input.mjs'
18
18
  export { PageHeaderVariantProps, pageHeader } from './components/page-header.mjs';
19
19
  export { PageLayoutSlots, PageLayoutVariantProps, pageLayout } from './components/page-layout.mjs';
20
20
  export { PopoverVariants, popover } from './components/popover.mjs';
21
+ export { RiskIndicatorVariantProps, riskIndicator } from './components/risk-indicator.mjs';
22
+ export { SeparatorVariantProps, separator } from './components/separator.mjs';
23
+ export { SidebarMenuActionVariantProps, SidebarMenuButtonVariantProps, SidebarVariantProps, sidebar, sidebarMenuAction, sidebarMenuButton } from './components/sidebar.mjs';
21
24
  export { skeleton } from './components/skeleton.mjs';
22
25
  export { SpinnerVariants, spinner } from './components/spinner.mjs';
26
+ export { TabNavSlots, TabNavVariantProps, tabNav } from './components/tab-nav.mjs';
23
27
  export { TableSlots, TableVariantProps, table } from './components/table.mjs';
28
+ export { TabsVariantProps, tabs } from './components/tabs.mjs';
24
29
  export { TooltipVariants, tooltip } from './components/tooltip.mjs';
25
30
  export { SlotsToClasses } from './utils/types.mjs';
package/dist/index.d.ts CHANGED
@@ -18,8 +18,13 @@ export { InputVariantProps, input, passwordInput } from './components/input.js';
18
18
  export { PageHeaderVariantProps, pageHeader } from './components/page-header.js';
19
19
  export { PageLayoutSlots, PageLayoutVariantProps, pageLayout } from './components/page-layout.js';
20
20
  export { PopoverVariants, popover } from './components/popover.js';
21
+ export { RiskIndicatorVariantProps, riskIndicator } from './components/risk-indicator.js';
22
+ export { SeparatorVariantProps, separator } from './components/separator.js';
23
+ export { SidebarMenuActionVariantProps, SidebarMenuButtonVariantProps, SidebarVariantProps, sidebar, sidebarMenuAction, sidebarMenuButton } from './components/sidebar.js';
21
24
  export { skeleton } from './components/skeleton.js';
22
25
  export { SpinnerVariants, spinner } from './components/spinner.js';
26
+ export { TabNavSlots, TabNavVariantProps, tabNav } from './components/tab-nav.js';
23
27
  export { TableSlots, TableVariantProps, table } from './components/table.js';
28
+ export { TabsVariantProps, tabs } from './components/tabs.js';
24
29
  export { TooltipVariants, tooltip } from './components/tooltip.js';
25
30
  export { SlotsToClasses } from './utils/types.js';
package/dist/index.js CHANGED
@@ -40,9 +40,16 @@ __export(index_exports, {
40
40
  pageLayout: () => pageLayout,
41
41
  passwordInput: () => passwordInput,
42
42
  popover: () => popover,
43
+ riskIndicator: () => riskIndicator,
44
+ separator: () => separator,
45
+ sidebar: () => sidebar,
46
+ sidebarMenuAction: () => sidebarMenuAction,
47
+ sidebarMenuButton: () => sidebarMenuButton,
43
48
  skeleton: () => skeleton,
44
49
  spinner: () => spinner,
50
+ tabNav: () => tabNav,
45
51
  table: () => table,
52
+ tabs: () => tabs,
46
53
  tooltip: () => tooltip
47
54
  });
48
55
  module.exports = __toCommonJS(index_exports);
@@ -116,7 +123,7 @@ var faded = {
116
123
  foreground: "border-default bg-accent/30 text-foreground"
117
124
  };
118
125
  var ghost = {
119
- primary: "bg-transparent text-primary",
126
+ primary: "bg-transparent text-primary dark:text-primary-foreground",
120
127
  secondary: "bg-transparent text-secondary",
121
128
  destructive: "bg-transparent text-destructive",
122
129
  warning: "bg-transparent text-warning",
@@ -570,6 +577,9 @@ var card = (0, import_tailwind_variants6.tv)({
570
577
  none: {
571
578
  root: "shadow-none"
572
579
  },
580
+ "2xs": {
581
+ root: "shadow-2xs"
582
+ },
573
583
  sm: {
574
584
  root: "shadow-sm"
575
585
  },
@@ -580,6 +590,11 @@ var card = (0, import_tailwind_variants6.tv)({
580
590
  root: "shadow-lg"
581
591
  }
582
592
  },
593
+ border: {
594
+ true: {
595
+ root: "border"
596
+ }
597
+ },
583
598
  radius: {
584
599
  none: {
585
600
  root: "rounded-none",
@@ -628,12 +643,13 @@ var card = (0, import_tailwind_variants6.tv)({
628
643
  },
629
644
  defaultVariants: {
630
645
  radius: "lg",
631
- shadow: "md",
646
+ shadow: "sm",
632
647
  fullWidth: false,
633
648
  isHoverable: false,
634
649
  isPressable: false,
635
650
  isBlurred: false,
636
- isDisabled: false
651
+ isDisabled: false,
652
+ border: true
637
653
  }
638
654
  });
639
655
 
@@ -1218,7 +1234,9 @@ var drawer = (0, import_tailwind_variants13.tv)({
1218
1234
  placement: {
1219
1235
  top: {},
1220
1236
  bottom: {},
1221
- left: {},
1237
+ left: {
1238
+ content: "inset-y-2 ms-2 left-0 border-r h-[calc(100dvh_-_1rem)]"
1239
+ },
1222
1240
  right: {
1223
1241
  content: "inset-y-2 me-2 right-0 h-[calc(100%-1rem)] border-l"
1224
1242
  }
@@ -1411,7 +1429,7 @@ var import_tailwind_variants18 = require("tailwind-variants");
1411
1429
  var pageLayout = (0, import_tailwind_variants18.tv)({
1412
1430
  slots: {
1413
1431
  root: "",
1414
- wrapper: "flex mx-auto flex-wrap w-full",
1432
+ wrapper: "flex flex-wrap w-full",
1415
1433
  baseContent: "flex flex-1 flex-wrap max-w-full",
1416
1434
  header: "w-full grow-0 shrink-0",
1417
1435
  footerWrapper: "w-full",
@@ -1430,7 +1448,8 @@ var pageLayout = (0, import_tailwind_variants18.tv)({
1430
1448
  ],
1431
1449
  pane: "w-[var(--pane-width-size)] md:overflow-auto",
1432
1450
  contentWrapper: "flex min-w-px flex-col basis-0 grow shrink",
1433
- content: "w-full mx-auto grow h-full"
1451
+ content: "w-full mx-auto grow h-full",
1452
+ bleed: []
1434
1453
  },
1435
1454
  variants: {
1436
1455
  gap: {
@@ -1458,14 +1477,14 @@ var pageLayout = (0, import_tailwind_variants18.tv)({
1458
1477
  content: "max-w-full"
1459
1478
  },
1460
1479
  md: {
1461
- wrapper: "max-w-3xl",
1480
+ wrapper: "max-w-3xl mx-auto",
1462
1481
  content: "max-w-3xl"
1463
1482
  },
1464
1483
  lg: {
1465
- wrapper: "max-w-5xl"
1484
+ wrapper: "max-w-5xl mx-auto"
1466
1485
  },
1467
1486
  xl: {
1468
- wrapper: "max-w-8xl",
1487
+ wrapper: "max-w-8xl mx-auto",
1469
1488
  content: "max-w-8xl"
1470
1489
  }
1471
1490
  },
@@ -1487,7 +1506,8 @@ var pageLayout = (0, import_tailwind_variants18.tv)({
1487
1506
  header: "p-4",
1488
1507
  content: "p-4",
1489
1508
  pane: "p-4",
1490
- footerContent: "p-4"
1509
+ footerContent: "p-4",
1510
+ bleed: ["-mx-4 p-4"]
1491
1511
  },
1492
1512
  // 1.5rem
1493
1513
  normal: {
@@ -1495,7 +1515,8 @@ var pageLayout = (0, import_tailwind_variants18.tv)({
1495
1515
  header: "p-2 md:p-3",
1496
1516
  content: "p-2 md:p-3",
1497
1517
  pane: "p-2 md:p-3",
1498
- footerContent: "p-2 md:p-3"
1518
+ footerContent: "p-2 md:p-3",
1519
+ bleed: ["-mx-2 md:-mx-3 p-2 md:p-3"]
1499
1520
  }
1500
1521
  },
1501
1522
  inModal: {
@@ -1510,7 +1531,7 @@ var pageLayout = (0, import_tailwind_variants18.tv)({
1510
1531
  defaultVariants: {
1511
1532
  width: "xl",
1512
1533
  spacing: "normal",
1513
- paneWidth: "md",
1534
+ paneWidth: "lg",
1514
1535
  gap: "normal"
1515
1536
  }
1516
1537
  });
@@ -1527,15 +1548,222 @@ var popover = (0, import_tailwind_variants19.tv)({
1527
1548
  }
1528
1549
  });
1529
1550
 
1530
- // src/components/skeleton.ts
1551
+ // src/components/risk-indicator.ts
1531
1552
  var import_tailwind_variants20 = require("tailwind-variants");
1532
- var skeleton = (0, import_tailwind_variants20.tv)({
1553
+ var riskIndicator = (0, import_tailwind_variants20.tv)({
1554
+ slots: {
1555
+ base: "flex items-end gap-0.5",
1556
+ bar: "rounded-sm",
1557
+ barLow: "bg-green-500",
1558
+ barMedium: "bg-yellow-500",
1559
+ barHigh: "bg-red-500",
1560
+ barInactive: "bg-gray-200",
1561
+ barHeight1: "h-1/3",
1562
+ barHeight2: "h-2/3",
1563
+ barHeight3: "h-full",
1564
+ barWidth: "w-1"
1565
+ },
1566
+ variants: {
1567
+ level: {
1568
+ none: "",
1569
+ low: "",
1570
+ medium: "",
1571
+ high: ""
1572
+ },
1573
+ size: {
1574
+ sm: "h-3",
1575
+ md: "h-4",
1576
+ lg: "h-5"
1577
+ }
1578
+ },
1579
+ defaultVariants: {
1580
+ level: "none",
1581
+ size: "md"
1582
+ }
1583
+ });
1584
+
1585
+ // src/components/separator.ts
1586
+ var import_tailwind_variants21 = require("tailwind-variants");
1587
+ var separator = (0, import_tailwind_variants21.tv)({
1588
+ base: "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
1589
+ variants: {
1590
+ orientation: {
1591
+ vertical: "",
1592
+ horizontal: ""
1593
+ }
1594
+ }
1595
+ });
1596
+
1597
+ // src/components/sidebar.ts
1598
+ var import_tailwind_variants22 = require("tailwind-variants");
1599
+ var sidebar = (0, import_tailwind_variants22.tv)({
1600
+ slots: {
1601
+ provider: [
1602
+ "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full"
1603
+ ],
1604
+ sidebarWrapper: ["group peer text-sidebar-foreground hidden md:block"],
1605
+ sidebar: [
1606
+ "bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col"
1607
+ ],
1608
+ gap: [
1609
+ "relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
1610
+ "group-data-[collapsible=offcanvas]:w-0",
1611
+ "group-data-[side=right]:rotate-180"
1612
+ ],
1613
+ container: [
1614
+ "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex"
1615
+ ],
1616
+ inner: [
1617
+ "bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"
1618
+ ],
1619
+ trigger: [],
1620
+ rail: [
1621
+ "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",
1622
+ "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
1623
+ "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
1624
+ "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full",
1625
+ "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
1626
+ "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2"
1627
+ ],
1628
+ inset: [
1629
+ "bg-background relative flex w-full flex-1 flex-col",
1630
+ "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2"
1631
+ ],
1632
+ input: ["bg-background h-8 w-full shadow-none"],
1633
+ header: ["flex flex-col gap-2 p-2"],
1634
+ footer: ["flex flex-col gap-2 p-2"],
1635
+ separator: ["bg-sidebar-border mx-2 w-auto"],
1636
+ content: [
1637
+ "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden"
1638
+ ],
1639
+ group: ["relative flex w-full min-w-0 flex-col p-2"],
1640
+ groupLabel: [
1641
+ "text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
1642
+ "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0"
1643
+ ],
1644
+ groupAction: [
1645
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
1646
+ // Increases the hit area of the button on mobile.
1647
+ "after:absolute after:-inset-2 md:after:hidden",
1648
+ "group-data-[collapsible=icon]:hidden"
1649
+ ],
1650
+ groupContent: ["w-full text-sm"],
1651
+ menu: ["flex w-full min-w-0 flex-col gap-1"],
1652
+ menuItem: ["group/menu-item relative"]
1653
+ },
1654
+ variants: {
1655
+ variant: {
1656
+ sidebar: {
1657
+ gap: "group-data-[collapsible=icon]:w-(--sidebar-width-icon)",
1658
+ container: "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l"
1659
+ },
1660
+ floating: {
1661
+ gap: "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]",
1662
+ container: "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]"
1663
+ },
1664
+ inset: {
1665
+ gap: "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]",
1666
+ container: "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]"
1667
+ }
1668
+ },
1669
+ side: {
1670
+ left: {
1671
+ container: "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]"
1672
+ },
1673
+ right: {
1674
+ container: "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]"
1675
+ }
1676
+ },
1677
+ isMobile: {
1678
+ true: {},
1679
+ false: {}
1680
+ }
1681
+ },
1682
+ defaultVariants: {
1683
+ variant: "sidebar",
1684
+ isMobile: false
1685
+ }
1686
+ });
1687
+ var sidebarMenuButton = (0, import_tailwind_variants22.tv)({
1688
+ base: [
1689
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md",
1690
+ "p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding]",
1691
+ "disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8",
1692
+ "aria-disabled:pointer-events-none aria-disabled:opacity-50",
1693
+ "data-[active=true]:font-medium",
1694
+ "group-data-[collapsible=icon]:size-8!",
1695
+ "group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0"
1696
+ ],
1697
+ variants: {
1698
+ variant: {
1699
+ default: "",
1700
+ outline: ""
1701
+ },
1702
+ color: {
1703
+ default: [
1704
+ "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
1705
+ "focus-visible:ring-2",
1706
+ "active:bg-sidebar-accent active:text-sidebar-accent-foreground",
1707
+ "data-[active=true]:bg-sidebar-accent",
1708
+ "data-[active=true]:text-sidebar-accent-foreground",
1709
+ "data-[state=open]:hover:bg-sidebar-accent",
1710
+ "data-[state=open]:hover:text-sidebar-accent-foreground "
1711
+ ]
1712
+ },
1713
+ size: {
1714
+ sm: "h-7 text-xs",
1715
+ md: "h-8 text-sm",
1716
+ lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
1717
+ }
1718
+ },
1719
+ defaultVariants: {
1720
+ color: "default",
1721
+ variant: "default",
1722
+ size: "md"
1723
+ },
1724
+ compoundVariants: [
1725
+ {
1726
+ variant: "default",
1727
+ color: "default",
1728
+ class: ["hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"]
1729
+ },
1730
+ {
1731
+ variant: "outline",
1732
+ color: "default",
1733
+ class: [
1734
+ "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
1735
+ ]
1736
+ }
1737
+ ]
1738
+ });
1739
+ var sidebarMenuAction = (0, import_tailwind_variants22.tv)({
1740
+ base: [
1741
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
1742
+ // Increases the hit area of the button on mobile.
1743
+ "after:absolute after:-inset-2 md:after:hidden",
1744
+ "peer-data-[size=sm]/menu-button:top-1",
1745
+ "peer-data-[size=default]/menu-button:top-1.5",
1746
+ "peer-data-[size=lg]/menu-button:top-2.5",
1747
+ "group-data-[collapsible=icon]:hidden"
1748
+ ],
1749
+ variants: {
1750
+ showOnHover: {
1751
+ true: [
1752
+ "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0"
1753
+ ]
1754
+ }
1755
+ }
1756
+ });
1757
+
1758
+ // src/components/skeleton.ts
1759
+ var import_tailwind_variants23 = require("tailwind-variants");
1760
+ var skeleton = (0, import_tailwind_variants23.tv)({
1533
1761
  base: "bg-accent animate-pulse rounded-md"
1534
1762
  });
1535
1763
 
1536
1764
  // src/components/spinner.ts
1537
- var import_tailwind_variants21 = require("tailwind-variants");
1538
- var spinner = (0, import_tailwind_variants21.tv)({
1765
+ var import_tailwind_variants24 = require("tailwind-variants");
1766
+ var spinner = (0, import_tailwind_variants24.tv)({
1539
1767
  slots: {
1540
1768
  base: "relative inline-flex flex-col gap-2 items-center justify-center",
1541
1769
  wrapper: "relative flex",
@@ -1651,23 +1879,111 @@ var spinner = (0, import_tailwind_variants21.tv)({
1651
1879
  }
1652
1880
  });
1653
1881
 
1882
+ // src/components/tab-nav.ts
1883
+ var import_tailwind_variants25 = require("tailwind-variants");
1884
+ var tabNav = (0, import_tailwind_variants25.tv)({
1885
+ slots: {
1886
+ base: "",
1887
+ list: [
1888
+ "flex",
1889
+ "justify-start",
1890
+ "overflow-x-auto",
1891
+ "whitespace-nowrap",
1892
+ "font-sans"
1893
+ ],
1894
+ item: "flex",
1895
+ link: [
1896
+ "relative",
1897
+ "flex",
1898
+ "items-center",
1899
+ "justify-center",
1900
+ "shrink-0",
1901
+ "select-none",
1902
+ "px-2",
1903
+ "[&_svg]:shrink-0",
1904
+ "transition-colors",
1905
+ "font-normal",
1906
+ "data-active:[&>_span]:font-medium",
1907
+ "hover:[&>_span]:bg-accent hover:[&>_span]:text-accent-foreground"
1908
+ ],
1909
+ linkInner: [
1910
+ "flex",
1911
+ "items-center",
1912
+ "justify-center",
1913
+ "absolute",
1914
+ "overflow-hidden",
1915
+ "transition-all"
1916
+ ],
1917
+ linkInnerHidden: [
1918
+ "flex",
1919
+ "items-center",
1920
+ "justify-center",
1921
+ "invisible",
1922
+ "transition-all"
1923
+ ]
1924
+ },
1925
+ variants: {
1926
+ color: {
1927
+ primary: {
1928
+ link: ["before:bg-primary"]
1929
+ }
1930
+ },
1931
+ size: {
1932
+ sm: {
1933
+ link: ["h-10", "text-xs [&_svg]:size-3.5"],
1934
+ linkInner: "px-3 h-8 gap-2 rounded-sm min-w-16",
1935
+ linkInnerHidden: "px-3 h-8 gap-2 rounded-sm min-w-16"
1936
+ },
1937
+ md: {
1938
+ link: ["h-12", "text-sm", "rounded-md [&_svg]:size-4"],
1939
+ linkInner: "px-4 h-10 gap-2 rounded-md min-w-20",
1940
+ linkInnerHidden: "px-4 h-10 gap-2 rounded-md min-w-20"
1941
+ }
1942
+ },
1943
+ border: {
1944
+ true: {
1945
+ list: "border-b -mb-px",
1946
+ link: [
1947
+ "before:h-[2px]",
1948
+ "before:absolute",
1949
+ "before:bottom-0",
1950
+ "before:left-0",
1951
+ "before:right-0",
1952
+ "before:opacity-0",
1953
+ "before:transition-opacity",
1954
+ "data-active:before:opacity-100"
1955
+ ]
1956
+ }
1957
+ }
1958
+ },
1959
+ defaultVariants: {
1960
+ color: "primary",
1961
+ border: true,
1962
+ size: "sm"
1963
+ }
1964
+ });
1965
+
1654
1966
  // src/components/table.ts
1655
- var import_tailwind_variants22 = require("tailwind-variants");
1656
- var table = (0, import_tailwind_variants22.tv)({
1967
+ var import_tailwind_variants26 = require("tailwind-variants");
1968
+ var table = (0, import_tailwind_variants26.tv)({
1657
1969
  slots: {
1970
+ container: ["overflow-x-auto whitespace-nowrap", "-mx-3 md:-mx-6"],
1971
+ wrapper: ["inline-block min-w-full align-middle"],
1658
1972
  table: "min-w-full h-auto",
1659
1973
  thead: "",
1660
1974
  tbody: "after:block divide-y",
1661
1975
  tr: [
1662
1976
  "group/tr outline-hidden",
1663
- "[&_td:last-child]:pr-4 [&_th:last-child]:pr-4",
1664
- "[&_td:first-child]:pl-4 [&_th:first-child]:pl-4"
1977
+ "[&_th:last-child]:pr-4",
1978
+ "[&_th:first-child]:pl-4"
1665
1979
  ],
1666
1980
  th: [
1667
1981
  "group/th px-3 py-3.5 text-start text-xs font-semibold whitespace-normal",
1668
1982
  "text-foreground border-b"
1669
1983
  ],
1670
1984
  td: [
1985
+ "first:pl-3 last:pr-3",
1986
+ "md:first:pl-6 md:last:pr-6",
1671
1987
  "py-2 px-3 text-xs font-normal whitespace-normal relative",
1672
1988
  "[&>*]:z-[1]",
1673
1989
  "[&>*]:relative",
@@ -1692,12 +2008,38 @@ var table = (0, import_tailwind_variants22.tv)({
1692
2008
  ]
1693
2009
  },
1694
2010
  variants: {
2011
+ bleed: {
2012
+ true: {},
2013
+ false: {
2014
+ container: ["px-3 md:px-6"],
2015
+ th: ["first:pl-1 last:pr-1"],
2016
+ td: ["first:pl-1 last:pr-1"]
2017
+ }
2018
+ },
1695
2019
  overscroll: {
1696
2020
  horizontal: {
1697
2021
  th: "whitespace-nowrap",
1698
2022
  td: "whitespace-nowrap"
1699
2023
  }
1700
2024
  },
2025
+ variant: {
2026
+ default: {},
2027
+ // a border between cells and above the table
2028
+ // this is used for the grid variant
2029
+ grid: {
2030
+ table: "border-separate border-spacing-0",
2031
+ th: [
2032
+ "border-l first:border-l-0 border-b",
2033
+ "first:pl-3 md:first:pl-6 last:pr-3 md:last:pr-6"
2034
+ ],
2035
+ td: [
2036
+ "border-l first:border-l-0",
2037
+ "border-b",
2038
+ // first cell has no border
2039
+ "[&_td:first-child]:border-l-0 [&_th:first-child]:border-l-0"
2040
+ ]
2041
+ }
2042
+ },
1701
2043
  color: {
1702
2044
  default: {
1703
2045
  td: [
@@ -1762,15 +2104,55 @@ var table = (0, import_tailwind_variants22.tv)({
1762
2104
  }
1763
2105
  },
1764
2106
  defaultVariants: {
2107
+ variant: "default",
1765
2108
  layout: "auto",
1766
2109
  color: "default",
2110
+ bleed: false,
1767
2111
  fullWidth: true
1768
2112
  }
1769
2113
  });
1770
2114
 
2115
+ // src/components/tabs.ts
2116
+ var import_tailwind_variants27 = require("tailwind-variants");
2117
+ var tabs = (0, import_tailwind_variants27.tv)({
2118
+ slots: {
2119
+ root: "flex flex-col gap-2",
2120
+ list: [
2121
+ "bg-muted text-muted-foreground",
2122
+ "inline-flex flex-col md:flex-row",
2123
+ "w-full md:w-fit items-center justify-center rounded-lg p-[3px]"
2124
+ ],
2125
+ trigger: [
2126
+ "inline-flex flex-1 items-center justify-center gap-1.5 rounded-md",
2127
+ " border border-transparent",
2128
+ "data-[state=active]:bg-background",
2129
+ "dark:data-[state=active]:text-foreground",
2130
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring",
2131
+ "dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30",
2132
+ "text-foreground dark:text-muted-foreground",
2133
+ "h-[calc(100%-1px)] whitespace-nowrap transition-[color,box-shadow]",
2134
+ "focus-visible:ring-[3px] focus-visible:outline-1",
2135
+ "disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm",
2136
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
2137
+ ],
2138
+ content: ["flex-1 outline-none"]
2139
+ },
2140
+ variants: {
2141
+ size: {
2142
+ md: {
2143
+ list: "md:h-9",
2144
+ trigger: "px-2 py-1 text-sm font-medium max-md:w-full"
2145
+ }
2146
+ }
2147
+ },
2148
+ defaultVariants: {
2149
+ size: "md"
2150
+ }
2151
+ });
2152
+
1771
2153
  // src/components/tooltip.ts
1772
- var import_tailwind_variants23 = require("tailwind-variants");
1773
- var tooltip = (0, import_tailwind_variants23.tv)({
2154
+ var import_tailwind_variants28 = require("tailwind-variants");
2155
+ var tooltip = (0, import_tailwind_variants28.tv)({
1774
2156
  slots: {
1775
2157
  content: [
1776
2158
  "bg-primary text-primary-foreground",
@@ -1802,8 +2184,15 @@ var tooltip = (0, import_tailwind_variants23.tv)({
1802
2184
  pageLayout,
1803
2185
  passwordInput,
1804
2186
  popover,
2187
+ riskIndicator,
2188
+ separator,
2189
+ sidebar,
2190
+ sidebarMenuAction,
2191
+ sidebarMenuButton,
1805
2192
  skeleton,
1806
2193
  spinner,
2194
+ tabNav,
1807
2195
  table,
2196
+ tabs,
1808
2197
  tooltip
1809
2198
  });