@privateers/ui 0.1.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/README.md +167 -0
- package/dist/index.cjs +1152 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +129 -0
- package/dist/index.d.ts +129 -0
- package/dist/index.js +1082 -0
- package/dist/index.js.map +1 -0
- package/dist/tailwind/preset.cjs +81 -0
- package/dist/tailwind/preset.cjs.map +1 -0
- package/dist/tailwind/preset.d.cts +19 -0
- package/dist/tailwind/preset.d.ts +19 -0
- package/dist/tailwind/preset.js +76 -0
- package/dist/tailwind/preset.js.map +1 -0
- package/package.json +90 -0
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,1152 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
4
|
+
var radixUi = require('radix-ui');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var tailwindMerge = require('tailwind-merge');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
var lucideReact = require('lucide-react');
|
|
9
|
+
var react = require('react');
|
|
10
|
+
|
|
11
|
+
// src/components/primitives/button.tsx
|
|
12
|
+
function cn(...inputs) {
|
|
13
|
+
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
14
|
+
}
|
|
15
|
+
var buttonVariants = classVarianceAuthority.cva(
|
|
16
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none",
|
|
17
|
+
{
|
|
18
|
+
variants: {
|
|
19
|
+
variant: {
|
|
20
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/80",
|
|
21
|
+
outline: "border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs",
|
|
22
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
|
|
23
|
+
ghost: "hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground",
|
|
24
|
+
destructive: "bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30",
|
|
25
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
26
|
+
},
|
|
27
|
+
size: {
|
|
28
|
+
default: "h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
|
|
29
|
+
xs: "h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
30
|
+
sm: "h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5",
|
|
31
|
+
lg: "h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",
|
|
32
|
+
icon: "size-9",
|
|
33
|
+
"icon-xs": "size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3",
|
|
34
|
+
"icon-sm": "size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md",
|
|
35
|
+
"icon-lg": "size-10"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
defaultVariants: {
|
|
39
|
+
variant: "default",
|
|
40
|
+
size: "default"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
function Button({
|
|
45
|
+
className,
|
|
46
|
+
variant = "default",
|
|
47
|
+
size = "default",
|
|
48
|
+
asChild = false,
|
|
49
|
+
...props
|
|
50
|
+
}) {
|
|
51
|
+
const Comp = asChild ? radixUi.Slot.Root : "button";
|
|
52
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
53
|
+
Comp,
|
|
54
|
+
{
|
|
55
|
+
"data-slot": "button",
|
|
56
|
+
"data-variant": variant,
|
|
57
|
+
"data-size": size,
|
|
58
|
+
className: cn(buttonVariants({ variant, size, className })),
|
|
59
|
+
...props
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
var badgeVariants = classVarianceAuthority.cva(
|
|
64
|
+
"h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! inline-flex items-center justify-center w-fit whitespace-nowrap shrink-0 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive overflow-hidden group/badge",
|
|
65
|
+
{
|
|
66
|
+
variants: {
|
|
67
|
+
variant: {
|
|
68
|
+
default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
|
|
69
|
+
secondary: "bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",
|
|
70
|
+
destructive: "bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20",
|
|
71
|
+
outline: "border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",
|
|
72
|
+
ghost: "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",
|
|
73
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
defaultVariants: {
|
|
77
|
+
variant: "default"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
function Badge({
|
|
82
|
+
className,
|
|
83
|
+
variant = "default",
|
|
84
|
+
asChild = false,
|
|
85
|
+
...props
|
|
86
|
+
}) {
|
|
87
|
+
const Comp = asChild ? radixUi.Slot.Root : "span";
|
|
88
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
89
|
+
Comp,
|
|
90
|
+
{
|
|
91
|
+
"data-slot": "badge",
|
|
92
|
+
"data-variant": variant,
|
|
93
|
+
className: cn(badgeVariants({ variant }), className),
|
|
94
|
+
...props
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
function Card({
|
|
99
|
+
className,
|
|
100
|
+
size = "default",
|
|
101
|
+
...props
|
|
102
|
+
}) {
|
|
103
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
"data-slot": "card",
|
|
107
|
+
"data-size": size,
|
|
108
|
+
className: cn("ring-foreground/10 bg-card text-card-foreground gap-6 overflow-hidden rounded-xl py-6 text-sm shadow-xs ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col", className),
|
|
109
|
+
...props
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
function CardHeader({ className, ...props }) {
|
|
114
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
115
|
+
"div",
|
|
116
|
+
{
|
|
117
|
+
"data-slot": "card-header",
|
|
118
|
+
className: cn(
|
|
119
|
+
"gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",
|
|
120
|
+
className
|
|
121
|
+
),
|
|
122
|
+
...props
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
function CardTitle({ className, ...props }) {
|
|
127
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
128
|
+
"div",
|
|
129
|
+
{
|
|
130
|
+
"data-slot": "card-title",
|
|
131
|
+
className: cn("text-base leading-normal font-medium group-data-[size=sm]/card:text-sm", className),
|
|
132
|
+
...props
|
|
133
|
+
}
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
function CardDescription({ className, ...props }) {
|
|
137
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
138
|
+
"div",
|
|
139
|
+
{
|
|
140
|
+
"data-slot": "card-description",
|
|
141
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
142
|
+
...props
|
|
143
|
+
}
|
|
144
|
+
);
|
|
145
|
+
}
|
|
146
|
+
function CardAction({ className, ...props }) {
|
|
147
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
148
|
+
"div",
|
|
149
|
+
{
|
|
150
|
+
"data-slot": "card-action",
|
|
151
|
+
className: cn(
|
|
152
|
+
"col-start-2 row-span-2 row-start-1 self-start justify-self-end",
|
|
153
|
+
className
|
|
154
|
+
),
|
|
155
|
+
...props
|
|
156
|
+
}
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
function CardContent({ className, ...props }) {
|
|
160
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
161
|
+
"div",
|
|
162
|
+
{
|
|
163
|
+
"data-slot": "card-content",
|
|
164
|
+
className: cn("px-6 group-data-[size=sm]/card:px-4", className),
|
|
165
|
+
...props
|
|
166
|
+
}
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
function CardFooter({ className, ...props }) {
|
|
170
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
171
|
+
"div",
|
|
172
|
+
{
|
|
173
|
+
"data-slot": "card-footer",
|
|
174
|
+
className: cn("rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4 flex items-center", className),
|
|
175
|
+
...props
|
|
176
|
+
}
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
function Input({ className, type, ...props }) {
|
|
180
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
181
|
+
"input",
|
|
182
|
+
{
|
|
183
|
+
type,
|
|
184
|
+
"data-slot": "input",
|
|
185
|
+
className: cn(
|
|
186
|
+
"dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
187
|
+
className
|
|
188
|
+
),
|
|
189
|
+
...props
|
|
190
|
+
}
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
function Textarea({ className, ...props }) {
|
|
194
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
195
|
+
"textarea",
|
|
196
|
+
{
|
|
197
|
+
"data-slot": "textarea",
|
|
198
|
+
className: cn(
|
|
199
|
+
"border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
200
|
+
className
|
|
201
|
+
),
|
|
202
|
+
...props
|
|
203
|
+
}
|
|
204
|
+
);
|
|
205
|
+
}
|
|
206
|
+
function Label({
|
|
207
|
+
className,
|
|
208
|
+
...props
|
|
209
|
+
}) {
|
|
210
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
211
|
+
radixUi.Label.Root,
|
|
212
|
+
{
|
|
213
|
+
"data-slot": "label",
|
|
214
|
+
className: cn(
|
|
215
|
+
"gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed",
|
|
216
|
+
className
|
|
217
|
+
),
|
|
218
|
+
...props
|
|
219
|
+
}
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
function Separator({
|
|
223
|
+
className,
|
|
224
|
+
orientation = "horizontal",
|
|
225
|
+
decorative = true,
|
|
226
|
+
...props
|
|
227
|
+
}) {
|
|
228
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
229
|
+
radixUi.Separator.Root,
|
|
230
|
+
{
|
|
231
|
+
"data-slot": "separator",
|
|
232
|
+
decorative,
|
|
233
|
+
orientation,
|
|
234
|
+
className: cn(
|
|
235
|
+
"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch",
|
|
236
|
+
className
|
|
237
|
+
),
|
|
238
|
+
...props
|
|
239
|
+
}
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
function Select({
|
|
243
|
+
...props
|
|
244
|
+
}) {
|
|
245
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Root, { "data-slot": "select", ...props });
|
|
246
|
+
}
|
|
247
|
+
function SelectGroup({
|
|
248
|
+
className,
|
|
249
|
+
...props
|
|
250
|
+
}) {
|
|
251
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
252
|
+
radixUi.Select.Group,
|
|
253
|
+
{
|
|
254
|
+
"data-slot": "select-group",
|
|
255
|
+
className: cn("scroll-my-1 p-1", className),
|
|
256
|
+
...props
|
|
257
|
+
}
|
|
258
|
+
);
|
|
259
|
+
}
|
|
260
|
+
function SelectValue({
|
|
261
|
+
...props
|
|
262
|
+
}) {
|
|
263
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Value, { "data-slot": "select-value", ...props });
|
|
264
|
+
}
|
|
265
|
+
function SelectTrigger({
|
|
266
|
+
className,
|
|
267
|
+
size = "default",
|
|
268
|
+
children,
|
|
269
|
+
...props
|
|
270
|
+
}) {
|
|
271
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
272
|
+
radixUi.Select.Trigger,
|
|
273
|
+
{
|
|
274
|
+
"data-slot": "select-trigger",
|
|
275
|
+
"data-size": size,
|
|
276
|
+
className: cn(
|
|
277
|
+
"border-input data-[placeholder]:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-md border bg-transparent py-2 pr-2 pl-2.5 text-sm shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:flex *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*='size-'])]:size-4 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
278
|
+
className
|
|
279
|
+
),
|
|
280
|
+
...props,
|
|
281
|
+
children: [
|
|
282
|
+
children,
|
|
283
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "text-muted-foreground size-4 pointer-events-none" }) })
|
|
284
|
+
]
|
|
285
|
+
}
|
|
286
|
+
);
|
|
287
|
+
}
|
|
288
|
+
function SelectContent({
|
|
289
|
+
className,
|
|
290
|
+
children,
|
|
291
|
+
position = "item-aligned",
|
|
292
|
+
align = "center",
|
|
293
|
+
...props
|
|
294
|
+
}) {
|
|
295
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
296
|
+
radixUi.Select.Content,
|
|
297
|
+
{
|
|
298
|
+
"data-slot": "select-content",
|
|
299
|
+
"data-align-trigger": position === "item-aligned",
|
|
300
|
+
className: cn("bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 min-w-36 rounded-md shadow-md ring-1 duration-100 relative z-50 max-h-(--radix-select-content-available-height) origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto data-[align-trigger=true]:animate-none", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
|
|
301
|
+
position,
|
|
302
|
+
align,
|
|
303
|
+
...props,
|
|
304
|
+
children: [
|
|
305
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
|
|
306
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
307
|
+
radixUi.Select.Viewport,
|
|
308
|
+
{
|
|
309
|
+
"data-position": position,
|
|
310
|
+
className: cn(
|
|
311
|
+
"data-[position=popper]:h-[var(--radix-select-trigger-height)] data-[position=popper]:w-full data-[position=popper]:min-w-[var(--radix-select-trigger-width)]",
|
|
312
|
+
position === "popper" && ""
|
|
313
|
+
),
|
|
314
|
+
children
|
|
315
|
+
}
|
|
316
|
+
),
|
|
317
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
|
|
318
|
+
]
|
|
319
|
+
}
|
|
320
|
+
) });
|
|
321
|
+
}
|
|
322
|
+
function SelectLabel({
|
|
323
|
+
className,
|
|
324
|
+
...props
|
|
325
|
+
}) {
|
|
326
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
327
|
+
radixUi.Select.Label,
|
|
328
|
+
{
|
|
329
|
+
"data-slot": "select-label",
|
|
330
|
+
className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
|
|
331
|
+
...props
|
|
332
|
+
}
|
|
333
|
+
);
|
|
334
|
+
}
|
|
335
|
+
function SelectItem({
|
|
336
|
+
className,
|
|
337
|
+
children,
|
|
338
|
+
...props
|
|
339
|
+
}) {
|
|
340
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
341
|
+
radixUi.Select.Item,
|
|
342
|
+
{
|
|
343
|
+
"data-slot": "select-item",
|
|
344
|
+
className: cn(
|
|
345
|
+
"focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
346
|
+
className
|
|
347
|
+
),
|
|
348
|
+
...props,
|
|
349
|
+
children: [
|
|
350
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "pointer-events-none" }) }) }),
|
|
351
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.ItemText, { children })
|
|
352
|
+
]
|
|
353
|
+
}
|
|
354
|
+
);
|
|
355
|
+
}
|
|
356
|
+
function SelectSeparator({
|
|
357
|
+
className,
|
|
358
|
+
...props
|
|
359
|
+
}) {
|
|
360
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
361
|
+
radixUi.Select.Separator,
|
|
362
|
+
{
|
|
363
|
+
"data-slot": "select-separator",
|
|
364
|
+
className: cn("bg-border -mx-1 my-1 h-px pointer-events-none", className),
|
|
365
|
+
...props
|
|
366
|
+
}
|
|
367
|
+
);
|
|
368
|
+
}
|
|
369
|
+
function SelectScrollUpButton({
|
|
370
|
+
className,
|
|
371
|
+
...props
|
|
372
|
+
}) {
|
|
373
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
374
|
+
radixUi.Select.ScrollUpButton,
|
|
375
|
+
{
|
|
376
|
+
"data-slot": "select-scroll-up-button",
|
|
377
|
+
className: cn("bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4", className),
|
|
378
|
+
...props,
|
|
379
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
380
|
+
lucideReact.ChevronUpIcon,
|
|
381
|
+
{}
|
|
382
|
+
)
|
|
383
|
+
}
|
|
384
|
+
);
|
|
385
|
+
}
|
|
386
|
+
function SelectScrollDownButton({
|
|
387
|
+
className,
|
|
388
|
+
...props
|
|
389
|
+
}) {
|
|
390
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
391
|
+
radixUi.Select.ScrollDownButton,
|
|
392
|
+
{
|
|
393
|
+
"data-slot": "select-scroll-down-button",
|
|
394
|
+
className: cn("bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4", className),
|
|
395
|
+
...props,
|
|
396
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
397
|
+
lucideReact.ChevronDownIcon,
|
|
398
|
+
{}
|
|
399
|
+
)
|
|
400
|
+
}
|
|
401
|
+
);
|
|
402
|
+
}
|
|
403
|
+
function InputGroup({ className, ...props }) {
|
|
404
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
405
|
+
"div",
|
|
406
|
+
{
|
|
407
|
+
"data-slot": "input-group",
|
|
408
|
+
role: "group",
|
|
409
|
+
className: cn(
|
|
410
|
+
"border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 h-9 rounded-md border shadow-xs transition-[color,box-shadow] has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 [[data-slot=combobox-content]_&]:focus-within:border-inherit [[data-slot=combobox-content]_&]:focus-within:ring-0 group/input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto",
|
|
411
|
+
className
|
|
412
|
+
),
|
|
413
|
+
...props
|
|
414
|
+
}
|
|
415
|
+
);
|
|
416
|
+
}
|
|
417
|
+
var inputGroupAddonVariants = classVarianceAuthority.cva(
|
|
418
|
+
"text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none",
|
|
419
|
+
{
|
|
420
|
+
variants: {
|
|
421
|
+
align: {
|
|
422
|
+
"inline-start": "pl-2 has-[>button]:ml-[-0.25rem] has-[>kbd]:ml-[-0.15rem] order-first",
|
|
423
|
+
"inline-end": "pr-2 has-[>button]:mr-[-0.25rem] has-[>kbd]:mr-[-0.15rem] order-last",
|
|
424
|
+
"block-start": "px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start",
|
|
425
|
+
"block-end": "px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start"
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
defaultVariants: {
|
|
429
|
+
align: "inline-start"
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
);
|
|
433
|
+
function InputGroupAddon({
|
|
434
|
+
className,
|
|
435
|
+
align = "inline-start",
|
|
436
|
+
...props
|
|
437
|
+
}) {
|
|
438
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
439
|
+
"div",
|
|
440
|
+
{
|
|
441
|
+
role: "group",
|
|
442
|
+
"data-slot": "input-group-addon",
|
|
443
|
+
"data-align": align,
|
|
444
|
+
className: cn(inputGroupAddonVariants({ align }), className),
|
|
445
|
+
onClick: (e) => {
|
|
446
|
+
if (e.target.closest("button")) {
|
|
447
|
+
return;
|
|
448
|
+
}
|
|
449
|
+
e.currentTarget.parentElement?.querySelector("input")?.focus();
|
|
450
|
+
},
|
|
451
|
+
...props
|
|
452
|
+
}
|
|
453
|
+
);
|
|
454
|
+
}
|
|
455
|
+
var inputGroupButtonVariants = classVarianceAuthority.cva(
|
|
456
|
+
"gap-2 text-sm shadow-none flex items-center",
|
|
457
|
+
{
|
|
458
|
+
variants: {
|
|
459
|
+
size: {
|
|
460
|
+
xs: "h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
|
|
461
|
+
sm: "",
|
|
462
|
+
"icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
|
|
463
|
+
"icon-sm": "size-8 p-0 has-[>svg]:p-0"
|
|
464
|
+
}
|
|
465
|
+
},
|
|
466
|
+
defaultVariants: {
|
|
467
|
+
size: "xs"
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
);
|
|
471
|
+
function InputGroupButton({
|
|
472
|
+
className,
|
|
473
|
+
type = "button",
|
|
474
|
+
variant = "ghost",
|
|
475
|
+
size = "xs",
|
|
476
|
+
...props
|
|
477
|
+
}) {
|
|
478
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
479
|
+
Button,
|
|
480
|
+
{
|
|
481
|
+
type,
|
|
482
|
+
"data-size": size,
|
|
483
|
+
variant,
|
|
484
|
+
className: cn(inputGroupButtonVariants({ size }), className),
|
|
485
|
+
...props
|
|
486
|
+
}
|
|
487
|
+
);
|
|
488
|
+
}
|
|
489
|
+
function InputGroupText({ className, ...props }) {
|
|
490
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
491
|
+
"span",
|
|
492
|
+
{
|
|
493
|
+
className: cn(
|
|
494
|
+
"text-muted-foreground gap-2 text-sm [&_svg:not([class*='size-'])]:size-4 flex items-center [&_svg]:pointer-events-none",
|
|
495
|
+
className
|
|
496
|
+
),
|
|
497
|
+
...props
|
|
498
|
+
}
|
|
499
|
+
);
|
|
500
|
+
}
|
|
501
|
+
function InputGroupInput({
|
|
502
|
+
className,
|
|
503
|
+
...props
|
|
504
|
+
}) {
|
|
505
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
506
|
+
Input,
|
|
507
|
+
{
|
|
508
|
+
"data-slot": "input-group-control",
|
|
509
|
+
className: cn("rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1", className),
|
|
510
|
+
...props
|
|
511
|
+
}
|
|
512
|
+
);
|
|
513
|
+
}
|
|
514
|
+
function InputGroupTextarea({
|
|
515
|
+
className,
|
|
516
|
+
...props
|
|
517
|
+
}) {
|
|
518
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
519
|
+
Textarea,
|
|
520
|
+
{
|
|
521
|
+
"data-slot": "input-group-control",
|
|
522
|
+
className: cn("rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1 resize-none", className),
|
|
523
|
+
...props
|
|
524
|
+
}
|
|
525
|
+
);
|
|
526
|
+
}
|
|
527
|
+
function FieldSet({ className, ...props }) {
|
|
528
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
529
|
+
"fieldset",
|
|
530
|
+
{
|
|
531
|
+
"data-slot": "field-set",
|
|
532
|
+
className: cn("gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col", className),
|
|
533
|
+
...props
|
|
534
|
+
}
|
|
535
|
+
);
|
|
536
|
+
}
|
|
537
|
+
function FieldLegend({
|
|
538
|
+
className,
|
|
539
|
+
variant = "legend",
|
|
540
|
+
...props
|
|
541
|
+
}) {
|
|
542
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
543
|
+
"legend",
|
|
544
|
+
{
|
|
545
|
+
"data-slot": "field-legend",
|
|
546
|
+
"data-variant": variant,
|
|
547
|
+
className: cn("mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base", className),
|
|
548
|
+
...props
|
|
549
|
+
}
|
|
550
|
+
);
|
|
551
|
+
}
|
|
552
|
+
function FieldGroup({ className, ...props }) {
|
|
553
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
554
|
+
"div",
|
|
555
|
+
{
|
|
556
|
+
"data-slot": "field-group",
|
|
557
|
+
className: cn(
|
|
558
|
+
"gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4 group/field-group @container/field-group flex w-full flex-col",
|
|
559
|
+
className
|
|
560
|
+
),
|
|
561
|
+
...props
|
|
562
|
+
}
|
|
563
|
+
);
|
|
564
|
+
}
|
|
565
|
+
var fieldVariants = classVarianceAuthority.cva("data-[invalid=true]:text-destructive gap-3 group/field flex w-full", {
|
|
566
|
+
variants: {
|
|
567
|
+
orientation: {
|
|
568
|
+
vertical: "flex-col [&>*]:w-full [&>.sr-only]:w-auto",
|
|
569
|
+
horizontal: "flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
|
|
570
|
+
responsive: "flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
571
|
+
}
|
|
572
|
+
},
|
|
573
|
+
defaultVariants: {
|
|
574
|
+
orientation: "vertical"
|
|
575
|
+
}
|
|
576
|
+
});
|
|
577
|
+
function Field({
|
|
578
|
+
className,
|
|
579
|
+
orientation = "vertical",
|
|
580
|
+
...props
|
|
581
|
+
}) {
|
|
582
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
583
|
+
"div",
|
|
584
|
+
{
|
|
585
|
+
role: "group",
|
|
586
|
+
"data-slot": "field",
|
|
587
|
+
"data-orientation": orientation,
|
|
588
|
+
className: cn(fieldVariants({ orientation }), className),
|
|
589
|
+
...props
|
|
590
|
+
}
|
|
591
|
+
);
|
|
592
|
+
}
|
|
593
|
+
function FieldContent({ className, ...props }) {
|
|
594
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
595
|
+
"div",
|
|
596
|
+
{
|
|
597
|
+
"data-slot": "field-content",
|
|
598
|
+
className: cn(
|
|
599
|
+
"gap-1 group/field-content flex flex-1 flex-col leading-snug",
|
|
600
|
+
className
|
|
601
|
+
),
|
|
602
|
+
...props
|
|
603
|
+
}
|
|
604
|
+
);
|
|
605
|
+
}
|
|
606
|
+
function FieldLabel({
|
|
607
|
+
className,
|
|
608
|
+
...props
|
|
609
|
+
}) {
|
|
610
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
611
|
+
Label,
|
|
612
|
+
{
|
|
613
|
+
"data-slot": "field-label",
|
|
614
|
+
className: cn(
|
|
615
|
+
"has-data-checked:bg-primary/5 has-data-checked:border-primary dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-3 group/field-label peer/field-label flex w-fit leading-snug",
|
|
616
|
+
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
|
|
617
|
+
className
|
|
618
|
+
),
|
|
619
|
+
...props
|
|
620
|
+
}
|
|
621
|
+
);
|
|
622
|
+
}
|
|
623
|
+
function FieldTitle({ className, ...props }) {
|
|
624
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
625
|
+
"div",
|
|
626
|
+
{
|
|
627
|
+
"data-slot": "field-label",
|
|
628
|
+
className: cn(
|
|
629
|
+
"gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center leading-snug",
|
|
630
|
+
className
|
|
631
|
+
),
|
|
632
|
+
...props
|
|
633
|
+
}
|
|
634
|
+
);
|
|
635
|
+
}
|
|
636
|
+
function FieldDescription({ className, ...props }) {
|
|
637
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
638
|
+
"p",
|
|
639
|
+
{
|
|
640
|
+
"data-slot": "field-description",
|
|
641
|
+
className: cn(
|
|
642
|
+
"text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance",
|
|
643
|
+
"last:mt-0 nth-last-2:-mt-1",
|
|
644
|
+
"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
|
|
645
|
+
className
|
|
646
|
+
),
|
|
647
|
+
...props
|
|
648
|
+
}
|
|
649
|
+
);
|
|
650
|
+
}
|
|
651
|
+
function FieldSeparator({
|
|
652
|
+
children,
|
|
653
|
+
className,
|
|
654
|
+
...props
|
|
655
|
+
}) {
|
|
656
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
657
|
+
"div",
|
|
658
|
+
{
|
|
659
|
+
"data-slot": "field-separator",
|
|
660
|
+
"data-content": !!children,
|
|
661
|
+
className: cn("-my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2 relative", className),
|
|
662
|
+
...props,
|
|
663
|
+
children: [
|
|
664
|
+
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
665
|
+
children && /* @__PURE__ */ jsxRuntime.jsx(
|
|
666
|
+
"span",
|
|
667
|
+
{
|
|
668
|
+
className: "text-muted-foreground px-2 bg-background relative mx-auto block w-fit",
|
|
669
|
+
"data-slot": "field-separator-content",
|
|
670
|
+
children
|
|
671
|
+
}
|
|
672
|
+
)
|
|
673
|
+
]
|
|
674
|
+
}
|
|
675
|
+
);
|
|
676
|
+
}
|
|
677
|
+
function FieldError({
|
|
678
|
+
className,
|
|
679
|
+
children,
|
|
680
|
+
errors,
|
|
681
|
+
...props
|
|
682
|
+
}) {
|
|
683
|
+
const content = react.useMemo(() => {
|
|
684
|
+
if (children) {
|
|
685
|
+
return children;
|
|
686
|
+
}
|
|
687
|
+
if (!errors?.length) {
|
|
688
|
+
return null;
|
|
689
|
+
}
|
|
690
|
+
const uniqueErrors = [
|
|
691
|
+
...new Map(errors.map((error) => [error?.message, error])).values()
|
|
692
|
+
];
|
|
693
|
+
if (uniqueErrors?.length == 1) {
|
|
694
|
+
return uniqueErrors[0]?.message;
|
|
695
|
+
}
|
|
696
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
|
|
697
|
+
(error, index) => error?.message && /* @__PURE__ */ jsxRuntime.jsx("li", { children: error.message }, index)
|
|
698
|
+
) });
|
|
699
|
+
}, [children, errors]);
|
|
700
|
+
if (!content) {
|
|
701
|
+
return null;
|
|
702
|
+
}
|
|
703
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
704
|
+
"div",
|
|
705
|
+
{
|
|
706
|
+
role: "alert",
|
|
707
|
+
"data-slot": "field-error",
|
|
708
|
+
className: cn("text-destructive text-sm font-normal", className),
|
|
709
|
+
...props,
|
|
710
|
+
children: content
|
|
711
|
+
}
|
|
712
|
+
);
|
|
713
|
+
}
|
|
714
|
+
function AlertDialog({
|
|
715
|
+
...props
|
|
716
|
+
}) {
|
|
717
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Root, { "data-slot": "alert-dialog", ...props });
|
|
718
|
+
}
|
|
719
|
+
function AlertDialogTrigger({
|
|
720
|
+
...props
|
|
721
|
+
}) {
|
|
722
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
723
|
+
}
|
|
724
|
+
function AlertDialogPortal({
|
|
725
|
+
...props
|
|
726
|
+
}) {
|
|
727
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
728
|
+
}
|
|
729
|
+
function AlertDialogOverlay({
|
|
730
|
+
className,
|
|
731
|
+
...props
|
|
732
|
+
}) {
|
|
733
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
734
|
+
radixUi.AlertDialog.Overlay,
|
|
735
|
+
{
|
|
736
|
+
"data-slot": "alert-dialog-overlay",
|
|
737
|
+
className: cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 z-50", className),
|
|
738
|
+
...props
|
|
739
|
+
}
|
|
740
|
+
);
|
|
741
|
+
}
|
|
742
|
+
function AlertDialogContent({
|
|
743
|
+
className,
|
|
744
|
+
size = "default",
|
|
745
|
+
...props
|
|
746
|
+
}) {
|
|
747
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
|
|
748
|
+
/* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
|
|
749
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
750
|
+
radixUi.AlertDialog.Content,
|
|
751
|
+
{
|
|
752
|
+
"data-slot": "alert-dialog-content",
|
|
753
|
+
"data-size": size,
|
|
754
|
+
className: cn(
|
|
755
|
+
"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-background ring-foreground/10 gap-6 rounded-xl p-6 ring-1 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none",
|
|
756
|
+
className
|
|
757
|
+
),
|
|
758
|
+
...props
|
|
759
|
+
}
|
|
760
|
+
)
|
|
761
|
+
] });
|
|
762
|
+
}
|
|
763
|
+
function AlertDialogHeader({
|
|
764
|
+
className,
|
|
765
|
+
...props
|
|
766
|
+
}) {
|
|
767
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
768
|
+
"div",
|
|
769
|
+
{
|
|
770
|
+
"data-slot": "alert-dialog-header",
|
|
771
|
+
className: cn("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", className),
|
|
772
|
+
...props
|
|
773
|
+
}
|
|
774
|
+
);
|
|
775
|
+
}
|
|
776
|
+
function AlertDialogFooter({
|
|
777
|
+
className,
|
|
778
|
+
...props
|
|
779
|
+
}) {
|
|
780
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
781
|
+
"div",
|
|
782
|
+
{
|
|
783
|
+
"data-slot": "alert-dialog-footer",
|
|
784
|
+
className: cn(
|
|
785
|
+
"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
|
|
786
|
+
className
|
|
787
|
+
),
|
|
788
|
+
...props
|
|
789
|
+
}
|
|
790
|
+
);
|
|
791
|
+
}
|
|
792
|
+
function AlertDialogMedia({
|
|
793
|
+
className,
|
|
794
|
+
...props
|
|
795
|
+
}) {
|
|
796
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
797
|
+
"div",
|
|
798
|
+
{
|
|
799
|
+
"data-slot": "alert-dialog-media",
|
|
800
|
+
className: cn("bg-muted mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8", className),
|
|
801
|
+
...props
|
|
802
|
+
}
|
|
803
|
+
);
|
|
804
|
+
}
|
|
805
|
+
function AlertDialogTitle({
|
|
806
|
+
className,
|
|
807
|
+
...props
|
|
808
|
+
}) {
|
|
809
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
810
|
+
radixUi.AlertDialog.Title,
|
|
811
|
+
{
|
|
812
|
+
"data-slot": "alert-dialog-title",
|
|
813
|
+
className: cn("text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", className),
|
|
814
|
+
...props
|
|
815
|
+
}
|
|
816
|
+
);
|
|
817
|
+
}
|
|
818
|
+
function AlertDialogDescription({
|
|
819
|
+
className,
|
|
820
|
+
...props
|
|
821
|
+
}) {
|
|
822
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
823
|
+
radixUi.AlertDialog.Description,
|
|
824
|
+
{
|
|
825
|
+
"data-slot": "alert-dialog-description",
|
|
826
|
+
className: cn("text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3", className),
|
|
827
|
+
...props
|
|
828
|
+
}
|
|
829
|
+
);
|
|
830
|
+
}
|
|
831
|
+
function AlertDialogAction({
|
|
832
|
+
className,
|
|
833
|
+
variant = "default",
|
|
834
|
+
size = "default",
|
|
835
|
+
...props
|
|
836
|
+
}) {
|
|
837
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
838
|
+
radixUi.AlertDialog.Action,
|
|
839
|
+
{
|
|
840
|
+
"data-slot": "alert-dialog-action",
|
|
841
|
+
className: cn(className),
|
|
842
|
+
...props
|
|
843
|
+
}
|
|
844
|
+
) });
|
|
845
|
+
}
|
|
846
|
+
function AlertDialogCancel({
|
|
847
|
+
className,
|
|
848
|
+
variant = "outline",
|
|
849
|
+
size = "default",
|
|
850
|
+
...props
|
|
851
|
+
}) {
|
|
852
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
853
|
+
radixUi.AlertDialog.Cancel,
|
|
854
|
+
{
|
|
855
|
+
"data-slot": "alert-dialog-cancel",
|
|
856
|
+
className: cn(className),
|
|
857
|
+
...props
|
|
858
|
+
}
|
|
859
|
+
) });
|
|
860
|
+
}
|
|
861
|
+
function DropdownMenu({
|
|
862
|
+
...props
|
|
863
|
+
}) {
|
|
864
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.Root, { "data-slot": "dropdown-menu", ...props });
|
|
865
|
+
}
|
|
866
|
+
function DropdownMenuPortal({
|
|
867
|
+
...props
|
|
868
|
+
}) {
|
|
869
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.Portal, { "data-slot": "dropdown-menu-portal", ...props });
|
|
870
|
+
}
|
|
871
|
+
function DropdownMenuTrigger({
|
|
872
|
+
...props
|
|
873
|
+
}) {
|
|
874
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
875
|
+
radixUi.DropdownMenu.Trigger,
|
|
876
|
+
{
|
|
877
|
+
"data-slot": "dropdown-menu-trigger",
|
|
878
|
+
...props
|
|
879
|
+
}
|
|
880
|
+
);
|
|
881
|
+
}
|
|
882
|
+
function DropdownMenuContent({
|
|
883
|
+
className,
|
|
884
|
+
align = "start",
|
|
885
|
+
sideOffset = 4,
|
|
886
|
+
...props
|
|
887
|
+
}) {
|
|
888
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
889
|
+
radixUi.DropdownMenu.Content,
|
|
890
|
+
{
|
|
891
|
+
"data-slot": "dropdown-menu-content",
|
|
892
|
+
sideOffset,
|
|
893
|
+
align,
|
|
894
|
+
className: cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-md p-1 shadow-md ring-1 duration-100 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto data-[state=closed]:overflow-hidden", className),
|
|
895
|
+
...props
|
|
896
|
+
}
|
|
897
|
+
) });
|
|
898
|
+
}
|
|
899
|
+
function DropdownMenuGroup({
|
|
900
|
+
...props
|
|
901
|
+
}) {
|
|
902
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
903
|
+
}
|
|
904
|
+
function DropdownMenuItem({
|
|
905
|
+
className,
|
|
906
|
+
inset,
|
|
907
|
+
variant = "default",
|
|
908
|
+
...props
|
|
909
|
+
}) {
|
|
910
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
911
|
+
radixUi.DropdownMenu.Item,
|
|
912
|
+
{
|
|
913
|
+
"data-slot": "dropdown-menu-item",
|
|
914
|
+
"data-inset": inset,
|
|
915
|
+
"data-variant": variant,
|
|
916
|
+
className: cn(
|
|
917
|
+
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 group/dropdown-menu-item relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
918
|
+
className
|
|
919
|
+
),
|
|
920
|
+
...props
|
|
921
|
+
}
|
|
922
|
+
);
|
|
923
|
+
}
|
|
924
|
+
function DropdownMenuCheckboxItem({
|
|
925
|
+
className,
|
|
926
|
+
children,
|
|
927
|
+
checked,
|
|
928
|
+
...props
|
|
929
|
+
}) {
|
|
930
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
931
|
+
radixUi.DropdownMenu.CheckboxItem,
|
|
932
|
+
{
|
|
933
|
+
"data-slot": "dropdown-menu-checkbox-item",
|
|
934
|
+
className: cn(
|
|
935
|
+
"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
936
|
+
className
|
|
937
|
+
),
|
|
938
|
+
checked,
|
|
939
|
+
...props,
|
|
940
|
+
children: [
|
|
941
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
942
|
+
"span",
|
|
943
|
+
{
|
|
944
|
+
className: "pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none",
|
|
945
|
+
"data-slot": "dropdown-menu-checkbox-item-indicator",
|
|
946
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
947
|
+
lucideReact.CheckIcon,
|
|
948
|
+
{}
|
|
949
|
+
) })
|
|
950
|
+
}
|
|
951
|
+
),
|
|
952
|
+
children
|
|
953
|
+
]
|
|
954
|
+
}
|
|
955
|
+
);
|
|
956
|
+
}
|
|
957
|
+
function DropdownMenuRadioGroup({
|
|
958
|
+
...props
|
|
959
|
+
}) {
|
|
960
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
961
|
+
radixUi.DropdownMenu.RadioGroup,
|
|
962
|
+
{
|
|
963
|
+
"data-slot": "dropdown-menu-radio-group",
|
|
964
|
+
...props
|
|
965
|
+
}
|
|
966
|
+
);
|
|
967
|
+
}
|
|
968
|
+
function DropdownMenuRadioItem({
|
|
969
|
+
className,
|
|
970
|
+
children,
|
|
971
|
+
...props
|
|
972
|
+
}) {
|
|
973
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
974
|
+
radixUi.DropdownMenu.RadioItem,
|
|
975
|
+
{
|
|
976
|
+
"data-slot": "dropdown-menu-radio-item",
|
|
977
|
+
className: cn(
|
|
978
|
+
"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
979
|
+
className
|
|
980
|
+
),
|
|
981
|
+
...props,
|
|
982
|
+
children: [
|
|
983
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
984
|
+
"span",
|
|
985
|
+
{
|
|
986
|
+
className: "pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none",
|
|
987
|
+
"data-slot": "dropdown-menu-radio-item-indicator",
|
|
988
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
989
|
+
lucideReact.CheckIcon,
|
|
990
|
+
{}
|
|
991
|
+
) })
|
|
992
|
+
}
|
|
993
|
+
),
|
|
994
|
+
children
|
|
995
|
+
]
|
|
996
|
+
}
|
|
997
|
+
);
|
|
998
|
+
}
|
|
999
|
+
function DropdownMenuLabel({
|
|
1000
|
+
className,
|
|
1001
|
+
inset,
|
|
1002
|
+
...props
|
|
1003
|
+
}) {
|
|
1004
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1005
|
+
radixUi.DropdownMenu.Label,
|
|
1006
|
+
{
|
|
1007
|
+
"data-slot": "dropdown-menu-label",
|
|
1008
|
+
"data-inset": inset,
|
|
1009
|
+
className: cn("text-muted-foreground px-2 py-1.5 text-xs font-medium data-[inset]:pl-8", className),
|
|
1010
|
+
...props
|
|
1011
|
+
}
|
|
1012
|
+
);
|
|
1013
|
+
}
|
|
1014
|
+
function DropdownMenuSeparator({
|
|
1015
|
+
className,
|
|
1016
|
+
...props
|
|
1017
|
+
}) {
|
|
1018
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1019
|
+
radixUi.DropdownMenu.Separator,
|
|
1020
|
+
{
|
|
1021
|
+
"data-slot": "dropdown-menu-separator",
|
|
1022
|
+
className: cn("bg-border -mx-1 my-1 h-px", className),
|
|
1023
|
+
...props
|
|
1024
|
+
}
|
|
1025
|
+
);
|
|
1026
|
+
}
|
|
1027
|
+
function DropdownMenuShortcut({
|
|
1028
|
+
className,
|
|
1029
|
+
...props
|
|
1030
|
+
}) {
|
|
1031
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1032
|
+
"span",
|
|
1033
|
+
{
|
|
1034
|
+
"data-slot": "dropdown-menu-shortcut",
|
|
1035
|
+
className: cn("text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest", className),
|
|
1036
|
+
...props
|
|
1037
|
+
}
|
|
1038
|
+
);
|
|
1039
|
+
}
|
|
1040
|
+
function DropdownMenuSub({
|
|
1041
|
+
...props
|
|
1042
|
+
}) {
|
|
1043
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.DropdownMenu.Sub, { "data-slot": "dropdown-menu-sub", ...props });
|
|
1044
|
+
}
|
|
1045
|
+
function DropdownMenuSubTrigger({
|
|
1046
|
+
className,
|
|
1047
|
+
inset,
|
|
1048
|
+
children,
|
|
1049
|
+
...props
|
|
1050
|
+
}) {
|
|
1051
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1052
|
+
radixUi.DropdownMenu.SubTrigger,
|
|
1053
|
+
{
|
|
1054
|
+
"data-slot": "dropdown-menu-sub-trigger",
|
|
1055
|
+
"data-inset": inset,
|
|
1056
|
+
className: cn(
|
|
1057
|
+
"focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 flex cursor-default items-center outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
1058
|
+
className
|
|
1059
|
+
),
|
|
1060
|
+
...props,
|
|
1061
|
+
children: [
|
|
1062
|
+
children,
|
|
1063
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, { className: "ml-auto" })
|
|
1064
|
+
]
|
|
1065
|
+
}
|
|
1066
|
+
);
|
|
1067
|
+
}
|
|
1068
|
+
function DropdownMenuSubContent({
|
|
1069
|
+
className,
|
|
1070
|
+
...props
|
|
1071
|
+
}) {
|
|
1072
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1073
|
+
radixUi.DropdownMenu.SubContent,
|
|
1074
|
+
{
|
|
1075
|
+
"data-slot": "dropdown-menu-sub-content",
|
|
1076
|
+
className: cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-[96px] rounded-md p-1 shadow-lg ring-1 duration-100 z-50 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden", className),
|
|
1077
|
+
...props
|
|
1078
|
+
}
|
|
1079
|
+
);
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
exports.AlertDialog = AlertDialog;
|
|
1083
|
+
exports.AlertDialogAction = AlertDialogAction;
|
|
1084
|
+
exports.AlertDialogCancel = AlertDialogCancel;
|
|
1085
|
+
exports.AlertDialogContent = AlertDialogContent;
|
|
1086
|
+
exports.AlertDialogDescription = AlertDialogDescription;
|
|
1087
|
+
exports.AlertDialogFooter = AlertDialogFooter;
|
|
1088
|
+
exports.AlertDialogHeader = AlertDialogHeader;
|
|
1089
|
+
exports.AlertDialogMedia = AlertDialogMedia;
|
|
1090
|
+
exports.AlertDialogOverlay = AlertDialogOverlay;
|
|
1091
|
+
exports.AlertDialogPortal = AlertDialogPortal;
|
|
1092
|
+
exports.AlertDialogTitle = AlertDialogTitle;
|
|
1093
|
+
exports.AlertDialogTrigger = AlertDialogTrigger;
|
|
1094
|
+
exports.Badge = Badge;
|
|
1095
|
+
exports.Button = Button;
|
|
1096
|
+
exports.Card = Card;
|
|
1097
|
+
exports.CardAction = CardAction;
|
|
1098
|
+
exports.CardContent = CardContent;
|
|
1099
|
+
exports.CardDescription = CardDescription;
|
|
1100
|
+
exports.CardFooter = CardFooter;
|
|
1101
|
+
exports.CardHeader = CardHeader;
|
|
1102
|
+
exports.CardTitle = CardTitle;
|
|
1103
|
+
exports.DropdownMenu = DropdownMenu;
|
|
1104
|
+
exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
|
|
1105
|
+
exports.DropdownMenuContent = DropdownMenuContent;
|
|
1106
|
+
exports.DropdownMenuGroup = DropdownMenuGroup;
|
|
1107
|
+
exports.DropdownMenuItem = DropdownMenuItem;
|
|
1108
|
+
exports.DropdownMenuLabel = DropdownMenuLabel;
|
|
1109
|
+
exports.DropdownMenuPortal = DropdownMenuPortal;
|
|
1110
|
+
exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup;
|
|
1111
|
+
exports.DropdownMenuRadioItem = DropdownMenuRadioItem;
|
|
1112
|
+
exports.DropdownMenuSeparator = DropdownMenuSeparator;
|
|
1113
|
+
exports.DropdownMenuShortcut = DropdownMenuShortcut;
|
|
1114
|
+
exports.DropdownMenuSub = DropdownMenuSub;
|
|
1115
|
+
exports.DropdownMenuSubContent = DropdownMenuSubContent;
|
|
1116
|
+
exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
|
|
1117
|
+
exports.DropdownMenuTrigger = DropdownMenuTrigger;
|
|
1118
|
+
exports.Field = Field;
|
|
1119
|
+
exports.FieldContent = FieldContent;
|
|
1120
|
+
exports.FieldDescription = FieldDescription;
|
|
1121
|
+
exports.FieldError = FieldError;
|
|
1122
|
+
exports.FieldGroup = FieldGroup;
|
|
1123
|
+
exports.FieldLabel = FieldLabel;
|
|
1124
|
+
exports.FieldLegend = FieldLegend;
|
|
1125
|
+
exports.FieldSeparator = FieldSeparator;
|
|
1126
|
+
exports.FieldSet = FieldSet;
|
|
1127
|
+
exports.FieldTitle = FieldTitle;
|
|
1128
|
+
exports.Input = Input;
|
|
1129
|
+
exports.InputGroup = InputGroup;
|
|
1130
|
+
exports.InputGroupAddon = InputGroupAddon;
|
|
1131
|
+
exports.InputGroupButton = InputGroupButton;
|
|
1132
|
+
exports.InputGroupInput = InputGroupInput;
|
|
1133
|
+
exports.InputGroupText = InputGroupText;
|
|
1134
|
+
exports.InputGroupTextarea = InputGroupTextarea;
|
|
1135
|
+
exports.Label = Label;
|
|
1136
|
+
exports.Select = Select;
|
|
1137
|
+
exports.SelectContent = SelectContent;
|
|
1138
|
+
exports.SelectGroup = SelectGroup;
|
|
1139
|
+
exports.SelectItem = SelectItem;
|
|
1140
|
+
exports.SelectLabel = SelectLabel;
|
|
1141
|
+
exports.SelectScrollDownButton = SelectScrollDownButton;
|
|
1142
|
+
exports.SelectScrollUpButton = SelectScrollUpButton;
|
|
1143
|
+
exports.SelectSeparator = SelectSeparator;
|
|
1144
|
+
exports.SelectTrigger = SelectTrigger;
|
|
1145
|
+
exports.SelectValue = SelectValue;
|
|
1146
|
+
exports.Separator = Separator;
|
|
1147
|
+
exports.Textarea = Textarea;
|
|
1148
|
+
exports.badgeVariants = badgeVariants;
|
|
1149
|
+
exports.buttonVariants = buttonVariants;
|
|
1150
|
+
exports.cn = cn;
|
|
1151
|
+
//# sourceMappingURL=index.cjs.map
|
|
1152
|
+
//# sourceMappingURL=index.cjs.map
|