rs-base-ui 0.3.1
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/LICENSE +21 -0
- package/README.md +44 -0
- package/dist/index.cjs +849 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +728 -0
- package/dist/index.js.map +1 -0
- package/dist/style.css +2 -0
- package/dist/theme.css +39 -0
- package/package.json +65 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,728 @@
|
|
|
1
|
+
// src/components/button.jsx
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
|
|
6
|
+
// src/lib/utils.js
|
|
7
|
+
import { clsx } from "clsx";
|
|
8
|
+
import { twMerge } from "tailwind-merge";
|
|
9
|
+
function cn(...inputs) {
|
|
10
|
+
return twMerge(clsx(inputs));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// src/components/button.jsx
|
|
14
|
+
import { jsx } from "react/jsx-runtime";
|
|
15
|
+
var buttonVariants = cva(
|
|
16
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
17
|
+
{
|
|
18
|
+
variants: {
|
|
19
|
+
variant: {
|
|
20
|
+
default: "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90",
|
|
21
|
+
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
|
22
|
+
success: "bg-success text-success-foreground shadow-sm hover:bg-success/90",
|
|
23
|
+
outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
24
|
+
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
25
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
26
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
27
|
+
},
|
|
28
|
+
size: {
|
|
29
|
+
default: "h-9 px-4 py-2",
|
|
30
|
+
sm: "h-8 rounded-md px-3 text-xs",
|
|
31
|
+
lg: "h-10 rounded-md px-8",
|
|
32
|
+
icon: "h-9 w-9"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
defaultVariants: {
|
|
36
|
+
variant: "default",
|
|
37
|
+
size: "default"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
var Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
42
|
+
const Comp = asChild ? Slot : "button";
|
|
43
|
+
return /* @__PURE__ */ jsx(Comp, { className: cn(buttonVariants({ variant, size, className })), ref, ...props });
|
|
44
|
+
});
|
|
45
|
+
Button.displayName = "Button";
|
|
46
|
+
|
|
47
|
+
// src/components/input.jsx
|
|
48
|
+
import * as React2 from "react";
|
|
49
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
50
|
+
var Input = React2.forwardRef(({ className, type, ...props }, ref) => {
|
|
51
|
+
return /* @__PURE__ */ jsx2(
|
|
52
|
+
"input",
|
|
53
|
+
{
|
|
54
|
+
type,
|
|
55
|
+
className: cn(
|
|
56
|
+
"flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
57
|
+
className
|
|
58
|
+
),
|
|
59
|
+
ref,
|
|
60
|
+
...props
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
});
|
|
64
|
+
Input.displayName = "Input";
|
|
65
|
+
|
|
66
|
+
// src/components/label.jsx
|
|
67
|
+
import * as React3 from "react";
|
|
68
|
+
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
69
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
70
|
+
var Label = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
71
|
+
LabelPrimitive.Root,
|
|
72
|
+
{
|
|
73
|
+
ref,
|
|
74
|
+
"data-slot": "label",
|
|
75
|
+
className: cn(
|
|
76
|
+
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
77
|
+
className
|
|
78
|
+
),
|
|
79
|
+
...props
|
|
80
|
+
}
|
|
81
|
+
));
|
|
82
|
+
Label.displayName = LabelPrimitive.Root.displayName;
|
|
83
|
+
|
|
84
|
+
// src/components/textarea.jsx
|
|
85
|
+
import * as React4 from "react";
|
|
86
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
87
|
+
var Textarea = React4.forwardRef(({ className, ...props }, ref) => {
|
|
88
|
+
return /* @__PURE__ */ jsx4(
|
|
89
|
+
"textarea",
|
|
90
|
+
{
|
|
91
|
+
className: cn(
|
|
92
|
+
"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
93
|
+
className
|
|
94
|
+
),
|
|
95
|
+
ref,
|
|
96
|
+
...props
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
});
|
|
100
|
+
Textarea.displayName = "Textarea";
|
|
101
|
+
|
|
102
|
+
// src/components/checkbox.jsx
|
|
103
|
+
import * as React5 from "react";
|
|
104
|
+
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
105
|
+
import { Check } from "lucide-react";
|
|
106
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
107
|
+
var Checkbox = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
108
|
+
CheckboxPrimitive.Root,
|
|
109
|
+
{
|
|
110
|
+
ref,
|
|
111
|
+
className: cn(
|
|
112
|
+
"peer h-4 w-4 shrink-0 rounded-sm border border-input shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
|
|
113
|
+
className
|
|
114
|
+
),
|
|
115
|
+
...props,
|
|
116
|
+
children: /* @__PURE__ */ jsx5(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx5(Check, { className: "h-3.5 w-3.5" }) })
|
|
117
|
+
}
|
|
118
|
+
));
|
|
119
|
+
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
120
|
+
|
|
121
|
+
// src/components/radio-group.jsx
|
|
122
|
+
import * as React6 from "react";
|
|
123
|
+
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
124
|
+
import { Circle } from "lucide-react";
|
|
125
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
126
|
+
var RadioGroup = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(RadioGroupPrimitive.Root, { ref, className: cn("grid gap-2", className), ...props }));
|
|
127
|
+
RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
|
|
128
|
+
var RadioGroupItem = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
129
|
+
RadioGroupPrimitive.Item,
|
|
130
|
+
{
|
|
131
|
+
ref,
|
|
132
|
+
className: cn(
|
|
133
|
+
"aspect-square h-4 w-4 rounded-full border border-input text-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
134
|
+
className
|
|
135
|
+
),
|
|
136
|
+
...props,
|
|
137
|
+
children: /* @__PURE__ */ jsx6(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx6(Circle, { className: "h-2.5 w-2.5 fill-primary" }) })
|
|
138
|
+
}
|
|
139
|
+
));
|
|
140
|
+
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
141
|
+
|
|
142
|
+
// src/components/select.jsx
|
|
143
|
+
import * as React7 from "react";
|
|
144
|
+
import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
145
|
+
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
146
|
+
import { jsx as jsx7, jsxs } from "react/jsx-runtime";
|
|
147
|
+
function Select({ ...props }) {
|
|
148
|
+
return /* @__PURE__ */ jsx7(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
149
|
+
}
|
|
150
|
+
function SelectGroup({ ...props }) {
|
|
151
|
+
return /* @__PURE__ */ jsx7(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
|
|
152
|
+
}
|
|
153
|
+
function SelectValue({ ...props }) {
|
|
154
|
+
return /* @__PURE__ */ jsx7(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
155
|
+
}
|
|
156
|
+
function SelectTrigger({ className, size = "default", children, ...props }) {
|
|
157
|
+
return /* @__PURE__ */ jsxs(
|
|
158
|
+
SelectPrimitive.Trigger,
|
|
159
|
+
{
|
|
160
|
+
"data-slot": "select-trigger",
|
|
161
|
+
"data-size": size,
|
|
162
|
+
className: cn(
|
|
163
|
+
"flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
|
|
164
|
+
className
|
|
165
|
+
),
|
|
166
|
+
...props,
|
|
167
|
+
children: [
|
|
168
|
+
children,
|
|
169
|
+
/* @__PURE__ */ jsx7(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx7(ChevronDownIcon, { className: "size-4 opacity-50" }) })
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
function SelectContent({ className, children, position = "item-aligned", align = "center", ...props }) {
|
|
175
|
+
return /* @__PURE__ */ jsx7(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
|
|
176
|
+
SelectPrimitive.Content,
|
|
177
|
+
{
|
|
178
|
+
"data-slot": "select-content",
|
|
179
|
+
className: cn(
|
|
180
|
+
"relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
181
|
+
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",
|
|
182
|
+
className
|
|
183
|
+
),
|
|
184
|
+
position,
|
|
185
|
+
align,
|
|
186
|
+
...props,
|
|
187
|
+
children: [
|
|
188
|
+
/* @__PURE__ */ jsx7(SelectScrollUpButton, {}),
|
|
189
|
+
/* @__PURE__ */ jsx7(
|
|
190
|
+
SelectPrimitive.Viewport,
|
|
191
|
+
{
|
|
192
|
+
className: cn(
|
|
193
|
+
"p-1",
|
|
194
|
+
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
|
|
195
|
+
),
|
|
196
|
+
children
|
|
197
|
+
}
|
|
198
|
+
),
|
|
199
|
+
/* @__PURE__ */ jsx7(SelectScrollDownButton, {})
|
|
200
|
+
]
|
|
201
|
+
}
|
|
202
|
+
) });
|
|
203
|
+
}
|
|
204
|
+
function SelectLabel({ className, ...props }) {
|
|
205
|
+
return /* @__PURE__ */ jsx7(SelectPrimitive.Label, { "data-slot": "select-label", className: cn("px-2 py-1.5 text-xs text-muted-foreground", className), ...props });
|
|
206
|
+
}
|
|
207
|
+
function SelectItem({ className, children, ...props }) {
|
|
208
|
+
return /* @__PURE__ */ jsxs(
|
|
209
|
+
SelectPrimitive.Item,
|
|
210
|
+
{
|
|
211
|
+
"data-slot": "select-item",
|
|
212
|
+
className: cn(
|
|
213
|
+
"relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
214
|
+
className
|
|
215
|
+
),
|
|
216
|
+
...props,
|
|
217
|
+
children: [
|
|
218
|
+
/* @__PURE__ */ jsx7("span", { "data-slot": "select-item-indicator", className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx7(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx7(CheckIcon, { className: "size-4" }) }) }),
|
|
219
|
+
/* @__PURE__ */ jsx7(SelectPrimitive.ItemText, { children })
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
);
|
|
223
|
+
}
|
|
224
|
+
function SelectSeparator({ className, ...props }) {
|
|
225
|
+
return /* @__PURE__ */ jsx7(SelectPrimitive.Separator, { "data-slot": "select-separator", className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className), ...props });
|
|
226
|
+
}
|
|
227
|
+
function SelectScrollUpButton({ className, ...props }) {
|
|
228
|
+
return /* @__PURE__ */ jsx7(SelectPrimitive.ScrollUpButton, { "data-slot": "select-scroll-up-button", className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: /* @__PURE__ */ jsx7(ChevronUpIcon, { className: "size-4" }) });
|
|
229
|
+
}
|
|
230
|
+
function SelectScrollDownButton({ className, ...props }) {
|
|
231
|
+
return /* @__PURE__ */ jsx7(SelectPrimitive.ScrollDownButton, { "data-slot": "select-scroll-down-button", className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: /* @__PURE__ */ jsx7(ChevronDownIcon, { className: "size-4" }) });
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// src/components/dialog.jsx
|
|
235
|
+
import * as React8 from "react";
|
|
236
|
+
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
237
|
+
import { X } from "lucide-react";
|
|
238
|
+
import { jsx as jsx8, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
239
|
+
var Dialog = DialogPrimitive.Root;
|
|
240
|
+
var DialogTrigger = DialogPrimitive.Trigger;
|
|
241
|
+
var DialogPortal = DialogPrimitive.Portal;
|
|
242
|
+
var DialogClose = DialogPrimitive.Close;
|
|
243
|
+
var DialogOverlay = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
|
|
244
|
+
DialogPrimitive.Overlay,
|
|
245
|
+
{
|
|
246
|
+
ref,
|
|
247
|
+
className: cn(
|
|
248
|
+
"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
249
|
+
className
|
|
250
|
+
),
|
|
251
|
+
...props
|
|
252
|
+
}
|
|
253
|
+
));
|
|
254
|
+
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
255
|
+
var DialogContent = React8.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(DialogPortal, { children: [
|
|
256
|
+
/* @__PURE__ */ jsx8(DialogOverlay, {}),
|
|
257
|
+
/* @__PURE__ */ jsxs2(
|
|
258
|
+
DialogPrimitive.Content,
|
|
259
|
+
{
|
|
260
|
+
ref,
|
|
261
|
+
className: cn(
|
|
262
|
+
"fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg max-h-[85vh] overflow-y-auto",
|
|
263
|
+
className
|
|
264
|
+
),
|
|
265
|
+
...props,
|
|
266
|
+
children: [
|
|
267
|
+
children,
|
|
268
|
+
/* @__PURE__ */ jsxs2(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", children: [
|
|
269
|
+
/* @__PURE__ */ jsx8(X, { className: "h-4 w-4" }),
|
|
270
|
+
/* @__PURE__ */ jsx8("span", { className: "sr-only", children: "Close" })
|
|
271
|
+
] })
|
|
272
|
+
]
|
|
273
|
+
}
|
|
274
|
+
)
|
|
275
|
+
] }));
|
|
276
|
+
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
277
|
+
var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx8("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
|
|
278
|
+
DialogHeader.displayName = "DialogHeader";
|
|
279
|
+
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx8("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
280
|
+
DialogFooter.displayName = "DialogFooter";
|
|
281
|
+
var DialogTitle = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(DialogPrimitive.Title, { ref, className: cn("text-lg font-semibold leading-none tracking-tight", className), ...props }));
|
|
282
|
+
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
283
|
+
var DialogDescription = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
284
|
+
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
285
|
+
|
|
286
|
+
// src/components/alert-dialog.jsx
|
|
287
|
+
import * as React9 from "react";
|
|
288
|
+
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
289
|
+
import { jsx as jsx9, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
290
|
+
var AlertDialog = AlertDialogPrimitive.Root;
|
|
291
|
+
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
292
|
+
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
293
|
+
var AlertDialogOverlay = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
294
|
+
AlertDialogPrimitive.Overlay,
|
|
295
|
+
{
|
|
296
|
+
className: cn("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className),
|
|
297
|
+
...props,
|
|
298
|
+
ref
|
|
299
|
+
}
|
|
300
|
+
));
|
|
301
|
+
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
302
|
+
var AlertDialogContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs3(AlertDialogPortal, { children: [
|
|
303
|
+
/* @__PURE__ */ jsx9(AlertDialogOverlay, {}),
|
|
304
|
+
/* @__PURE__ */ jsx9(
|
|
305
|
+
AlertDialogPrimitive.Content,
|
|
306
|
+
{
|
|
307
|
+
ref,
|
|
308
|
+
className: cn(
|
|
309
|
+
"fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg",
|
|
310
|
+
className
|
|
311
|
+
),
|
|
312
|
+
...props
|
|
313
|
+
}
|
|
314
|
+
)
|
|
315
|
+
] }));
|
|
316
|
+
AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
317
|
+
var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx9("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
|
|
318
|
+
AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
319
|
+
var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx9("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
320
|
+
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
321
|
+
var AlertDialogTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(AlertDialogPrimitive.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
|
|
322
|
+
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
323
|
+
var AlertDialogDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(AlertDialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
324
|
+
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
325
|
+
var AlertDialogAction = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
|
|
326
|
+
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
327
|
+
var AlertDialogCancel = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(AlertDialogPrimitive.Cancel, { ref, className: cn(buttonVariants({ variant: "outline" }), "mt-2 sm:mt-0", className), ...props }));
|
|
328
|
+
AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
|
|
329
|
+
|
|
330
|
+
// src/components/dropdown-menu.jsx
|
|
331
|
+
import * as React10 from "react";
|
|
332
|
+
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
333
|
+
import { Check as Check2, ChevronRight, Circle as Circle2 } from "lucide-react";
|
|
334
|
+
import { jsx as jsx10, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
335
|
+
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
336
|
+
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
337
|
+
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
338
|
+
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
339
|
+
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
340
|
+
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
341
|
+
var DropdownMenuContent = React10.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx10(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx10(
|
|
342
|
+
DropdownMenuPrimitive.Content,
|
|
343
|
+
{
|
|
344
|
+
ref,
|
|
345
|
+
sideOffset,
|
|
346
|
+
className: cn(
|
|
347
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
348
|
+
className
|
|
349
|
+
),
|
|
350
|
+
...props
|
|
351
|
+
}
|
|
352
|
+
) }));
|
|
353
|
+
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
354
|
+
var DropdownMenuItem = React10.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
355
|
+
DropdownMenuPrimitive.Item,
|
|
356
|
+
{
|
|
357
|
+
ref,
|
|
358
|
+
className: cn(
|
|
359
|
+
"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
360
|
+
inset && "pl-8",
|
|
361
|
+
className
|
|
362
|
+
),
|
|
363
|
+
...props
|
|
364
|
+
}
|
|
365
|
+
));
|
|
366
|
+
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
367
|
+
var DropdownMenuCheckboxItem = React10.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs4(
|
|
368
|
+
DropdownMenuPrimitive.CheckboxItem,
|
|
369
|
+
{
|
|
370
|
+
ref,
|
|
371
|
+
className: cn(
|
|
372
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
373
|
+
className
|
|
374
|
+
),
|
|
375
|
+
checked,
|
|
376
|
+
...props,
|
|
377
|
+
children: [
|
|
378
|
+
/* @__PURE__ */ jsx10("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx10(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx10(Check2, { className: "h-4 w-4" }) }) }),
|
|
379
|
+
children
|
|
380
|
+
]
|
|
381
|
+
}
|
|
382
|
+
));
|
|
383
|
+
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
384
|
+
var DropdownMenuRadioItem = React10.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs4(
|
|
385
|
+
DropdownMenuPrimitive.RadioItem,
|
|
386
|
+
{
|
|
387
|
+
ref,
|
|
388
|
+
className: cn(
|
|
389
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
390
|
+
className
|
|
391
|
+
),
|
|
392
|
+
...props,
|
|
393
|
+
children: [
|
|
394
|
+
/* @__PURE__ */ jsx10("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx10(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx10(Circle2, { className: "h-2 w-2 fill-current" }) }) }),
|
|
395
|
+
children
|
|
396
|
+
]
|
|
397
|
+
}
|
|
398
|
+
));
|
|
399
|
+
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
400
|
+
var DropdownMenuLabel = React10.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
401
|
+
DropdownMenuPrimitive.Label,
|
|
402
|
+
{
|
|
403
|
+
ref,
|
|
404
|
+
className: cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className),
|
|
405
|
+
...props
|
|
406
|
+
}
|
|
407
|
+
));
|
|
408
|
+
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
409
|
+
var DropdownMenuSeparator = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(DropdownMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
|
|
410
|
+
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
411
|
+
|
|
412
|
+
// src/components/table.jsx
|
|
413
|
+
import * as React11 from "react";
|
|
414
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
415
|
+
var Table = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx11("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) }));
|
|
416
|
+
Table.displayName = "Table";
|
|
417
|
+
var TableHeader = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
|
|
418
|
+
TableHeader.displayName = "TableHeader";
|
|
419
|
+
var TableBody = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props }));
|
|
420
|
+
TableBody.displayName = "TableBody";
|
|
421
|
+
var TableRow = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
422
|
+
"tr",
|
|
423
|
+
{
|
|
424
|
+
ref,
|
|
425
|
+
className: cn("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", className),
|
|
426
|
+
...props
|
|
427
|
+
}
|
|
428
|
+
));
|
|
429
|
+
TableRow.displayName = "TableRow";
|
|
430
|
+
var TableHead = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
431
|
+
"th",
|
|
432
|
+
{
|
|
433
|
+
ref,
|
|
434
|
+
className: cn(
|
|
435
|
+
"h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
|
|
436
|
+
className
|
|
437
|
+
),
|
|
438
|
+
...props
|
|
439
|
+
}
|
|
440
|
+
));
|
|
441
|
+
TableHead.displayName = "TableHead";
|
|
442
|
+
var TableCell = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11("td", { ref, className: cn("p-2 align-middle [&:has([role=checkbox])]:pr-0", className), ...props }));
|
|
443
|
+
TableCell.displayName = "TableCell";
|
|
444
|
+
|
|
445
|
+
// src/components/badge.jsx
|
|
446
|
+
import * as React12 from "react";
|
|
447
|
+
import { cva as cva2 } from "class-variance-authority";
|
|
448
|
+
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
449
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
450
|
+
var badgeVariants = cva2(
|
|
451
|
+
"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [&>svg]:pointer-events-none [&>svg]:size-3",
|
|
452
|
+
{
|
|
453
|
+
variants: {
|
|
454
|
+
variant: {
|
|
455
|
+
default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
456
|
+
secondary: "bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
|
|
457
|
+
destructive: "bg-destructive text-destructive-foreground [a&]:hover:bg-destructive/90",
|
|
458
|
+
success: "bg-success text-success-foreground [a&]:hover:bg-success/90",
|
|
459
|
+
warning: "bg-warning text-warning-foreground [a&]:hover:bg-warning/90",
|
|
460
|
+
info: "bg-info text-info-foreground [a&]:hover:bg-info/90",
|
|
461
|
+
outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
|
|
462
|
+
}
|
|
463
|
+
},
|
|
464
|
+
defaultVariants: {
|
|
465
|
+
variant: "default"
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
);
|
|
469
|
+
function Badge({ className, variant = "default", asChild = false, ...props }) {
|
|
470
|
+
const Comp = asChild ? Slot2 : "span";
|
|
471
|
+
return /* @__PURE__ */ jsx12(Comp, { "data-slot": "badge", className: cn(badgeVariants({ variant }), className), ...props });
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
// src/components/alert.jsx
|
|
475
|
+
import * as React13 from "react";
|
|
476
|
+
import { cva as cva3 } from "class-variance-authority";
|
|
477
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
478
|
+
var alertVariants = cva3(
|
|
479
|
+
"relative w-full rounded-lg border px-4 py-3 text-sm grid grid-cols-[0_1fr] has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
480
|
+
{
|
|
481
|
+
variants: {
|
|
482
|
+
variant: {
|
|
483
|
+
default: "bg-card text-card-foreground border-border",
|
|
484
|
+
success: "bg-success/10 text-success border-success/30 [&>svg]:text-success",
|
|
485
|
+
warning: "bg-warning/10 text-warning border-warning/30 [&>svg]:text-warning",
|
|
486
|
+
info: "bg-info/10 text-info border-info/30 [&>svg]:text-info",
|
|
487
|
+
destructive: "bg-destructive/10 text-destructive border-destructive/30 [&>svg]:text-destructive"
|
|
488
|
+
}
|
|
489
|
+
},
|
|
490
|
+
defaultVariants: {
|
|
491
|
+
variant: "default"
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
);
|
|
495
|
+
var Alert = React13.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx13("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
|
|
496
|
+
Alert.displayName = "Alert";
|
|
497
|
+
var AlertTitle = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13("h5", { ref, className: cn("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight", className), ...props }));
|
|
498
|
+
AlertTitle.displayName = "AlertTitle";
|
|
499
|
+
var AlertDescription = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13("div", { ref, className: cn("col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed", className), ...props }));
|
|
500
|
+
AlertDescription.displayName = "AlertDescription";
|
|
501
|
+
|
|
502
|
+
// src/components/breadcrumb.jsx
|
|
503
|
+
import * as React14 from "react";
|
|
504
|
+
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
|
505
|
+
import { ChevronRight as ChevronRight2 } from "lucide-react";
|
|
506
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
507
|
+
var Breadcrumb = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14("nav", { ref, "aria-label": "breadcrumb", className: cn("text-sm", className), ...props }));
|
|
508
|
+
Breadcrumb.displayName = "Breadcrumb";
|
|
509
|
+
var BreadcrumbList = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14("ol", { ref, className: cn("flex flex-wrap items-center gap-1.5 break-words text-muted-foreground", className), ...props }));
|
|
510
|
+
BreadcrumbList.displayName = "BreadcrumbList";
|
|
511
|
+
var BreadcrumbItem = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props }));
|
|
512
|
+
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
513
|
+
var BreadcrumbLink = React14.forwardRef(({ className, asChild, ...props }, ref) => {
|
|
514
|
+
const Comp = asChild ? Slot3 : "a";
|
|
515
|
+
return /* @__PURE__ */ jsx14(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
|
|
516
|
+
});
|
|
517
|
+
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
518
|
+
var BreadcrumbPage = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14("span", { ref, role: "link", "aria-disabled": "true", "aria-current": "page", className: cn("font-medium text-foreground", className), ...props }));
|
|
519
|
+
BreadcrumbPage.displayName = "BreadcrumbPage";
|
|
520
|
+
var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ jsx14("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children ?? /* @__PURE__ */ jsx14(ChevronRight2, {}) });
|
|
521
|
+
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
|
522
|
+
|
|
523
|
+
// src/components/pagination.jsx
|
|
524
|
+
import * as React15 from "react";
|
|
525
|
+
import { ChevronLeft, ChevronRight as ChevronRight3 } from "lucide-react";
|
|
526
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
527
|
+
var Pagination = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15("nav", { ref, "aria-label": "pagination", className: cn("flex items-center gap-2", className), ...props }));
|
|
528
|
+
Pagination.displayName = "Pagination";
|
|
529
|
+
var PaginationContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props }));
|
|
530
|
+
PaginationContent.displayName = "PaginationContent";
|
|
531
|
+
var PaginationItem = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15("li", { ref, className: cn(className), ...props }));
|
|
532
|
+
PaginationItem.displayName = "PaginationItem";
|
|
533
|
+
var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */ jsx15(Button, { variant: "outline", size: "icon", "aria-label": "Go to previous page", className: cn(className), ...props, children: /* @__PURE__ */ jsx15(ChevronLeft, { className: "h-4 w-4" }) });
|
|
534
|
+
PaginationPrevious.displayName = "PaginationPrevious";
|
|
535
|
+
var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ jsx15(Button, { variant: "outline", size: "icon", "aria-label": "Go to next page", className: cn(className), ...props, children: /* @__PURE__ */ jsx15(ChevronRight3, { className: "h-4 w-4" }) });
|
|
536
|
+
PaginationNext.displayName = "PaginationNext";
|
|
537
|
+
|
|
538
|
+
// src/components/tooltip.jsx
|
|
539
|
+
import * as React16 from "react";
|
|
540
|
+
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
541
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
542
|
+
var TooltipProvider = TooltipPrimitive.Provider;
|
|
543
|
+
var Tooltip = TooltipPrimitive.Root;
|
|
544
|
+
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
545
|
+
var TooltipContent = React16.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx16(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx16(
|
|
546
|
+
TooltipPrimitive.Content,
|
|
547
|
+
{
|
|
548
|
+
ref,
|
|
549
|
+
sideOffset,
|
|
550
|
+
className: cn(
|
|
551
|
+
"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-xs text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
552
|
+
className
|
|
553
|
+
),
|
|
554
|
+
...props
|
|
555
|
+
}
|
|
556
|
+
) }));
|
|
557
|
+
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
558
|
+
|
|
559
|
+
// src/components/progress.jsx
|
|
560
|
+
import * as React17 from "react";
|
|
561
|
+
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
562
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
563
|
+
var Progress = React17.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
564
|
+
ProgressPrimitive.Root,
|
|
565
|
+
{
|
|
566
|
+
ref,
|
|
567
|
+
className: cn("relative h-2 w-full overflow-hidden rounded-full bg-secondary", className),
|
|
568
|
+
...props,
|
|
569
|
+
children: /* @__PURE__ */ jsx17(
|
|
570
|
+
ProgressPrimitive.Indicator,
|
|
571
|
+
{
|
|
572
|
+
className: "h-full w-full flex-1 bg-primary transition-transform",
|
|
573
|
+
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
574
|
+
}
|
|
575
|
+
)
|
|
576
|
+
}
|
|
577
|
+
));
|
|
578
|
+
Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
579
|
+
|
|
580
|
+
// src/components/tabs.jsx
|
|
581
|
+
import * as React18 from "react";
|
|
582
|
+
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
583
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
584
|
+
var Tabs = TabsPrimitive.Root;
|
|
585
|
+
var TabsList = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
586
|
+
TabsPrimitive.List,
|
|
587
|
+
{
|
|
588
|
+
ref,
|
|
589
|
+
className: cn(
|
|
590
|
+
"inline-flex h-9 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
|
|
591
|
+
className
|
|
592
|
+
),
|
|
593
|
+
...props
|
|
594
|
+
}
|
|
595
|
+
));
|
|
596
|
+
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
597
|
+
var TabsTrigger = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
598
|
+
TabsPrimitive.Trigger,
|
|
599
|
+
{
|
|
600
|
+
ref,
|
|
601
|
+
className: cn(
|
|
602
|
+
"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",
|
|
603
|
+
className
|
|
604
|
+
),
|
|
605
|
+
...props
|
|
606
|
+
}
|
|
607
|
+
));
|
|
608
|
+
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
609
|
+
var TabsContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
610
|
+
TabsPrimitive.Content,
|
|
611
|
+
{
|
|
612
|
+
ref,
|
|
613
|
+
className: cn("mt-2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", className),
|
|
614
|
+
...props
|
|
615
|
+
}
|
|
616
|
+
));
|
|
617
|
+
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
618
|
+
|
|
619
|
+
// src/components/popover.jsx
|
|
620
|
+
import * as React19 from "react";
|
|
621
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
622
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
623
|
+
var Popover = PopoverPrimitive.Root;
|
|
624
|
+
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
625
|
+
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
626
|
+
var PopoverContent = React19.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx19(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx19(
|
|
627
|
+
PopoverPrimitive.Content,
|
|
628
|
+
{
|
|
629
|
+
ref,
|
|
630
|
+
align,
|
|
631
|
+
sideOffset,
|
|
632
|
+
className: cn(
|
|
633
|
+
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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",
|
|
634
|
+
className
|
|
635
|
+
),
|
|
636
|
+
...props
|
|
637
|
+
}
|
|
638
|
+
) }));
|
|
639
|
+
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
640
|
+
export {
|
|
641
|
+
Alert,
|
|
642
|
+
AlertDescription,
|
|
643
|
+
AlertDialog,
|
|
644
|
+
AlertDialogAction,
|
|
645
|
+
AlertDialogCancel,
|
|
646
|
+
AlertDialogContent,
|
|
647
|
+
AlertDialogDescription,
|
|
648
|
+
AlertDialogFooter,
|
|
649
|
+
AlertDialogHeader,
|
|
650
|
+
AlertDialogTitle,
|
|
651
|
+
AlertDialogTrigger,
|
|
652
|
+
AlertTitle,
|
|
653
|
+
Badge,
|
|
654
|
+
Breadcrumb,
|
|
655
|
+
BreadcrumbItem,
|
|
656
|
+
BreadcrumbLink,
|
|
657
|
+
BreadcrumbList,
|
|
658
|
+
BreadcrumbPage,
|
|
659
|
+
BreadcrumbSeparator,
|
|
660
|
+
Button,
|
|
661
|
+
Checkbox,
|
|
662
|
+
Dialog,
|
|
663
|
+
DialogClose,
|
|
664
|
+
DialogContent,
|
|
665
|
+
DialogDescription,
|
|
666
|
+
DialogFooter,
|
|
667
|
+
DialogHeader,
|
|
668
|
+
DialogOverlay,
|
|
669
|
+
DialogPortal,
|
|
670
|
+
DialogTitle,
|
|
671
|
+
DialogTrigger,
|
|
672
|
+
DropdownMenu,
|
|
673
|
+
DropdownMenuCheckboxItem,
|
|
674
|
+
DropdownMenuContent,
|
|
675
|
+
DropdownMenuGroup,
|
|
676
|
+
DropdownMenuItem,
|
|
677
|
+
DropdownMenuLabel,
|
|
678
|
+
DropdownMenuPortal,
|
|
679
|
+
DropdownMenuRadioGroup,
|
|
680
|
+
DropdownMenuRadioItem,
|
|
681
|
+
DropdownMenuSeparator,
|
|
682
|
+
DropdownMenuSub,
|
|
683
|
+
DropdownMenuTrigger,
|
|
684
|
+
Input,
|
|
685
|
+
Label,
|
|
686
|
+
Pagination,
|
|
687
|
+
PaginationContent,
|
|
688
|
+
PaginationItem,
|
|
689
|
+
PaginationNext,
|
|
690
|
+
PaginationPrevious,
|
|
691
|
+
Popover,
|
|
692
|
+
PopoverAnchor,
|
|
693
|
+
PopoverContent,
|
|
694
|
+
PopoverTrigger,
|
|
695
|
+
Progress,
|
|
696
|
+
RadioGroup,
|
|
697
|
+
RadioGroupItem,
|
|
698
|
+
Select,
|
|
699
|
+
SelectContent,
|
|
700
|
+
SelectGroup,
|
|
701
|
+
SelectItem,
|
|
702
|
+
SelectLabel,
|
|
703
|
+
SelectScrollDownButton,
|
|
704
|
+
SelectScrollUpButton,
|
|
705
|
+
SelectSeparator,
|
|
706
|
+
SelectTrigger,
|
|
707
|
+
SelectValue,
|
|
708
|
+
Table,
|
|
709
|
+
TableBody,
|
|
710
|
+
TableCell,
|
|
711
|
+
TableHead,
|
|
712
|
+
TableHeader,
|
|
713
|
+
TableRow,
|
|
714
|
+
Tabs,
|
|
715
|
+
TabsContent,
|
|
716
|
+
TabsList,
|
|
717
|
+
TabsTrigger,
|
|
718
|
+
Textarea,
|
|
719
|
+
Tooltip,
|
|
720
|
+
TooltipContent,
|
|
721
|
+
TooltipProvider,
|
|
722
|
+
TooltipTrigger,
|
|
723
|
+
alertVariants,
|
|
724
|
+
badgeVariants,
|
|
725
|
+
buttonVariants,
|
|
726
|
+
cn
|
|
727
|
+
};
|
|
728
|
+
//# sourceMappingURL=index.js.map
|