@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.
- package/dist/{chunk-FLD2CUFZ.mjs → chunk-3IIJVON7.mjs} +11 -8
- package/dist/chunk-CZMZHA7U.mjs +37 -0
- package/dist/{chunk-UI2M2MFB.mjs → chunk-DH3KNPAO.mjs} +3 -1
- package/dist/{chunk-4VKJFW6Y.mjs → chunk-EACX3NZF.mjs} +11 -2
- package/dist/chunk-GA6UOB2D.mjs +166 -0
- package/dist/{chunk-32L6KXLV.mjs → chunk-HOQ2LD24.mjs} +1 -1
- package/dist/chunk-I6M4S2KZ.mjs +41 -0
- package/dist/chunk-IRKCLWJD.mjs +15 -0
- package/dist/{chunk-3M5JSM7Y.mjs → chunk-MGYGD5BF.mjs} +1 -1
- package/dist/{chunk-I2NMD23O.mjs → chunk-OMS3433R.mjs} +1 -1
- package/dist/{chunk-CDTKWCOH.mjs → chunk-SU53TZN7.mjs} +34 -2
- package/dist/chunk-UPTG533L.mjs +87 -0
- package/dist/{chunk-67PPUTSS.mjs → chunk-UVT775TU.mjs} +1 -1
- package/dist/{chunk-5BIGFSZK.mjs → chunk-WSX3HKVE.mjs} +1 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/avatar.mjs +2 -2
- package/dist/components/button.js +1 -1
- package/dist/components/button.mjs +2 -2
- package/dist/components/card.d.mts +24 -0
- package/dist/components/card.d.ts +24 -0
- package/dist/components/card.js +11 -2
- package/dist/components/card.mjs +1 -1
- package/dist/components/chip.js +1 -1
- package/dist/components/chip.mjs +2 -2
- package/dist/components/code.js +1 -1
- package/dist/components/code.mjs +2 -2
- package/dist/components/drawer.d.mts +9 -3
- package/dist/components/drawer.d.ts +9 -3
- package/dist/components/drawer.js +3 -1
- package/dist/components/drawer.mjs +1 -1
- package/dist/components/index.d.mts +5 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.js +411 -22
- package/dist/components/index.mjs +39 -15
- package/dist/components/page-layout.d.mts +9 -0
- package/dist/components/page-layout.d.ts +9 -0
- package/dist/components/page-layout.js +11 -8
- package/dist/components/page-layout.mjs +1 -1
- package/dist/components/risk-indicator.d.mts +76 -0
- package/dist/components/risk-indicator.d.ts +76 -0
- package/dist/components/risk-indicator.js +61 -0
- package/dist/components/risk-indicator.mjs +6 -0
- package/dist/components/separator.d.mts +22 -0
- package/dist/components/separator.d.ts +22 -0
- package/dist/components/separator.js +39 -0
- package/dist/components/separator.mjs +6 -0
- package/dist/components/sidebar.d.mts +206 -0
- package/dist/components/sidebar.d.ts +206 -0
- package/dist/components/sidebar.js +192 -0
- package/dist/components/sidebar.mjs +10 -0
- package/dist/components/tab-nav.d.mts +101 -0
- package/dist/components/tab-nav.d.ts +101 -0
- package/dist/components/tab-nav.js +111 -0
- package/dist/components/tab-nav.mjs +6 -0
- package/dist/components/table.d.mts +54 -0
- package/dist/components/table.d.ts +54 -0
- package/dist/components/table.js +34 -2
- package/dist/components/table.mjs +1 -1
- package/dist/components/tabs.d.mts +43 -0
- package/dist/components/tabs.d.ts +43 -0
- package/dist/components/tabs.js +65 -0
- package/dist/components/tabs.mjs +6 -0
- package/dist/index.css +23 -11
- package/dist/index.d.mts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +411 -22
- package/dist/index.mjs +39 -15
- package/dist/utils/variants.js +1 -1
- package/dist/utils/variants.mjs +1 -1
- package/package.json +1 -1
- /package/dist/{chunk-FWB233VZ.mjs → chunk-EOJ6MEGH.mjs} +0 -0
|
@@ -3,7 +3,7 @@ import { tv } from "tailwind-variants";
|
|
|
3
3
|
var pageLayout = tv({
|
|
4
4
|
slots: {
|
|
5
5
|
root: "",
|
|
6
|
-
wrapper: "flex
|
|
6
|
+
wrapper: "flex flex-wrap w-full",
|
|
7
7
|
baseContent: "flex flex-1 flex-wrap max-w-full",
|
|
8
8
|
header: "w-full grow-0 shrink-0",
|
|
9
9
|
footerWrapper: "w-full",
|
|
@@ -22,7 +22,8 @@ var pageLayout = tv({
|
|
|
22
22
|
],
|
|
23
23
|
pane: "w-[var(--pane-width-size)] md:overflow-auto",
|
|
24
24
|
contentWrapper: "flex min-w-px flex-col basis-0 grow shrink",
|
|
25
|
-
content: "w-full mx-auto grow h-full"
|
|
25
|
+
content: "w-full mx-auto grow h-full",
|
|
26
|
+
bleed: []
|
|
26
27
|
},
|
|
27
28
|
variants: {
|
|
28
29
|
gap: {
|
|
@@ -50,14 +51,14 @@ var pageLayout = tv({
|
|
|
50
51
|
content: "max-w-full"
|
|
51
52
|
},
|
|
52
53
|
md: {
|
|
53
|
-
wrapper: "max-w-3xl",
|
|
54
|
+
wrapper: "max-w-3xl mx-auto",
|
|
54
55
|
content: "max-w-3xl"
|
|
55
56
|
},
|
|
56
57
|
lg: {
|
|
57
|
-
wrapper: "max-w-5xl"
|
|
58
|
+
wrapper: "max-w-5xl mx-auto"
|
|
58
59
|
},
|
|
59
60
|
xl: {
|
|
60
|
-
wrapper: "max-w-8xl",
|
|
61
|
+
wrapper: "max-w-8xl mx-auto",
|
|
61
62
|
content: "max-w-8xl"
|
|
62
63
|
}
|
|
63
64
|
},
|
|
@@ -79,7 +80,8 @@ var pageLayout = tv({
|
|
|
79
80
|
header: "p-4",
|
|
80
81
|
content: "p-4",
|
|
81
82
|
pane: "p-4",
|
|
82
|
-
footerContent: "p-4"
|
|
83
|
+
footerContent: "p-4",
|
|
84
|
+
bleed: ["-mx-4 p-4"]
|
|
83
85
|
},
|
|
84
86
|
// 1.5rem
|
|
85
87
|
normal: {
|
|
@@ -87,7 +89,8 @@ var pageLayout = tv({
|
|
|
87
89
|
header: "p-2 md:p-3",
|
|
88
90
|
content: "p-2 md:p-3",
|
|
89
91
|
pane: "p-2 md:p-3",
|
|
90
|
-
footerContent: "p-2 md:p-3"
|
|
92
|
+
footerContent: "p-2 md:p-3",
|
|
93
|
+
bleed: ["-mx-2 md:-mx-3 p-2 md:p-3"]
|
|
91
94
|
}
|
|
92
95
|
},
|
|
93
96
|
inModal: {
|
|
@@ -102,7 +105,7 @@ var pageLayout = tv({
|
|
|
102
105
|
defaultVariants: {
|
|
103
106
|
width: "xl",
|
|
104
107
|
spacing: "normal",
|
|
105
|
-
paneWidth: "
|
|
108
|
+
paneWidth: "lg",
|
|
106
109
|
gap: "normal"
|
|
107
110
|
}
|
|
108
111
|
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// src/components/risk-indicator.ts
|
|
2
|
+
import { tv } from "tailwind-variants";
|
|
3
|
+
var riskIndicator = tv({
|
|
4
|
+
slots: {
|
|
5
|
+
base: "flex items-end gap-0.5",
|
|
6
|
+
bar: "rounded-sm",
|
|
7
|
+
barLow: "bg-green-500",
|
|
8
|
+
barMedium: "bg-yellow-500",
|
|
9
|
+
barHigh: "bg-red-500",
|
|
10
|
+
barInactive: "bg-gray-200",
|
|
11
|
+
barHeight1: "h-1/3",
|
|
12
|
+
barHeight2: "h-2/3",
|
|
13
|
+
barHeight3: "h-full",
|
|
14
|
+
barWidth: "w-1"
|
|
15
|
+
},
|
|
16
|
+
variants: {
|
|
17
|
+
level: {
|
|
18
|
+
none: "",
|
|
19
|
+
low: "",
|
|
20
|
+
medium: "",
|
|
21
|
+
high: ""
|
|
22
|
+
},
|
|
23
|
+
size: {
|
|
24
|
+
sm: "h-3",
|
|
25
|
+
md: "h-4",
|
|
26
|
+
lg: "h-5"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
defaultVariants: {
|
|
30
|
+
level: "none",
|
|
31
|
+
size: "md"
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
export {
|
|
36
|
+
riskIndicator
|
|
37
|
+
};
|
|
@@ -50,6 +50,9 @@ var card = tv({
|
|
|
50
50
|
none: {
|
|
51
51
|
root: "shadow-none"
|
|
52
52
|
},
|
|
53
|
+
"2xs": {
|
|
54
|
+
root: "shadow-2xs"
|
|
55
|
+
},
|
|
53
56
|
sm: {
|
|
54
57
|
root: "shadow-sm"
|
|
55
58
|
},
|
|
@@ -60,6 +63,11 @@ var card = tv({
|
|
|
60
63
|
root: "shadow-lg"
|
|
61
64
|
}
|
|
62
65
|
},
|
|
66
|
+
border: {
|
|
67
|
+
true: {
|
|
68
|
+
root: "border"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
63
71
|
radius: {
|
|
64
72
|
none: {
|
|
65
73
|
root: "rounded-none",
|
|
@@ -108,12 +116,13 @@ var card = tv({
|
|
|
108
116
|
},
|
|
109
117
|
defaultVariants: {
|
|
110
118
|
radius: "lg",
|
|
111
|
-
shadow: "
|
|
119
|
+
shadow: "sm",
|
|
112
120
|
fullWidth: false,
|
|
113
121
|
isHoverable: false,
|
|
114
122
|
isPressable: false,
|
|
115
123
|
isBlurred: false,
|
|
116
|
-
isDisabled: false
|
|
124
|
+
isDisabled: false,
|
|
125
|
+
border: true
|
|
117
126
|
}
|
|
118
127
|
});
|
|
119
128
|
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// src/components/sidebar.ts
|
|
2
|
+
import { tv } from "tailwind-variants";
|
|
3
|
+
var sidebar = tv({
|
|
4
|
+
slots: {
|
|
5
|
+
provider: [
|
|
6
|
+
"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full"
|
|
7
|
+
],
|
|
8
|
+
sidebarWrapper: ["group peer text-sidebar-foreground hidden md:block"],
|
|
9
|
+
sidebar: [
|
|
10
|
+
"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col"
|
|
11
|
+
],
|
|
12
|
+
gap: [
|
|
13
|
+
"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
|
|
14
|
+
"group-data-[collapsible=offcanvas]:w-0",
|
|
15
|
+
"group-data-[side=right]:rotate-180"
|
|
16
|
+
],
|
|
17
|
+
container: [
|
|
18
|
+
"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex"
|
|
19
|
+
],
|
|
20
|
+
inner: [
|
|
21
|
+
"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"
|
|
22
|
+
],
|
|
23
|
+
trigger: [],
|
|
24
|
+
rail: [
|
|
25
|
+
"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",
|
|
26
|
+
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
|
|
27
|
+
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
|
28
|
+
"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full",
|
|
29
|
+
"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
|
|
30
|
+
"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2"
|
|
31
|
+
],
|
|
32
|
+
inset: [
|
|
33
|
+
"bg-background relative flex w-full flex-1 flex-col",
|
|
34
|
+
"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"
|
|
35
|
+
],
|
|
36
|
+
input: ["bg-background h-8 w-full shadow-none"],
|
|
37
|
+
header: ["flex flex-col gap-2 p-2"],
|
|
38
|
+
footer: ["flex flex-col gap-2 p-2"],
|
|
39
|
+
separator: ["bg-sidebar-border mx-2 w-auto"],
|
|
40
|
+
content: [
|
|
41
|
+
"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden"
|
|
42
|
+
],
|
|
43
|
+
group: ["relative flex w-full min-w-0 flex-col p-2"],
|
|
44
|
+
groupLabel: [
|
|
45
|
+
"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",
|
|
46
|
+
"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0"
|
|
47
|
+
],
|
|
48
|
+
groupAction: [
|
|
49
|
+
"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",
|
|
50
|
+
// Increases the hit area of the button on mobile.
|
|
51
|
+
"after:absolute after:-inset-2 md:after:hidden",
|
|
52
|
+
"group-data-[collapsible=icon]:hidden"
|
|
53
|
+
],
|
|
54
|
+
groupContent: ["w-full text-sm"],
|
|
55
|
+
menu: ["flex w-full min-w-0 flex-col gap-1"],
|
|
56
|
+
menuItem: ["group/menu-item relative"]
|
|
57
|
+
},
|
|
58
|
+
variants: {
|
|
59
|
+
variant: {
|
|
60
|
+
sidebar: {
|
|
61
|
+
gap: "group-data-[collapsible=icon]:w-(--sidebar-width-icon)",
|
|
62
|
+
container: "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l"
|
|
63
|
+
},
|
|
64
|
+
floating: {
|
|
65
|
+
gap: "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]",
|
|
66
|
+
container: "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]"
|
|
67
|
+
},
|
|
68
|
+
inset: {
|
|
69
|
+
gap: "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]",
|
|
70
|
+
container: "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
side: {
|
|
74
|
+
left: {
|
|
75
|
+
container: "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]"
|
|
76
|
+
},
|
|
77
|
+
right: {
|
|
78
|
+
container: "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
isMobile: {
|
|
82
|
+
true: {},
|
|
83
|
+
false: {}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
defaultVariants: {
|
|
87
|
+
variant: "sidebar",
|
|
88
|
+
isMobile: false
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
var sidebarMenuButton = tv({
|
|
92
|
+
base: [
|
|
93
|
+
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md",
|
|
94
|
+
"p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding]",
|
|
95
|
+
"disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8",
|
|
96
|
+
"aria-disabled:pointer-events-none aria-disabled:opacity-50",
|
|
97
|
+
"data-[active=true]:font-medium",
|
|
98
|
+
"group-data-[collapsible=icon]:size-8!",
|
|
99
|
+
"group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0"
|
|
100
|
+
],
|
|
101
|
+
variants: {
|
|
102
|
+
variant: {
|
|
103
|
+
default: "",
|
|
104
|
+
outline: ""
|
|
105
|
+
},
|
|
106
|
+
color: {
|
|
107
|
+
default: [
|
|
108
|
+
"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
109
|
+
"focus-visible:ring-2",
|
|
110
|
+
"active:bg-sidebar-accent active:text-sidebar-accent-foreground",
|
|
111
|
+
"data-[active=true]:bg-sidebar-accent",
|
|
112
|
+
"data-[active=true]:text-sidebar-accent-foreground",
|
|
113
|
+
"data-[state=open]:hover:bg-sidebar-accent",
|
|
114
|
+
"data-[state=open]:hover:text-sidebar-accent-foreground "
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
size: {
|
|
118
|
+
sm: "h-7 text-xs",
|
|
119
|
+
md: "h-8 text-sm",
|
|
120
|
+
lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
defaultVariants: {
|
|
124
|
+
color: "default",
|
|
125
|
+
variant: "default",
|
|
126
|
+
size: "md"
|
|
127
|
+
},
|
|
128
|
+
compoundVariants: [
|
|
129
|
+
{
|
|
130
|
+
variant: "default",
|
|
131
|
+
color: "default",
|
|
132
|
+
class: ["hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"]
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
variant: "outline",
|
|
136
|
+
color: "default",
|
|
137
|
+
class: [
|
|
138
|
+
"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))]"
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
]
|
|
142
|
+
});
|
|
143
|
+
var sidebarMenuAction = tv({
|
|
144
|
+
base: [
|
|
145
|
+
"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",
|
|
146
|
+
// Increases the hit area of the button on mobile.
|
|
147
|
+
"after:absolute after:-inset-2 md:after:hidden",
|
|
148
|
+
"peer-data-[size=sm]/menu-button:top-1",
|
|
149
|
+
"peer-data-[size=default]/menu-button:top-1.5",
|
|
150
|
+
"peer-data-[size=lg]/menu-button:top-2.5",
|
|
151
|
+
"group-data-[collapsible=icon]:hidden"
|
|
152
|
+
],
|
|
153
|
+
variants: {
|
|
154
|
+
showOnHover: {
|
|
155
|
+
true: [
|
|
156
|
+
"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"
|
|
157
|
+
]
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
export {
|
|
163
|
+
sidebar,
|
|
164
|
+
sidebarMenuButton,
|
|
165
|
+
sidebarMenuAction
|
|
166
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// src/components/tabs.ts
|
|
2
|
+
import { tv } from "tailwind-variants";
|
|
3
|
+
var tabs = tv({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "flex flex-col gap-2",
|
|
6
|
+
list: [
|
|
7
|
+
"bg-muted text-muted-foreground",
|
|
8
|
+
"inline-flex flex-col md:flex-row",
|
|
9
|
+
"w-full md:w-fit items-center justify-center rounded-lg p-[3px]"
|
|
10
|
+
],
|
|
11
|
+
trigger: [
|
|
12
|
+
"inline-flex flex-1 items-center justify-center gap-1.5 rounded-md",
|
|
13
|
+
" border border-transparent",
|
|
14
|
+
"data-[state=active]:bg-background",
|
|
15
|
+
"dark:data-[state=active]:text-foreground",
|
|
16
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring",
|
|
17
|
+
"dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30",
|
|
18
|
+
"text-foreground dark:text-muted-foreground",
|
|
19
|
+
"h-[calc(100%-1px)] whitespace-nowrap transition-[color,box-shadow]",
|
|
20
|
+
"focus-visible:ring-[3px] focus-visible:outline-1",
|
|
21
|
+
"disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm",
|
|
22
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
|
|
23
|
+
],
|
|
24
|
+
content: ["flex-1 outline-none"]
|
|
25
|
+
},
|
|
26
|
+
variants: {
|
|
27
|
+
size: {
|
|
28
|
+
md: {
|
|
29
|
+
list: "md:h-9",
|
|
30
|
+
trigger: "px-2 py-1 text-sm font-medium max-md:w-full"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
defaultVariants: {
|
|
35
|
+
size: "md"
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
export {
|
|
40
|
+
tabs
|
|
41
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// src/components/separator.ts
|
|
2
|
+
import { tv } from "tailwind-variants";
|
|
3
|
+
var separator = tv({
|
|
4
|
+
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",
|
|
5
|
+
variants: {
|
|
6
|
+
orientation: {
|
|
7
|
+
vertical: "",
|
|
8
|
+
horizontal: ""
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
separator
|
|
15
|
+
};
|
|
@@ -2,19 +2,23 @@
|
|
|
2
2
|
import { tv } from "tailwind-variants";
|
|
3
3
|
var table = tv({
|
|
4
4
|
slots: {
|
|
5
|
+
container: ["overflow-x-auto whitespace-nowrap", "-mx-3 md:-mx-6"],
|
|
6
|
+
wrapper: ["inline-block min-w-full align-middle"],
|
|
5
7
|
table: "min-w-full h-auto",
|
|
6
8
|
thead: "",
|
|
7
9
|
tbody: "after:block divide-y",
|
|
8
10
|
tr: [
|
|
9
11
|
"group/tr outline-hidden",
|
|
10
|
-
"[&
|
|
11
|
-
"[&
|
|
12
|
+
"[&_th:last-child]:pr-4",
|
|
13
|
+
"[&_th:first-child]:pl-4"
|
|
12
14
|
],
|
|
13
15
|
th: [
|
|
14
16
|
"group/th px-3 py-3.5 text-start text-xs font-semibold whitespace-normal",
|
|
15
17
|
"text-foreground border-b"
|
|
16
18
|
],
|
|
17
19
|
td: [
|
|
20
|
+
"first:pl-3 last:pr-3",
|
|
21
|
+
"md:first:pl-6 md:last:pr-6",
|
|
18
22
|
"py-2 px-3 text-xs font-normal whitespace-normal relative",
|
|
19
23
|
"[&>*]:z-[1]",
|
|
20
24
|
"[&>*]:relative",
|
|
@@ -39,12 +43,38 @@ var table = tv({
|
|
|
39
43
|
]
|
|
40
44
|
},
|
|
41
45
|
variants: {
|
|
46
|
+
bleed: {
|
|
47
|
+
true: {},
|
|
48
|
+
false: {
|
|
49
|
+
container: ["px-3 md:px-6"],
|
|
50
|
+
th: ["first:pl-1 last:pr-1"],
|
|
51
|
+
td: ["first:pl-1 last:pr-1"]
|
|
52
|
+
}
|
|
53
|
+
},
|
|
42
54
|
overscroll: {
|
|
43
55
|
horizontal: {
|
|
44
56
|
th: "whitespace-nowrap",
|
|
45
57
|
td: "whitespace-nowrap"
|
|
46
58
|
}
|
|
47
59
|
},
|
|
60
|
+
variant: {
|
|
61
|
+
default: {},
|
|
62
|
+
// a border between cells and above the table
|
|
63
|
+
// this is used for the grid variant
|
|
64
|
+
grid: {
|
|
65
|
+
table: "border-separate border-spacing-0",
|
|
66
|
+
th: [
|
|
67
|
+
"border-l first:border-l-0 border-b",
|
|
68
|
+
"first:pl-3 md:first:pl-6 last:pr-3 md:last:pr-6"
|
|
69
|
+
],
|
|
70
|
+
td: [
|
|
71
|
+
"border-l first:border-l-0",
|
|
72
|
+
"border-b",
|
|
73
|
+
// first cell has no border
|
|
74
|
+
"[&_td:first-child]:border-l-0 [&_th:first-child]:border-l-0"
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
},
|
|
48
78
|
color: {
|
|
49
79
|
default: {
|
|
50
80
|
td: [
|
|
@@ -109,8 +139,10 @@ var table = tv({
|
|
|
109
139
|
}
|
|
110
140
|
},
|
|
111
141
|
defaultVariants: {
|
|
142
|
+
variant: "default",
|
|
112
143
|
layout: "auto",
|
|
113
144
|
color: "default",
|
|
145
|
+
bleed: false,
|
|
114
146
|
fullWidth: true
|
|
115
147
|
}
|
|
116
148
|
});
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// src/components/tab-nav.ts
|
|
2
|
+
import { tv } from "tailwind-variants";
|
|
3
|
+
var tabNav = tv({
|
|
4
|
+
slots: {
|
|
5
|
+
base: "",
|
|
6
|
+
list: [
|
|
7
|
+
"flex",
|
|
8
|
+
"justify-start",
|
|
9
|
+
"overflow-x-auto",
|
|
10
|
+
"whitespace-nowrap",
|
|
11
|
+
"font-sans"
|
|
12
|
+
],
|
|
13
|
+
item: "flex",
|
|
14
|
+
link: [
|
|
15
|
+
"relative",
|
|
16
|
+
"flex",
|
|
17
|
+
"items-center",
|
|
18
|
+
"justify-center",
|
|
19
|
+
"shrink-0",
|
|
20
|
+
"select-none",
|
|
21
|
+
"px-2",
|
|
22
|
+
"[&_svg]:shrink-0",
|
|
23
|
+
"transition-colors",
|
|
24
|
+
"font-normal",
|
|
25
|
+
"data-active:[&>_span]:font-medium",
|
|
26
|
+
"hover:[&>_span]:bg-accent hover:[&>_span]:text-accent-foreground"
|
|
27
|
+
],
|
|
28
|
+
linkInner: [
|
|
29
|
+
"flex",
|
|
30
|
+
"items-center",
|
|
31
|
+
"justify-center",
|
|
32
|
+
"absolute",
|
|
33
|
+
"overflow-hidden",
|
|
34
|
+
"transition-all"
|
|
35
|
+
],
|
|
36
|
+
linkInnerHidden: [
|
|
37
|
+
"flex",
|
|
38
|
+
"items-center",
|
|
39
|
+
"justify-center",
|
|
40
|
+
"invisible",
|
|
41
|
+
"transition-all"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
variants: {
|
|
45
|
+
color: {
|
|
46
|
+
primary: {
|
|
47
|
+
link: ["before:bg-primary"]
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
size: {
|
|
51
|
+
sm: {
|
|
52
|
+
link: ["h-10", "text-xs [&_svg]:size-3.5"],
|
|
53
|
+
linkInner: "px-3 h-8 gap-2 rounded-sm min-w-16",
|
|
54
|
+
linkInnerHidden: "px-3 h-8 gap-2 rounded-sm min-w-16"
|
|
55
|
+
},
|
|
56
|
+
md: {
|
|
57
|
+
link: ["h-12", "text-sm", "rounded-md [&_svg]:size-4"],
|
|
58
|
+
linkInner: "px-4 h-10 gap-2 rounded-md min-w-20",
|
|
59
|
+
linkInnerHidden: "px-4 h-10 gap-2 rounded-md min-w-20"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
border: {
|
|
63
|
+
true: {
|
|
64
|
+
list: "border-b -mb-px",
|
|
65
|
+
link: [
|
|
66
|
+
"before:h-[2px]",
|
|
67
|
+
"before:absolute",
|
|
68
|
+
"before:bottom-0",
|
|
69
|
+
"before:left-0",
|
|
70
|
+
"before:right-0",
|
|
71
|
+
"before:opacity-0",
|
|
72
|
+
"before:transition-opacity",
|
|
73
|
+
"data-active:before:opacity-100"
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
defaultVariants: {
|
|
79
|
+
color: "primary",
|
|
80
|
+
border: true,
|
|
81
|
+
size: "sm"
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
export {
|
|
86
|
+
tabNav
|
|
87
|
+
};
|
|
@@ -34,7 +34,7 @@ var faded = {
|
|
|
34
34
|
foreground: "border-default bg-accent/30 text-foreground"
|
|
35
35
|
};
|
|
36
36
|
var ghost = {
|
|
37
|
-
primary: "bg-transparent text-primary",
|
|
37
|
+
primary: "bg-transparent text-primary dark:text-primary-foreground",
|
|
38
38
|
secondary: "bg-transparent text-secondary",
|
|
39
39
|
destructive: "bg-transparent text-destructive",
|
|
40
40
|
warning: "bg-transparent text-warning",
|
|
@@ -74,7 +74,7 @@ var faded = {
|
|
|
74
74
|
foreground: "border-default bg-accent/30 text-foreground"
|
|
75
75
|
};
|
|
76
76
|
var ghost = {
|
|
77
|
-
primary: "bg-transparent text-primary",
|
|
77
|
+
primary: "bg-transparent text-primary dark:text-primary-foreground",
|
|
78
78
|
secondary: "bg-transparent text-secondary",
|
|
79
79
|
destructive: "bg-transparent text-destructive",
|
|
80
80
|
warning: "bg-transparent text-warning",
|
|
@@ -67,7 +67,7 @@ var faded = {
|
|
|
67
67
|
foreground: "border-default bg-accent/30 text-foreground"
|
|
68
68
|
};
|
|
69
69
|
var ghost = {
|
|
70
|
-
primary: "bg-transparent text-primary",
|
|
70
|
+
primary: "bg-transparent text-primary dark:text-primary-foreground",
|
|
71
71
|
secondary: "bg-transparent text-secondary",
|
|
72
72
|
destructive: "bg-transparent text-destructive",
|
|
73
73
|
warning: "bg-transparent text-warning",
|