openchad-react 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1752 @@
1
+ 'use strict';
2
+
3
+ var radixUi = require('radix-ui');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var React9 = require('react');
6
+ var AvatarPrimitive = require('@radix-ui/react-avatar');
7
+ var clsx = require('clsx');
8
+ var tailwindMerge = require('tailwind-merge');
9
+ var classVarianceAuthority = require('class-variance-authority');
10
+ var reactSlot = require('@radix-ui/react-slot');
11
+ var lucideReact = require('lucide-react');
12
+ var reactDayPicker = require('react-day-picker');
13
+ var RechartsPrimitive = require('recharts');
14
+ var CheckboxPrimitive = require('@radix-ui/react-checkbox');
15
+ var cmdk = require('cmdk');
16
+ var DialogPrimitive = require('@radix-ui/react-dialog');
17
+ var ContextMenuPrimitive = require('@radix-ui/react-context-menu');
18
+ var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
19
+ var HoverCardPrimitive = require('@radix-ui/react-hover-card');
20
+ var LabelPrimitive = require('@radix-ui/react-label');
21
+ var PopoverPrimitive = require('@radix-ui/react-popover');
22
+ var ProgressPrimitive = require('@radix-ui/react-progress');
23
+ var ResizablePrimitive = require('react-resizable-panels');
24
+ var ScrollAreaPrimitive = require('@radix-ui/react-scroll-area');
25
+ var SelectPrimitive = require('@radix-ui/react-select');
26
+ var SliderPrimitive = require('@radix-ui/react-slider');
27
+ var sonner = require('sonner');
28
+ var TooltipPrimitive = require('@radix-ui/react-tooltip');
29
+
30
+ function _interopNamespace(e) {
31
+ if (e && e.__esModule) return e;
32
+ var n = Object.create(null);
33
+ if (e) {
34
+ Object.keys(e).forEach(function (k) {
35
+ if (k !== 'default') {
36
+ var d = Object.getOwnPropertyDescriptor(e, k);
37
+ Object.defineProperty(n, k, d.get ? d : {
38
+ enumerable: true,
39
+ get: function () { return e[k]; }
40
+ });
41
+ }
42
+ });
43
+ }
44
+ n.default = e;
45
+ return Object.freeze(n);
46
+ }
47
+
48
+ var React9__namespace = /*#__PURE__*/_interopNamespace(React9);
49
+ var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
50
+ var RechartsPrimitive__namespace = /*#__PURE__*/_interopNamespace(RechartsPrimitive);
51
+ var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
52
+ var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
53
+ var ContextMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(ContextMenuPrimitive);
54
+ var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
55
+ var HoverCardPrimitive__namespace = /*#__PURE__*/_interopNamespace(HoverCardPrimitive);
56
+ var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
57
+ var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
58
+ var ProgressPrimitive__namespace = /*#__PURE__*/_interopNamespace(ProgressPrimitive);
59
+ var ResizablePrimitive__namespace = /*#__PURE__*/_interopNamespace(ResizablePrimitive);
60
+ var ScrollAreaPrimitive__namespace = /*#__PURE__*/_interopNamespace(ScrollAreaPrimitive);
61
+ var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
62
+ var SliderPrimitive__namespace = /*#__PURE__*/_interopNamespace(SliderPrimitive);
63
+ var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
64
+
65
+ // components/ui/aspect-ratio.tsx
66
+ function AspectRatio({
67
+ ...props
68
+ }) {
69
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AspectRatio.Root, { "data-slot": "aspect-ratio", ...props });
70
+ }
71
+ function cn(...inputs) {
72
+ return tailwindMerge.twMerge(clsx.clsx(inputs));
73
+ }
74
+ var Avatar = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
75
+ AvatarPrimitive__namespace.Root,
76
+ {
77
+ ref,
78
+ className: cn(
79
+ "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
80
+ className
81
+ ),
82
+ ...props
83
+ }
84
+ ));
85
+ Avatar.displayName = AvatarPrimitive__namespace.Root.displayName;
86
+ var AvatarImage = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
87
+ AvatarPrimitive__namespace.Image,
88
+ {
89
+ ref,
90
+ className: cn("aspect-square h-full w-full", className),
91
+ ...props
92
+ }
93
+ ));
94
+ AvatarImage.displayName = AvatarPrimitive__namespace.Image.displayName;
95
+ var AvatarFallback = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
96
+ AvatarPrimitive__namespace.Fallback,
97
+ {
98
+ ref,
99
+ className: cn(
100
+ "flex h-full w-full items-center justify-center rounded-full bg-muted",
101
+ className
102
+ ),
103
+ ...props
104
+ }
105
+ ));
106
+ AvatarFallback.displayName = AvatarPrimitive__namespace.Fallback.displayName;
107
+ var badgeVariants = classVarianceAuthority.cva(
108
+ "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
109
+ {
110
+ variants: {
111
+ variant: {
112
+ default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
113
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
114
+ destructive: "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
115
+ outline: "text-foreground"
116
+ }
117
+ },
118
+ defaultVariants: {
119
+ variant: "default"
120
+ }
121
+ }
122
+ );
123
+ function Badge({ className, variant, ...props }) {
124
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
125
+ }
126
+ var buttonVariants = classVarianceAuthority.cva(
127
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
128
+ {
129
+ variants: {
130
+ variant: {
131
+ default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
132
+ destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
133
+ outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
134
+ secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
135
+ ghost: "hover:bg-accent hover:text-accent-foreground",
136
+ link: "text-primary underline-offset-4 hover:underline"
137
+ },
138
+ size: {
139
+ default: "h-9 px-4 py-2",
140
+ sm: "h-8 rounded-md px-3 text-xs",
141
+ lg: "h-10 rounded-md px-8",
142
+ icon: "h-9 w-9"
143
+ }
144
+ },
145
+ defaultVariants: {
146
+ variant: "default",
147
+ size: "default"
148
+ }
149
+ }
150
+ );
151
+ var Button = React9__namespace.forwardRef(
152
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
153
+ const Comp = asChild ? reactSlot.Slot : "button";
154
+ return /* @__PURE__ */ jsxRuntime.jsx(
155
+ Comp,
156
+ {
157
+ className: cn(buttonVariants({ variant, size, className })),
158
+ ref,
159
+ ...props
160
+ }
161
+ );
162
+ }
163
+ );
164
+ Button.displayName = "Button";
165
+ function Calendar({
166
+ className,
167
+ classNames,
168
+ showOutsideDays = true,
169
+ captionLayout = "label",
170
+ buttonVariant = "ghost",
171
+ formatters,
172
+ components,
173
+ ...props
174
+ }) {
175
+ const defaultClassNames = reactDayPicker.getDefaultClassNames();
176
+ return /* @__PURE__ */ jsxRuntime.jsx(
177
+ reactDayPicker.DayPicker,
178
+ {
179
+ showOutsideDays,
180
+ className: cn(
181
+ "bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
182
+ String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
183
+ String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
184
+ className
185
+ ),
186
+ captionLayout,
187
+ formatters: {
188
+ formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
189
+ ...formatters
190
+ },
191
+ classNames: {
192
+ root: cn("w-fit", defaultClassNames.root),
193
+ months: cn(
194
+ "relative flex flex-col gap-4 md:flex-row",
195
+ defaultClassNames.months
196
+ ),
197
+ month: cn("flex w-full flex-col gap-4", defaultClassNames.month),
198
+ nav: cn(
199
+ "absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",
200
+ defaultClassNames.nav
201
+ ),
202
+ button_previous: cn(
203
+ buttonVariants({ variant: buttonVariant }),
204
+ "h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",
205
+ defaultClassNames.button_previous
206
+ ),
207
+ button_next: cn(
208
+ buttonVariants({ variant: buttonVariant }),
209
+ "h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",
210
+ defaultClassNames.button_next
211
+ ),
212
+ month_caption: cn(
213
+ "flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",
214
+ defaultClassNames.month_caption
215
+ ),
216
+ dropdowns: cn(
217
+ "flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",
218
+ defaultClassNames.dropdowns
219
+ ),
220
+ dropdown_root: cn(
221
+ "has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",
222
+ defaultClassNames.dropdown_root
223
+ ),
224
+ dropdown: cn(
225
+ "bg-popover absolute inset-0 opacity-0",
226
+ defaultClassNames.dropdown
227
+ ),
228
+ caption_label: cn(
229
+ "select-none font-medium",
230
+ captionLayout === "label" ? "text-sm" : "[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5",
231
+ defaultClassNames.caption_label
232
+ ),
233
+ table: "w-full border-collapse",
234
+ weekdays: cn("flex", defaultClassNames.weekdays),
235
+ weekday: cn(
236
+ "text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",
237
+ defaultClassNames.weekday
238
+ ),
239
+ week: cn("mt-2 flex w-full", defaultClassNames.week),
240
+ week_number_header: cn(
241
+ "w-[--cell-size] select-none",
242
+ defaultClassNames.week_number_header
243
+ ),
244
+ week_number: cn(
245
+ "text-muted-foreground select-none text-[0.8rem]",
246
+ defaultClassNames.week_number
247
+ ),
248
+ day: cn(
249
+ "group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",
250
+ defaultClassNames.day
251
+ ),
252
+ range_start: cn(
253
+ "bg-accent rounded-l-md",
254
+ defaultClassNames.range_start
255
+ ),
256
+ range_middle: cn("rounded-none", defaultClassNames.range_middle),
257
+ range_end: cn("bg-accent rounded-r-md", defaultClassNames.range_end),
258
+ today: cn(
259
+ "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
260
+ defaultClassNames.today
261
+ ),
262
+ outside: cn(
263
+ "text-muted-foreground aria-selected:text-muted-foreground",
264
+ defaultClassNames.outside
265
+ ),
266
+ disabled: cn(
267
+ "text-muted-foreground opacity-50",
268
+ defaultClassNames.disabled
269
+ ),
270
+ hidden: cn("invisible", defaultClassNames.hidden),
271
+ ...classNames
272
+ },
273
+ components: {
274
+ Root: ({ className: className2, rootRef, ...props2 }) => {
275
+ return /* @__PURE__ */ jsxRuntime.jsx(
276
+ "div",
277
+ {
278
+ "data-slot": "calendar",
279
+ ref: rootRef,
280
+ className: cn(className2),
281
+ ...props2
282
+ }
283
+ );
284
+ },
285
+ Chevron: ({ className: className2, orientation, ...props2 }) => {
286
+ if (orientation === "left") {
287
+ return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeftIcon, { className: cn("size-4", className2), ...props2 });
288
+ }
289
+ if (orientation === "right") {
290
+ return /* @__PURE__ */ jsxRuntime.jsx(
291
+ lucideReact.ChevronRightIcon,
292
+ {
293
+ className: cn("size-4", className2),
294
+ ...props2
295
+ }
296
+ );
297
+ }
298
+ return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: cn("size-4", className2), ...props2 });
299
+ },
300
+ DayButton: CalendarDayButton,
301
+ WeekNumber: ({ children, ...props2 }) => {
302
+ return /* @__PURE__ */ jsxRuntime.jsx("td", { ...props2, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-[--cell-size] items-center justify-center text-center", children }) });
303
+ },
304
+ ...components
305
+ },
306
+ ...props
307
+ }
308
+ );
309
+ }
310
+ function CalendarDayButton({
311
+ className,
312
+ day,
313
+ modifiers,
314
+ ...props
315
+ }) {
316
+ const defaultClassNames = reactDayPicker.getDefaultClassNames();
317
+ const ref = React9__namespace.useRef(null);
318
+ React9__namespace.useEffect(() => {
319
+ if (modifiers.focused) ref.current?.focus();
320
+ }, [modifiers.focused]);
321
+ return /* @__PURE__ */ jsxRuntime.jsx(
322
+ Button,
323
+ {
324
+ ref,
325
+ variant: "ghost",
326
+ size: "icon",
327
+ "data-day": day.date.toLocaleDateString(),
328
+ "data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
329
+ "data-range-start": modifiers.range_start,
330
+ "data-range-end": modifiers.range_end,
331
+ "data-range-middle": modifiers.range_middle,
332
+ className: cn(
333
+ "data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",
334
+ defaultClassNames.day,
335
+ className
336
+ ),
337
+ ...props
338
+ }
339
+ );
340
+ }
341
+ var Card = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
342
+ "div",
343
+ {
344
+ ref,
345
+ className: cn(
346
+ "rounded-xl border bg-card text-card-foreground shadow",
347
+ className
348
+ ),
349
+ ...props
350
+ }
351
+ ));
352
+ Card.displayName = "Card";
353
+ var CardHeader = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
354
+ "div",
355
+ {
356
+ ref,
357
+ className: cn("flex flex-col space-y-1.5 p-6", className),
358
+ ...props
359
+ }
360
+ ));
361
+ CardHeader.displayName = "CardHeader";
362
+ var CardTitle = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
363
+ "div",
364
+ {
365
+ ref,
366
+ className: cn("font-semibold leading-none tracking-tight", className),
367
+ ...props
368
+ }
369
+ ));
370
+ CardTitle.displayName = "CardTitle";
371
+ var CardDescription = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
372
+ "div",
373
+ {
374
+ ref,
375
+ className: cn("text-sm text-muted-foreground", className),
376
+ ...props
377
+ }
378
+ ));
379
+ CardDescription.displayName = "CardDescription";
380
+ var CardContent = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
381
+ CardContent.displayName = "CardContent";
382
+ var CardFooter = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
383
+ "div",
384
+ {
385
+ ref,
386
+ className: cn("flex items-center p-6 pt-0", className),
387
+ ...props
388
+ }
389
+ ));
390
+ CardFooter.displayName = "CardFooter";
391
+ var THEMES = { light: "", dark: ".dark" };
392
+ var ChartContext = React9__namespace.createContext(null);
393
+ function useChart() {
394
+ const context = React9__namespace.useContext(ChartContext);
395
+ if (!context) {
396
+ throw new Error("useChart must be used within a <ChartContainer />");
397
+ }
398
+ return context;
399
+ }
400
+ var ChartContainer = React9__namespace.forwardRef(({ id, className, children, config, ...props }, ref) => {
401
+ const uniqueId = React9__namespace.useId();
402
+ const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
403
+ return /* @__PURE__ */ jsxRuntime.jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxRuntime.jsxs(
404
+ "div",
405
+ {
406
+ "data-chart": chartId,
407
+ ref,
408
+ className: cn(
409
+ "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",
410
+ className
411
+ ),
412
+ ...props,
413
+ children: [
414
+ /* @__PURE__ */ jsxRuntime.jsx(ChartStyle, { id: chartId, config }),
415
+ /* @__PURE__ */ jsxRuntime.jsx(RechartsPrimitive__namespace.ResponsiveContainer, { children })
416
+ ]
417
+ }
418
+ ) });
419
+ });
420
+ ChartContainer.displayName = "Chart";
421
+ var ChartStyle = ({ id, config }) => {
422
+ const colorConfig = Object.entries(config).filter(
423
+ ([, config2]) => config2.theme || config2.color
424
+ );
425
+ if (!colorConfig.length) {
426
+ return null;
427
+ }
428
+ return /* @__PURE__ */ jsxRuntime.jsx(
429
+ "style",
430
+ {
431
+ dangerouslySetInnerHTML: {
432
+ __html: Object.entries(THEMES).map(
433
+ ([theme, prefix]) => `
434
+ ${prefix} [data-chart=${id}] {
435
+ ${colorConfig.map(([key, itemConfig]) => {
436
+ const color = itemConfig.theme?.[theme] || itemConfig.color;
437
+ return color ? ` --color-${key}: ${color};` : null;
438
+ }).join("\n")}
439
+ }
440
+ `
441
+ ).join("\n")
442
+ }
443
+ }
444
+ );
445
+ };
446
+ var ChartTooltip = RechartsPrimitive__namespace.Tooltip;
447
+ var ChartTooltipContent = React9__namespace.forwardRef(
448
+ ({
449
+ active,
450
+ payload,
451
+ className,
452
+ indicator = "dot",
453
+ hideLabel = false,
454
+ hideIndicator = false,
455
+ label,
456
+ labelFormatter,
457
+ labelClassName,
458
+ formatter,
459
+ color,
460
+ nameKey,
461
+ labelKey
462
+ }, ref) => {
463
+ const { config } = useChart();
464
+ const tooltipLabel = React9__namespace.useMemo(() => {
465
+ if (hideLabel || !payload?.length) {
466
+ return null;
467
+ }
468
+ const [item] = payload;
469
+ const key = `${labelKey || item?.dataKey || item?.name || "value"}`;
470
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
471
+ const value = !labelKey && typeof label === "string" ? config[label]?.label || label : itemConfig?.label;
472
+ if (labelFormatter) {
473
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
474
+ }
475
+ if (!value) {
476
+ return null;
477
+ }
478
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("font-medium", labelClassName), children: value });
479
+ }, [
480
+ label,
481
+ labelFormatter,
482
+ payload,
483
+ hideLabel,
484
+ labelClassName,
485
+ config,
486
+ labelKey
487
+ ]);
488
+ if (!active || !payload?.length) {
489
+ return null;
490
+ }
491
+ const nestLabel = payload.length === 1 && indicator !== "dot";
492
+ return /* @__PURE__ */ jsxRuntime.jsxs(
493
+ "div",
494
+ {
495
+ ref,
496
+ className: cn(
497
+ "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",
498
+ className
499
+ ),
500
+ children: [
501
+ !nestLabel ? tooltipLabel : null,
502
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-1.5", children: payload.filter((item) => item.type !== "none").map((item, index) => {
503
+ const key = `${nameKey || item.name || item.dataKey || "value"}`;
504
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
505
+ const indicatorColor = color || item.payload.fill || item.color;
506
+ return /* @__PURE__ */ jsxRuntime.jsx(
507
+ "div",
508
+ {
509
+ className: cn(
510
+ "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
511
+ indicator === "dot" && "items-center"
512
+ ),
513
+ children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
514
+ itemConfig?.icon ? /* @__PURE__ */ jsxRuntime.jsx(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsxRuntime.jsx(
515
+ "div",
516
+ {
517
+ className: cn(
518
+ "shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",
519
+ {
520
+ "h-2.5 w-2.5": indicator === "dot",
521
+ "w-1": indicator === "line",
522
+ "w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
523
+ "my-0.5": nestLabel && indicator === "dashed"
524
+ }
525
+ ),
526
+ style: {
527
+ "--color-bg": indicatorColor,
528
+ "--color-border": indicatorColor
529
+ }
530
+ }
531
+ ),
532
+ /* @__PURE__ */ jsxRuntime.jsxs(
533
+ "div",
534
+ {
535
+ className: cn(
536
+ "flex flex-1 justify-between leading-none",
537
+ nestLabel ? "items-end" : "items-center"
538
+ ),
539
+ children: [
540
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-1.5", children: [
541
+ nestLabel ? tooltipLabel : null,
542
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
543
+ ] }),
544
+ item.value && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
545
+ ]
546
+ }
547
+ )
548
+ ] })
549
+ },
550
+ item.dataKey
551
+ );
552
+ }) })
553
+ ]
554
+ }
555
+ );
556
+ }
557
+ );
558
+ ChartTooltipContent.displayName = "ChartTooltip";
559
+ var ChartLegend = RechartsPrimitive__namespace.Legend;
560
+ var ChartLegendContent = React9__namespace.forwardRef(
561
+ ({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
562
+ const { config } = useChart();
563
+ if (!payload?.length) {
564
+ return null;
565
+ }
566
+ return /* @__PURE__ */ jsxRuntime.jsx(
567
+ "div",
568
+ {
569
+ ref,
570
+ className: cn(
571
+ "flex items-center justify-center gap-4",
572
+ verticalAlign === "top" ? "pb-3" : "pt-3",
573
+ className
574
+ ),
575
+ children: payload.filter((item) => item.type !== "none").map((item) => {
576
+ const key = `${nameKey || item.dataKey || "value"}`;
577
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
578
+ return /* @__PURE__ */ jsxRuntime.jsxs(
579
+ "div",
580
+ {
581
+ className: cn(
582
+ "flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"
583
+ ),
584
+ children: [
585
+ itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsxRuntime.jsx(itemConfig.icon, {}) : /* @__PURE__ */ jsxRuntime.jsx(
586
+ "div",
587
+ {
588
+ className: "h-2 w-2 shrink-0 rounded-[2px]",
589
+ style: {
590
+ backgroundColor: item.color
591
+ }
592
+ }
593
+ ),
594
+ itemConfig?.label
595
+ ]
596
+ },
597
+ item.value
598
+ );
599
+ })
600
+ }
601
+ );
602
+ }
603
+ );
604
+ ChartLegendContent.displayName = "ChartLegend";
605
+ function getPayloadConfigFromPayload(config, payload, key) {
606
+ if (typeof payload !== "object" || payload === null) {
607
+ return void 0;
608
+ }
609
+ const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null ? payload.payload : void 0;
610
+ let configLabelKey = key;
611
+ if (key in payload && typeof payload[key] === "string") {
612
+ configLabelKey = payload[key];
613
+ } else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === "string") {
614
+ configLabelKey = payloadPayload[key];
615
+ }
616
+ return configLabelKey in config ? config[configLabelKey] : config[key];
617
+ }
618
+ var Checkbox = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
619
+ CheckboxPrimitive__namespace.Root,
620
+ {
621
+ ref,
622
+ className: cn(
623
+ "peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
624
+ className
625
+ ),
626
+ ...props,
627
+ children: /* @__PURE__ */ jsxRuntime.jsx(
628
+ CheckboxPrimitive__namespace.Indicator,
629
+ {
630
+ className: cn("flex items-center justify-center text-current", className?.includes("rounded-full") && className),
631
+ children: !className?.includes("rounded-full") && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" })
632
+ }
633
+ )
634
+ }
635
+ ));
636
+ Checkbox.displayName = CheckboxPrimitive__namespace.Root.displayName;
637
+ var Dialog = DialogPrimitive__namespace.Root;
638
+ var DialogTrigger = DialogPrimitive__namespace.Trigger;
639
+ var DialogPortal = DialogPrimitive__namespace.Portal;
640
+ var DialogClose = DialogPrimitive__namespace.Close;
641
+ var DialogOverlay = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
642
+ DialogPrimitive__namespace.Overlay,
643
+ {
644
+ ref,
645
+ className: cn(
646
+ "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",
647
+ className
648
+ ),
649
+ ...props
650
+ }
651
+ ));
652
+ DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
653
+ var DialogContent = React9__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
654
+ /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
655
+ /* @__PURE__ */ jsxRuntime.jsxs(
656
+ DialogPrimitive__namespace.Content,
657
+ {
658
+ ref,
659
+ className: cn(
660
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-card px-6 pt-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg",
661
+ className
662
+ ),
663
+ ...props,
664
+ children: [
665
+ children,
666
+ /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
667
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" }),
668
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
669
+ ] })
670
+ ]
671
+ }
672
+ )
673
+ ] }));
674
+ DialogContent.displayName = DialogPrimitive__namespace.Content.displayName;
675
+ var DialogHeader = ({
676
+ className,
677
+ ...props
678
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
679
+ "div",
680
+ {
681
+ className: cn(
682
+ "flex flex-col space-y-1.5 text-center sm:text-left",
683
+ className
684
+ ),
685
+ ...props
686
+ }
687
+ );
688
+ DialogHeader.displayName = "DialogHeader";
689
+ var DialogFooter = ({
690
+ className,
691
+ ...props
692
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
693
+ "div",
694
+ {
695
+ className: cn(
696
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
697
+ className
698
+ ),
699
+ ...props
700
+ }
701
+ );
702
+ DialogFooter.displayName = "DialogFooter";
703
+ var DialogTitle = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
704
+ DialogPrimitive__namespace.Title,
705
+ {
706
+ ref,
707
+ className: cn(
708
+ "text-lg font-semibold leading-none tracking-tight",
709
+ className
710
+ ),
711
+ ...props
712
+ }
713
+ ));
714
+ DialogTitle.displayName = DialogPrimitive__namespace.Title.displayName;
715
+ var DialogDescription = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
716
+ DialogPrimitive__namespace.Description,
717
+ {
718
+ ref,
719
+ className: cn("text-sm text-muted-foreground", className),
720
+ ...props
721
+ }
722
+ ));
723
+ DialogDescription.displayName = DialogPrimitive__namespace.Description.displayName;
724
+ var Command = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
725
+ cmdk.Command,
726
+ {
727
+ ref,
728
+ className: cn(
729
+ "flex h-full w-full flex-col overflow-hidden rounded-md bg-card text-popover-foreground",
730
+ className
731
+ ),
732
+ ...props
733
+ }
734
+ ));
735
+ Command.displayName = cmdk.Command.displayName;
736
+ var CommandDialog = ({ children, ...props }) => {
737
+ return /* @__PURE__ */ jsxRuntime.jsx(Dialog, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsxRuntime.jsx(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 }) }) });
738
+ };
739
+ var CommandInput = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
740
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
741
+ /* @__PURE__ */ jsxRuntime.jsx(
742
+ cmdk.Command.Input,
743
+ {
744
+ ref,
745
+ className: cn(
746
+ "flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
747
+ className
748
+ ),
749
+ ...props
750
+ }
751
+ )
752
+ ] }));
753
+ CommandInput.displayName = cmdk.Command.Input.displayName;
754
+ var CommandList = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
755
+ cmdk.Command.List,
756
+ {
757
+ ref,
758
+ className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className),
759
+ ...props
760
+ }
761
+ ));
762
+ CommandList.displayName = cmdk.Command.List.displayName;
763
+ var CommandEmpty = React9__namespace.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(
764
+ cmdk.Command.Empty,
765
+ {
766
+ ref,
767
+ className: "py-6 text-center text-sm",
768
+ ...props
769
+ }
770
+ ));
771
+ CommandEmpty.displayName = cmdk.Command.Empty.displayName;
772
+ var CommandGroup = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
773
+ cmdk.Command.Group,
774
+ {
775
+ ref,
776
+ className: cn(
777
+ "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",
778
+ className
779
+ ),
780
+ ...props
781
+ }
782
+ ));
783
+ CommandGroup.displayName = cmdk.Command.Group.displayName;
784
+ var CommandSeparator = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
785
+ cmdk.Command.Separator,
786
+ {
787
+ ref,
788
+ className: cn("-mx-1 h-px bg-border", className),
789
+ ...props
790
+ }
791
+ ));
792
+ CommandSeparator.displayName = cmdk.Command.Separator.displayName;
793
+ var CommandItem = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
794
+ cmdk.Command.Item,
795
+ {
796
+ ref,
797
+ className: cn(
798
+ "relative flex cursor-default gap-2 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-[hsl(var(--hover))] data-[selected=true]:text-accent data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
799
+ className
800
+ ),
801
+ ...props
802
+ }
803
+ ));
804
+ CommandItem.displayName = cmdk.Command.Item.displayName;
805
+ var CommandShortcut = ({
806
+ className,
807
+ ...props
808
+ }) => {
809
+ return /* @__PURE__ */ jsxRuntime.jsx(
810
+ "span",
811
+ {
812
+ className: cn(
813
+ "ml-auto text-xs tracking-widest text-muted-foreground",
814
+ className
815
+ ),
816
+ ...props
817
+ }
818
+ );
819
+ };
820
+ CommandShortcut.displayName = "CommandShortcut";
821
+ var ContextMenu = ContextMenuPrimitive__namespace.Root;
822
+ var ContextMenuTrigger = ContextMenuPrimitive__namespace.Trigger;
823
+ var ContextMenuGroup = ContextMenuPrimitive__namespace.Group;
824
+ var ContextMenuPortal = ContextMenuPrimitive__namespace.Portal;
825
+ var ContextMenuSub = ContextMenuPrimitive__namespace.Sub;
826
+ var ContextMenuRadioGroup = ContextMenuPrimitive__namespace.RadioGroup;
827
+ var ContextMenuSubTrigger = React9__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
828
+ ContextMenuPrimitive__namespace.SubTrigger,
829
+ {
830
+ ref,
831
+ className: cn(
832
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-[hsl(var(--hover))] focus:text-accent data-[state=open]:bg-card data-[state=open]:text-accent",
833
+ inset && "pl-8",
834
+ className
835
+ ),
836
+ ...props,
837
+ children: [
838
+ children,
839
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto h-4 w-4" })
840
+ ]
841
+ }
842
+ ));
843
+ ContextMenuSubTrigger.displayName = ContextMenuPrimitive__namespace.SubTrigger.displayName;
844
+ var ContextMenuSubContent = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
845
+ ContextMenuPrimitive__namespace.SubContent,
846
+ {
847
+ ref,
848
+ className: cn(
849
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-card p-1 text-accent 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 origin-[--radix-context-menu-content-transform-origin]",
850
+ className
851
+ ),
852
+ ...props
853
+ }
854
+ ));
855
+ ContextMenuSubContent.displayName = ContextMenuPrimitive__namespace.SubContent.displayName;
856
+ var ContextMenuContent = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
857
+ ContextMenuPrimitive__namespace.Content,
858
+ {
859
+ ref,
860
+ onContextMenu: (e) => {
861
+ e.preventDefault();
862
+ },
863
+ className: cn(
864
+ "z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-card p-1 text-accent 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 origin-[--radix-context-menu-content-transform-origin]",
865
+ className
866
+ ),
867
+ ...props
868
+ }
869
+ ) }));
870
+ ContextMenuContent.displayName = ContextMenuPrimitive__namespace.Content.displayName;
871
+ var ContextMenuItem = React9__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
872
+ ContextMenuPrimitive__namespace.Item,
873
+ {
874
+ ref,
875
+ className: cn(
876
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-[hsl(var(--hover))] focus:text-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
877
+ inset && "pl-8",
878
+ className
879
+ ),
880
+ ...props
881
+ }
882
+ ));
883
+ ContextMenuItem.displayName = ContextMenuPrimitive__namespace.Item.displayName;
884
+ var ContextMenuCheckboxItem = React9__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
885
+ ContextMenuPrimitive__namespace.CheckboxItem,
886
+ {
887
+ ref,
888
+ className: cn(
889
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
890
+ className
891
+ ),
892
+ checked,
893
+ ...props,
894
+ children: [
895
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
896
+ children
897
+ ]
898
+ }
899
+ ));
900
+ ContextMenuCheckboxItem.displayName = ContextMenuPrimitive__namespace.CheckboxItem.displayName;
901
+ var ContextMenuRadioItem = React9__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
902
+ ContextMenuPrimitive__namespace.RadioItem,
903
+ {
904
+ ref,
905
+ className: cn(
906
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
907
+ className
908
+ ),
909
+ ...props,
910
+ children: [
911
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-4 w-4 fill-current" }) }) }),
912
+ children
913
+ ]
914
+ }
915
+ ));
916
+ ContextMenuRadioItem.displayName = ContextMenuPrimitive__namespace.RadioItem.displayName;
917
+ var ContextMenuLabel = React9__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
918
+ ContextMenuPrimitive__namespace.Label,
919
+ {
920
+ ref,
921
+ className: cn(
922
+ "px-2 py-1.5 text-sm font-semibold text-foreground",
923
+ inset && "pl-8",
924
+ className
925
+ ),
926
+ ...props
927
+ }
928
+ ));
929
+ ContextMenuLabel.displayName = ContextMenuPrimitive__namespace.Label.displayName;
930
+ var ContextMenuSeparator = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
931
+ ContextMenuPrimitive__namespace.Separator,
932
+ {
933
+ ref,
934
+ className: cn("-mx-1 my-1 h-px bg-border", className),
935
+ ...props
936
+ }
937
+ ));
938
+ ContextMenuSeparator.displayName = ContextMenuPrimitive__namespace.Separator.displayName;
939
+ var ContextMenuShortcut = ({
940
+ className,
941
+ ...props
942
+ }) => {
943
+ return /* @__PURE__ */ jsxRuntime.jsx(
944
+ "span",
945
+ {
946
+ className: cn(
947
+ "ml-auto text-xs tracking-widest text-muted-foreground",
948
+ className
949
+ ),
950
+ ...props
951
+ }
952
+ );
953
+ };
954
+ ContextMenuShortcut.displayName = "ContextMenuShortcut";
955
+ var DropdownMenu = DropdownMenuPrimitive__namespace.Root;
956
+ var DropdownMenuTrigger = DropdownMenuPrimitive__namespace.Trigger;
957
+ var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
958
+ var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
959
+ var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
960
+ var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
961
+ var DropdownMenuSubTrigger = React9__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
962
+ DropdownMenuPrimitive__namespace.SubTrigger,
963
+ {
964
+ ref,
965
+ className: cn(
966
+ "flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-[hsl(var(--hoverfloat))] data-[state=open]:bg-[hsl(var(--hoverfloat))] [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
967
+ inset && "pl-8",
968
+ className
969
+ ),
970
+ ...props,
971
+ children
972
+ }
973
+ ));
974
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
975
+ var DropdownMenuSubContent = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
976
+ DropdownMenuPrimitive__namespace.SubContent,
977
+ {
978
+ ref,
979
+ className: cn(
980
+ "border-[hsl(var(--accent))]/10 shadow-lg z-50 min-w-[8rem] overflow-hidden rounded-md border bg-[hsl(var(--float))] 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 origin-[--radix-dropdown-menu-content-transform-origin]",
981
+ className
982
+ ),
983
+ ...props
984
+ }
985
+ ));
986
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
987
+ var DropdownMenuContent = React9__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
988
+ DropdownMenuPrimitive__namespace.Content,
989
+ {
990
+ ref,
991
+ sideOffset,
992
+ className: cn(
993
+ "border border-solid border-[hsl(var(--accent))]/10 z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-[hsl(var(--float))] p-1 text-popover-foreground shadow-md",
994
+ "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 origin-[--radix-dropdown-menu-content-transform-origin]",
995
+ className
996
+ ),
997
+ ...props
998
+ }
999
+ ) }));
1000
+ DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
1001
+ var DropdownMenuItem = React9__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1002
+ DropdownMenuPrimitive__namespace.Item,
1003
+ {
1004
+ ref,
1005
+ className: cn(
1006
+ "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-[hsl(var(--hoverfloat))] focus:text-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
1007
+ inset && "pl-8",
1008
+ className
1009
+ ),
1010
+ ...props
1011
+ }
1012
+ ));
1013
+ DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
1014
+ var DropdownMenuCheckboxItem = React9__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1015
+ DropdownMenuPrimitive__namespace.CheckboxItem,
1016
+ {
1017
+ ref,
1018
+ className: cn(
1019
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-[hsl(var(--hoverfloat))] focus:text-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1020
+ className
1021
+ ),
1022
+ checked,
1023
+ ...props,
1024
+ children: [
1025
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
1026
+ children
1027
+ ]
1028
+ }
1029
+ ));
1030
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
1031
+ var DropdownMenuRadioItem = React9__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1032
+ DropdownMenuPrimitive__namespace.RadioItem,
1033
+ {
1034
+ ref,
1035
+ className: cn(
1036
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-[hsl(var(--hoverfloat))] focus:text-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1037
+ className
1038
+ ),
1039
+ ...props,
1040
+ children: [
1041
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-2 w-2 fill-current" }) }) }),
1042
+ children
1043
+ ]
1044
+ }
1045
+ ));
1046
+ DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
1047
+ var DropdownMenuLabel = React9__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1048
+ DropdownMenuPrimitive__namespace.Label,
1049
+ {
1050
+ ref,
1051
+ className: cn(
1052
+ "px-2 py-1.5 text-sm font-semibold",
1053
+ inset && "pl-8",
1054
+ className
1055
+ ),
1056
+ ...props
1057
+ }
1058
+ ));
1059
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
1060
+ var DropdownMenuSeparator = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1061
+ DropdownMenuPrimitive__namespace.Separator,
1062
+ {
1063
+ ref,
1064
+ className: cn("-mx-1 my-1 h-px bg-accent/10", className),
1065
+ ...props
1066
+ }
1067
+ ));
1068
+ DropdownMenuSeparator.displayName = DropdownMenuPrimitive__namespace.Separator.displayName;
1069
+ var DropdownMenuShortcut = ({
1070
+ className,
1071
+ ...props
1072
+ }) => {
1073
+ return /* @__PURE__ */ jsxRuntime.jsx(
1074
+ "span",
1075
+ {
1076
+ className: cn("ml-auto text-xs tracking-widest opacity-60", className),
1077
+ ...props
1078
+ }
1079
+ );
1080
+ };
1081
+ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1082
+ function Empty({ className, ...props }) {
1083
+ return /* @__PURE__ */ jsxRuntime.jsx(
1084
+ "div",
1085
+ {
1086
+ "data-slot": "empty",
1087
+ className: cn(
1088
+ "flex min-w-0 flex-1 flex-col items-center justify-center gap-6 text-balance rounded-lg border-dashed p-6 text-center md:p-12",
1089
+ className
1090
+ ),
1091
+ ...props
1092
+ }
1093
+ );
1094
+ }
1095
+ function EmptyHeader({ className, ...props }) {
1096
+ return /* @__PURE__ */ jsxRuntime.jsx(
1097
+ "div",
1098
+ {
1099
+ "data-slot": "empty-header",
1100
+ className: cn(
1101
+ "flex max-w-sm flex-col items-center gap-2 text-center",
1102
+ className
1103
+ ),
1104
+ ...props
1105
+ }
1106
+ );
1107
+ }
1108
+ var emptyMediaVariants = classVarianceAuthority.cva(
1109
+ "mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",
1110
+ {
1111
+ variants: {
1112
+ variant: {
1113
+ default: "bg-transparent",
1114
+ icon: "bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6"
1115
+ }
1116
+ },
1117
+ defaultVariants: {
1118
+ variant: "default"
1119
+ }
1120
+ }
1121
+ );
1122
+ function EmptyMedia({
1123
+ className,
1124
+ variant = "default",
1125
+ ...props
1126
+ }) {
1127
+ return /* @__PURE__ */ jsxRuntime.jsx(
1128
+ "div",
1129
+ {
1130
+ "data-slot": "empty-icon",
1131
+ "data-variant": variant,
1132
+ className: cn(emptyMediaVariants({ variant, className })),
1133
+ ...props
1134
+ }
1135
+ );
1136
+ }
1137
+ function EmptyTitle({ className, ...props }) {
1138
+ return /* @__PURE__ */ jsxRuntime.jsx(
1139
+ "div",
1140
+ {
1141
+ "data-slot": "empty-title",
1142
+ className: cn("text-lg font-medium tracking-tight", className),
1143
+ ...props
1144
+ }
1145
+ );
1146
+ }
1147
+ function EmptyDescription({ className, ...props }) {
1148
+ return /* @__PURE__ */ jsxRuntime.jsx(
1149
+ "div",
1150
+ {
1151
+ "data-slot": "empty-description",
1152
+ className: cn(
1153
+ "text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4",
1154
+ className
1155
+ ),
1156
+ ...props
1157
+ }
1158
+ );
1159
+ }
1160
+ function EmptyContent({ className, ...props }) {
1161
+ return /* @__PURE__ */ jsxRuntime.jsx(
1162
+ "div",
1163
+ {
1164
+ "data-slot": "empty-content",
1165
+ className: cn(
1166
+ "flex w-full min-w-0 max-w-sm flex-col items-center gap-4 text-balance text-sm",
1167
+ className
1168
+ ),
1169
+ ...props
1170
+ }
1171
+ );
1172
+ }
1173
+ var HoverCard = HoverCardPrimitive__namespace.Root;
1174
+ var HoverCardTrigger = HoverCardPrimitive__namespace.Trigger;
1175
+ var HoverCardContent = React9__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1176
+ HoverCardPrimitive__namespace.Content,
1177
+ {
1178
+ ref,
1179
+ align,
1180
+ sideOffset,
1181
+ className: cn(
1182
+ "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",
1183
+ className
1184
+ ),
1185
+ ...props
1186
+ }
1187
+ ));
1188
+ HoverCardContent.displayName = HoverCardPrimitive__namespace.Content.displayName;
1189
+ var Input = React9__namespace.forwardRef(
1190
+ ({ className, type, ...props }, ref) => {
1191
+ return /* @__PURE__ */ jsxRuntime.jsx(
1192
+ "input",
1193
+ {
1194
+ type,
1195
+ className: cn(
1196
+ "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
1197
+ className
1198
+ ),
1199
+ ref,
1200
+ ...props
1201
+ }
1202
+ );
1203
+ }
1204
+ );
1205
+ Input.displayName = "Input";
1206
+ var labelVariants = classVarianceAuthority.cva(
1207
+ "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1208
+ );
1209
+ var Label3 = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1210
+ LabelPrimitive__namespace.Root,
1211
+ {
1212
+ ref,
1213
+ className: cn(labelVariants(), className),
1214
+ ...props
1215
+ }
1216
+ ));
1217
+ Label3.displayName = LabelPrimitive__namespace.Root.displayName;
1218
+ var Popover = PopoverPrimitive__namespace.Root;
1219
+ var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
1220
+ var PopoverAnchor = PopoverPrimitive__namespace.Anchor;
1221
+ var PopoverContent = React9__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1222
+ PopoverPrimitive__namespace.Content,
1223
+ {
1224
+ ref,
1225
+ align,
1226
+ sideOffset,
1227
+ className: cn(
1228
+ "z-50 w-72 rounded-md border bg-card p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",
1229
+ className
1230
+ ),
1231
+ ...props
1232
+ }
1233
+ ) }));
1234
+ PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
1235
+ var Progress = React9__namespace.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1236
+ ProgressPrimitive__namespace.Root,
1237
+ {
1238
+ ref,
1239
+ className: cn(
1240
+ "relative h-2 w-full overflow-hidden rounded-full bg-primary/20",
1241
+ className
1242
+ ),
1243
+ ...props,
1244
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1245
+ ProgressPrimitive__namespace.Indicator,
1246
+ {
1247
+ className: "h-full w-full flex-1 bg-primary transition-all",
1248
+ style: { transform: `translateX(-${100 - (value || 0)}%)` }
1249
+ }
1250
+ )
1251
+ }
1252
+ ));
1253
+ Progress.displayName = ProgressPrimitive__namespace.Root.displayName;
1254
+ function RadioGroup3({
1255
+ className,
1256
+ ...props
1257
+ }) {
1258
+ return /* @__PURE__ */ jsxRuntime.jsx(
1259
+ radixUi.RadioGroup.Root,
1260
+ {
1261
+ "data-slot": "radio-group",
1262
+ className: cn("grid w-full gap-2", className),
1263
+ ...props
1264
+ }
1265
+ );
1266
+ }
1267
+ function RadioGroupItem({
1268
+ className,
1269
+ ...props
1270
+ }) {
1271
+ return /* @__PURE__ */ jsxRuntime.jsx(
1272
+ radixUi.RadioGroup.Item,
1273
+ {
1274
+ "data-slot": "radio-group-item",
1275
+ className: cn(
1276
+ "group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary",
1277
+ className
1278
+ ),
1279
+ ...props,
1280
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1281
+ radixUi.RadioGroup.Indicator,
1282
+ {
1283
+ "data-slot": "radio-group-indicator",
1284
+ className: "flex size-4 items-center justify-center",
1285
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground" })
1286
+ }
1287
+ )
1288
+ }
1289
+ );
1290
+ }
1291
+ var ResizablePanelGroup = ({
1292
+ className,
1293
+ ...props
1294
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
1295
+ ResizablePrimitive__namespace.PanelGroup,
1296
+ {
1297
+ className: cn(
1298
+ "flex h-full w-full data-[panel-group-direction=vertical]:flex-col",
1299
+ className
1300
+ ),
1301
+ ...props
1302
+ }
1303
+ );
1304
+ var ResizablePanel = ResizablePrimitive__namespace.Panel;
1305
+ var ResizableHandle = ({
1306
+ withHandle,
1307
+ className,
1308
+ ...props
1309
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
1310
+ ResizablePrimitive__namespace.PanelResizeHandle,
1311
+ {
1312
+ className: cn(
1313
+ "relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
1314
+ className
1315
+ ),
1316
+ ...props,
1317
+ children: withHandle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GripVertical, { className: "h-2.5 w-2.5" }) })
1318
+ }
1319
+ );
1320
+ var ScrollArea = React9__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1321
+ ScrollAreaPrimitive__namespace.Root,
1322
+ {
1323
+ ref,
1324
+ className: cn("relative overflow-hidden", className),
1325
+ ...props,
1326
+ children: [
1327
+ /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
1328
+ /* @__PURE__ */ jsxRuntime.jsx(ScrollBar, {}),
1329
+ /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.Corner, {})
1330
+ ]
1331
+ }
1332
+ ));
1333
+ ScrollArea.displayName = ScrollAreaPrimitive__namespace.Root.displayName;
1334
+ var ScrollBar = React9__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1335
+ ScrollAreaPrimitive__namespace.ScrollAreaScrollbar,
1336
+ {
1337
+ ref,
1338
+ orientation,
1339
+ className: cn(
1340
+ "flex touch-none select-none transition-colors",
1341
+ orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]",
1342
+ orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-[1px]",
1343
+ className
1344
+ ),
1345
+ ...props,
1346
+ children: /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
1347
+ }
1348
+ ));
1349
+ ScrollBar.displayName = ScrollAreaPrimitive__namespace.ScrollAreaScrollbar.displayName;
1350
+ var Select = SelectPrimitive__namespace.Root;
1351
+ var SelectGroup = SelectPrimitive__namespace.Group;
1352
+ var SelectValue = SelectPrimitive__namespace.Value;
1353
+ var SelectTrigger = React9__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1354
+ SelectPrimitive__namespace.Trigger,
1355
+ {
1356
+ ref,
1357
+ className: cn(
1358
+ "flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
1359
+ className
1360
+ ),
1361
+ ...props,
1362
+ children: [
1363
+ children,
1364
+ /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 opacity-50" }) })
1365
+ ]
1366
+ }
1367
+ ));
1368
+ SelectTrigger.displayName = SelectPrimitive__namespace.Trigger.displayName;
1369
+ var SelectScrollUpButton = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1370
+ SelectPrimitive__namespace.ScrollUpButton,
1371
+ {
1372
+ ref,
1373
+ className: cn(
1374
+ "flex cursor-default items-center justify-center py-1",
1375
+ className
1376
+ ),
1377
+ ...props,
1378
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "h-4 w-4" })
1379
+ }
1380
+ ));
1381
+ SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
1382
+ var SelectScrollDownButton = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1383
+ SelectPrimitive__namespace.ScrollDownButton,
1384
+ {
1385
+ ref,
1386
+ className: cn(
1387
+ "flex cursor-default items-center justify-center py-1",
1388
+ className
1389
+ ),
1390
+ ...props,
1391
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4" })
1392
+ }
1393
+ ));
1394
+ SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
1395
+ var SelectContent = React9__namespace.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
1396
+ SelectPrimitive__namespace.Content,
1397
+ {
1398
+ ref,
1399
+ className: cn(
1400
+ "relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover 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 origin-[--radix-select-content-transform-origin]",
1401
+ position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
1402
+ className
1403
+ ),
1404
+ position,
1405
+ ...props,
1406
+ children: [
1407
+ /* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
1408
+ /* @__PURE__ */ jsxRuntime.jsx(
1409
+ SelectPrimitive__namespace.Viewport,
1410
+ {
1411
+ className: cn(
1412
+ "p-1",
1413
+ position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
1414
+ ),
1415
+ children
1416
+ }
1417
+ ),
1418
+ /* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
1419
+ ]
1420
+ }
1421
+ ) }));
1422
+ SelectContent.displayName = SelectPrimitive__namespace.Content.displayName;
1423
+ var SelectLabel = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1424
+ SelectPrimitive__namespace.Label,
1425
+ {
1426
+ ref,
1427
+ className: cn("px-2 py-1.5 text-sm font-semibold", className),
1428
+ ...props
1429
+ }
1430
+ ));
1431
+ SelectLabel.displayName = SelectPrimitive__namespace.Label.displayName;
1432
+ var SelectItem = React9__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1433
+ SelectPrimitive__namespace.Item,
1434
+ {
1435
+ ref,
1436
+ className: cn(
1437
+ "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1438
+ className
1439
+ ),
1440
+ ...props,
1441
+ children: [
1442
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
1443
+ /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemText, { children })
1444
+ ]
1445
+ }
1446
+ ));
1447
+ SelectItem.displayName = SelectPrimitive__namespace.Item.displayName;
1448
+ var SelectSeparator = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1449
+ SelectPrimitive__namespace.Separator,
1450
+ {
1451
+ ref,
1452
+ className: cn("-mx-1 my-1 h-px bg-muted", className),
1453
+ ...props
1454
+ }
1455
+ ));
1456
+ SelectSeparator.displayName = SelectPrimitive__namespace.Separator.displayName;
1457
+ var Slider = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1458
+ SliderPrimitive__namespace.Root,
1459
+ {
1460
+ ref,
1461
+ className: cn(
1462
+ "relative flex w-full touch-none select-none items-center",
1463
+ className
1464
+ ),
1465
+ ...props,
1466
+ children: [
1467
+ /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20", children: /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Range, { className: "absolute h-full bg-primary" }) }),
1468
+ /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Thumb, { className: "block h-4 w-4 rounded-full border border-primary/50 bg-card shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50" })
1469
+ ]
1470
+ }
1471
+ ));
1472
+ Slider.displayName = SliderPrimitive__namespace.Root.displayName;
1473
+ var Toaster = ({ ...props }) => {
1474
+ return /* @__PURE__ */ jsxRuntime.jsx(
1475
+ sonner.Toaster,
1476
+ {
1477
+ className: "toaster group",
1478
+ icons: {
1479
+ success: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleCheckIcon, { className: "size-4" }),
1480
+ info: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.InfoIcon, { className: "size-4" }),
1481
+ warning: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TriangleAlertIcon, { className: "size-4" }),
1482
+ error: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.OctagonXIcon, { className: "size-4" }),
1483
+ loading: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2Icon, { className: "size-4 animate-spin" })
1484
+ },
1485
+ style: {
1486
+ "--normal-bg": "var(--popover)",
1487
+ "--normal-text": "var(--popover-foreground)",
1488
+ "--normal-border": "var(--border)",
1489
+ "--border-radius": "var(--radius)"
1490
+ },
1491
+ toastOptions: {
1492
+ classNames: {
1493
+ toast: "cn-toast"
1494
+ }
1495
+ },
1496
+ ...props
1497
+ }
1498
+ );
1499
+ };
1500
+ function Spinner({ className, ...props }) {
1501
+ return /* @__PURE__ */ jsxRuntime.jsx(
1502
+ lucideReact.Loader2Icon,
1503
+ {
1504
+ role: "status",
1505
+ "aria-label": "Loading",
1506
+ className: cn("size-4 animate-spin", className),
1507
+ ...props
1508
+ }
1509
+ );
1510
+ }
1511
+ function Switch({
1512
+ className,
1513
+ size = "default",
1514
+ ...props
1515
+ }) {
1516
+ return /* @__PURE__ */ jsxRuntime.jsx(
1517
+ radixUi.Switch.Root,
1518
+ {
1519
+ "data-slot": "switch",
1520
+ "data-size": size,
1521
+ className: cn(
1522
+ "peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-[hsl(var(--chat-border)))] transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-black data-disabled:cursor-not-allowed data-disabled:opacity-50",
1523
+ className
1524
+ ),
1525
+ ...props,
1526
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1527
+ radixUi.Switch.Thumb,
1528
+ {
1529
+ "data-slot": "switch-thumb",
1530
+ className: "pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-[state=checked]:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-[state=checked]:translate-x-[calc(100%-2px)] dark:data-[state=checked]:bg-primary-foreground group-data-[size=default]/switch:data-[state=unchecked]:translate-x-0 group-data-[size=sm]/switch:data-[state=unchecked]:translate-x-0 dark:data-[state=unchecked]:bg-foreground"
1531
+ }
1532
+ )
1533
+ }
1534
+ );
1535
+ }
1536
+ var Table = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
1537
+ "table",
1538
+ {
1539
+ ref,
1540
+ className: cn("w-full caption-bottom text-sm", className),
1541
+ ...props
1542
+ }
1543
+ ) }));
1544
+ Table.displayName = "Table";
1545
+ var TableHeader = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
1546
+ TableHeader.displayName = "TableHeader";
1547
+ var TableBody = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1548
+ "tbody",
1549
+ {
1550
+ ref,
1551
+ className: cn("[&_tr:last-child]:border-0", className),
1552
+ ...props
1553
+ }
1554
+ ));
1555
+ TableBody.displayName = "TableBody";
1556
+ var TableFooter = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1557
+ "tfoot",
1558
+ {
1559
+ ref,
1560
+ className: cn(
1561
+ "border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
1562
+ className
1563
+ ),
1564
+ ...props
1565
+ }
1566
+ ));
1567
+ TableFooter.displayName = "TableFooter";
1568
+ var TableRow = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1569
+ "tr",
1570
+ {
1571
+ ref,
1572
+ className: cn(
1573
+ "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
1574
+ className
1575
+ ),
1576
+ ...props
1577
+ }
1578
+ ));
1579
+ TableRow.displayName = "TableRow";
1580
+ var TableHead = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1581
+ "th",
1582
+ {
1583
+ ref,
1584
+ className: cn(
1585
+ "h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
1586
+ className
1587
+ ),
1588
+ ...props
1589
+ }
1590
+ ));
1591
+ TableHead.displayName = "TableHead";
1592
+ var TableCell = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1593
+ "td",
1594
+ {
1595
+ ref,
1596
+ className: cn(
1597
+ "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
1598
+ className
1599
+ ),
1600
+ ...props
1601
+ }
1602
+ ));
1603
+ TableCell.displayName = "TableCell";
1604
+ var TableCaption = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1605
+ "caption",
1606
+ {
1607
+ ref,
1608
+ className: cn("mt-4 text-sm text-muted-foreground", className),
1609
+ ...props
1610
+ }
1611
+ ));
1612
+ TableCaption.displayName = "TableCaption";
1613
+ var TooltipProvider = TooltipPrimitive__namespace.Provider;
1614
+ var Tooltip2 = TooltipPrimitive__namespace.Root;
1615
+ var TooltipTrigger = TooltipPrimitive__namespace.Trigger;
1616
+ var TooltipContent = React9__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1617
+ TooltipPrimitive__namespace.Content,
1618
+ {
1619
+ ref,
1620
+ sideOffset,
1621
+ className: cn(
1622
+ "z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 origin-[--radix-tooltip-content-transform-origin]",
1623
+ className
1624
+ ),
1625
+ ...props
1626
+ }
1627
+ ) }));
1628
+ TooltipContent.displayName = TooltipPrimitive__namespace.Content.displayName;
1629
+
1630
+ exports.AspectRatio = AspectRatio;
1631
+ exports.Avatar = Avatar;
1632
+ exports.AvatarFallback = AvatarFallback;
1633
+ exports.AvatarImage = AvatarImage;
1634
+ exports.Badge = Badge;
1635
+ exports.Button = Button;
1636
+ exports.Calendar = Calendar;
1637
+ exports.CalendarDayButton = CalendarDayButton;
1638
+ exports.Card = Card;
1639
+ exports.CardContent = CardContent;
1640
+ exports.CardDescription = CardDescription;
1641
+ exports.CardFooter = CardFooter;
1642
+ exports.CardHeader = CardHeader;
1643
+ exports.CardTitle = CardTitle;
1644
+ exports.ChartContainer = ChartContainer;
1645
+ exports.ChartLegend = ChartLegend;
1646
+ exports.ChartLegendContent = ChartLegendContent;
1647
+ exports.ChartStyle = ChartStyle;
1648
+ exports.ChartTooltip = ChartTooltip;
1649
+ exports.ChartTooltipContent = ChartTooltipContent;
1650
+ exports.Checkbox = Checkbox;
1651
+ exports.Command = Command;
1652
+ exports.CommandDialog = CommandDialog;
1653
+ exports.CommandEmpty = CommandEmpty;
1654
+ exports.CommandGroup = CommandGroup;
1655
+ exports.CommandInput = CommandInput;
1656
+ exports.CommandItem = CommandItem;
1657
+ exports.CommandList = CommandList;
1658
+ exports.CommandSeparator = CommandSeparator;
1659
+ exports.CommandShortcut = CommandShortcut;
1660
+ exports.ContextMenu = ContextMenu;
1661
+ exports.ContextMenuCheckboxItem = ContextMenuCheckboxItem;
1662
+ exports.ContextMenuContent = ContextMenuContent;
1663
+ exports.ContextMenuGroup = ContextMenuGroup;
1664
+ exports.ContextMenuItem = ContextMenuItem;
1665
+ exports.ContextMenuLabel = ContextMenuLabel;
1666
+ exports.ContextMenuPortal = ContextMenuPortal;
1667
+ exports.ContextMenuRadioGroup = ContextMenuRadioGroup;
1668
+ exports.ContextMenuRadioItem = ContextMenuRadioItem;
1669
+ exports.ContextMenuSeparator = ContextMenuSeparator;
1670
+ exports.ContextMenuShortcut = ContextMenuShortcut;
1671
+ exports.ContextMenuSub = ContextMenuSub;
1672
+ exports.ContextMenuSubContent = ContextMenuSubContent;
1673
+ exports.ContextMenuSubTrigger = ContextMenuSubTrigger;
1674
+ exports.ContextMenuTrigger = ContextMenuTrigger;
1675
+ exports.Dialog = Dialog;
1676
+ exports.DialogClose = DialogClose;
1677
+ exports.DialogContent = DialogContent;
1678
+ exports.DialogDescription = DialogDescription;
1679
+ exports.DialogFooter = DialogFooter;
1680
+ exports.DialogHeader = DialogHeader;
1681
+ exports.DialogOverlay = DialogOverlay;
1682
+ exports.DialogPortal = DialogPortal;
1683
+ exports.DialogTitle = DialogTitle;
1684
+ exports.DialogTrigger = DialogTrigger;
1685
+ exports.DropdownMenu = DropdownMenu;
1686
+ exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
1687
+ exports.DropdownMenuContent = DropdownMenuContent;
1688
+ exports.DropdownMenuGroup = DropdownMenuGroup;
1689
+ exports.DropdownMenuItem = DropdownMenuItem;
1690
+ exports.DropdownMenuLabel = DropdownMenuLabel;
1691
+ exports.DropdownMenuPortal = DropdownMenuPortal;
1692
+ exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup;
1693
+ exports.DropdownMenuRadioItem = DropdownMenuRadioItem;
1694
+ exports.DropdownMenuSeparator = DropdownMenuSeparator;
1695
+ exports.DropdownMenuShortcut = DropdownMenuShortcut;
1696
+ exports.DropdownMenuSub = DropdownMenuSub;
1697
+ exports.DropdownMenuSubContent = DropdownMenuSubContent;
1698
+ exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
1699
+ exports.DropdownMenuTrigger = DropdownMenuTrigger;
1700
+ exports.Empty = Empty;
1701
+ exports.EmptyContent = EmptyContent;
1702
+ exports.EmptyDescription = EmptyDescription;
1703
+ exports.EmptyHeader = EmptyHeader;
1704
+ exports.EmptyMedia = EmptyMedia;
1705
+ exports.EmptyTitle = EmptyTitle;
1706
+ exports.HoverCard = HoverCard;
1707
+ exports.HoverCardContent = HoverCardContent;
1708
+ exports.HoverCardTrigger = HoverCardTrigger;
1709
+ exports.Input = Input;
1710
+ exports.Label = Label3;
1711
+ exports.Popover = Popover;
1712
+ exports.PopoverAnchor = PopoverAnchor;
1713
+ exports.PopoverContent = PopoverContent;
1714
+ exports.PopoverTrigger = PopoverTrigger;
1715
+ exports.Progress = Progress;
1716
+ exports.RadioGroup = RadioGroup3;
1717
+ exports.RadioGroupItem = RadioGroupItem;
1718
+ exports.ResizableHandle = ResizableHandle;
1719
+ exports.ResizablePanel = ResizablePanel;
1720
+ exports.ResizablePanelGroup = ResizablePanelGroup;
1721
+ exports.ScrollArea = ScrollArea;
1722
+ exports.ScrollBar = ScrollBar;
1723
+ exports.Select = Select;
1724
+ exports.SelectContent = SelectContent;
1725
+ exports.SelectGroup = SelectGroup;
1726
+ exports.SelectItem = SelectItem;
1727
+ exports.SelectLabel = SelectLabel;
1728
+ exports.SelectScrollDownButton = SelectScrollDownButton;
1729
+ exports.SelectScrollUpButton = SelectScrollUpButton;
1730
+ exports.SelectSeparator = SelectSeparator;
1731
+ exports.SelectTrigger = SelectTrigger;
1732
+ exports.SelectValue = SelectValue;
1733
+ exports.Slider = Slider;
1734
+ exports.Spinner = Spinner;
1735
+ exports.Switch = Switch;
1736
+ exports.Table = Table;
1737
+ exports.TableBody = TableBody;
1738
+ exports.TableCaption = TableCaption;
1739
+ exports.TableCell = TableCell;
1740
+ exports.TableFooter = TableFooter;
1741
+ exports.TableHead = TableHead;
1742
+ exports.TableHeader = TableHeader;
1743
+ exports.TableRow = TableRow;
1744
+ exports.Toaster = Toaster;
1745
+ exports.Tooltip = Tooltip2;
1746
+ exports.TooltipContent = TooltipContent;
1747
+ exports.TooltipProvider = TooltipProvider;
1748
+ exports.TooltipTrigger = TooltipTrigger;
1749
+ exports.badgeVariants = badgeVariants;
1750
+ exports.buttonVariants = buttonVariants;
1751
+ //# sourceMappingURL=index.js.map
1752
+ //# sourceMappingURL=index.js.map