@togo-framework/ui 0.1.10 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-KD4MPGYQ.js → chunk-7B6OKTGY.js} +80 -4
- package/dist/chunk-7B6OKTGY.js.map +1 -0
- package/dist/chunk-NRF3KNQX.js +117 -0
- package/dist/chunk-NRF3KNQX.js.map +1 -0
- package/dist/{chunk-XXP2ZYPY.js → chunk-YYV7ECKZ.js} +468 -580
- package/dist/chunk-YYV7ECKZ.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +25 -21
- package/dist/index.js.map +1 -1
- package/dist/shadcn.js +20 -18
- package/dist/theme/index.d.ts +25 -1
- package/dist/theme/index.js +4 -1
- package/dist/theme/tokens.semantic.css +102 -0
- package/package.json +1 -1
- package/dist/chunk-KD4MPGYQ.js.map +0 -1
- package/dist/chunk-XXP2ZYPY.js.map +0 -1
|
@@ -1,25 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Button,
|
|
3
|
+
buttonVariants,
|
|
4
|
+
cn
|
|
5
|
+
} from "./chunk-NRF3KNQX.js";
|
|
6
|
+
|
|
1
7
|
// src/components/ui/accordion.tsx
|
|
2
8
|
import * as React from "react";
|
|
3
9
|
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
4
10
|
import { ChevronDown } from "lucide-react";
|
|
5
|
-
|
|
6
|
-
// src/lib/utils.ts
|
|
7
|
-
import { clsx } from "clsx";
|
|
8
|
-
import { twMerge } from "tailwind-merge";
|
|
9
|
-
function cn(...inputs) {
|
|
10
|
-
return twMerge(clsx(inputs));
|
|
11
|
-
}
|
|
12
|
-
function formatRelativeTime(isoString) {
|
|
13
|
-
const diff = Date.now() - new Date(isoString).getTime();
|
|
14
|
-
const mins = Math.floor(diff / 6e4);
|
|
15
|
-
if (mins < 1) return "just now";
|
|
16
|
-
if (mins < 60) return `${mins}m ago`;
|
|
17
|
-
const hours = Math.floor(mins / 60);
|
|
18
|
-
if (hours < 24) return `${hours}h ago`;
|
|
19
|
-
return `${Math.floor(hours / 24)}d ago`;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// src/components/ui/accordion.tsx
|
|
23
11
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
24
12
|
var Accordion = AccordionPrimitive.Root;
|
|
25
13
|
var AccordionItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Item, { ref, className: cn("border-b", className), ...props }));
|
|
@@ -81,55 +69,13 @@ var AlertDescription = React2.forwardRef(
|
|
|
81
69
|
AlertDescription.displayName = "AlertDescription";
|
|
82
70
|
|
|
83
71
|
// src/components/ui/alert-dialog.tsx
|
|
84
|
-
import * as React4 from "react";
|
|
85
|
-
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
86
|
-
|
|
87
|
-
// src/components/ui/button.tsx
|
|
88
72
|
import * as React3 from "react";
|
|
89
|
-
import
|
|
90
|
-
import {
|
|
91
|
-
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
92
|
-
var buttonVariants = cva2(
|
|
93
|
-
// Prism v2: token-driven motion (duration-fast/ease-standard), tactile press
|
|
94
|
-
// feedback (active:scale), elevation on solid variants, token focus ring.
|
|
95
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-all duration-fast ease-standard active:scale-[0.98] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
96
|
-
{
|
|
97
|
-
variants: {
|
|
98
|
-
variant: {
|
|
99
|
-
default: "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90 hover:shadow-md",
|
|
100
|
-
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90 hover:shadow-md",
|
|
101
|
-
outline: "border border-input bg-background shadow-xs hover:bg-primary/10 hover:text-primary hover:border-primary/40",
|
|
102
|
-
secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
|
|
103
|
-
ghost: "hover:bg-primary/10 hover:text-primary",
|
|
104
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
105
|
-
},
|
|
106
|
-
size: {
|
|
107
|
-
default: "h-10 px-4 py-2",
|
|
108
|
-
sm: "h-9 rounded-md px-3",
|
|
109
|
-
lg: "h-11 rounded-md px-8",
|
|
110
|
-
icon: "h-10 w-10"
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
defaultVariants: {
|
|
114
|
-
variant: "default",
|
|
115
|
-
size: "default"
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
);
|
|
119
|
-
var Button = React3.forwardRef(
|
|
120
|
-
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
121
|
-
const Comp = asChild ? Slot : "button";
|
|
122
|
-
return /* @__PURE__ */ jsx3(Comp, { className: cn(buttonVariants({ variant, size, className })), ref, ...props });
|
|
123
|
-
}
|
|
124
|
-
);
|
|
125
|
-
Button.displayName = "Button";
|
|
126
|
-
|
|
127
|
-
// src/components/ui/alert-dialog.tsx
|
|
128
|
-
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
73
|
+
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
74
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
129
75
|
var AlertDialog = AlertDialogPrimitive.Root;
|
|
130
76
|
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
131
77
|
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
132
|
-
var AlertDialogOverlay =
|
|
78
|
+
var AlertDialogOverlay = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
133
79
|
AlertDialogPrimitive.Overlay,
|
|
134
80
|
{
|
|
135
81
|
className: cn(
|
|
@@ -141,9 +87,9 @@ var AlertDialogOverlay = React4.forwardRef(({ className, ...props }, ref) => /*
|
|
|
141
87
|
}
|
|
142
88
|
));
|
|
143
89
|
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
144
|
-
var AlertDialogContent =
|
|
145
|
-
/* @__PURE__ */
|
|
146
|
-
/* @__PURE__ */
|
|
90
|
+
var AlertDialogContent = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs2(AlertDialogPortal, { children: [
|
|
91
|
+
/* @__PURE__ */ jsx3(AlertDialogOverlay, {}),
|
|
92
|
+
/* @__PURE__ */ jsx3(
|
|
147
93
|
AlertDialogPrimitive.Content,
|
|
148
94
|
{
|
|
149
95
|
ref,
|
|
@@ -156,17 +102,17 @@ var AlertDialogContent = React4.forwardRef(({ className, ...props }, ref) => /*
|
|
|
156
102
|
)
|
|
157
103
|
] }));
|
|
158
104
|
AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
159
|
-
var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
105
|
+
var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx3("div", { className: cn("flex flex-col space-y-2 text-center sm:text-start", className), ...props });
|
|
160
106
|
AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
161
|
-
var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
107
|
+
var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx3("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
162
108
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
163
|
-
var AlertDialogTitle =
|
|
109
|
+
var AlertDialogTitle = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(AlertDialogPrimitive.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
|
|
164
110
|
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
165
|
-
var AlertDialogDescription =
|
|
111
|
+
var AlertDialogDescription = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(AlertDialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
166
112
|
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
167
|
-
var AlertDialogAction =
|
|
113
|
+
var AlertDialogAction = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
|
|
168
114
|
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
169
|
-
var AlertDialogCancel =
|
|
115
|
+
var AlertDialogCancel = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
170
116
|
AlertDialogPrimitive.Cancel,
|
|
171
117
|
{
|
|
172
118
|
ref,
|
|
@@ -181,10 +127,10 @@ import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
|
|
|
181
127
|
var AspectRatio = AspectRatioPrimitive.Root;
|
|
182
128
|
|
|
183
129
|
// src/components/ui/avatar.tsx
|
|
184
|
-
import * as
|
|
130
|
+
import * as React4 from "react";
|
|
185
131
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
186
|
-
import { jsx as
|
|
187
|
-
var Avatar =
|
|
132
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
133
|
+
var Avatar = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
|
|
188
134
|
AvatarPrimitive.Root,
|
|
189
135
|
{
|
|
190
136
|
ref,
|
|
@@ -193,9 +139,9 @@ var Avatar = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
193
139
|
}
|
|
194
140
|
));
|
|
195
141
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
196
|
-
var AvatarImage =
|
|
142
|
+
var AvatarImage = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(AvatarPrimitive.Image, { ref, className: cn("aspect-square h-full w-full", className), ...props }));
|
|
197
143
|
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
198
|
-
var AvatarFallback =
|
|
144
|
+
var AvatarFallback = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
|
|
199
145
|
AvatarPrimitive.Fallback,
|
|
200
146
|
{
|
|
201
147
|
ref,
|
|
@@ -206,9 +152,9 @@ var AvatarFallback = React5.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
206
152
|
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
207
153
|
|
|
208
154
|
// src/components/ui/badge.tsx
|
|
209
|
-
import { cva as
|
|
210
|
-
import { jsx as
|
|
211
|
-
var badgeVariants =
|
|
155
|
+
import { cva as cva2 } from "class-variance-authority";
|
|
156
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
157
|
+
var badgeVariants = cva2(
|
|
212
158
|
"inline-flex items-center gap-1 whitespace-nowrap rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-all duration-fast ease-standard focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 [&_svg]:size-3 [&_svg]:shrink-0",
|
|
213
159
|
{
|
|
214
160
|
variants: {
|
|
@@ -225,50 +171,50 @@ var badgeVariants = cva3(
|
|
|
225
171
|
}
|
|
226
172
|
);
|
|
227
173
|
var Badge = ({ className, variant, ...props }) => {
|
|
228
|
-
return /* @__PURE__ */
|
|
174
|
+
return /* @__PURE__ */ jsx5("div", { className: cn(badgeVariants({ variant }), className), ...props });
|
|
229
175
|
};
|
|
230
176
|
Badge.displayName = "Badge";
|
|
231
177
|
|
|
232
178
|
// src/components/ui/breadcrumb.tsx
|
|
233
|
-
import * as
|
|
234
|
-
import { Slot
|
|
179
|
+
import * as React5 from "react";
|
|
180
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
235
181
|
import { ChevronRight, MoreHorizontal } from "lucide-react";
|
|
236
|
-
import { jsx as
|
|
237
|
-
var Breadcrumb =
|
|
182
|
+
import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
183
|
+
var Breadcrumb = React5.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx6("nav", { ref, "aria-label": "breadcrumb", ...props }));
|
|
238
184
|
Breadcrumb.displayName = "Breadcrumb";
|
|
239
|
-
var BreadcrumbList =
|
|
240
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
185
|
+
var BreadcrumbList = React5.forwardRef(
|
|
186
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx6("ol", { ref, className: cn("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5", className), ...props })
|
|
241
187
|
);
|
|
242
188
|
BreadcrumbList.displayName = "BreadcrumbList";
|
|
243
|
-
var BreadcrumbItem =
|
|
244
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
189
|
+
var BreadcrumbItem = React5.forwardRef(
|
|
190
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx6("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
|
|
245
191
|
);
|
|
246
192
|
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
247
|
-
var BreadcrumbLink =
|
|
193
|
+
var BreadcrumbLink = React5.forwardRef(
|
|
248
194
|
({ asChild, className, ...props }, ref) => {
|
|
249
|
-
const Comp = asChild ?
|
|
250
|
-
return /* @__PURE__ */
|
|
195
|
+
const Comp = asChild ? Slot : "a";
|
|
196
|
+
return /* @__PURE__ */ jsx6(Comp, { ref, className: cn("rounded-sm transition-colors duration-fast ease-standard hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", className), ...props });
|
|
251
197
|
}
|
|
252
198
|
);
|
|
253
199
|
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
254
|
-
var BreadcrumbPage =
|
|
255
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
200
|
+
var BreadcrumbPage = React5.forwardRef(
|
|
201
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx6("span", { ref, role: "link", "aria-disabled": "true", "aria-current": "page", className: cn("font-normal text-foreground", className), ...props })
|
|
256
202
|
);
|
|
257
203
|
BreadcrumbPage.displayName = "BreadcrumbPage";
|
|
258
|
-
var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */
|
|
204
|
+
var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ jsx6("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5 [&>svg]:rtl:rotate-180", className), ...props, children: children ?? /* @__PURE__ */ jsx6(ChevronRight, {}) });
|
|
259
205
|
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
|
260
206
|
var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs3("span", { role: "presentation", "aria-hidden": "true", className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [
|
|
261
|
-
/* @__PURE__ */
|
|
262
|
-
/* @__PURE__ */
|
|
207
|
+
/* @__PURE__ */ jsx6(MoreHorizontal, { className: "h-4 w-4" }),
|
|
208
|
+
/* @__PURE__ */ jsx6("span", { className: "sr-only", children: "More" })
|
|
263
209
|
] });
|
|
264
210
|
BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
|
|
265
211
|
|
|
266
212
|
// src/components/ui/calendar.tsx
|
|
267
213
|
import { ChevronLeft, ChevronRight as ChevronRight2 } from "lucide-react";
|
|
268
214
|
import { DayPicker } from "react-day-picker";
|
|
269
|
-
import { jsx as
|
|
215
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
270
216
|
var Calendar = ({ className, classNames, showOutsideDays = true, ...props }) => {
|
|
271
|
-
return /* @__PURE__ */
|
|
217
|
+
return /* @__PURE__ */ jsx7(
|
|
272
218
|
DayPicker,
|
|
273
219
|
{
|
|
274
220
|
showOutsideDays,
|
|
@@ -301,8 +247,8 @@ var Calendar = ({ className, classNames, showOutsideDays = true, ...props }) =>
|
|
|
301
247
|
...classNames
|
|
302
248
|
},
|
|
303
249
|
components: {
|
|
304
|
-
IconLeft: ({ ..._props }) => /* @__PURE__ */
|
|
305
|
-
IconRight: ({ ..._props }) => /* @__PURE__ */
|
|
250
|
+
IconLeft: ({ ..._props }) => /* @__PURE__ */ jsx7(ChevronLeft, { className: "h-4 w-4 rtl:rotate-180" }),
|
|
251
|
+
IconRight: ({ ..._props }) => /* @__PURE__ */ jsx7(ChevronRight2, { className: "h-4 w-4 rtl:rotate-180" })
|
|
306
252
|
},
|
|
307
253
|
...props
|
|
308
254
|
}
|
|
@@ -311,59 +257,59 @@ var Calendar = ({ className, classNames, showOutsideDays = true, ...props }) =>
|
|
|
311
257
|
Calendar.displayName = "Calendar";
|
|
312
258
|
|
|
313
259
|
// src/components/ui/card.tsx
|
|
314
|
-
import * as
|
|
315
|
-
import { jsx as
|
|
316
|
-
var Card =
|
|
260
|
+
import * as React6 from "react";
|
|
261
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
262
|
+
var Card = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8("div", { ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-sm transition-shadow duration-base ease-standard", className), ...props }));
|
|
317
263
|
Card.displayName = "Card";
|
|
318
|
-
var CardHeader =
|
|
319
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
264
|
+
var CardHeader = React6.forwardRef(
|
|
265
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx8("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
|
|
320
266
|
);
|
|
321
267
|
CardHeader.displayName = "CardHeader";
|
|
322
|
-
var CardTitle =
|
|
323
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
268
|
+
var CardTitle = React6.forwardRef(
|
|
269
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx8("h3", { ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })
|
|
324
270
|
);
|
|
325
271
|
CardTitle.displayName = "CardTitle";
|
|
326
|
-
var CardDescription =
|
|
327
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
272
|
+
var CardDescription = React6.forwardRef(
|
|
273
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx8("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
|
|
328
274
|
);
|
|
329
275
|
CardDescription.displayName = "CardDescription";
|
|
330
|
-
var CardContent =
|
|
331
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
276
|
+
var CardContent = React6.forwardRef(
|
|
277
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx8("div", { ref, className: cn("p-6 pt-0", className), ...props })
|
|
332
278
|
);
|
|
333
279
|
CardContent.displayName = "CardContent";
|
|
334
|
-
var CardFooter =
|
|
335
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
280
|
+
var CardFooter = React6.forwardRef(
|
|
281
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx8("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
|
|
336
282
|
);
|
|
337
283
|
CardFooter.displayName = "CardFooter";
|
|
338
284
|
|
|
339
285
|
// src/components/ui/carousel.tsx
|
|
340
|
-
import * as
|
|
286
|
+
import * as React7 from "react";
|
|
341
287
|
import useEmblaCarousel from "embla-carousel-react";
|
|
342
288
|
import { ArrowLeft, ArrowRight } from "lucide-react";
|
|
343
|
-
import { jsx as
|
|
344
|
-
var CarouselContext =
|
|
289
|
+
import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
290
|
+
var CarouselContext = React7.createContext(null);
|
|
345
291
|
var useCarousel = () => {
|
|
346
|
-
const context =
|
|
292
|
+
const context = React7.useContext(CarouselContext);
|
|
347
293
|
if (!context) throw new Error("useCarousel must be used within a <Carousel />");
|
|
348
294
|
return context;
|
|
349
295
|
};
|
|
350
|
-
var Carousel =
|
|
296
|
+
var Carousel = React7.forwardRef(
|
|
351
297
|
({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }, ref) => {
|
|
352
298
|
const [carouselRef, api] = useEmblaCarousel({ ...opts, axis: orientation === "horizontal" ? "x" : "y" }, plugins);
|
|
353
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
354
|
-
const [canScrollNext, setCanScrollNext] =
|
|
355
|
-
const onSelect =
|
|
299
|
+
const [canScrollPrev, setCanScrollPrev] = React7.useState(false);
|
|
300
|
+
const [canScrollNext, setCanScrollNext] = React7.useState(false);
|
|
301
|
+
const onSelect = React7.useCallback((api2) => {
|
|
356
302
|
if (!api2) return;
|
|
357
303
|
setCanScrollPrev(api2.canScrollPrev());
|
|
358
304
|
setCanScrollNext(api2.canScrollNext());
|
|
359
305
|
}, []);
|
|
360
|
-
const scrollPrev =
|
|
306
|
+
const scrollPrev = React7.useCallback(() => {
|
|
361
307
|
api?.scrollPrev();
|
|
362
308
|
}, [api]);
|
|
363
|
-
const scrollNext =
|
|
309
|
+
const scrollNext = React7.useCallback(() => {
|
|
364
310
|
api?.scrollNext();
|
|
365
311
|
}, [api]);
|
|
366
|
-
const handleKeyDown =
|
|
312
|
+
const handleKeyDown = React7.useCallback(
|
|
367
313
|
(event) => {
|
|
368
314
|
if (event.key === "ArrowLeft") {
|
|
369
315
|
event.preventDefault();
|
|
@@ -375,11 +321,11 @@ var Carousel = React8.forwardRef(
|
|
|
375
321
|
},
|
|
376
322
|
[scrollPrev, scrollNext]
|
|
377
323
|
);
|
|
378
|
-
|
|
324
|
+
React7.useEffect(() => {
|
|
379
325
|
if (!api || !setApi) return;
|
|
380
326
|
setApi(api);
|
|
381
327
|
}, [api, setApi]);
|
|
382
|
-
|
|
328
|
+
React7.useEffect(() => {
|
|
383
329
|
if (!api) return;
|
|
384
330
|
onSelect(api);
|
|
385
331
|
api.on("reInit", onSelect);
|
|
@@ -388,66 +334,66 @@ var Carousel = React8.forwardRef(
|
|
|
388
334
|
api?.off("select", onSelect);
|
|
389
335
|
};
|
|
390
336
|
}, [api, onSelect]);
|
|
391
|
-
return /* @__PURE__ */
|
|
337
|
+
return /* @__PURE__ */ jsx9(
|
|
392
338
|
CarouselContext.Provider,
|
|
393
339
|
{
|
|
394
340
|
value: { carouselRef, api, opts, orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"), scrollPrev, scrollNext, canScrollPrev, canScrollNext },
|
|
395
|
-
children: /* @__PURE__ */
|
|
341
|
+
children: /* @__PURE__ */ jsx9("div", { ref, onKeyDownCapture: handleKeyDown, className: cn("relative", className), role: "region", "aria-roledescription": "carousel", ...props, children })
|
|
396
342
|
}
|
|
397
343
|
);
|
|
398
344
|
}
|
|
399
345
|
);
|
|
400
346
|
Carousel.displayName = "Carousel";
|
|
401
|
-
var CarouselContent =
|
|
347
|
+
var CarouselContent = React7.forwardRef(
|
|
402
348
|
({ className, ...props }, ref) => {
|
|
403
349
|
const { carouselRef, orientation } = useCarousel();
|
|
404
|
-
return /* @__PURE__ */
|
|
350
|
+
return /* @__PURE__ */ jsx9("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx9("div", { ref, className: cn("flex", orientation === "horizontal" ? "-ms-4" : "-mt-4 flex-col", className), ...props }) });
|
|
405
351
|
}
|
|
406
352
|
);
|
|
407
353
|
CarouselContent.displayName = "CarouselContent";
|
|
408
|
-
var CarouselItem =
|
|
354
|
+
var CarouselItem = React7.forwardRef(
|
|
409
355
|
({ className, ...props }, ref) => {
|
|
410
356
|
const { orientation } = useCarousel();
|
|
411
|
-
return /* @__PURE__ */
|
|
357
|
+
return /* @__PURE__ */ jsx9("div", { ref, role: "group", "aria-roledescription": "slide", className: cn("min-w-0 shrink-0 grow-0 basis-full", orientation === "horizontal" ? "ps-4" : "pt-4", className), ...props });
|
|
412
358
|
}
|
|
413
359
|
);
|
|
414
360
|
CarouselItem.displayName = "CarouselItem";
|
|
415
|
-
var CarouselPrevious =
|
|
361
|
+
var CarouselPrevious = React7.forwardRef(
|
|
416
362
|
({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
417
363
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
418
364
|
return /* @__PURE__ */ jsxs4(Button, { ref, variant, size, className: cn("absolute h-8 w-8 rounded-full", orientation === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90", className), disabled: !canScrollPrev, onClick: scrollPrev, ...props, children: [
|
|
419
|
-
/* @__PURE__ */
|
|
420
|
-
/* @__PURE__ */
|
|
365
|
+
/* @__PURE__ */ jsx9(ArrowLeft, { className: "h-4 w-4" }),
|
|
366
|
+
/* @__PURE__ */ jsx9("span", { className: "sr-only", children: "Previous slide" })
|
|
421
367
|
] });
|
|
422
368
|
}
|
|
423
369
|
);
|
|
424
370
|
CarouselPrevious.displayName = "CarouselPrevious";
|
|
425
|
-
var CarouselNext =
|
|
371
|
+
var CarouselNext = React7.forwardRef(
|
|
426
372
|
({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
427
373
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
428
374
|
return /* @__PURE__ */ jsxs4(Button, { ref, variant, size, className: cn("absolute h-8 w-8 rounded-full", orientation === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90", className), disabled: !canScrollNext, onClick: scrollNext, ...props, children: [
|
|
429
|
-
/* @__PURE__ */
|
|
430
|
-
/* @__PURE__ */
|
|
375
|
+
/* @__PURE__ */ jsx9(ArrowRight, { className: "h-4 w-4" }),
|
|
376
|
+
/* @__PURE__ */ jsx9("span", { className: "sr-only", children: "Next slide" })
|
|
431
377
|
] });
|
|
432
378
|
}
|
|
433
379
|
);
|
|
434
380
|
CarouselNext.displayName = "CarouselNext";
|
|
435
381
|
|
|
436
382
|
// src/components/ui/chart.tsx
|
|
437
|
-
import * as
|
|
383
|
+
import * as React8 from "react";
|
|
438
384
|
import * as RechartsPrimitive from "recharts";
|
|
439
|
-
import { Fragment, jsx as
|
|
385
|
+
import { Fragment, jsx as jsx10, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
440
386
|
var THEMES = { light: "", dark: ".dark" };
|
|
441
|
-
var ChartContext =
|
|
387
|
+
var ChartContext = React8.createContext(null);
|
|
442
388
|
var useChart = () => {
|
|
443
|
-
const context =
|
|
389
|
+
const context = React8.useContext(ChartContext);
|
|
444
390
|
if (!context) throw new Error("useChart must be used within a <ChartContainer />");
|
|
445
391
|
return context;
|
|
446
392
|
};
|
|
447
|
-
var ChartContainer =
|
|
448
|
-
const uniqueId =
|
|
393
|
+
var ChartContainer = React8.forwardRef(({ id, className, children, config, ...props }, ref) => {
|
|
394
|
+
const uniqueId = React8.useId();
|
|
449
395
|
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
450
|
-
return /* @__PURE__ */
|
|
396
|
+
return /* @__PURE__ */ jsx10(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs5(
|
|
451
397
|
"div",
|
|
452
398
|
{
|
|
453
399
|
"data-chart": chartId,
|
|
@@ -455,8 +401,8 @@ var ChartContainer = React9.forwardRef(({ id, className, children, config, ...pr
|
|
|
455
401
|
className: cn("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none", className),
|
|
456
402
|
...props,
|
|
457
403
|
children: [
|
|
458
|
-
/* @__PURE__ */
|
|
459
|
-
/* @__PURE__ */
|
|
404
|
+
/* @__PURE__ */ jsx10(ChartStyle, { id: chartId, config }),
|
|
405
|
+
/* @__PURE__ */ jsx10(RechartsPrimitive.ResponsiveContainer, { children })
|
|
460
406
|
]
|
|
461
407
|
}
|
|
462
408
|
) });
|
|
@@ -465,7 +411,7 @@ ChartContainer.displayName = "Chart";
|
|
|
465
411
|
var ChartStyle = ({ id, config }) => {
|
|
466
412
|
const colorConfig = Object.entries(config).filter(([, c]) => c.theme || c.color);
|
|
467
413
|
if (!colorConfig.length) return null;
|
|
468
|
-
return /* @__PURE__ */
|
|
414
|
+
return /* @__PURE__ */ jsx10("style", { dangerouslySetInnerHTML: {
|
|
469
415
|
__html: Object.entries(THEMES).map(
|
|
470
416
|
([theme, prefix]) => `
|
|
471
417
|
${prefix} [data-chart=${id}] {
|
|
@@ -478,34 +424,34 @@ ${colorConfig.map(([key, itemConfig]) => {
|
|
|
478
424
|
} });
|
|
479
425
|
};
|
|
480
426
|
var ChartTooltip = RechartsPrimitive.Tooltip;
|
|
481
|
-
var ChartTooltipContent =
|
|
427
|
+
var ChartTooltipContent = React8.forwardRef(({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey }, ref) => {
|
|
482
428
|
const { config } = useChart();
|
|
483
|
-
const tooltipLabel =
|
|
429
|
+
const tooltipLabel = React8.useMemo(() => {
|
|
484
430
|
if (hideLabel || !payload?.length) return null;
|
|
485
431
|
const [item] = payload;
|
|
486
432
|
const key = `${labelKey || item.dataKey || item.name || "value"}`;
|
|
487
433
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
488
434
|
const value = !labelKey && typeof label === "string" ? config[label]?.label || label : itemConfig?.label;
|
|
489
|
-
if (labelFormatter) return /* @__PURE__ */
|
|
435
|
+
if (labelFormatter) return /* @__PURE__ */ jsx10("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
|
|
490
436
|
if (!value) return null;
|
|
491
|
-
return /* @__PURE__ */
|
|
437
|
+
return /* @__PURE__ */ jsx10("div", { className: cn("font-medium", labelClassName), children: value });
|
|
492
438
|
}, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
|
|
493
439
|
if (!active || !payload?.length) return null;
|
|
494
440
|
const nestLabel = payload.length === 1 && indicator !== "dot";
|
|
495
441
|
return /* @__PURE__ */ jsxs5("div", { ref, className: cn("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl", className), children: [
|
|
496
442
|
!nestLabel ? tooltipLabel : null,
|
|
497
|
-
/* @__PURE__ */
|
|
443
|
+
/* @__PURE__ */ jsx10("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
|
|
498
444
|
const key = `${nameKey || item.name || item.dataKey || "value"}`;
|
|
499
445
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
500
446
|
const indicatorColor = color || item.payload.fill || item.color;
|
|
501
|
-
return /* @__PURE__ */
|
|
502
|
-
itemConfig?.icon ? /* @__PURE__ */
|
|
447
|
+
return /* @__PURE__ */ jsx10("div", { className: cn("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground", indicator === "dot" && "items-center"), children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs5(Fragment, { children: [
|
|
448
|
+
itemConfig?.icon ? /* @__PURE__ */ jsx10(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx10("div", { className: cn("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)", { "h-2.5 w-2.5": indicator === "dot", "w-1": indicator === "line", "w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed", "my-0.5": nestLabel && indicator === "dashed" }), style: { "--color-bg": indicatorColor, "--color-border": indicatorColor } }),
|
|
503
449
|
/* @__PURE__ */ jsxs5("div", { className: cn("flex flex-1 justify-between leading-none", nestLabel ? "items-end" : "items-center"), children: [
|
|
504
450
|
/* @__PURE__ */ jsxs5("div", { className: "grid gap-1.5", children: [
|
|
505
451
|
nestLabel ? tooltipLabel : null,
|
|
506
|
-
/* @__PURE__ */
|
|
452
|
+
/* @__PURE__ */ jsx10("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
|
|
507
453
|
] }),
|
|
508
|
-
item.value && /* @__PURE__ */
|
|
454
|
+
item.value && /* @__PURE__ */ jsx10("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
|
|
509
455
|
] })
|
|
510
456
|
] }) }, item.dataKey);
|
|
511
457
|
}) })
|
|
@@ -513,14 +459,14 @@ var ChartTooltipContent = React9.forwardRef(({ active, payload, className, indic
|
|
|
513
459
|
});
|
|
514
460
|
ChartTooltipContent.displayName = "ChartTooltip";
|
|
515
461
|
var ChartLegend = RechartsPrimitive.Legend;
|
|
516
|
-
var ChartLegendContent =
|
|
462
|
+
var ChartLegendContent = React8.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
|
|
517
463
|
const { config } = useChart();
|
|
518
464
|
if (!payload?.length) return null;
|
|
519
|
-
return /* @__PURE__ */
|
|
465
|
+
return /* @__PURE__ */ jsx10("div", { ref, className: cn("flex items-center justify-center gap-4", verticalAlign === "top" ? "pb-3" : "pt-3", className), children: payload.map((item) => {
|
|
520
466
|
const key = `${nameKey || item.dataKey || "value"}`;
|
|
521
467
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
522
468
|
return /* @__PURE__ */ jsxs5("div", { className: cn("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"), children: [
|
|
523
|
-
itemConfig?.icon && !hideIcon ? /* @__PURE__ */
|
|
469
|
+
itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsx10(itemConfig.icon, {}) : /* @__PURE__ */ jsx10("div", { className: "h-2 w-2 shrink-0 rounded-[2px]", style: { backgroundColor: item.color } }),
|
|
524
470
|
itemConfig?.label
|
|
525
471
|
] }, item.value);
|
|
526
472
|
}) });
|
|
@@ -539,11 +485,11 @@ function getPayloadConfigFromPayload(config, payload, key) {
|
|
|
539
485
|
}
|
|
540
486
|
|
|
541
487
|
// src/components/ui/checkbox.tsx
|
|
542
|
-
import * as
|
|
488
|
+
import * as React9 from "react";
|
|
543
489
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
544
490
|
import { Check } from "lucide-react";
|
|
545
|
-
import { jsx as
|
|
546
|
-
var Checkbox =
|
|
491
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
492
|
+
var Checkbox = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
547
493
|
CheckboxPrimitive.Root,
|
|
548
494
|
{
|
|
549
495
|
ref,
|
|
@@ -552,7 +498,7 @@ var Checkbox = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
552
498
|
className
|
|
553
499
|
),
|
|
554
500
|
...props,
|
|
555
|
-
children: /* @__PURE__ */
|
|
501
|
+
children: /* @__PURE__ */ jsx11(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx11(Check, { className: "h-4 w-4 transition-transform duration-fast ease-standard" }) })
|
|
556
502
|
}
|
|
557
503
|
));
|
|
558
504
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
@@ -564,20 +510,20 @@ var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
|
|
|
564
510
|
var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
|
|
565
511
|
|
|
566
512
|
// src/components/ui/command.tsx
|
|
567
|
-
import * as
|
|
513
|
+
import * as React11 from "react";
|
|
568
514
|
import { Command as CommandPrimitive } from "cmdk";
|
|
569
515
|
import { Search } from "lucide-react";
|
|
570
516
|
|
|
571
517
|
// src/components/ui/dialog.tsx
|
|
572
|
-
import * as
|
|
518
|
+
import * as React10 from "react";
|
|
573
519
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
574
520
|
import { X } from "lucide-react";
|
|
575
|
-
import { jsx as
|
|
521
|
+
import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
576
522
|
var Dialog = DialogPrimitive.Root;
|
|
577
523
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
578
524
|
var DialogPortal = DialogPrimitive.Portal;
|
|
579
525
|
var DialogClose = DialogPrimitive.Close;
|
|
580
|
-
var DialogOverlay =
|
|
526
|
+
var DialogOverlay = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
|
|
581
527
|
DialogPrimitive.Overlay,
|
|
582
528
|
{
|
|
583
529
|
ref,
|
|
@@ -589,8 +535,8 @@ var DialogOverlay = React11.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
589
535
|
}
|
|
590
536
|
));
|
|
591
537
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
592
|
-
var DialogContent =
|
|
593
|
-
/* @__PURE__ */
|
|
538
|
+
var DialogContent = React10.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(DialogPortal, { children: [
|
|
539
|
+
/* @__PURE__ */ jsx12(DialogOverlay, {}),
|
|
594
540
|
/* @__PURE__ */ jsxs6(
|
|
595
541
|
DialogPrimitive.Content,
|
|
596
542
|
{
|
|
@@ -603,19 +549,19 @@ var DialogContent = React11.forwardRef(({ className, children, ...props }, ref)
|
|
|
603
549
|
children: [
|
|
604
550
|
children,
|
|
605
551
|
/* @__PURE__ */ jsxs6(DialogPrimitive.Close, { className: "absolute right-4 rtl:right-auto rtl:left-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity duration-fast ease-standard data-[state=open]:bg-primary/10 data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", children: [
|
|
606
|
-
/* @__PURE__ */
|
|
607
|
-
/* @__PURE__ */
|
|
552
|
+
/* @__PURE__ */ jsx12(X, { className: "h-4 w-4" }),
|
|
553
|
+
/* @__PURE__ */ jsx12("span", { className: "sr-only", children: "Close" })
|
|
608
554
|
] })
|
|
609
555
|
]
|
|
610
556
|
}
|
|
611
557
|
)
|
|
612
558
|
] }));
|
|
613
559
|
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
614
|
-
var DialogHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
560
|
+
var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx12("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-start", className), ...props });
|
|
615
561
|
DialogHeader.displayName = "DialogHeader";
|
|
616
|
-
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
562
|
+
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx12("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
617
563
|
DialogFooter.displayName = "DialogFooter";
|
|
618
|
-
var DialogTitle =
|
|
564
|
+
var DialogTitle = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
|
|
619
565
|
DialogPrimitive.Title,
|
|
620
566
|
{
|
|
621
567
|
ref,
|
|
@@ -624,12 +570,12 @@ var DialogTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
624
570
|
}
|
|
625
571
|
));
|
|
626
572
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
627
|
-
var DialogDescription =
|
|
573
|
+
var DialogDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
628
574
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
629
575
|
|
|
630
576
|
// src/components/ui/command.tsx
|
|
631
|
-
import { jsx as
|
|
632
|
-
var Command =
|
|
577
|
+
import { jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
578
|
+
var Command = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
|
|
633
579
|
CommandPrimitive,
|
|
634
580
|
{
|
|
635
581
|
ref,
|
|
@@ -638,10 +584,10 @@ var Command = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
638
584
|
}
|
|
639
585
|
));
|
|
640
586
|
Command.displayName = CommandPrimitive.displayName;
|
|
641
|
-
var CommandDialog = ({ children, ...props }) => /* @__PURE__ */
|
|
642
|
-
var CommandInput =
|
|
643
|
-
/* @__PURE__ */
|
|
644
|
-
/* @__PURE__ */
|
|
587
|
+
var CommandDialog = ({ children, ...props }) => /* @__PURE__ */ jsx13(Dialog, { ...props, children: /* @__PURE__ */ jsx13(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx13(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
|
|
588
|
+
var CommandInput = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs7("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
|
|
589
|
+
/* @__PURE__ */ jsx13(Search, { className: "me-2 h-4 w-4 shrink-0 opacity-50" }),
|
|
590
|
+
/* @__PURE__ */ jsx13(
|
|
645
591
|
CommandPrimitive.Input,
|
|
646
592
|
{
|
|
647
593
|
ref,
|
|
@@ -651,7 +597,7 @@ var CommandInput = React12.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
651
597
|
)
|
|
652
598
|
] }));
|
|
653
599
|
CommandInput.displayName = CommandPrimitive.Input.displayName;
|
|
654
|
-
var CommandInputPrimitive =
|
|
600
|
+
var CommandInputPrimitive = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
|
|
655
601
|
CommandPrimitive.Input,
|
|
656
602
|
{
|
|
657
603
|
ref,
|
|
@@ -660,80 +606,80 @@ var CommandInputPrimitive = React12.forwardRef(({ className, ...props }, ref) =>
|
|
|
660
606
|
}
|
|
661
607
|
));
|
|
662
608
|
CommandInputPrimitive.displayName = "CommandInputPrimitive";
|
|
663
|
-
var CommandList =
|
|
609
|
+
var CommandList = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(CommandPrimitive.List, { ref, className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className), ...props }));
|
|
664
610
|
CommandList.displayName = CommandPrimitive.List.displayName;
|
|
665
|
-
var CommandEmpty =
|
|
611
|
+
var CommandEmpty = React11.forwardRef((props, ref) => /* @__PURE__ */ jsx13(CommandPrimitive.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
|
|
666
612
|
CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
|
|
667
|
-
var CommandGroup =
|
|
613
|
+
var CommandGroup = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(CommandPrimitive.Group, { ref, className: cn("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground", className), ...props }));
|
|
668
614
|
CommandGroup.displayName = CommandPrimitive.Group.displayName;
|
|
669
|
-
var CommandSeparator =
|
|
615
|
+
var CommandSeparator = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(CommandPrimitive.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
|
|
670
616
|
CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
|
|
671
|
-
var CommandItem =
|
|
617
|
+
var CommandItem = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(CommandPrimitive.Item, { ref, className: cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-primary/10 data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50", className), ...props }));
|
|
672
618
|
CommandItem.displayName = CommandPrimitive.Item.displayName;
|
|
673
|
-
var CommandShortcut = ({ className, ...props }) => /* @__PURE__ */
|
|
619
|
+
var CommandShortcut = ({ className, ...props }) => /* @__PURE__ */ jsx13("span", { className: cn("ms-auto text-xs tracking-widest text-muted-foreground", className), ...props });
|
|
674
620
|
CommandShortcut.displayName = "CommandShortcut";
|
|
675
621
|
|
|
676
622
|
// src/components/ui/context-menu.tsx
|
|
677
|
-
import * as
|
|
623
|
+
import * as React12 from "react";
|
|
678
624
|
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
679
625
|
import { Check as Check2, ChevronRight as ChevronRight3, Circle } from "lucide-react";
|
|
680
|
-
import { jsx as
|
|
626
|
+
import { jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
681
627
|
var ContextMenu = ContextMenuPrimitive.Root;
|
|
682
628
|
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
683
629
|
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
684
630
|
var ContextMenuPortal = ContextMenuPrimitive.Portal;
|
|
685
631
|
var ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
686
632
|
var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
687
|
-
var ContextMenuSubTrigger =
|
|
633
|
+
var ContextMenuSubTrigger = React12.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs8(ContextMenuPrimitive.SubTrigger, { ref, className: cn("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-primary/10 data-[state=open]:text-accent-foreground focus:bg-primary/10 focus:text-primary", inset && "ps-8", className), ...props, children: [
|
|
688
634
|
children,
|
|
689
|
-
/* @__PURE__ */
|
|
635
|
+
/* @__PURE__ */ jsx14(ChevronRight3, { className: "ms-auto h-4 w-4 rtl:rotate-180" })
|
|
690
636
|
] }));
|
|
691
637
|
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
692
|
-
var ContextMenuSubContent =
|
|
638
|
+
var ContextMenuSubContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(ContextMenuPrimitive.SubContent, { ref, className: cn("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 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", className), ...props }));
|
|
693
639
|
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
694
|
-
var ContextMenuContent =
|
|
640
|
+
var ContextMenuContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx14(ContextMenuPrimitive.Content, { ref, className: cn("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 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", className), ...props }) }));
|
|
695
641
|
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
696
|
-
var ContextMenuItem =
|
|
642
|
+
var ContextMenuItem = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx14(ContextMenuPrimitive.Item, { ref, className: cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-primary/10 focus:text-primary", inset && "ps-8", className), ...props }));
|
|
697
643
|
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
698
|
-
var ContextMenuCheckboxItem =
|
|
699
|
-
/* @__PURE__ */
|
|
644
|
+
var ContextMenuCheckboxItem = React12.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs8(ContextMenuPrimitive.CheckboxItem, { ref, className: cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-primary/10 focus:text-primary", className), checked, ...props, children: [
|
|
645
|
+
/* @__PURE__ */ jsx14("span", { className: "absolute start-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx14(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx14(Check2, { className: "h-4 w-4" }) }) }),
|
|
700
646
|
children
|
|
701
647
|
] }));
|
|
702
648
|
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
703
|
-
var ContextMenuRadioItem =
|
|
704
|
-
/* @__PURE__ */
|
|
649
|
+
var ContextMenuRadioItem = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(ContextMenuPrimitive.RadioItem, { ref, className: cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-primary/10 focus:text-primary", className), ...props, children: [
|
|
650
|
+
/* @__PURE__ */ jsx14("span", { className: "absolute start-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx14(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx14(Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
|
705
651
|
children
|
|
706
652
|
] }));
|
|
707
653
|
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
708
|
-
var ContextMenuLabel =
|
|
654
|
+
var ContextMenuLabel = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx14(ContextMenuPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold text-foreground", inset && "ps-8", className), ...props }));
|
|
709
655
|
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
710
|
-
var ContextMenuSeparator =
|
|
656
|
+
var ContextMenuSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
|
|
711
657
|
ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
712
|
-
var ContextMenuShortcut = ({ className, ...props }) => /* @__PURE__ */
|
|
658
|
+
var ContextMenuShortcut = ({ className, ...props }) => /* @__PURE__ */ jsx14("span", { className: cn("ms-auto text-xs tracking-widest text-muted-foreground", className), ...props });
|
|
713
659
|
ContextMenuShortcut.displayName = "ContextMenuShortcut";
|
|
714
660
|
|
|
715
661
|
// src/components/ui/directional-arrow.tsx
|
|
716
662
|
import { ArrowLeft as ArrowLeft2, ArrowRight as ArrowRight2 } from "lucide-react";
|
|
717
|
-
import { jsx as
|
|
663
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
718
664
|
var DirectionalArrow = ({ isRTL = false, size = 16, className }) => {
|
|
719
665
|
const IconComponent = isRTL ? ArrowLeft2 : ArrowRight2;
|
|
720
|
-
return /* @__PURE__ */
|
|
666
|
+
return /* @__PURE__ */ jsx15(IconComponent, { size, className, "aria-hidden": "true" });
|
|
721
667
|
};
|
|
722
668
|
DirectionalArrow.displayName = "DirectionalArrow";
|
|
723
669
|
|
|
724
670
|
// src/components/ui/drawer.tsx
|
|
725
|
-
import * as
|
|
671
|
+
import * as React13 from "react";
|
|
726
672
|
import { Drawer as DrawerPrimitive } from "vaul";
|
|
727
|
-
import { jsx as
|
|
728
|
-
var Drawer = ({ shouldScaleBackground = true, ...props }) => /* @__PURE__ */
|
|
673
|
+
import { jsx as jsx16, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
674
|
+
var Drawer = ({ shouldScaleBackground = true, ...props }) => /* @__PURE__ */ jsx16(DrawerPrimitive.Root, { shouldScaleBackground, ...props });
|
|
729
675
|
Drawer.displayName = "Drawer";
|
|
730
676
|
var DrawerTrigger = DrawerPrimitive.Trigger;
|
|
731
677
|
var DrawerPortal = DrawerPrimitive.Portal;
|
|
732
678
|
var DrawerClose = DrawerPrimitive.Close;
|
|
733
|
-
var DrawerOverlay =
|
|
679
|
+
var DrawerOverlay = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(DrawerPrimitive.Overlay, { ref, className: cn("fixed inset-0 z-50 bg-black/80", className), ...props }));
|
|
734
680
|
DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
|
|
735
|
-
var DrawerContent =
|
|
736
|
-
/* @__PURE__ */
|
|
681
|
+
var DrawerContent = React13.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(DrawerPortal, { children: [
|
|
682
|
+
/* @__PURE__ */ jsx16(DrawerOverlay, {}),
|
|
737
683
|
/* @__PURE__ */ jsxs9(
|
|
738
684
|
DrawerPrimitive.Content,
|
|
739
685
|
{
|
|
@@ -741,85 +687,46 @@ var DrawerContent = React14.forwardRef(({ className, children, ...props }, ref)
|
|
|
741
687
|
className: cn("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background", className),
|
|
742
688
|
...props,
|
|
743
689
|
children: [
|
|
744
|
-
/* @__PURE__ */
|
|
690
|
+
/* @__PURE__ */ jsx16("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
|
|
745
691
|
children
|
|
746
692
|
]
|
|
747
693
|
}
|
|
748
694
|
)
|
|
749
695
|
] }));
|
|
750
696
|
DrawerContent.displayName = "DrawerContent";
|
|
751
|
-
var DrawerHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
697
|
+
var DrawerHeader = ({ className, ...props }) => /* @__PURE__ */ jsx16("div", { className: cn("grid gap-1.5 p-4 text-center sm:text-start", className), ...props });
|
|
752
698
|
DrawerHeader.displayName = "DrawerHeader";
|
|
753
|
-
var DrawerFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
699
|
+
var DrawerFooter = ({ className, ...props }) => /* @__PURE__ */ jsx16("div", { className: cn("mt-auto flex flex-col gap-2 p-4", className), ...props });
|
|
754
700
|
DrawerFooter.displayName = "DrawerFooter";
|
|
755
|
-
var DrawerTitle =
|
|
701
|
+
var DrawerTitle = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(DrawerPrimitive.Title, { ref, className: cn("text-lg font-semibold leading-none tracking-tight", className), ...props }));
|
|
756
702
|
DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
|
|
757
|
-
var DrawerDescription =
|
|
703
|
+
var DrawerDescription = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(DrawerPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
758
704
|
DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
|
|
759
705
|
|
|
760
|
-
// src/components/ui/dropdown-menu.tsx
|
|
761
|
-
import * as React15 from "react";
|
|
762
|
-
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
763
|
-
import { Check as Check3, ChevronRight as ChevronRight4, Circle as Circle2 } from "lucide-react";
|
|
764
|
-
import { jsx as jsx18, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
765
|
-
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
766
|
-
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
767
|
-
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
768
|
-
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
769
|
-
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
770
|
-
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
771
|
-
var DropdownMenuSubTrigger = React15.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs10(DropdownMenuPrimitive.SubTrigger, { ref, className: cn("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-primary/10 focus:bg-primary/10", inset && "ps-8", className), ...props, children: [
|
|
772
|
-
children,
|
|
773
|
-
/* @__PURE__ */ jsx18(ChevronRight4, { className: "ms-auto h-4 w-4 rtl:rotate-180" })
|
|
774
|
-
] }));
|
|
775
|
-
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
776
|
-
var DropdownMenuSubContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(DropdownMenuPrimitive.SubContent, { ref, className: cn("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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", className), ...props }));
|
|
777
|
-
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
778
|
-
var DropdownMenuContent = React15.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx18(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx18(DropdownMenuPrimitive.Content, { ref, sideOffset, className: cn("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 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", className), ...props }) }));
|
|
779
|
-
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
780
|
-
var DropdownMenuItem = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx18(DropdownMenuPrimitive.Item, { ref, className: cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors duration-fast ease-standard data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-primary/10 focus:text-primary", inset && "ps-8", className), ...props }));
|
|
781
|
-
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
782
|
-
var DropdownMenuCheckboxItem = React15.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs10(DropdownMenuPrimitive.CheckboxItem, { ref, className: cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none transition-colors duration-fast ease-standard data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-primary/10 focus:text-primary", className), checked, ...props, children: [
|
|
783
|
-
/* @__PURE__ */ jsx18("span", { className: "absolute start-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx18(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx18(Check3, { className: "h-4 w-4" }) }) }),
|
|
784
|
-
children
|
|
785
|
-
] }));
|
|
786
|
-
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
787
|
-
var DropdownMenuRadioItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(DropdownMenuPrimitive.RadioItem, { ref, className: cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none transition-colors duration-fast ease-standard data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-primary/10 focus:text-primary", className), ...props, children: [
|
|
788
|
-
/* @__PURE__ */ jsx18("span", { className: "absolute start-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx18(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx18(Circle2, { className: "h-2 w-2 fill-current" }) }) }),
|
|
789
|
-
children
|
|
790
|
-
] }));
|
|
791
|
-
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
792
|
-
var DropdownMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx18(DropdownMenuPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", inset && "ps-8", className), ...props }));
|
|
793
|
-
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
794
|
-
var DropdownMenuSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(DropdownMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
|
|
795
|
-
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
796
|
-
var DropdownMenuShortcut = ({ className, ...props }) => /* @__PURE__ */ jsx18("span", { className: cn("ms-auto text-xs tracking-widest opacity-60", className), ...props });
|
|
797
|
-
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
798
|
-
|
|
799
706
|
// src/components/ui/form.tsx
|
|
800
|
-
import * as
|
|
801
|
-
import { Slot as
|
|
707
|
+
import * as React15 from "react";
|
|
708
|
+
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
802
709
|
import { Controller, FormProvider, useFormContext } from "react-hook-form";
|
|
803
710
|
|
|
804
711
|
// src/components/ui/label.tsx
|
|
805
|
-
import * as
|
|
712
|
+
import * as React14 from "react";
|
|
806
713
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
807
|
-
import { cva as
|
|
808
|
-
import { jsx as
|
|
809
|
-
var labelVariants =
|
|
714
|
+
import { cva as cva3 } from "class-variance-authority";
|
|
715
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
716
|
+
var labelVariants = cva3(
|
|
810
717
|
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
|
811
718
|
);
|
|
812
|
-
var
|
|
813
|
-
|
|
719
|
+
var Label2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
|
|
720
|
+
Label2.displayName = LabelPrimitive.Root.displayName;
|
|
814
721
|
|
|
815
722
|
// src/components/ui/form.tsx
|
|
816
|
-
import { jsx as
|
|
723
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
817
724
|
var Form = FormProvider;
|
|
818
|
-
var FormFieldContext =
|
|
819
|
-
var FormField = ({ ...props }) => /* @__PURE__ */
|
|
725
|
+
var FormFieldContext = React15.createContext({});
|
|
726
|
+
var FormField = ({ ...props }) => /* @__PURE__ */ jsx18(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx18(Controller, { ...props }) });
|
|
820
727
|
var useFormField = () => {
|
|
821
|
-
const fieldContext =
|
|
822
|
-
const itemContext =
|
|
728
|
+
const fieldContext = React15.useContext(FormFieldContext);
|
|
729
|
+
const itemContext = React15.useContext(FormItemContext);
|
|
823
730
|
const { getFieldState, formState } = useFormContext();
|
|
824
731
|
const fieldState = getFieldState(fieldContext.name, formState);
|
|
825
732
|
if (!fieldContext) throw new Error("useFormField should be used within <FormField>");
|
|
@@ -833,24 +740,24 @@ var useFormField = () => {
|
|
|
833
740
|
...fieldState
|
|
834
741
|
};
|
|
835
742
|
};
|
|
836
|
-
var FormItemContext =
|
|
837
|
-
var FormItem =
|
|
743
|
+
var FormItemContext = React15.createContext({});
|
|
744
|
+
var FormItem = React15.forwardRef(
|
|
838
745
|
({ className, ...props }, ref) => {
|
|
839
|
-
const id =
|
|
840
|
-
return /* @__PURE__ */
|
|
746
|
+
const id = React15.useId();
|
|
747
|
+
return /* @__PURE__ */ jsx18(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx18("div", { ref, className: cn("space-y-2", className), ...props }) });
|
|
841
748
|
}
|
|
842
749
|
);
|
|
843
750
|
FormItem.displayName = "FormItem";
|
|
844
|
-
var FormLabel =
|
|
751
|
+
var FormLabel = React15.forwardRef(({ className, ...props }, ref) => {
|
|
845
752
|
const { error, formItemId } = useFormField();
|
|
846
|
-
return /* @__PURE__ */
|
|
753
|
+
return /* @__PURE__ */ jsx18(Label2, { ref, className: cn("transition-colors duration-fast ease-standard", error && "text-destructive", className), htmlFor: formItemId, ...props });
|
|
847
754
|
});
|
|
848
755
|
FormLabel.displayName = "FormLabel";
|
|
849
|
-
var FormControl =
|
|
756
|
+
var FormControl = React15.forwardRef(
|
|
850
757
|
({ ...props }, ref) => {
|
|
851
758
|
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
852
|
-
return /* @__PURE__ */
|
|
853
|
-
|
|
759
|
+
return /* @__PURE__ */ jsx18(
|
|
760
|
+
Slot2,
|
|
854
761
|
{
|
|
855
762
|
ref,
|
|
856
763
|
id: formItemId,
|
|
@@ -862,30 +769,30 @@ var FormControl = React17.forwardRef(
|
|
|
862
769
|
}
|
|
863
770
|
);
|
|
864
771
|
FormControl.displayName = "FormControl";
|
|
865
|
-
var FormDescription =
|
|
772
|
+
var FormDescription = React15.forwardRef(
|
|
866
773
|
({ className, ...props }, ref) => {
|
|
867
774
|
const { formDescriptionId } = useFormField();
|
|
868
|
-
return /* @__PURE__ */
|
|
775
|
+
return /* @__PURE__ */ jsx18("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
|
|
869
776
|
}
|
|
870
777
|
);
|
|
871
778
|
FormDescription.displayName = "FormDescription";
|
|
872
|
-
var FormMessage =
|
|
779
|
+
var FormMessage = React15.forwardRef(
|
|
873
780
|
({ className, children, ...props }, ref) => {
|
|
874
781
|
const { error, formMessageId } = useFormField();
|
|
875
782
|
const body = error ? String(error?.message) : children;
|
|
876
783
|
if (!body) return null;
|
|
877
|
-
return /* @__PURE__ */
|
|
784
|
+
return /* @__PURE__ */ jsx18("p", { ref, id: formMessageId, className: cn("text-sm font-medium text-destructive", className), ...props, children: body });
|
|
878
785
|
}
|
|
879
786
|
);
|
|
880
787
|
FormMessage.displayName = "FormMessage";
|
|
881
788
|
|
|
882
789
|
// src/components/ui/hover-card.tsx
|
|
883
|
-
import * as
|
|
790
|
+
import * as React16 from "react";
|
|
884
791
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
885
|
-
import { jsx as
|
|
792
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
886
793
|
var HoverCard = HoverCardPrimitive.Root;
|
|
887
794
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
888
|
-
var HoverCardContent =
|
|
795
|
+
var HoverCardContent = React16.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx19(
|
|
889
796
|
HoverCardPrimitive.Content,
|
|
890
797
|
{
|
|
891
798
|
ref,
|
|
@@ -901,11 +808,11 @@ var HoverCardContent = React18.forwardRef(({ className, align = "center", sideOf
|
|
|
901
808
|
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
902
809
|
|
|
903
810
|
// src/components/ui/input.tsx
|
|
904
|
-
import * as
|
|
905
|
-
import { jsx as
|
|
906
|
-
var Input =
|
|
811
|
+
import * as React17 from "react";
|
|
812
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
813
|
+
var Input = React17.forwardRef(
|
|
907
814
|
({ className, type, ...props }, ref) => {
|
|
908
|
-
return /* @__PURE__ */
|
|
815
|
+
return /* @__PURE__ */ jsx20(
|
|
909
816
|
"input",
|
|
910
817
|
{
|
|
911
818
|
type,
|
|
@@ -922,11 +829,11 @@ var Input = React19.forwardRef(
|
|
|
922
829
|
Input.displayName = "Input";
|
|
923
830
|
|
|
924
831
|
// src/components/ui/input-otp.tsx
|
|
925
|
-
import * as
|
|
832
|
+
import * as React18 from "react";
|
|
926
833
|
import { OTPInput, OTPInputContext } from "input-otp";
|
|
927
834
|
import { Dot } from "lucide-react";
|
|
928
|
-
import { jsx as
|
|
929
|
-
var InputOTP =
|
|
835
|
+
import { jsx as jsx21, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
836
|
+
var InputOTP = React18.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
930
837
|
OTPInput,
|
|
931
838
|
{
|
|
932
839
|
ref,
|
|
@@ -936,14 +843,14 @@ var InputOTP = React20.forwardRef(({ className, containerClassName, ...props },
|
|
|
936
843
|
}
|
|
937
844
|
));
|
|
938
845
|
InputOTP.displayName = "InputOTP";
|
|
939
|
-
var InputOTPGroup =
|
|
940
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
846
|
+
var InputOTPGroup = React18.forwardRef(
|
|
847
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx21("div", { ref, className: cn("flex items-center", className), ...props })
|
|
941
848
|
);
|
|
942
849
|
InputOTPGroup.displayName = "InputOTPGroup";
|
|
943
|
-
var InputOTPSlot =
|
|
944
|
-
const inputOTPContext =
|
|
850
|
+
var InputOTPSlot = React18.forwardRef(({ index, className, ...props }, ref) => {
|
|
851
|
+
const inputOTPContext = React18.useContext(OTPInputContext);
|
|
945
852
|
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
|
|
946
|
-
return /* @__PURE__ */
|
|
853
|
+
return /* @__PURE__ */ jsxs10(
|
|
947
854
|
"div",
|
|
948
855
|
{
|
|
949
856
|
ref,
|
|
@@ -955,19 +862,19 @@ var InputOTPSlot = React20.forwardRef(({ index, className, ...props }, ref) => {
|
|
|
955
862
|
...props,
|
|
956
863
|
children: [
|
|
957
864
|
char,
|
|
958
|
-
hasFakeCaret && /* @__PURE__ */
|
|
865
|
+
hasFakeCaret && /* @__PURE__ */ jsx21("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx21("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })
|
|
959
866
|
]
|
|
960
867
|
}
|
|
961
868
|
);
|
|
962
869
|
});
|
|
963
870
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
964
|
-
var InputOTPSeparator =
|
|
965
|
-
({ ...props }, ref) => /* @__PURE__ */
|
|
871
|
+
var InputOTPSeparator = React18.forwardRef(
|
|
872
|
+
({ ...props }, ref) => /* @__PURE__ */ jsx21("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx21(Dot, {}) })
|
|
966
873
|
);
|
|
967
874
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
968
875
|
|
|
969
876
|
// src/components/ui/linkify-text.tsx
|
|
970
|
-
import { jsx as
|
|
877
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
971
878
|
var URL_REGEX = /(https?:\/\/[^\s<]+)|(www\.[^\s<]+\.[a-zA-Z]{2,}[^\s<]*)|((?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?:com|org|net|io|dev|co|me|info|biz|gov|edu|app|ai|uk|de|fr|sa|qa|ae|eg|ps|jo)\b(?:\/[^\s<]*)?)/gi;
|
|
972
879
|
var LinkifyText = ({ children, className }) => {
|
|
973
880
|
if (!children) return null;
|
|
@@ -981,7 +888,7 @@ var LinkifyText = ({ children, className }) => {
|
|
|
981
888
|
if (index > lastIndex) parts.push(children.slice(lastIndex, index));
|
|
982
889
|
const href = /^https?:\/\//i.test(url) ? url : `https://${url}`;
|
|
983
890
|
parts.push(
|
|
984
|
-
/* @__PURE__ */
|
|
891
|
+
/* @__PURE__ */ jsx22(
|
|
985
892
|
"a",
|
|
986
893
|
{
|
|
987
894
|
href,
|
|
@@ -997,76 +904,76 @@ var LinkifyText = ({ children, className }) => {
|
|
|
997
904
|
lastIndex = index + url.length;
|
|
998
905
|
}
|
|
999
906
|
if (lastIndex < children.length) parts.push(children.slice(lastIndex));
|
|
1000
|
-
return /* @__PURE__ */
|
|
907
|
+
return /* @__PURE__ */ jsx22("span", { className, children: parts });
|
|
1001
908
|
};
|
|
1002
909
|
LinkifyText.displayName = "LinkifyText";
|
|
1003
910
|
|
|
1004
911
|
// src/components/ui/menubar.tsx
|
|
1005
|
-
import * as
|
|
912
|
+
import * as React19 from "react";
|
|
1006
913
|
import * as MenubarPrimitive from "@radix-ui/react-menubar";
|
|
1007
|
-
import { Check as
|
|
1008
|
-
import { jsx as
|
|
914
|
+
import { Check as Check3, ChevronRight as ChevronRight4, Circle as Circle2 } from "lucide-react";
|
|
915
|
+
import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1009
916
|
var MenubarMenu = MenubarPrimitive.Menu;
|
|
1010
917
|
var MenubarGroup = MenubarPrimitive.Group;
|
|
1011
918
|
var MenubarPortal = MenubarPrimitive.Portal;
|
|
1012
919
|
var MenubarSub = MenubarPrimitive.Sub;
|
|
1013
920
|
var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
|
|
1014
|
-
var Menubar =
|
|
1015
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
921
|
+
var Menubar = React19.forwardRef(
|
|
922
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx23(MenubarPrimitive.Root, { ref, className: cn("flex h-10 items-center space-x-1 rounded-md border bg-background p-1", className), ...props })
|
|
1016
923
|
);
|
|
1017
924
|
Menubar.displayName = MenubarPrimitive.Root.displayName;
|
|
1018
|
-
var MenubarTrigger =
|
|
1019
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
925
|
+
var MenubarTrigger = React19.forwardRef(
|
|
926
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx23(MenubarPrimitive.Trigger, { ref, className: cn("flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none data-[state=open]:bg-primary/10 data-[state=open]:text-primary focus:bg-primary/10 focus:text-primary", className), ...props })
|
|
1020
927
|
);
|
|
1021
928
|
MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
|
|
1022
|
-
var MenubarSubTrigger =
|
|
1023
|
-
({ className, inset, children, ...props }, ref) => /* @__PURE__ */
|
|
929
|
+
var MenubarSubTrigger = React19.forwardRef(
|
|
930
|
+
({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs11(MenubarPrimitive.SubTrigger, { ref, className: cn("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-primary/10 data-[state=open]:text-primary focus:bg-primary/10 focus:text-primary", inset && "ps-8", className), ...props, children: [
|
|
1024
931
|
children,
|
|
1025
|
-
/* @__PURE__ */
|
|
932
|
+
/* @__PURE__ */ jsx23(ChevronRight4, { className: "ms-auto h-4 w-4 rtl:rotate-180" })
|
|
1026
933
|
] })
|
|
1027
934
|
);
|
|
1028
935
|
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
|
|
1029
|
-
var MenubarSubContent =
|
|
1030
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
936
|
+
var MenubarSubContent = React19.forwardRef(
|
|
937
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx23(MenubarPrimitive.SubContent, { ref, className: cn("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground 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", className), ...props })
|
|
1031
938
|
);
|
|
1032
939
|
MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
|
|
1033
|
-
var MenubarContent =
|
|
1034
|
-
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */
|
|
940
|
+
var MenubarContent = React19.forwardRef(
|
|
941
|
+
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx23(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx23(MenubarPrimitive.Content, { ref, align, alignOffset, sideOffset, className: cn("z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in 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", className), ...props }) })
|
|
1035
942
|
);
|
|
1036
943
|
MenubarContent.displayName = MenubarPrimitive.Content.displayName;
|
|
1037
|
-
var MenubarItem =
|
|
1038
|
-
({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
944
|
+
var MenubarItem = React19.forwardRef(
|
|
945
|
+
({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx23(MenubarPrimitive.Item, { ref, className: cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-primary/10 focus:text-primary", inset && "ps-8", className), ...props })
|
|
1039
946
|
);
|
|
1040
947
|
MenubarItem.displayName = MenubarPrimitive.Item.displayName;
|
|
1041
|
-
var MenubarCheckboxItem =
|
|
1042
|
-
({ className, children, checked, ...props }, ref) => /* @__PURE__ */
|
|
1043
|
-
/* @__PURE__ */
|
|
948
|
+
var MenubarCheckboxItem = React19.forwardRef(
|
|
949
|
+
({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs11(MenubarPrimitive.CheckboxItem, { ref, className: cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-primary/10 focus:text-primary", className), checked, ...props, children: [
|
|
950
|
+
/* @__PURE__ */ jsx23("span", { className: "absolute start-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx23(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx23(Check3, { className: "h-4 w-4" }) }) }),
|
|
1044
951
|
children
|
|
1045
952
|
] })
|
|
1046
953
|
);
|
|
1047
954
|
MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
|
|
1048
|
-
var MenubarRadioItem =
|
|
1049
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1050
|
-
/* @__PURE__ */
|
|
955
|
+
var MenubarRadioItem = React19.forwardRef(
|
|
956
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs11(MenubarPrimitive.RadioItem, { ref, className: cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-primary/10 focus:text-primary", className), ...props, children: [
|
|
957
|
+
/* @__PURE__ */ jsx23("span", { className: "absolute start-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx23(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx23(Circle2, { className: "h-2 w-2 fill-current" }) }) }),
|
|
1051
958
|
children
|
|
1052
959
|
] })
|
|
1053
960
|
);
|
|
1054
961
|
MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
|
|
1055
|
-
var MenubarLabel =
|
|
1056
|
-
({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
962
|
+
var MenubarLabel = React19.forwardRef(
|
|
963
|
+
({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx23(MenubarPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", inset && "ps-8", className), ...props })
|
|
1057
964
|
);
|
|
1058
965
|
MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
|
|
1059
|
-
var MenubarSeparator =
|
|
1060
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
966
|
+
var MenubarSeparator = React19.forwardRef(
|
|
967
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx23(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props })
|
|
1061
968
|
);
|
|
1062
969
|
MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
|
|
1063
|
-
var MenubarShortcut = ({ className, ...props }) => /* @__PURE__ */
|
|
970
|
+
var MenubarShortcut = ({ className, ...props }) => /* @__PURE__ */ jsx23("span", { className: cn("ms-auto text-xs tracking-widest text-muted-foreground", className), ...props });
|
|
1064
971
|
MenubarShortcut.displayName = "MenubarShortcut";
|
|
1065
972
|
|
|
1066
973
|
// src/components/ui/native-select.tsx
|
|
1067
|
-
import * as
|
|
1068
|
-
import { jsx as
|
|
1069
|
-
var NativeSelect =
|
|
974
|
+
import * as React20 from "react";
|
|
975
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
976
|
+
var NativeSelect = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
1070
977
|
"select",
|
|
1071
978
|
{
|
|
1072
979
|
ref,
|
|
@@ -1084,32 +991,32 @@ var NativeSelect = React22.forwardRef(({ className, children, ...props }, ref) =
|
|
|
1084
991
|
NativeSelect.displayName = "NativeSelect";
|
|
1085
992
|
|
|
1086
993
|
// src/components/ui/navigation-menu.tsx
|
|
1087
|
-
import * as
|
|
994
|
+
import * as React21 from "react";
|
|
1088
995
|
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
|
|
1089
|
-
import { cva as
|
|
996
|
+
import { cva as cva4 } from "class-variance-authority";
|
|
1090
997
|
import { ChevronDown as ChevronDown2 } from "lucide-react";
|
|
1091
|
-
import { jsx as
|
|
1092
|
-
var NavigationMenu =
|
|
998
|
+
import { jsx as jsx25, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
999
|
+
var NavigationMenu = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs12(NavigationMenuPrimitive.Root, { ref, className: cn("relative z-10 flex max-w-max flex-1 items-center justify-center", className), ...props, children: [
|
|
1093
1000
|
children,
|
|
1094
|
-
/* @__PURE__ */
|
|
1001
|
+
/* @__PURE__ */ jsx25(NavigationMenuViewport, {})
|
|
1095
1002
|
] }));
|
|
1096
1003
|
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
1097
|
-
var NavigationMenuList =
|
|
1004
|
+
var NavigationMenuList = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(NavigationMenuPrimitive.List, { ref, className: cn("group flex flex-1 list-none items-center justify-center space-x-1", className), ...props }));
|
|
1098
1005
|
NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
|
|
1099
1006
|
var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
1100
|
-
var navigationMenuTriggerStyle =
|
|
1007
|
+
var navigationMenuTriggerStyle = cva4(
|
|
1101
1008
|
"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors duration-fast ease-standard hover:bg-primary/10 hover:text-primary focus:bg-primary/10 focus:text-primary focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-primary/10 data-[state=open]:bg-primary/10"
|
|
1102
1009
|
);
|
|
1103
|
-
var NavigationMenuTrigger =
|
|
1010
|
+
var NavigationMenuTrigger = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs12(NavigationMenuPrimitive.Trigger, { ref, className: cn(navigationMenuTriggerStyle(), "group", className), ...props, children: [
|
|
1104
1011
|
children,
|
|
1105
1012
|
" ",
|
|
1106
|
-
/* @__PURE__ */
|
|
1013
|
+
/* @__PURE__ */ jsx25(ChevronDown2, { className: "relative top-[1px] ms-1 h-3 w-3 transition duration-fast ease-standard group-data-[state=open]:rotate-180", "aria-hidden": "true" })
|
|
1107
1014
|
] }));
|
|
1108
1015
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
1109
|
-
var NavigationMenuContent =
|
|
1016
|
+
var NavigationMenuContent = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(NavigationMenuPrimitive.Content, { ref, className: cn("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto", className), ...props }));
|
|
1110
1017
|
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
1111
1018
|
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
1112
|
-
var NavigationMenuViewport =
|
|
1019
|
+
var NavigationMenuViewport = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx25(
|
|
1113
1020
|
NavigationMenuPrimitive.Viewport,
|
|
1114
1021
|
{
|
|
1115
1022
|
className: cn("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]", className),
|
|
@@ -1118,22 +1025,22 @@ var NavigationMenuViewport = React23.forwardRef(({ className, ...props }, ref) =
|
|
|
1118
1025
|
}
|
|
1119
1026
|
) }));
|
|
1120
1027
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
1121
|
-
var NavigationMenuIndicator =
|
|
1028
|
+
var NavigationMenuIndicator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(NavigationMenuPrimitive.Indicator, { ref, className: cn("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in", className), ...props, children: /* @__PURE__ */ jsx25("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" }) }));
|
|
1122
1029
|
NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
|
|
1123
1030
|
|
|
1124
1031
|
// src/components/ui/pagination.tsx
|
|
1125
|
-
import * as
|
|
1126
|
-
import { ChevronLeft as ChevronLeft2, ChevronRight as
|
|
1127
|
-
import { jsx as
|
|
1128
|
-
var Pagination = ({ className, ...props }) => /* @__PURE__ */
|
|
1032
|
+
import * as React22 from "react";
|
|
1033
|
+
import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight5, MoreHorizontal as MoreHorizontal2 } from "lucide-react";
|
|
1034
|
+
import { jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1035
|
+
var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx26("nav", { role: "navigation", "aria-label": "pagination", className: cn("mx-auto flex w-full justify-center", className), ...props });
|
|
1129
1036
|
Pagination.displayName = "Pagination";
|
|
1130
|
-
var PaginationContent =
|
|
1131
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1037
|
+
var PaginationContent = React22.forwardRef(
|
|
1038
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx26("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
|
|
1132
1039
|
);
|
|
1133
1040
|
PaginationContent.displayName = "PaginationContent";
|
|
1134
|
-
var PaginationItem =
|
|
1041
|
+
var PaginationItem = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26("li", { ref, className: cn("", className), ...props }));
|
|
1135
1042
|
PaginationItem.displayName = "PaginationItem";
|
|
1136
|
-
var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */
|
|
1043
|
+
var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */ jsx26(
|
|
1137
1044
|
"a",
|
|
1138
1045
|
{
|
|
1139
1046
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -1142,29 +1049,29 @@ var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @_
|
|
|
1142
1049
|
}
|
|
1143
1050
|
);
|
|
1144
1051
|
PaginationLink.displayName = "PaginationLink";
|
|
1145
|
-
var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */
|
|
1146
|
-
/* @__PURE__ */
|
|
1147
|
-
/* @__PURE__ */
|
|
1052
|
+
var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */ jsxs13(PaginationLink, { "aria-label": "Go to previous page", size: "default", className: cn("gap-1 ps-2.5", className), ...props, children: [
|
|
1053
|
+
/* @__PURE__ */ jsx26(ChevronLeft2, { className: "h-4 w-4 rtl:rotate-180" }),
|
|
1054
|
+
/* @__PURE__ */ jsx26("span", { children: "Previous" })
|
|
1148
1055
|
] });
|
|
1149
1056
|
PaginationPrevious.displayName = "PaginationPrevious";
|
|
1150
|
-
var PaginationNext = ({ className, ...props }) => /* @__PURE__ */
|
|
1151
|
-
/* @__PURE__ */
|
|
1152
|
-
/* @__PURE__ */
|
|
1057
|
+
var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ jsxs13(PaginationLink, { "aria-label": "Go to next page", size: "default", className: cn("gap-1 pe-2.5", className), ...props, children: [
|
|
1058
|
+
/* @__PURE__ */ jsx26("span", { children: "Next" }),
|
|
1059
|
+
/* @__PURE__ */ jsx26(ChevronRight5, { className: "h-4 w-4 rtl:rotate-180" })
|
|
1153
1060
|
] });
|
|
1154
1061
|
PaginationNext.displayName = "PaginationNext";
|
|
1155
|
-
var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */
|
|
1156
|
-
/* @__PURE__ */
|
|
1157
|
-
/* @__PURE__ */
|
|
1062
|
+
var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs13("span", { "aria-hidden": true, className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [
|
|
1063
|
+
/* @__PURE__ */ jsx26(MoreHorizontal2, { className: "h-4 w-4" }),
|
|
1064
|
+
/* @__PURE__ */ jsx26("span", { className: "sr-only", children: "More pages" })
|
|
1158
1065
|
] });
|
|
1159
1066
|
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
1160
1067
|
|
|
1161
1068
|
// src/components/ui/popover.tsx
|
|
1162
|
-
import * as
|
|
1069
|
+
import * as React23 from "react";
|
|
1163
1070
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
1164
|
-
import { jsx as
|
|
1071
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
1165
1072
|
var Popover = PopoverPrimitive.Root;
|
|
1166
1073
|
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
1167
|
-
var PopoverContent =
|
|
1074
|
+
var PopoverContent = React23.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx27(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx27(
|
|
1168
1075
|
PopoverPrimitive.Content,
|
|
1169
1076
|
{
|
|
1170
1077
|
ref,
|
|
@@ -1180,16 +1087,16 @@ var PopoverContent = React25.forwardRef(({ className, align = "center", sideOffs
|
|
|
1180
1087
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
1181
1088
|
|
|
1182
1089
|
// src/components/ui/progress.tsx
|
|
1183
|
-
import * as
|
|
1090
|
+
import * as React24 from "react";
|
|
1184
1091
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
1185
|
-
import { jsx as
|
|
1186
|
-
var Progress =
|
|
1092
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1093
|
+
var Progress = React24.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
1187
1094
|
ProgressPrimitive.Root,
|
|
1188
1095
|
{
|
|
1189
1096
|
ref,
|
|
1190
1097
|
className: cn("relative h-4 w-full overflow-hidden rounded-full bg-secondary", className),
|
|
1191
1098
|
...props,
|
|
1192
|
-
children: /* @__PURE__ */
|
|
1099
|
+
children: /* @__PURE__ */ jsx28(
|
|
1193
1100
|
ProgressPrimitive.Indicator,
|
|
1194
1101
|
{
|
|
1195
1102
|
className: "h-full w-full flex-1 bg-primary transition-all duration-base ease-standard",
|
|
@@ -1201,13 +1108,13 @@ var Progress = React26.forwardRef(({ className, value, ...props }, ref) => /* @_
|
|
|
1201
1108
|
Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
1202
1109
|
|
|
1203
1110
|
// src/components/ui/radio-group.tsx
|
|
1204
|
-
import * as
|
|
1111
|
+
import * as React25 from "react";
|
|
1205
1112
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
1206
|
-
import { Circle as
|
|
1207
|
-
import { jsx as
|
|
1208
|
-
var
|
|
1209
|
-
|
|
1210
|
-
var RadioGroupItem =
|
|
1113
|
+
import { Circle as Circle3 } from "lucide-react";
|
|
1114
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1115
|
+
var RadioGroup3 = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref }));
|
|
1116
|
+
RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
|
|
1117
|
+
var RadioGroupItem = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
1211
1118
|
RadioGroupPrimitive.Item,
|
|
1212
1119
|
{
|
|
1213
1120
|
ref,
|
|
@@ -1216,7 +1123,7 @@ var RadioGroupItem = React27.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
1216
1123
|
className
|
|
1217
1124
|
),
|
|
1218
1125
|
...props,
|
|
1219
|
-
children: /* @__PURE__ */
|
|
1126
|
+
children: /* @__PURE__ */ jsx29(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx29(Circle3, { className: "h-2.5 w-2.5 fill-current text-current transition-transform duration-fast ease-standard" }) })
|
|
1220
1127
|
}
|
|
1221
1128
|
));
|
|
1222
1129
|
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
@@ -1224,8 +1131,8 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
|
1224
1131
|
// src/components/ui/resizable.tsx
|
|
1225
1132
|
import { GripVertical } from "lucide-react";
|
|
1226
1133
|
import * as ResizablePrimitive from "react-resizable-panels";
|
|
1227
|
-
import { jsx as
|
|
1228
|
-
var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */
|
|
1134
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1135
|
+
var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ jsx30(
|
|
1229
1136
|
ResizablePrimitive.PanelGroup,
|
|
1230
1137
|
{
|
|
1231
1138
|
className: cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", className),
|
|
@@ -1237,7 +1144,7 @@ var ResizableHandle = ({
|
|
|
1237
1144
|
withHandle,
|
|
1238
1145
|
className,
|
|
1239
1146
|
...props
|
|
1240
|
-
}) => /* @__PURE__ */
|
|
1147
|
+
}) => /* @__PURE__ */ jsx30(
|
|
1241
1148
|
ResizablePrimitive.PanelResizeHandle,
|
|
1242
1149
|
{
|
|
1243
1150
|
className: cn(
|
|
@@ -1245,23 +1152,23 @@ var ResizableHandle = ({
|
|
|
1245
1152
|
className
|
|
1246
1153
|
),
|
|
1247
1154
|
...props,
|
|
1248
|
-
children: withHandle && /* @__PURE__ */
|
|
1155
|
+
children: withHandle && /* @__PURE__ */ jsx30("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx30(GripVertical, { className: "h-2.5 w-2.5" }) })
|
|
1249
1156
|
}
|
|
1250
1157
|
);
|
|
1251
1158
|
|
|
1252
1159
|
// src/components/ui/scroll-area.tsx
|
|
1253
|
-
import * as
|
|
1160
|
+
import * as React26 from "react";
|
|
1254
1161
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
1255
|
-
import { jsx as
|
|
1256
|
-
var ScrollArea =
|
|
1257
|
-
({ className, children, dir, viewportRef, ...props }, ref) => /* @__PURE__ */
|
|
1258
|
-
/* @__PURE__ */
|
|
1259
|
-
/* @__PURE__ */
|
|
1260
|
-
/* @__PURE__ */
|
|
1162
|
+
import { jsx as jsx31, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1163
|
+
var ScrollArea = React26.forwardRef(
|
|
1164
|
+
({ className, children, dir, viewportRef, ...props }, ref) => /* @__PURE__ */ jsxs14(ScrollAreaPrimitive.Root, { ref, dir, className: cn("relative overflow-hidden", className), ...props, children: [
|
|
1165
|
+
/* @__PURE__ */ jsx31(ScrollAreaPrimitive.Viewport, { ref: viewportRef, dir, className: "h-full w-full rounded-[inherit]", children }),
|
|
1166
|
+
/* @__PURE__ */ jsx31(ScrollBar, {}),
|
|
1167
|
+
/* @__PURE__ */ jsx31(ScrollAreaPrimitive.Corner, {})
|
|
1261
1168
|
] })
|
|
1262
1169
|
);
|
|
1263
1170
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
1264
|
-
var ScrollBar =
|
|
1171
|
+
var ScrollBar = React26.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx31(
|
|
1265
1172
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
1266
1173
|
{
|
|
1267
1174
|
ref,
|
|
@@ -1273,20 +1180,20 @@ var ScrollBar = React28.forwardRef(({ className, orientation = "vertical", ...pr
|
|
|
1273
1180
|
className
|
|
1274
1181
|
),
|
|
1275
1182
|
...props,
|
|
1276
|
-
children: /* @__PURE__ */
|
|
1183
|
+
children: /* @__PURE__ */ jsx31(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
|
|
1277
1184
|
}
|
|
1278
1185
|
));
|
|
1279
1186
|
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
1280
1187
|
|
|
1281
1188
|
// src/components/ui/select.tsx
|
|
1282
|
-
import * as
|
|
1189
|
+
import * as React27 from "react";
|
|
1283
1190
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
1284
|
-
import { Check as
|
|
1285
|
-
import { jsx as
|
|
1191
|
+
import { Check as Check4, ChevronDown as ChevronDown3, ChevronUp } from "lucide-react";
|
|
1192
|
+
import { jsx as jsx32, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1286
1193
|
var Select = SelectPrimitive.Root;
|
|
1287
1194
|
var SelectGroup = SelectPrimitive.Group;
|
|
1288
1195
|
var SelectValue = SelectPrimitive.Value;
|
|
1289
|
-
var SelectTrigger =
|
|
1196
|
+
var SelectTrigger = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs15(
|
|
1290
1197
|
SelectPrimitive.Trigger,
|
|
1291
1198
|
{
|
|
1292
1199
|
ref,
|
|
@@ -1297,32 +1204,32 @@ var SelectTrigger = React29.forwardRef(({ className, children, ...props }, ref)
|
|
|
1297
1204
|
...props,
|
|
1298
1205
|
children: [
|
|
1299
1206
|
children,
|
|
1300
|
-
/* @__PURE__ */
|
|
1207
|
+
/* @__PURE__ */ jsx32(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx32(ChevronDown3, { className: "h-4 w-4 opacity-50" }) })
|
|
1301
1208
|
]
|
|
1302
1209
|
}
|
|
1303
1210
|
));
|
|
1304
1211
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
1305
|
-
var SelectScrollUpButton =
|
|
1212
|
+
var SelectScrollUpButton = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
|
|
1306
1213
|
SelectPrimitive.ScrollUpButton,
|
|
1307
1214
|
{
|
|
1308
1215
|
ref,
|
|
1309
1216
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
1310
1217
|
...props,
|
|
1311
|
-
children: /* @__PURE__ */
|
|
1218
|
+
children: /* @__PURE__ */ jsx32(ChevronUp, { className: "h-4 w-4" })
|
|
1312
1219
|
}
|
|
1313
1220
|
));
|
|
1314
1221
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
1315
|
-
var SelectScrollDownButton =
|
|
1222
|
+
var SelectScrollDownButton = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
|
|
1316
1223
|
SelectPrimitive.ScrollDownButton,
|
|
1317
1224
|
{
|
|
1318
1225
|
ref,
|
|
1319
1226
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
1320
1227
|
...props,
|
|
1321
|
-
children: /* @__PURE__ */
|
|
1228
|
+
children: /* @__PURE__ */ jsx32(ChevronDown3, { className: "h-4 w-4" })
|
|
1322
1229
|
}
|
|
1323
1230
|
));
|
|
1324
1231
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
1325
|
-
var SelectContent =
|
|
1232
|
+
var SelectContent = React27.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx32(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs15(
|
|
1326
1233
|
SelectPrimitive.Content,
|
|
1327
1234
|
{
|
|
1328
1235
|
ref,
|
|
@@ -1334,8 +1241,8 @@ var SelectContent = React29.forwardRef(({ className, children, position = "poppe
|
|
|
1334
1241
|
position,
|
|
1335
1242
|
...props,
|
|
1336
1243
|
children: [
|
|
1337
|
-
/* @__PURE__ */
|
|
1338
|
-
/* @__PURE__ */
|
|
1244
|
+
/* @__PURE__ */ jsx32(SelectScrollUpButton, {}),
|
|
1245
|
+
/* @__PURE__ */ jsx32(
|
|
1339
1246
|
SelectPrimitive.Viewport,
|
|
1340
1247
|
{
|
|
1341
1248
|
className: cn(
|
|
@@ -1345,14 +1252,14 @@ var SelectContent = React29.forwardRef(({ className, children, position = "poppe
|
|
|
1345
1252
|
children
|
|
1346
1253
|
}
|
|
1347
1254
|
),
|
|
1348
|
-
/* @__PURE__ */
|
|
1255
|
+
/* @__PURE__ */ jsx32(SelectScrollDownButton, {})
|
|
1349
1256
|
]
|
|
1350
1257
|
}
|
|
1351
1258
|
) }));
|
|
1352
1259
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
1353
|
-
var SelectLabel =
|
|
1260
|
+
var SelectLabel = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(SelectPrimitive.Label, { ref, className: cn("py-1.5 ps-8 pe-2 text-sm font-semibold", className), ...props }));
|
|
1354
1261
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
1355
|
-
var SelectItem =
|
|
1262
|
+
var SelectItem = React27.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs15(
|
|
1356
1263
|
SelectPrimitive.Item,
|
|
1357
1264
|
{
|
|
1358
1265
|
ref,
|
|
@@ -1362,20 +1269,20 @@ var SelectItem = React29.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
1362
1269
|
),
|
|
1363
1270
|
...props,
|
|
1364
1271
|
children: [
|
|
1365
|
-
/* @__PURE__ */
|
|
1366
|
-
/* @__PURE__ */
|
|
1272
|
+
/* @__PURE__ */ jsx32("span", { className: "absolute start-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx32(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx32(Check4, { className: "h-4 w-4" }) }) }),
|
|
1273
|
+
/* @__PURE__ */ jsx32(SelectPrimitive.ItemText, { children })
|
|
1367
1274
|
]
|
|
1368
1275
|
}
|
|
1369
1276
|
));
|
|
1370
1277
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
1371
|
-
var SelectSeparator =
|
|
1278
|
+
var SelectSeparator = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(SelectPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
|
|
1372
1279
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
1373
1280
|
|
|
1374
1281
|
// src/components/ui/separator.tsx
|
|
1375
|
-
import * as
|
|
1282
|
+
import * as React28 from "react";
|
|
1376
1283
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
1377
|
-
import { jsx as
|
|
1378
|
-
var
|
|
1284
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
1285
|
+
var Separator4 = React28.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
1379
1286
|
SeparatorPrimitive.Root,
|
|
1380
1287
|
{
|
|
1381
1288
|
ref,
|
|
@@ -1389,19 +1296,19 @@ var Separator5 = React30.forwardRef(({ className, orientation = "horizontal", de
|
|
|
1389
1296
|
...props
|
|
1390
1297
|
}
|
|
1391
1298
|
));
|
|
1392
|
-
|
|
1299
|
+
Separator4.displayName = SeparatorPrimitive.Root.displayName;
|
|
1393
1300
|
|
|
1394
1301
|
// src/components/ui/sheet.tsx
|
|
1395
1302
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
1396
|
-
import { cva as
|
|
1303
|
+
import { cva as cva5 } from "class-variance-authority";
|
|
1397
1304
|
import { X as X2 } from "lucide-react";
|
|
1398
|
-
import * as
|
|
1399
|
-
import { jsx as
|
|
1305
|
+
import * as React29 from "react";
|
|
1306
|
+
import { jsx as jsx34, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1400
1307
|
var Sheet = SheetPrimitive.Root;
|
|
1401
1308
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
1402
1309
|
var SheetClose = SheetPrimitive.Close;
|
|
1403
1310
|
var SheetPortal = SheetPrimitive.Portal;
|
|
1404
|
-
var SheetOverlay =
|
|
1311
|
+
var SheetOverlay = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
1405
1312
|
SheetPrimitive.Overlay,
|
|
1406
1313
|
{
|
|
1407
1314
|
className: cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className),
|
|
@@ -1410,7 +1317,7 @@ var SheetOverlay = React31.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1410
1317
|
}
|
|
1411
1318
|
));
|
|
1412
1319
|
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
1413
|
-
var sheetVariants =
|
|
1320
|
+
var sheetVariants = cva5(
|
|
1414
1321
|
"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
|
1415
1322
|
{
|
|
1416
1323
|
variants: {
|
|
@@ -1424,40 +1331,40 @@ var sheetVariants = cva6(
|
|
|
1424
1331
|
defaultVariants: { side: "right" }
|
|
1425
1332
|
}
|
|
1426
1333
|
);
|
|
1427
|
-
var SheetContent =
|
|
1428
|
-
({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */
|
|
1429
|
-
/* @__PURE__ */
|
|
1430
|
-
/* @__PURE__ */
|
|
1334
|
+
var SheetContent = React29.forwardRef(
|
|
1335
|
+
({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs16(SheetPortal, { children: [
|
|
1336
|
+
/* @__PURE__ */ jsx34(SheetOverlay, {}),
|
|
1337
|
+
/* @__PURE__ */ jsxs16(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
|
|
1431
1338
|
children,
|
|
1432
|
-
/* @__PURE__ */
|
|
1433
|
-
/* @__PURE__ */
|
|
1434
|
-
/* @__PURE__ */
|
|
1339
|
+
/* @__PURE__ */ jsxs16(SheetPrimitive.Close, { className: "absolute end-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity duration-fast ease-standard data-[state=open]:bg-secondary hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", children: [
|
|
1340
|
+
/* @__PURE__ */ jsx34(X2, { className: "h-4 w-4" }),
|
|
1341
|
+
/* @__PURE__ */ jsx34("span", { className: "sr-only", children: "Close" })
|
|
1435
1342
|
] })
|
|
1436
1343
|
] })
|
|
1437
1344
|
] })
|
|
1438
1345
|
);
|
|
1439
1346
|
SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
1440
|
-
var SheetHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
1347
|
+
var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx34("div", { className: cn("flex flex-col space-y-2 text-center sm:text-start", className), ...props });
|
|
1441
1348
|
SheetHeader.displayName = "SheetHeader";
|
|
1442
|
-
var SheetFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
1349
|
+
var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx34("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
1443
1350
|
SheetFooter.displayName = "SheetFooter";
|
|
1444
|
-
var SheetTitle =
|
|
1351
|
+
var SheetTitle = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
|
|
1445
1352
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
1446
|
-
var SheetDescription =
|
|
1353
|
+
var SheetDescription = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
1447
1354
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
1448
1355
|
|
|
1449
1356
|
// src/components/ui/sidebar.tsx
|
|
1450
|
-
import * as
|
|
1451
|
-
import { Slot as
|
|
1452
|
-
import { cva as
|
|
1357
|
+
import * as React32 from "react";
|
|
1358
|
+
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
|
1359
|
+
import { cva as cva6 } from "class-variance-authority";
|
|
1453
1360
|
import { PanelLeft } from "lucide-react";
|
|
1454
1361
|
|
|
1455
1362
|
// src/hooks/use-mobile.ts
|
|
1456
|
-
import * as
|
|
1363
|
+
import * as React30 from "react";
|
|
1457
1364
|
var MOBILE_BREAKPOINT = 768;
|
|
1458
1365
|
function useIsMobile() {
|
|
1459
|
-
const [isMobile, setIsMobile] =
|
|
1460
|
-
|
|
1366
|
+
const [isMobile, setIsMobile] = React30.useState(void 0);
|
|
1367
|
+
React30.useEffect(() => {
|
|
1461
1368
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
1462
1369
|
const onChange = () => {
|
|
1463
1370
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -1470,20 +1377,20 @@ function useIsMobile() {
|
|
|
1470
1377
|
}
|
|
1471
1378
|
|
|
1472
1379
|
// src/components/ui/skeleton.tsx
|
|
1473
|
-
import { jsx as
|
|
1380
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
1474
1381
|
var Skeleton = ({ className, ...props }) => {
|
|
1475
|
-
return /* @__PURE__ */
|
|
1382
|
+
return /* @__PURE__ */ jsx35("div", { "aria-hidden": "true", className: cn("motion-safe:animate-pulse rounded-md bg-muted", className), ...props });
|
|
1476
1383
|
};
|
|
1477
1384
|
Skeleton.displayName = "Skeleton";
|
|
1478
1385
|
|
|
1479
1386
|
// src/components/ui/tooltip.tsx
|
|
1480
|
-
import * as
|
|
1387
|
+
import * as React31 from "react";
|
|
1481
1388
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
1482
|
-
import { jsx as
|
|
1389
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1483
1390
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
1484
1391
|
var Tooltip2 = TooltipPrimitive.Root;
|
|
1485
1392
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
1486
|
-
var TooltipContent =
|
|
1393
|
+
var TooltipContent = React31.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx36(
|
|
1487
1394
|
TooltipPrimitive.Content,
|
|
1488
1395
|
{
|
|
1489
1396
|
ref,
|
|
@@ -1498,28 +1405,28 @@ var TooltipContent = React33.forwardRef(({ className, sideOffset = 4, ...props }
|
|
|
1498
1405
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
1499
1406
|
|
|
1500
1407
|
// src/components/ui/sidebar.tsx
|
|
1501
|
-
import { jsx as
|
|
1408
|
+
import { jsx as jsx37, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1502
1409
|
var SIDEBAR_COOKIE_NAME = "sidebar:state";
|
|
1503
1410
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
1504
1411
|
var SIDEBAR_WIDTH = "16rem";
|
|
1505
1412
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
1506
1413
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
1507
1414
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
1508
|
-
var SidebarContext =
|
|
1415
|
+
var SidebarContext = React32.createContext(null);
|
|
1509
1416
|
function useSidebar() {
|
|
1510
|
-
const context =
|
|
1417
|
+
const context = React32.useContext(SidebarContext);
|
|
1511
1418
|
if (!context) throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
1512
1419
|
return context;
|
|
1513
1420
|
}
|
|
1514
1421
|
function useOptionalSidebar() {
|
|
1515
|
-
return
|
|
1422
|
+
return React32.useContext(SidebarContext);
|
|
1516
1423
|
}
|
|
1517
|
-
var SidebarProvider =
|
|
1424
|
+
var SidebarProvider = React32.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {
|
|
1518
1425
|
const isMobile = useIsMobile();
|
|
1519
|
-
const [openMobile, setOpenMobile] =
|
|
1520
|
-
const [_open, _setOpen] =
|
|
1426
|
+
const [openMobile, setOpenMobile] = React32.useState(false);
|
|
1427
|
+
const [_open, _setOpen] = React32.useState(defaultOpen);
|
|
1521
1428
|
const open = openProp ?? _open;
|
|
1522
|
-
const setOpen =
|
|
1429
|
+
const setOpen = React32.useCallback(
|
|
1523
1430
|
(value) => {
|
|
1524
1431
|
const openState = typeof value === "function" ? value(open) : value;
|
|
1525
1432
|
if (setOpenProp) {
|
|
@@ -1531,11 +1438,11 @@ var SidebarProvider = React34.forwardRef(({ defaultOpen = true, open: openProp,
|
|
|
1531
1438
|
},
|
|
1532
1439
|
[setOpenProp, open]
|
|
1533
1440
|
);
|
|
1534
|
-
const toggleSidebar =
|
|
1441
|
+
const toggleSidebar = React32.useCallback(
|
|
1535
1442
|
() => isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2),
|
|
1536
1443
|
[isMobile, setOpen, setOpenMobile]
|
|
1537
1444
|
);
|
|
1538
|
-
|
|
1445
|
+
React32.useEffect(() => {
|
|
1539
1446
|
const handleKeyDown = (event) => {
|
|
1540
1447
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
1541
1448
|
event.preventDefault();
|
|
@@ -1546,90 +1453,90 @@ var SidebarProvider = React34.forwardRef(({ defaultOpen = true, open: openProp,
|
|
|
1546
1453
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
1547
1454
|
}, [toggleSidebar]);
|
|
1548
1455
|
const state = open ? "expanded" : "collapsed";
|
|
1549
|
-
const contextValue =
|
|
1456
|
+
const contextValue = React32.useMemo(
|
|
1550
1457
|
() => ({ state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar }),
|
|
1551
1458
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
1552
1459
|
);
|
|
1553
|
-
return /* @__PURE__ */
|
|
1460
|
+
return /* @__PURE__ */ jsx37(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx37(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx37("div", { style: { "--sidebar-width": SIDEBAR_WIDTH, "--sidebar-width-icon": SIDEBAR_WIDTH_ICON, ...style }, className: cn("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar", className), ref, ...props, children }) }) });
|
|
1554
1461
|
});
|
|
1555
1462
|
SidebarProvider.displayName = "SidebarProvider";
|
|
1556
|
-
var Sidebar =
|
|
1463
|
+
var Sidebar = React32.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
|
|
1557
1464
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
1558
1465
|
if (collapsible === "none") {
|
|
1559
|
-
return /* @__PURE__ */
|
|
1466
|
+
return /* @__PURE__ */ jsx37("div", { className: cn("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground", className), ref, ...props, children });
|
|
1560
1467
|
}
|
|
1561
1468
|
if (isMobile) {
|
|
1562
|
-
return /* @__PURE__ */
|
|
1469
|
+
return /* @__PURE__ */ jsx37(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsx37(SheetContent, { "data-sidebar": "sidebar", "data-mobile": "true", className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden", style: { "--sidebar-width": SIDEBAR_WIDTH_MOBILE }, side, children: /* @__PURE__ */ jsx37("div", { className: "flex h-full w-full flex-col", children }) }) });
|
|
1563
1470
|
}
|
|
1564
|
-
return /* @__PURE__ */
|
|
1565
|
-
/* @__PURE__ */
|
|
1566
|
-
/* @__PURE__ */
|
|
1471
|
+
return /* @__PURE__ */ jsxs17("div", { ref, className: "group peer hidden text-sidebar-foreground md:block", "data-state": state, "data-collapsible": state === "collapsed" ? collapsible : "", "data-variant": variant, "data-side": side, children: [
|
|
1472
|
+
/* @__PURE__ */ jsx37("div", { className: cn("relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", "group-data-[collapsible=offcanvas]:w-0", "group-data-[side=right]:rotate-180", variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)") }),
|
|
1473
|
+
/* @__PURE__ */ jsx37("div", { className: cn("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex", side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]", variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l", className), ...props, children: /* @__PURE__ */ jsx37("div", { "data-sidebar": "sidebar", className: "flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow", children }) })
|
|
1567
1474
|
] });
|
|
1568
1475
|
});
|
|
1569
1476
|
Sidebar.displayName = "Sidebar";
|
|
1570
|
-
var SidebarTrigger =
|
|
1477
|
+
var SidebarTrigger = React32.forwardRef(
|
|
1571
1478
|
({ className, onClick, ...props }, ref) => {
|
|
1572
1479
|
const sidebar = useOptionalSidebar();
|
|
1573
1480
|
if (!sidebar) return null;
|
|
1574
1481
|
const { toggleSidebar } = sidebar;
|
|
1575
|
-
return /* @__PURE__ */
|
|
1482
|
+
return /* @__PURE__ */ jsxs17(Button, { ref, "data-sidebar": "trigger", variant: "ghost", size: "icon", className: cn("h-7 w-7", className), onClick: (event) => {
|
|
1576
1483
|
onClick?.(event);
|
|
1577
1484
|
toggleSidebar();
|
|
1578
1485
|
}, ...props, children: [
|
|
1579
|
-
/* @__PURE__ */
|
|
1580
|
-
/* @__PURE__ */
|
|
1486
|
+
/* @__PURE__ */ jsx37(PanelLeft, {}),
|
|
1487
|
+
/* @__PURE__ */ jsx37("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
1581
1488
|
] });
|
|
1582
1489
|
}
|
|
1583
1490
|
);
|
|
1584
1491
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
1585
|
-
var SidebarRail =
|
|
1492
|
+
var SidebarRail = React32.forwardRef(
|
|
1586
1493
|
({ className, ...props }, ref) => {
|
|
1587
1494
|
const { toggleSidebar } = useSidebar();
|
|
1588
|
-
return /* @__PURE__ */
|
|
1495
|
+
return /* @__PURE__ */ jsx37("button", { ref, "data-sidebar": "rail", "aria-label": "Toggle Sidebar", tabIndex: -1, onClick: toggleSidebar, title: "Toggle Sidebar", className: cn("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all duration-fast ease-standard ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] group-data-[side=left]:-right-4 group-data-[side=right]:left-0 hover:after:bg-sidebar-border sm:flex", "[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className), ...props });
|
|
1589
1496
|
}
|
|
1590
1497
|
);
|
|
1591
1498
|
SidebarRail.displayName = "SidebarRail";
|
|
1592
|
-
var SidebarInset =
|
|
1499
|
+
var SidebarInset = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37("main", { ref, className: cn("relative flex min-h-svh flex-1 flex-col bg-background", "peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow", className), ...props }));
|
|
1593
1500
|
SidebarInset.displayName = "SidebarInset";
|
|
1594
|
-
var SidebarInput =
|
|
1595
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1501
|
+
var SidebarInput = React32.forwardRef(
|
|
1502
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx37(Input, { ref, "data-sidebar": "input", className: cn("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring", className), ...props })
|
|
1596
1503
|
);
|
|
1597
1504
|
SidebarInput.displayName = "SidebarInput";
|
|
1598
|
-
var SidebarHeader =
|
|
1505
|
+
var SidebarHeader = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props }));
|
|
1599
1506
|
SidebarHeader.displayName = "SidebarHeader";
|
|
1600
|
-
var SidebarFooter =
|
|
1507
|
+
var SidebarFooter = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props }));
|
|
1601
1508
|
SidebarFooter.displayName = "SidebarFooter";
|
|
1602
|
-
var SidebarSeparator =
|
|
1603
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1509
|
+
var SidebarSeparator = React32.forwardRef(
|
|
1510
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx37(Separator4, { ref, "data-sidebar": "separator", className: cn("mx-2 w-auto bg-sidebar-border", className), ...props })
|
|
1604
1511
|
);
|
|
1605
1512
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
1606
|
-
var SidebarContent =
|
|
1513
|
+
var SidebarContent = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37("div", { ref, "data-sidebar": "content", className: cn("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", className), ...props }));
|
|
1607
1514
|
SidebarContent.displayName = "SidebarContent";
|
|
1608
|
-
var SidebarGroup =
|
|
1515
|
+
var SidebarGroup = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37("div", { ref, "data-sidebar": "group", className: cn("relative flex w-full min-w-0 flex-col p-2", className), ...props }));
|
|
1609
1516
|
SidebarGroup.displayName = "SidebarGroup";
|
|
1610
|
-
var SidebarGroupLabel =
|
|
1517
|
+
var SidebarGroupLabel = React32.forwardRef(
|
|
1611
1518
|
({ className, asChild = false, ...props }, ref) => {
|
|
1612
|
-
const Comp = asChild ?
|
|
1613
|
-
return /* @__PURE__ */
|
|
1519
|
+
const Comp = asChild ? Slot3 : "div";
|
|
1520
|
+
return /* @__PURE__ */ jsx37(Comp, { ref, "data-sidebar": "group-label", className: cn("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", className), ...props });
|
|
1614
1521
|
}
|
|
1615
1522
|
);
|
|
1616
1523
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
1617
|
-
var SidebarGroupAction =
|
|
1524
|
+
var SidebarGroupAction = React32.forwardRef(
|
|
1618
1525
|
({ className, asChild = false, ...props }, ref) => {
|
|
1619
|
-
const Comp = asChild ?
|
|
1620
|
-
return /* @__PURE__ */
|
|
1526
|
+
const Comp = asChild ? Slot3 : "button";
|
|
1527
|
+
return /* @__PURE__ */ jsx37(Comp, { ref, "data-sidebar": "group-action", className: cn("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform duration-fast ease-standard hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 after:md:hidden", "group-data-[collapsible=icon]:hidden", className), ...props });
|
|
1621
1528
|
}
|
|
1622
1529
|
);
|
|
1623
1530
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
1624
|
-
var SidebarGroupContent =
|
|
1625
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1531
|
+
var SidebarGroupContent = React32.forwardRef(
|
|
1532
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx37("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
|
|
1626
1533
|
);
|
|
1627
1534
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
1628
|
-
var SidebarMenu =
|
|
1535
|
+
var SidebarMenu = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
|
|
1629
1536
|
SidebarMenu.displayName = "SidebarMenu";
|
|
1630
|
-
var SidebarMenuItem =
|
|
1537
|
+
var SidebarMenuItem = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
|
|
1631
1538
|
SidebarMenuItem.displayName = "SidebarMenuItem";
|
|
1632
|
-
var sidebarMenuButtonVariants =
|
|
1539
|
+
var sidebarMenuButtonVariants = cva6(
|
|
1633
1540
|
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-start text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
|
1634
1541
|
{
|
|
1635
1542
|
variants: {
|
|
@@ -1642,66 +1549,66 @@ var sidebarMenuButtonVariants = cva7(
|
|
|
1642
1549
|
defaultVariants: { variant: "default", size: "default" }
|
|
1643
1550
|
}
|
|
1644
1551
|
);
|
|
1645
|
-
var SidebarMenuButton =
|
|
1646
|
-
const Comp = asChild ?
|
|
1552
|
+
var SidebarMenuButton = React32.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
|
|
1553
|
+
const Comp = asChild ? Slot3 : "button";
|
|
1647
1554
|
const { isMobile, state } = useSidebar();
|
|
1648
|
-
const button = /* @__PURE__ */
|
|
1555
|
+
const button = /* @__PURE__ */ jsx37(Comp, { ref, "data-sidebar": "menu-button", "data-size": size, "data-active": isActive, className: cn(sidebarMenuButtonVariants({ variant, size }), className), ...props });
|
|
1649
1556
|
if (!tooltip) return button;
|
|
1650
1557
|
if (typeof tooltip === "string") tooltip = { children: tooltip };
|
|
1651
|
-
return /* @__PURE__ */
|
|
1652
|
-
/* @__PURE__ */
|
|
1653
|
-
/* @__PURE__ */
|
|
1558
|
+
return /* @__PURE__ */ jsxs17(Tooltip2, { children: [
|
|
1559
|
+
/* @__PURE__ */ jsx37(TooltipTrigger, { asChild: true, children: button }),
|
|
1560
|
+
/* @__PURE__ */ jsx37(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })
|
|
1654
1561
|
] });
|
|
1655
1562
|
});
|
|
1656
1563
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
1657
|
-
var SidebarMenuAction =
|
|
1564
|
+
var SidebarMenuAction = React32.forwardRef(
|
|
1658
1565
|
({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
1659
|
-
const Comp = asChild ?
|
|
1660
|
-
return /* @__PURE__ */
|
|
1566
|
+
const Comp = asChild ? Slot3 : "button";
|
|
1567
|
+
return /* @__PURE__ */ jsx37(Comp, { ref, "data-sidebar": "menu-action", className: cn("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform duration-fast ease-standard peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 after:md:hidden", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0", className), ...props });
|
|
1661
1568
|
}
|
|
1662
1569
|
);
|
|
1663
1570
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
1664
|
-
var SidebarMenuBadge =
|
|
1665
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1571
|
+
var SidebarMenuBadge = React32.forwardRef(
|
|
1572
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx37("div", { ref, "data-sidebar": "menu-badge", className: cn("pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", className), ...props })
|
|
1666
1573
|
);
|
|
1667
1574
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
1668
|
-
var SidebarMenuSkeleton =
|
|
1575
|
+
var SidebarMenuSkeleton = React32.forwardRef(
|
|
1669
1576
|
({ className, showIcon = false, ...props }, ref) => {
|
|
1670
|
-
const width =
|
|
1671
|
-
return /* @__PURE__ */
|
|
1672
|
-
showIcon && /* @__PURE__ */
|
|
1673
|
-
/* @__PURE__ */
|
|
1577
|
+
const width = React32.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
|
|
1578
|
+
return /* @__PURE__ */ jsxs17("div", { ref, "data-sidebar": "menu-skeleton", className: cn("flex h-8 items-center gap-2 rounded-md px-2", className), ...props, children: [
|
|
1579
|
+
showIcon && /* @__PURE__ */ jsx37(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
|
|
1580
|
+
/* @__PURE__ */ jsx37(Skeleton, { className: "h-4 max-w-(--skeleton-width) flex-1", "data-sidebar": "menu-skeleton-text", style: { "--skeleton-width": width } })
|
|
1674
1581
|
] });
|
|
1675
1582
|
}
|
|
1676
1583
|
);
|
|
1677
1584
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
1678
|
-
var SidebarMenuSub =
|
|
1679
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1585
|
+
var SidebarMenuSub = React32.forwardRef(
|
|
1586
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx37("ul", { ref, "data-sidebar": "menu-sub", className: cn("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5", "group-data-[collapsible=icon]:hidden", className), ...props })
|
|
1680
1587
|
);
|
|
1681
1588
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
1682
|
-
var SidebarMenuSubItem =
|
|
1589
|
+
var SidebarMenuSubItem = React32.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx37("li", { ref, ...props }));
|
|
1683
1590
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
1684
|
-
var SidebarMenuSubButton =
|
|
1591
|
+
var SidebarMenuSubButton = React32.forwardRef(
|
|
1685
1592
|
({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
1686
|
-
const Comp = asChild ?
|
|
1687
|
-
return /* @__PURE__ */
|
|
1593
|
+
const Comp = asChild ? Slot3 : "a";
|
|
1594
|
+
return /* @__PURE__ */ jsx37(Comp, { ref, "data-sidebar": "menu-sub-button", "data-size": size, "data-active": isActive, className: cn("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", size === "sm" && "text-xs", size === "md" && "text-sm", "group-data-[collapsible=icon]:hidden", className), ...props });
|
|
1688
1595
|
}
|
|
1689
1596
|
);
|
|
1690
1597
|
SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
1691
1598
|
|
|
1692
1599
|
// src/components/ui/slider.tsx
|
|
1693
|
-
import * as
|
|
1600
|
+
import * as React33 from "react";
|
|
1694
1601
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
1695
|
-
import { jsx as
|
|
1696
|
-
var Slider =
|
|
1602
|
+
import { jsx as jsx38, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1603
|
+
var Slider = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs18(
|
|
1697
1604
|
SliderPrimitive.Root,
|
|
1698
1605
|
{
|
|
1699
1606
|
ref,
|
|
1700
1607
|
className: cn("relative flex w-full touch-none select-none items-center", className),
|
|
1701
1608
|
...props,
|
|
1702
1609
|
children: [
|
|
1703
|
-
/* @__PURE__ */
|
|
1704
|
-
/* @__PURE__ */
|
|
1610
|
+
/* @__PURE__ */ jsx38(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx38(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
|
|
1611
|
+
/* @__PURE__ */ jsx38(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-all duration-fast ease-standard hover:border-ring/50 hover:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
|
|
1705
1612
|
]
|
|
1706
1613
|
}
|
|
1707
1614
|
));
|
|
@@ -1709,9 +1616,9 @@ Slider.displayName = SliderPrimitive.Root.displayName;
|
|
|
1709
1616
|
|
|
1710
1617
|
// src/components/ui/sonner.tsx
|
|
1711
1618
|
import { Toaster as Sonner, toast } from "sonner";
|
|
1712
|
-
import { jsx as
|
|
1619
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
1713
1620
|
var Toaster = ({ theme = "system", ...props }) => {
|
|
1714
|
-
return /* @__PURE__ */
|
|
1621
|
+
return /* @__PURE__ */ jsx39(
|
|
1715
1622
|
Sonner,
|
|
1716
1623
|
{
|
|
1717
1624
|
theme,
|
|
@@ -1731,13 +1638,13 @@ var Toaster = ({ theme = "system", ...props }) => {
|
|
|
1731
1638
|
Toaster.displayName = "Toaster";
|
|
1732
1639
|
|
|
1733
1640
|
// src/components/ui/switch.tsx
|
|
1734
|
-
import * as
|
|
1641
|
+
import * as React34 from "react";
|
|
1735
1642
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
1736
|
-
import { jsx as
|
|
1737
|
-
var Switch =
|
|
1643
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
1644
|
+
var Switch = React34.forwardRef(({ className, dir: propDirRaw, ...props }, ref) => {
|
|
1738
1645
|
const propDir = propDirRaw === "rtl" ? "rtl" : propDirRaw === "ltr" ? "ltr" : void 0;
|
|
1739
|
-
const [resolvedDir, setResolvedDir] =
|
|
1740
|
-
|
|
1646
|
+
const [resolvedDir, setResolvedDir] = React34.useState(propDir ?? "ltr");
|
|
1647
|
+
React34.useEffect(() => {
|
|
1741
1648
|
if (propDir) {
|
|
1742
1649
|
setResolvedDir(propDir);
|
|
1743
1650
|
return;
|
|
@@ -1747,7 +1654,7 @@ var Switch = React36.forwardRef(({ className, dir: propDirRaw, ...props }, ref)
|
|
|
1747
1654
|
setResolvedDir(d);
|
|
1748
1655
|
}
|
|
1749
1656
|
}, [propDir]);
|
|
1750
|
-
return /* @__PURE__ */
|
|
1657
|
+
return /* @__PURE__ */ jsx40(
|
|
1751
1658
|
SwitchPrimitives.Root,
|
|
1752
1659
|
{
|
|
1753
1660
|
dir: resolvedDir,
|
|
@@ -1757,7 +1664,7 @@ var Switch = React36.forwardRef(({ className, dir: propDirRaw, ...props }, ref)
|
|
|
1757
1664
|
),
|
|
1758
1665
|
...props,
|
|
1759
1666
|
ref,
|
|
1760
|
-
children: /* @__PURE__ */
|
|
1667
|
+
children: /* @__PURE__ */ jsx40(
|
|
1761
1668
|
SwitchPrimitives.Thumb,
|
|
1762
1669
|
{
|
|
1763
1670
|
className: cn(
|
|
@@ -1774,26 +1681,26 @@ var Switch = React36.forwardRef(({ className, dir: propDirRaw, ...props }, ref)
|
|
|
1774
1681
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
1775
1682
|
|
|
1776
1683
|
// src/components/ui/table.tsx
|
|
1777
|
-
import * as
|
|
1778
|
-
import { jsx as
|
|
1779
|
-
var Table =
|
|
1780
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1684
|
+
import * as React35 from "react";
|
|
1685
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
1686
|
+
var Table = React35.forwardRef(
|
|
1687
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx41("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx41("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
|
|
1781
1688
|
);
|
|
1782
1689
|
Table.displayName = "Table";
|
|
1783
|
-
var TableHeader =
|
|
1784
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1690
|
+
var TableHeader = React35.forwardRef(
|
|
1691
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx41("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
|
|
1785
1692
|
);
|
|
1786
1693
|
TableHeader.displayName = "TableHeader";
|
|
1787
|
-
var TableBody =
|
|
1788
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1694
|
+
var TableBody = React35.forwardRef(
|
|
1695
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx41("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
|
|
1789
1696
|
);
|
|
1790
1697
|
TableBody.displayName = "TableBody";
|
|
1791
|
-
var TableFooter =
|
|
1792
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1698
|
+
var TableFooter = React35.forwardRef(
|
|
1699
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx41("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
|
|
1793
1700
|
);
|
|
1794
1701
|
TableFooter.displayName = "TableFooter";
|
|
1795
|
-
var TableRow =
|
|
1796
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1702
|
+
var TableRow = React35.forwardRef(
|
|
1703
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
|
|
1797
1704
|
"tr",
|
|
1798
1705
|
{
|
|
1799
1706
|
ref,
|
|
@@ -1803,8 +1710,8 @@ var TableRow = React37.forwardRef(
|
|
|
1803
1710
|
)
|
|
1804
1711
|
);
|
|
1805
1712
|
TableRow.displayName = "TableRow";
|
|
1806
|
-
var TableHead =
|
|
1807
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1713
|
+
var TableHead = React35.forwardRef(
|
|
1714
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
|
|
1808
1715
|
"th",
|
|
1809
1716
|
{
|
|
1810
1717
|
ref,
|
|
@@ -1817,21 +1724,21 @@ var TableHead = React37.forwardRef(
|
|
|
1817
1724
|
)
|
|
1818
1725
|
);
|
|
1819
1726
|
TableHead.displayName = "TableHead";
|
|
1820
|
-
var TableCell =
|
|
1821
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1727
|
+
var TableCell = React35.forwardRef(
|
|
1728
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx41("td", { ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pe-0", className), ...props })
|
|
1822
1729
|
);
|
|
1823
1730
|
TableCell.displayName = "TableCell";
|
|
1824
|
-
var TableCaption =
|
|
1825
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1731
|
+
var TableCaption = React35.forwardRef(
|
|
1732
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx41("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
|
|
1826
1733
|
);
|
|
1827
1734
|
TableCaption.displayName = "TableCaption";
|
|
1828
1735
|
|
|
1829
1736
|
// src/components/ui/tabs.tsx
|
|
1830
|
-
import * as
|
|
1737
|
+
import * as React36 from "react";
|
|
1831
1738
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
1832
|
-
import { jsx as
|
|
1739
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
1833
1740
|
var Tabs = TabsPrimitive.Root;
|
|
1834
|
-
var TabsList =
|
|
1741
|
+
var TabsList = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
1835
1742
|
TabsPrimitive.List,
|
|
1836
1743
|
{
|
|
1837
1744
|
ref,
|
|
@@ -1843,7 +1750,7 @@ var TabsList = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1843
1750
|
}
|
|
1844
1751
|
));
|
|
1845
1752
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
1846
|
-
var TabsTrigger =
|
|
1753
|
+
var TabsTrigger = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
1847
1754
|
TabsPrimitive.Trigger,
|
|
1848
1755
|
{
|
|
1849
1756
|
ref,
|
|
@@ -1855,7 +1762,7 @@ var TabsTrigger = React38.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1855
1762
|
}
|
|
1856
1763
|
));
|
|
1857
1764
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
1858
|
-
var TabsContent =
|
|
1765
|
+
var TabsContent = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
|
|
1859
1766
|
TabsPrimitive.Content,
|
|
1860
1767
|
{
|
|
1861
1768
|
ref,
|
|
@@ -1869,10 +1776,10 @@ var TabsContent = React38.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1869
1776
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
1870
1777
|
|
|
1871
1778
|
// src/components/ui/textarea.tsx
|
|
1872
|
-
import * as
|
|
1873
|
-
import { jsx as
|
|
1874
|
-
var Textarea =
|
|
1875
|
-
return /* @__PURE__ */
|
|
1779
|
+
import * as React37 from "react";
|
|
1780
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
1781
|
+
var Textarea = React37.forwardRef(({ className, ...props }, ref) => {
|
|
1782
|
+
return /* @__PURE__ */ jsx43(
|
|
1876
1783
|
"textarea",
|
|
1877
1784
|
{
|
|
1878
1785
|
className: cn(
|
|
@@ -1887,11 +1794,11 @@ var Textarea = React39.forwardRef(({ className, ...props }, ref) => {
|
|
|
1887
1794
|
Textarea.displayName = "Textarea";
|
|
1888
1795
|
|
|
1889
1796
|
// src/components/ui/toggle.tsx
|
|
1890
|
-
import * as
|
|
1797
|
+
import * as React38 from "react";
|
|
1891
1798
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
1892
|
-
import { cva as
|
|
1893
|
-
import { jsx as
|
|
1894
|
-
var toggleVariants =
|
|
1799
|
+
import { cva as cva7 } from "class-variance-authority";
|
|
1800
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
1801
|
+
var toggleVariants = cva7(
|
|
1895
1802
|
"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors duration-fast ease-standard hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-primary/10 data-[state=on]:text-accent-foreground",
|
|
1896
1803
|
{
|
|
1897
1804
|
variants: {
|
|
@@ -1908,22 +1815,22 @@ var toggleVariants = cva8(
|
|
|
1908
1815
|
defaultVariants: { variant: "default", size: "default" }
|
|
1909
1816
|
}
|
|
1910
1817
|
);
|
|
1911
|
-
var Toggle =
|
|
1818
|
+
var Toggle = React38.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx44(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
|
|
1912
1819
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
1913
1820
|
|
|
1914
1821
|
// src/components/ui/toggle-group.tsx
|
|
1915
|
-
import * as
|
|
1822
|
+
import * as React39 from "react";
|
|
1916
1823
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
1917
|
-
import { jsx as
|
|
1918
|
-
var ToggleGroupContext =
|
|
1824
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
1825
|
+
var ToggleGroupContext = React39.createContext({
|
|
1919
1826
|
size: "default",
|
|
1920
1827
|
variant: "default"
|
|
1921
1828
|
});
|
|
1922
|
-
var ToggleGroup =
|
|
1829
|
+
var ToggleGroup = React39.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx45(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center justify-center gap-1", className), ...props, children: /* @__PURE__ */ jsx45(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
|
|
1923
1830
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
1924
|
-
var ToggleGroupItem =
|
|
1925
|
-
const context =
|
|
1926
|
-
return /* @__PURE__ */
|
|
1831
|
+
var ToggleGroupItem = React39.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
1832
|
+
const context = React39.useContext(ToggleGroupContext);
|
|
1833
|
+
return /* @__PURE__ */ jsx45(
|
|
1927
1834
|
ToggleGroupPrimitive.Item,
|
|
1928
1835
|
{
|
|
1929
1836
|
ref,
|
|
@@ -1936,8 +1843,6 @@ var ToggleGroupItem = React41.forwardRef(({ className, children, variant, size,
|
|
|
1936
1843
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
1937
1844
|
|
|
1938
1845
|
export {
|
|
1939
|
-
cn,
|
|
1940
|
-
formatRelativeTime,
|
|
1941
1846
|
Accordion,
|
|
1942
1847
|
AccordionItem,
|
|
1943
1848
|
AccordionTrigger,
|
|
@@ -1945,8 +1850,6 @@ export {
|
|
|
1945
1850
|
Alert,
|
|
1946
1851
|
AlertTitle,
|
|
1947
1852
|
AlertDescription,
|
|
1948
|
-
buttonVariants,
|
|
1949
|
-
Button,
|
|
1950
1853
|
AlertDialog,
|
|
1951
1854
|
AlertDialogTrigger,
|
|
1952
1855
|
AlertDialogPortal,
|
|
@@ -2039,22 +1942,7 @@ export {
|
|
|
2039
1942
|
DrawerFooter,
|
|
2040
1943
|
DrawerTitle,
|
|
2041
1944
|
DrawerDescription,
|
|
2042
|
-
|
|
2043
|
-
DropdownMenuTrigger,
|
|
2044
|
-
DropdownMenuGroup,
|
|
2045
|
-
DropdownMenuPortal,
|
|
2046
|
-
DropdownMenuSub,
|
|
2047
|
-
DropdownMenuRadioGroup,
|
|
2048
|
-
DropdownMenuSubTrigger,
|
|
2049
|
-
DropdownMenuSubContent,
|
|
2050
|
-
DropdownMenuContent,
|
|
2051
|
-
DropdownMenuItem,
|
|
2052
|
-
DropdownMenuCheckboxItem,
|
|
2053
|
-
DropdownMenuRadioItem,
|
|
2054
|
-
DropdownMenuLabel,
|
|
2055
|
-
DropdownMenuSeparator,
|
|
2056
|
-
DropdownMenuShortcut,
|
|
2057
|
-
Label3 as Label,
|
|
1945
|
+
Label2 as Label,
|
|
2058
1946
|
Form,
|
|
2059
1947
|
FormField,
|
|
2060
1948
|
useFormField,
|
|
@@ -2109,7 +1997,7 @@ export {
|
|
|
2109
1997
|
PopoverTrigger,
|
|
2110
1998
|
PopoverContent,
|
|
2111
1999
|
Progress,
|
|
2112
|
-
|
|
2000
|
+
RadioGroup3 as RadioGroup,
|
|
2113
2001
|
RadioGroupItem,
|
|
2114
2002
|
ResizablePanelGroup,
|
|
2115
2003
|
ResizablePanel,
|
|
@@ -2126,7 +2014,7 @@ export {
|
|
|
2126
2014
|
SelectLabel,
|
|
2127
2015
|
SelectItem,
|
|
2128
2016
|
SelectSeparator,
|
|
2129
|
-
|
|
2017
|
+
Separator4 as Separator,
|
|
2130
2018
|
Sheet,
|
|
2131
2019
|
SheetTrigger,
|
|
2132
2020
|
SheetClose,
|
|
@@ -2189,4 +2077,4 @@ export {
|
|
|
2189
2077
|
ToggleGroup,
|
|
2190
2078
|
ToggleGroupItem
|
|
2191
2079
|
};
|
|
2192
|
-
//# sourceMappingURL=chunk-
|
|
2080
|
+
//# sourceMappingURL=chunk-YYV7ECKZ.js.map
|