mta-design-system 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,2151 @@
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+ import { cva } from 'class-variance-authority';
4
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
+ import { Slot } from '@radix-ui/react-slot';
6
+ import * as React9 from 'react';
7
+ import * as LucideIcons from 'lucide-react';
8
+ import { XIcon, ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon, SearchIcon, CheckIcon, ChevronUpIcon, ChevronsUpDown, Check, CalendarIcon, MessageCircle, X, Send } from 'lucide-react';
9
+ import { getDefaultClassNames, DayPicker } from 'react-day-picker';
10
+ import { Command as Command$1 } from 'cmdk';
11
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
12
+ import * as LabelPrimitive from '@radix-ui/react-label';
13
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
14
+ import * as ProgressPrimitive from '@radix-ui/react-progress';
15
+ import * as SelectPrimitive from '@radix-ui/react-select';
16
+ import * as SwitchPrimitive from '@radix-ui/react-switch';
17
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
18
+ import { format } from 'date-fns';
19
+
20
+ var __defProp = Object.defineProperty;
21
+ var __defProps = Object.defineProperties;
22
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
23
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
24
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
25
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
26
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
27
+ var __spreadValues = (a, b) => {
28
+ for (var prop in b || (b = {}))
29
+ if (__hasOwnProp.call(b, prop))
30
+ __defNormalProp(a, prop, b[prop]);
31
+ if (__getOwnPropSymbols)
32
+ for (var prop of __getOwnPropSymbols(b)) {
33
+ if (__propIsEnum.call(b, prop))
34
+ __defNormalProp(a, prop, b[prop]);
35
+ }
36
+ return a;
37
+ };
38
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
39
+ var __objRest = (source, exclude) => {
40
+ var target = {};
41
+ for (var prop in source)
42
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
43
+ target[prop] = source[prop];
44
+ if (source != null && __getOwnPropSymbols)
45
+ for (var prop of __getOwnPropSymbols(source)) {
46
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
47
+ target[prop] = source[prop];
48
+ }
49
+ return target;
50
+ };
51
+ function cn(...inputs) {
52
+ return twMerge(clsx(inputs));
53
+ }
54
+ var alertVariants = cva(
55
+ "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
56
+ {
57
+ variants: {
58
+ variant: {
59
+ default: "bg-card text-card-foreground",
60
+ destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
61
+ }
62
+ },
63
+ defaultVariants: {
64
+ variant: "default"
65
+ }
66
+ }
67
+ );
68
+ function Alert(_a) {
69
+ var _b = _a, {
70
+ className,
71
+ variant
72
+ } = _b, props = __objRest(_b, [
73
+ "className",
74
+ "variant"
75
+ ]);
76
+ return /* @__PURE__ */ jsx(
77
+ "div",
78
+ __spreadValues({
79
+ "data-slot": "alert",
80
+ role: "alert",
81
+ className: cn(alertVariants({ variant }), className)
82
+ }, props)
83
+ );
84
+ }
85
+ function AlertTitle(_a) {
86
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
87
+ return /* @__PURE__ */ jsx(
88
+ "div",
89
+ __spreadValues({
90
+ "data-slot": "alert-title",
91
+ className: cn(
92
+ "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
93
+ className
94
+ )
95
+ }, props)
96
+ );
97
+ }
98
+ function AlertDescription(_a) {
99
+ var _b = _a, {
100
+ className
101
+ } = _b, props = __objRest(_b, [
102
+ "className"
103
+ ]);
104
+ return /* @__PURE__ */ jsx(
105
+ "div",
106
+ __spreadValues({
107
+ "data-slot": "alert-description",
108
+ className: cn(
109
+ "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
110
+ className
111
+ )
112
+ }, props)
113
+ );
114
+ }
115
+ var buttonVariants = cva(
116
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
117
+ {
118
+ variants: {
119
+ variant: {
120
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
121
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
122
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
123
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
124
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
125
+ link: "text-primary underline-offset-4 hover:underline"
126
+ },
127
+ size: {
128
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
129
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
130
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
131
+ icon: "size-9",
132
+ "icon-sm": "size-8",
133
+ "icon-lg": "size-10"
134
+ }
135
+ },
136
+ defaultVariants: {
137
+ variant: "default",
138
+ size: "default"
139
+ }
140
+ }
141
+ );
142
+ function Button(_a) {
143
+ var _b = _a, {
144
+ className,
145
+ variant,
146
+ size,
147
+ asChild = false
148
+ } = _b, props = __objRest(_b, [
149
+ "className",
150
+ "variant",
151
+ "size",
152
+ "asChild"
153
+ ]);
154
+ const Comp = asChild ? Slot : "button";
155
+ return /* @__PURE__ */ jsx(
156
+ Comp,
157
+ __spreadValues({
158
+ "data-slot": "button",
159
+ className: cn(buttonVariants({ variant, size, className }))
160
+ }, props)
161
+ );
162
+ }
163
+ function Calendar(_a) {
164
+ var _b = _a, {
165
+ className,
166
+ classNames,
167
+ showOutsideDays = true,
168
+ captionLayout = "label",
169
+ buttonVariant = "ghost",
170
+ formatters,
171
+ components
172
+ } = _b, props = __objRest(_b, [
173
+ "className",
174
+ "classNames",
175
+ "showOutsideDays",
176
+ "captionLayout",
177
+ "buttonVariant",
178
+ "formatters",
179
+ "components"
180
+ ]);
181
+ const defaultClassNames = getDefaultClassNames();
182
+ return /* @__PURE__ */ jsx(
183
+ DayPicker,
184
+ __spreadValues({
185
+ showOutsideDays,
186
+ className: cn(
187
+ "bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
188
+ String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
189
+ String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
190
+ className
191
+ ),
192
+ captionLayout,
193
+ formatters: __spreadValues({
194
+ formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" })
195
+ }, formatters),
196
+ classNames: __spreadValues({
197
+ root: cn("w-fit", defaultClassNames.root),
198
+ months: cn(
199
+ "flex gap-4 flex-col md:flex-row relative",
200
+ defaultClassNames.months
201
+ ),
202
+ month: cn("flex flex-col w-full gap-4", defaultClassNames.month),
203
+ nav: cn(
204
+ "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
205
+ defaultClassNames.nav
206
+ ),
207
+ button_previous: cn(
208
+ buttonVariants({ variant: buttonVariant }),
209
+ "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
210
+ defaultClassNames.button_previous
211
+ ),
212
+ button_next: cn(
213
+ buttonVariants({ variant: buttonVariant }),
214
+ "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
215
+ defaultClassNames.button_next
216
+ ),
217
+ month_caption: cn(
218
+ "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
219
+ defaultClassNames.month_caption
220
+ ),
221
+ dropdowns: cn(
222
+ "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
223
+ defaultClassNames.dropdowns
224
+ ),
225
+ dropdown_root: cn(
226
+ "relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
227
+ defaultClassNames.dropdown_root
228
+ ),
229
+ dropdown: cn(
230
+ "absolute bg-popover inset-0 opacity-0",
231
+ defaultClassNames.dropdown
232
+ ),
233
+ caption_label: cn(
234
+ "select-none font-medium",
235
+ captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
236
+ defaultClassNames.caption_label
237
+ ),
238
+ table: "w-full border-collapse",
239
+ weekdays: cn("flex", defaultClassNames.weekdays),
240
+ weekday: cn(
241
+ "text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",
242
+ defaultClassNames.weekday
243
+ ),
244
+ week: cn("flex w-full mt-2", defaultClassNames.week),
245
+ week_number_header: cn(
246
+ "select-none w-(--cell-size)",
247
+ defaultClassNames.week_number_header
248
+ ),
249
+ week_number: cn(
250
+ "text-[0.8rem] select-none text-muted-foreground",
251
+ defaultClassNames.week_number
252
+ ),
253
+ day: cn(
254
+ "relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
255
+ props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md",
256
+ defaultClassNames.day
257
+ ),
258
+ range_start: cn(
259
+ "rounded-l-md bg-accent",
260
+ defaultClassNames.range_start
261
+ ),
262
+ range_middle: cn("rounded-none", defaultClassNames.range_middle),
263
+ range_end: cn("rounded-r-md bg-accent", defaultClassNames.range_end),
264
+ today: cn(
265
+ "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
266
+ defaultClassNames.today
267
+ ),
268
+ outside: cn(
269
+ "text-muted-foreground aria-selected:text-muted-foreground",
270
+ defaultClassNames.outside
271
+ ),
272
+ disabled: cn(
273
+ "text-muted-foreground opacity-50",
274
+ defaultClassNames.disabled
275
+ ),
276
+ hidden: cn("invisible", defaultClassNames.hidden)
277
+ }, classNames),
278
+ components: __spreadValues({
279
+ Root: (_a2) => {
280
+ var _b2 = _a2, { className: className2, rootRef } = _b2, props2 = __objRest(_b2, ["className", "rootRef"]);
281
+ return /* @__PURE__ */ jsx(
282
+ "div",
283
+ __spreadValues({
284
+ "data-slot": "calendar",
285
+ ref: rootRef,
286
+ className: cn(className2)
287
+ }, props2)
288
+ );
289
+ },
290
+ Chevron: (_c) => {
291
+ var _d = _c, { className: className2, orientation } = _d, props2 = __objRest(_d, ["className", "orientation"]);
292
+ if (orientation === "left") {
293
+ return /* @__PURE__ */ jsx(ChevronLeftIcon, __spreadValues({ className: cn("size-4", className2) }, props2));
294
+ }
295
+ if (orientation === "right") {
296
+ return /* @__PURE__ */ jsx(
297
+ ChevronRightIcon,
298
+ __spreadValues({
299
+ className: cn("size-4", className2)
300
+ }, props2)
301
+ );
302
+ }
303
+ return /* @__PURE__ */ jsx(ChevronDownIcon, __spreadValues({ className: cn("size-4", className2) }, props2));
304
+ },
305
+ DayButton: CalendarDayButton,
306
+ WeekNumber: (_e) => {
307
+ var _f = _e, { children } = _f, props2 = __objRest(_f, ["children"]);
308
+ return /* @__PURE__ */ jsx("td", __spreadProps(__spreadValues({}, props2), { children: /* @__PURE__ */ jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) }));
309
+ }
310
+ }, components)
311
+ }, props)
312
+ );
313
+ }
314
+ function CalendarDayButton(_a) {
315
+ var _b = _a, {
316
+ className,
317
+ day,
318
+ modifiers
319
+ } = _b, props = __objRest(_b, [
320
+ "className",
321
+ "day",
322
+ "modifiers"
323
+ ]);
324
+ const defaultClassNames = getDefaultClassNames();
325
+ const ref = React9.useRef(null);
326
+ React9.useEffect(() => {
327
+ var _a2;
328
+ if (modifiers.focused) (_a2 = ref.current) == null ? void 0 : _a2.focus();
329
+ }, [modifiers.focused]);
330
+ return /* @__PURE__ */ jsx(
331
+ Button,
332
+ __spreadValues({
333
+ ref,
334
+ variant: "ghost",
335
+ size: "icon",
336
+ "data-day": day.date.toLocaleDateString(),
337
+ "data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
338
+ "data-range-start": modifiers.range_start,
339
+ "data-range-end": modifiers.range_end,
340
+ "data-range-middle": modifiers.range_middle,
341
+ className: cn(
342
+ "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 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",
343
+ defaultClassNames.day,
344
+ className
345
+ )
346
+ }, props)
347
+ );
348
+ }
349
+ function Card(_a) {
350
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
351
+ return /* @__PURE__ */ jsx(
352
+ "div",
353
+ __spreadValues({
354
+ "data-slot": "card",
355
+ className: cn(
356
+ "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
357
+ className
358
+ )
359
+ }, props)
360
+ );
361
+ }
362
+ function CardHeader(_a) {
363
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
364
+ return /* @__PURE__ */ jsx(
365
+ "div",
366
+ __spreadValues({
367
+ "data-slot": "card-header",
368
+ className: cn(
369
+ "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
370
+ className
371
+ )
372
+ }, props)
373
+ );
374
+ }
375
+ function CardTitle(_a) {
376
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
377
+ return /* @__PURE__ */ jsx(
378
+ "div",
379
+ __spreadValues({
380
+ "data-slot": "card-title",
381
+ className: cn("leading-none font-semibold", className)
382
+ }, props)
383
+ );
384
+ }
385
+ function CardDescription(_a) {
386
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
387
+ return /* @__PURE__ */ jsx(
388
+ "div",
389
+ __spreadValues({
390
+ "data-slot": "card-description",
391
+ className: cn("text-muted-foreground text-sm", className)
392
+ }, props)
393
+ );
394
+ }
395
+ function CardAction(_a) {
396
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
397
+ return /* @__PURE__ */ jsx(
398
+ "div",
399
+ __spreadValues({
400
+ "data-slot": "card-action",
401
+ className: cn(
402
+ "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
403
+ className
404
+ )
405
+ }, props)
406
+ );
407
+ }
408
+ function CardContent(_a) {
409
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
410
+ return /* @__PURE__ */ jsx(
411
+ "div",
412
+ __spreadValues({
413
+ "data-slot": "card-content",
414
+ className: cn("px-6", className)
415
+ }, props)
416
+ );
417
+ }
418
+ function CardFooter(_a) {
419
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
420
+ return /* @__PURE__ */ jsx(
421
+ "div",
422
+ __spreadValues({
423
+ "data-slot": "card-footer",
424
+ className: cn("flex items-center px-6 [.border-t]:pt-6", className)
425
+ }, props)
426
+ );
427
+ }
428
+ function Dialog(_a) {
429
+ var props = __objRest(_a, []);
430
+ return /* @__PURE__ */ jsx(DialogPrimitive.Root, __spreadValues({ "data-slot": "dialog" }, props));
431
+ }
432
+ function DialogTrigger(_a) {
433
+ var props = __objRest(_a, []);
434
+ return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, __spreadValues({ "data-slot": "dialog-trigger" }, props));
435
+ }
436
+ function DialogPortal(_a) {
437
+ var props = __objRest(_a, []);
438
+ return /* @__PURE__ */ jsx(DialogPrimitive.Portal, __spreadValues({ "data-slot": "dialog-portal" }, props));
439
+ }
440
+ function DialogClose(_a) {
441
+ var props = __objRest(_a, []);
442
+ return /* @__PURE__ */ jsx(DialogPrimitive.Close, __spreadValues({ "data-slot": "dialog-close" }, props));
443
+ }
444
+ function DialogOverlay(_a) {
445
+ var _b = _a, {
446
+ className
447
+ } = _b, props = __objRest(_b, [
448
+ "className"
449
+ ]);
450
+ return /* @__PURE__ */ jsx(
451
+ DialogPrimitive.Overlay,
452
+ __spreadValues({
453
+ "data-slot": "dialog-overlay",
454
+ className: cn(
455
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
456
+ className
457
+ )
458
+ }, props)
459
+ );
460
+ }
461
+ function DialogContent(_a) {
462
+ var _b = _a, {
463
+ className,
464
+ children,
465
+ showCloseButton = true
466
+ } = _b, props = __objRest(_b, [
467
+ "className",
468
+ "children",
469
+ "showCloseButton"
470
+ ]);
471
+ return /* @__PURE__ */ jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
472
+ /* @__PURE__ */ jsx(DialogOverlay, {}),
473
+ /* @__PURE__ */ jsxs(
474
+ DialogPrimitive.Content,
475
+ __spreadProps(__spreadValues({
476
+ "data-slot": "dialog-content",
477
+ className: cn(
478
+ "bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",
479
+ className
480
+ )
481
+ }, props), {
482
+ children: [
483
+ children,
484
+ showCloseButton && /* @__PURE__ */ jsxs(
485
+ DialogPrimitive.Close,
486
+ {
487
+ "data-slot": "dialog-close",
488
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
489
+ children: [
490
+ /* @__PURE__ */ jsx(XIcon, {}),
491
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
492
+ ]
493
+ }
494
+ )
495
+ ]
496
+ })
497
+ )
498
+ ] });
499
+ }
500
+ function DialogHeader(_a) {
501
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
502
+ return /* @__PURE__ */ jsx(
503
+ "div",
504
+ __spreadValues({
505
+ "data-slot": "dialog-header",
506
+ className: cn("flex flex-col gap-2 text-center sm:text-left", className)
507
+ }, props)
508
+ );
509
+ }
510
+ function DialogFooter(_a) {
511
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
512
+ return /* @__PURE__ */ jsx(
513
+ "div",
514
+ __spreadValues({
515
+ "data-slot": "dialog-footer",
516
+ className: cn(
517
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
518
+ className
519
+ )
520
+ }, props)
521
+ );
522
+ }
523
+ function DialogTitle(_a) {
524
+ var _b = _a, {
525
+ className
526
+ } = _b, props = __objRest(_b, [
527
+ "className"
528
+ ]);
529
+ return /* @__PURE__ */ jsx(
530
+ DialogPrimitive.Title,
531
+ __spreadValues({
532
+ "data-slot": "dialog-title",
533
+ className: cn("text-lg leading-none font-semibold", className)
534
+ }, props)
535
+ );
536
+ }
537
+ function DialogDescription(_a) {
538
+ var _b = _a, {
539
+ className
540
+ } = _b, props = __objRest(_b, [
541
+ "className"
542
+ ]);
543
+ return /* @__PURE__ */ jsx(
544
+ DialogPrimitive.Description,
545
+ __spreadValues({
546
+ "data-slot": "dialog-description",
547
+ className: cn("text-muted-foreground text-sm", className)
548
+ }, props)
549
+ );
550
+ }
551
+ function Command(_a) {
552
+ var _b = _a, {
553
+ className
554
+ } = _b, props = __objRest(_b, [
555
+ "className"
556
+ ]);
557
+ return /* @__PURE__ */ jsx(
558
+ Command$1,
559
+ __spreadValues({
560
+ "data-slot": "command",
561
+ className: cn(
562
+ "bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
563
+ className
564
+ )
565
+ }, props)
566
+ );
567
+ }
568
+ function CommandDialog(_a) {
569
+ var _b = _a, {
570
+ title = "Command Palette",
571
+ description = "Search for a command to run...",
572
+ children,
573
+ className,
574
+ showCloseButton = true
575
+ } = _b, props = __objRest(_b, [
576
+ "title",
577
+ "description",
578
+ "children",
579
+ "className",
580
+ "showCloseButton"
581
+ ]);
582
+ return /* @__PURE__ */ jsxs(Dialog, __spreadProps(__spreadValues({}, props), { children: [
583
+ /* @__PURE__ */ jsxs(DialogHeader, { className: "sr-only", children: [
584
+ /* @__PURE__ */ jsx(DialogTitle, { children: title }),
585
+ /* @__PURE__ */ jsx(DialogDescription, { children: description })
586
+ ] }),
587
+ /* @__PURE__ */ jsx(
588
+ DialogContent,
589
+ {
590
+ className: cn("overflow-hidden p-0", className),
591
+ showCloseButton,
592
+ children: /* @__PURE__ */ jsx(Command, { className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[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 })
593
+ }
594
+ )
595
+ ] }));
596
+ }
597
+ function CommandInput(_a) {
598
+ var _b = _a, {
599
+ className
600
+ } = _b, props = __objRest(_b, [
601
+ "className"
602
+ ]);
603
+ return /* @__PURE__ */ jsxs(
604
+ "div",
605
+ {
606
+ "data-slot": "command-input-wrapper",
607
+ className: "flex h-9 items-center gap-2 border-b px-3",
608
+ children: [
609
+ /* @__PURE__ */ jsx(SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
610
+ /* @__PURE__ */ jsx(
611
+ Command$1.Input,
612
+ __spreadValues({
613
+ "data-slot": "command-input",
614
+ className: cn(
615
+ "placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
616
+ className
617
+ )
618
+ }, props)
619
+ )
620
+ ]
621
+ }
622
+ );
623
+ }
624
+ function CommandList(_a) {
625
+ var _b = _a, {
626
+ className
627
+ } = _b, props = __objRest(_b, [
628
+ "className"
629
+ ]);
630
+ return /* @__PURE__ */ jsx(
631
+ Command$1.List,
632
+ __spreadValues({
633
+ "data-slot": "command-list",
634
+ className: cn(
635
+ "max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
636
+ className
637
+ )
638
+ }, props)
639
+ );
640
+ }
641
+ function CommandEmpty(_a) {
642
+ var props = __objRest(_a, []);
643
+ return /* @__PURE__ */ jsx(
644
+ Command$1.Empty,
645
+ __spreadValues({
646
+ "data-slot": "command-empty",
647
+ className: "py-6 text-center text-sm"
648
+ }, props)
649
+ );
650
+ }
651
+ function CommandGroup(_a) {
652
+ var _b = _a, {
653
+ className
654
+ } = _b, props = __objRest(_b, [
655
+ "className"
656
+ ]);
657
+ return /* @__PURE__ */ jsx(
658
+ Command$1.Group,
659
+ __spreadValues({
660
+ "data-slot": "command-group",
661
+ className: cn(
662
+ "text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",
663
+ className
664
+ )
665
+ }, props)
666
+ );
667
+ }
668
+ function CommandSeparator(_a) {
669
+ var _b = _a, {
670
+ className
671
+ } = _b, props = __objRest(_b, [
672
+ "className"
673
+ ]);
674
+ return /* @__PURE__ */ jsx(
675
+ Command$1.Separator,
676
+ __spreadValues({
677
+ "data-slot": "command-separator",
678
+ className: cn("bg-border -mx-1 h-px", className)
679
+ }, props)
680
+ );
681
+ }
682
+ function CommandItem(_a) {
683
+ var _b = _a, {
684
+ className
685
+ } = _b, props = __objRest(_b, [
686
+ "className"
687
+ ]);
688
+ return /* @__PURE__ */ jsx(
689
+ Command$1.Item,
690
+ __spreadValues({
691
+ "data-slot": "command-item",
692
+ className: cn(
693
+ "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
694
+ className
695
+ )
696
+ }, props)
697
+ );
698
+ }
699
+ function CommandShortcut(_a) {
700
+ var _b = _a, {
701
+ className
702
+ } = _b, props = __objRest(_b, [
703
+ "className"
704
+ ]);
705
+ return /* @__PURE__ */ jsx(
706
+ "span",
707
+ __spreadValues({
708
+ "data-slot": "command-shortcut",
709
+ className: cn(
710
+ "text-muted-foreground ml-auto text-xs tracking-widest",
711
+ className
712
+ )
713
+ }, props)
714
+ );
715
+ }
716
+ function Input(_a) {
717
+ var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
718
+ return /* @__PURE__ */ jsx(
719
+ "input",
720
+ __spreadValues({
721
+ type,
722
+ "data-slot": "input",
723
+ className: cn(
724
+ "file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
725
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
726
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
727
+ className
728
+ )
729
+ }, props)
730
+ );
731
+ }
732
+ function Label(_a) {
733
+ var _b = _a, {
734
+ className
735
+ } = _b, props = __objRest(_b, [
736
+ "className"
737
+ ]);
738
+ return /* @__PURE__ */ jsx(
739
+ LabelPrimitive.Root,
740
+ __spreadValues({
741
+ "data-slot": "label",
742
+ className: cn(
743
+ "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
744
+ className
745
+ )
746
+ }, props)
747
+ );
748
+ }
749
+ function Popover(_a) {
750
+ var props = __objRest(_a, []);
751
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Root, __spreadValues({ "data-slot": "popover" }, props));
752
+ }
753
+ function PopoverTrigger(_a) {
754
+ var props = __objRest(_a, []);
755
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, __spreadValues({ "data-slot": "popover-trigger" }, props));
756
+ }
757
+ function PopoverContent(_a) {
758
+ var _b = _a, {
759
+ className,
760
+ align = "center",
761
+ sideOffset = 4
762
+ } = _b, props = __objRest(_b, [
763
+ "className",
764
+ "align",
765
+ "sideOffset"
766
+ ]);
767
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
768
+ PopoverPrimitive.Content,
769
+ __spreadValues({
770
+ "data-slot": "popover-content",
771
+ align,
772
+ sideOffset,
773
+ className: cn(
774
+ "bg-popover 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 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
775
+ className
776
+ )
777
+ }, props)
778
+ ) });
779
+ }
780
+ function PopoverAnchor(_a) {
781
+ var props = __objRest(_a, []);
782
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Anchor, __spreadValues({ "data-slot": "popover-anchor" }, props));
783
+ }
784
+ function Progress(_a) {
785
+ var _b = _a, {
786
+ className,
787
+ value
788
+ } = _b, props = __objRest(_b, [
789
+ "className",
790
+ "value"
791
+ ]);
792
+ return /* @__PURE__ */ jsx(
793
+ ProgressPrimitive.Root,
794
+ __spreadProps(__spreadValues({
795
+ "data-slot": "progress",
796
+ className: cn(
797
+ "bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",
798
+ className
799
+ )
800
+ }, props), {
801
+ children: /* @__PURE__ */ jsx(
802
+ ProgressPrimitive.Indicator,
803
+ {
804
+ "data-slot": "progress-indicator",
805
+ className: "bg-[var(--theme-primary,black)] h-full w-full flex-1 transition-all",
806
+ style: { transform: `translateX(-${100 - (value || 0)}%)` }
807
+ }
808
+ )
809
+ })
810
+ );
811
+ }
812
+ function Select(_a) {
813
+ var props = __objRest(_a, []);
814
+ return /* @__PURE__ */ jsx(SelectPrimitive.Root, __spreadValues({ "data-slot": "select" }, props));
815
+ }
816
+ function SelectGroup(_a) {
817
+ var props = __objRest(_a, []);
818
+ return /* @__PURE__ */ jsx(SelectPrimitive.Group, __spreadValues({ "data-slot": "select-group" }, props));
819
+ }
820
+ function SelectValue(_a) {
821
+ var props = __objRest(_a, []);
822
+ return /* @__PURE__ */ jsx(SelectPrimitive.Value, __spreadValues({ "data-slot": "select-value" }, props));
823
+ }
824
+ function SelectTrigger(_a) {
825
+ var _b = _a, {
826
+ className,
827
+ size = "default",
828
+ children
829
+ } = _b, props = __objRest(_b, [
830
+ "className",
831
+ "size",
832
+ "children"
833
+ ]);
834
+ return /* @__PURE__ */ jsxs(
835
+ SelectPrimitive.Trigger,
836
+ __spreadProps(__spreadValues({
837
+ "data-slot": "select-trigger",
838
+ "data-size": size,
839
+ className: cn(
840
+ "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
841
+ className
842
+ )
843
+ }, props), {
844
+ children: [
845
+ children,
846
+ /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })
847
+ ]
848
+ })
849
+ );
850
+ }
851
+ function SelectContent(_a) {
852
+ var _b = _a, {
853
+ className,
854
+ children,
855
+ position = "item-aligned",
856
+ align = "center"
857
+ } = _b, props = __objRest(_b, [
858
+ "className",
859
+ "children",
860
+ "position",
861
+ "align"
862
+ ]);
863
+ return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
864
+ SelectPrimitive.Content,
865
+ __spreadProps(__spreadValues({
866
+ "data-slot": "select-content",
867
+ className: cn(
868
+ "bg-popover 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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
869
+ 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",
870
+ className
871
+ ),
872
+ position,
873
+ align
874
+ }, props), {
875
+ children: [
876
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
877
+ /* @__PURE__ */ jsx(
878
+ SelectPrimitive.Viewport,
879
+ {
880
+ className: cn(
881
+ "p-1",
882
+ position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
883
+ ),
884
+ children
885
+ }
886
+ ),
887
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
888
+ ]
889
+ })
890
+ ) });
891
+ }
892
+ function SelectLabel(_a) {
893
+ var _b = _a, {
894
+ className
895
+ } = _b, props = __objRest(_b, [
896
+ "className"
897
+ ]);
898
+ return /* @__PURE__ */ jsx(
899
+ SelectPrimitive.Label,
900
+ __spreadValues({
901
+ "data-slot": "select-label",
902
+ className: cn("text-muted-foreground px-2 py-1.5 text-xs", className)
903
+ }, props)
904
+ );
905
+ }
906
+ function SelectItem(_a) {
907
+ var _b = _a, {
908
+ className,
909
+ children
910
+ } = _b, props = __objRest(_b, [
911
+ "className",
912
+ "children"
913
+ ]);
914
+ return /* @__PURE__ */ jsxs(
915
+ SelectPrimitive.Item,
916
+ __spreadProps(__spreadValues({
917
+ "data-slot": "select-item",
918
+ className: cn(
919
+ "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
920
+ className
921
+ )
922
+ }, props), {
923
+ children: [
924
+ /* @__PURE__ */ jsx(
925
+ "span",
926
+ {
927
+ "data-slot": "select-item-indicator",
928
+ className: "absolute right-2 flex size-3.5 items-center justify-center",
929
+ children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) })
930
+ }
931
+ ),
932
+ /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
933
+ ]
934
+ })
935
+ );
936
+ }
937
+ function SelectSeparator(_a) {
938
+ var _b = _a, {
939
+ className
940
+ } = _b, props = __objRest(_b, [
941
+ "className"
942
+ ]);
943
+ return /* @__PURE__ */ jsx(
944
+ SelectPrimitive.Separator,
945
+ __spreadValues({
946
+ "data-slot": "select-separator",
947
+ className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className)
948
+ }, props)
949
+ );
950
+ }
951
+ function SelectScrollUpButton(_a) {
952
+ var _b = _a, {
953
+ className
954
+ } = _b, props = __objRest(_b, [
955
+ "className"
956
+ ]);
957
+ return /* @__PURE__ */ jsx(
958
+ SelectPrimitive.ScrollUpButton,
959
+ __spreadProps(__spreadValues({
960
+ "data-slot": "select-scroll-up-button",
961
+ className: cn(
962
+ "flex cursor-default items-center justify-center py-1",
963
+ className
964
+ )
965
+ }, props), {
966
+ children: /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4" })
967
+ })
968
+ );
969
+ }
970
+ function SelectScrollDownButton(_a) {
971
+ var _b = _a, {
972
+ className
973
+ } = _b, props = __objRest(_b, [
974
+ "className"
975
+ ]);
976
+ return /* @__PURE__ */ jsx(
977
+ SelectPrimitive.ScrollDownButton,
978
+ __spreadProps(__spreadValues({
979
+ "data-slot": "select-scroll-down-button",
980
+ className: cn(
981
+ "flex cursor-default items-center justify-center py-1",
982
+ className
983
+ )
984
+ }, props), {
985
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4" })
986
+ })
987
+ );
988
+ }
989
+ var Spinner = React9.forwardRef(
990
+ (_a, ref) => {
991
+ var _b = _a, { className, size = "md" } = _b, props = __objRest(_b, ["className", "size"]);
992
+ const sizeClasses = {
993
+ sm: "h-4 w-4",
994
+ md: "h-6 w-6",
995
+ lg: "h-8 w-8",
996
+ xl: "h-12 w-12"
997
+ };
998
+ return /* @__PURE__ */ jsx(
999
+ "svg",
1000
+ __spreadProps(__spreadValues({
1001
+ ref,
1002
+ xmlns: "http://www.w3.org/2000/svg",
1003
+ viewBox: "0 0 24 24",
1004
+ fill: "none",
1005
+ stroke: "currentColor",
1006
+ strokeWidth: "2",
1007
+ strokeLinecap: "round",
1008
+ strokeLinejoin: "round",
1009
+ className: cn("animate-spin", sizeClasses[size], className)
1010
+ }, props), {
1011
+ children: /* @__PURE__ */ jsx("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
1012
+ })
1013
+ );
1014
+ }
1015
+ );
1016
+ Spinner.displayName = "Spinner";
1017
+ function Switch(_a) {
1018
+ var _b = _a, {
1019
+ className
1020
+ } = _b, props = __objRest(_b, [
1021
+ "className"
1022
+ ]);
1023
+ return /* @__PURE__ */ jsx(
1024
+ SwitchPrimitive.Root,
1025
+ __spreadProps(__spreadValues({
1026
+ "data-slot": "switch",
1027
+ className: cn(
1028
+ "peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
1029
+ className
1030
+ )
1031
+ }, props), {
1032
+ children: /* @__PURE__ */ jsx(
1033
+ SwitchPrimitive.Thumb,
1034
+ {
1035
+ "data-slot": "switch-thumb",
1036
+ className: cn(
1037
+ "bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
1038
+ )
1039
+ }
1040
+ )
1041
+ })
1042
+ );
1043
+ }
1044
+ function Table(_a) {
1045
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1046
+ return /* @__PURE__ */ jsx(
1047
+ "div",
1048
+ {
1049
+ "data-slot": "table-container",
1050
+ className: "relative w-full overflow-x-auto",
1051
+ children: /* @__PURE__ */ jsx(
1052
+ "table",
1053
+ __spreadValues({
1054
+ "data-slot": "table",
1055
+ className: cn("w-full caption-bottom text-sm", className)
1056
+ }, props)
1057
+ )
1058
+ }
1059
+ );
1060
+ }
1061
+ function TableHeader(_a) {
1062
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1063
+ return /* @__PURE__ */ jsx(
1064
+ "thead",
1065
+ __spreadValues({
1066
+ "data-slot": "table-header",
1067
+ className: cn("[&_tr]:border-b", className)
1068
+ }, props)
1069
+ );
1070
+ }
1071
+ function TableBody(_a) {
1072
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1073
+ return /* @__PURE__ */ jsx(
1074
+ "tbody",
1075
+ __spreadValues({
1076
+ "data-slot": "table-body",
1077
+ className: cn("[&_tr:last-child]:border-0", className)
1078
+ }, props)
1079
+ );
1080
+ }
1081
+ function TableFooter(_a) {
1082
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1083
+ return /* @__PURE__ */ jsx(
1084
+ "tfoot",
1085
+ __spreadValues({
1086
+ "data-slot": "table-footer",
1087
+ className: cn(
1088
+ "bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
1089
+ className
1090
+ )
1091
+ }, props)
1092
+ );
1093
+ }
1094
+ function TableRow(_a) {
1095
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1096
+ return /* @__PURE__ */ jsx(
1097
+ "tr",
1098
+ __spreadValues({
1099
+ "data-slot": "table-row",
1100
+ className: cn(
1101
+ "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
1102
+ className
1103
+ )
1104
+ }, props)
1105
+ );
1106
+ }
1107
+ function TableHead(_a) {
1108
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1109
+ return /* @__PURE__ */ jsx(
1110
+ "th",
1111
+ __spreadValues({
1112
+ "data-slot": "table-head",
1113
+ className: cn(
1114
+ "text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
1115
+ className
1116
+ )
1117
+ }, props)
1118
+ );
1119
+ }
1120
+ function TableCell(_a) {
1121
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1122
+ return /* @__PURE__ */ jsx(
1123
+ "td",
1124
+ __spreadValues({
1125
+ "data-slot": "table-cell",
1126
+ className: cn(
1127
+ "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
1128
+ className
1129
+ )
1130
+ }, props)
1131
+ );
1132
+ }
1133
+ function TableCaption(_a) {
1134
+ var _b = _a, {
1135
+ className
1136
+ } = _b, props = __objRest(_b, [
1137
+ "className"
1138
+ ]);
1139
+ return /* @__PURE__ */ jsx(
1140
+ "caption",
1141
+ __spreadValues({
1142
+ "data-slot": "table-caption",
1143
+ className: cn("text-muted-foreground mt-4 text-sm", className)
1144
+ }, props)
1145
+ );
1146
+ }
1147
+ function TooltipProvider(_a) {
1148
+ var _b = _a, {
1149
+ delayDuration = 0
1150
+ } = _b, props = __objRest(_b, [
1151
+ "delayDuration"
1152
+ ]);
1153
+ return /* @__PURE__ */ jsx(
1154
+ TooltipPrimitive.Provider,
1155
+ __spreadValues({
1156
+ "data-slot": "tooltip-provider",
1157
+ delayDuration
1158
+ }, props)
1159
+ );
1160
+ }
1161
+ function Tooltip(_a) {
1162
+ var props = __objRest(_a, []);
1163
+ return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, __spreadValues({ "data-slot": "tooltip" }, props)) });
1164
+ }
1165
+ function TooltipTrigger(_a) {
1166
+ var props = __objRest(_a, []);
1167
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, __spreadValues({ "data-slot": "tooltip-trigger" }, props));
1168
+ }
1169
+ function TooltipContent(_a) {
1170
+ var _b = _a, {
1171
+ className,
1172
+ sideOffset = 0,
1173
+ children
1174
+ } = _b, props = __objRest(_b, [
1175
+ "className",
1176
+ "sideOffset",
1177
+ "children"
1178
+ ]);
1179
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
1180
+ TooltipPrimitive.Content,
1181
+ __spreadProps(__spreadValues({
1182
+ "data-slot": "tooltip-content",
1183
+ sideOffset,
1184
+ className: cn(
1185
+ "bg-foreground text-background 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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
1186
+ className
1187
+ )
1188
+ }, props), {
1189
+ children: [
1190
+ children,
1191
+ /* @__PURE__ */ jsx(
1192
+ TooltipPrimitive.Arrow,
1193
+ {
1194
+ "data-slot": "tooltip-arrow",
1195
+ className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] fill-foreground bg-foreground"
1196
+ }
1197
+ )
1198
+ ]
1199
+ })
1200
+ ) });
1201
+ }
1202
+
1203
+ // src/stories/claimmind/theme.ts
1204
+ var themeStyles = {
1205
+ Default: {
1206
+ primary: "var(--claimmind-primary)",
1207
+ secondary: "var(--claimmind-secondary)",
1208
+ tertiary: "var(--claimmind-tertiary)",
1209
+ success: "var(--claimmind-success)",
1210
+ danger: "var(--claimmind-danger)",
1211
+ background: "var(--claimmind-background)"
1212
+ },
1213
+ Owlexa: {
1214
+ primary: "var(--owlexa-primary)",
1215
+ secondary: "var(--owlexa-secondary)",
1216
+ tertiary: "var(--owlexa-tertiary)",
1217
+ success: "var(--owlexa-success)",
1218
+ danger: "var(--owlexa-danger)",
1219
+ background: "var(--owlexa-background)"
1220
+ },
1221
+ BPJS: {
1222
+ primary: "var(--bpjs-primary)",
1223
+ secondary: "var(--bpjs-secondary)",
1224
+ tertiary: "var(--bpjs-tertiary)",
1225
+ success: "var(--bpjs-success)",
1226
+ danger: "var(--bpjs-danger)",
1227
+ background: "var(--bpjs-background)"
1228
+ }
1229
+ };
1230
+ function ClaimMindSpinner({ theme = "Default", size = "md", className }) {
1231
+ const currentTheme = themeStyles[theme];
1232
+ return /* @__PURE__ */ jsx(
1233
+ Spinner,
1234
+ {
1235
+ size,
1236
+ style: {
1237
+ "--theme-primary": currentTheme.primary
1238
+ },
1239
+ className: cn(
1240
+ "text-[var(--theme-primary)]",
1241
+ className
1242
+ )
1243
+ }
1244
+ );
1245
+ }
1246
+ var Spinner_default = ClaimMindSpinner;
1247
+ var ClaimMindButton = React9.forwardRef(
1248
+ (_a, ref) => {
1249
+ var _b = _a, {
1250
+ label,
1251
+ children,
1252
+ size,
1253
+ variant = "default",
1254
+ theme = "Default",
1255
+ className,
1256
+ loading,
1257
+ disabled,
1258
+ onClick,
1259
+ leftIconName,
1260
+ rightIconName
1261
+ } = _b, props = __objRest(_b, [
1262
+ "label",
1263
+ "children",
1264
+ "size",
1265
+ "variant",
1266
+ "theme",
1267
+ "className",
1268
+ "loading",
1269
+ "disabled",
1270
+ "onClick",
1271
+ "leftIconName",
1272
+ "rightIconName"
1273
+ ]);
1274
+ const currentTheme = themeStyles[theme];
1275
+ let LeftIconComponent = null;
1276
+ if (leftIconName && LucideIcons[leftIconName]) {
1277
+ const LucideIcon = LucideIcons[leftIconName];
1278
+ LeftIconComponent = /* @__PURE__ */ jsx(LucideIcon, { className: "w-4 h-4" });
1279
+ }
1280
+ let RightIconComponent = null;
1281
+ if (rightIconName && LucideIcons[rightIconName]) {
1282
+ const LucideIcon = LucideIcons[rightIconName];
1283
+ RightIconComponent = /* @__PURE__ */ jsx(LucideIcon, { className: "w-4 h-4" });
1284
+ }
1285
+ const displayLeftIcon = LeftIconComponent;
1286
+ const displayRightIcon = RightIconComponent;
1287
+ return /* @__PURE__ */ jsxs(
1288
+ Button,
1289
+ __spreadProps(__spreadValues({
1290
+ ref,
1291
+ size,
1292
+ variant,
1293
+ disabled: disabled || loading,
1294
+ onClick,
1295
+ style: {
1296
+ "--theme-primary": currentTheme.primary,
1297
+ "--theme-secondary": currentTheme.secondary,
1298
+ "--theme-tertiary": currentTheme.tertiary,
1299
+ "--theme-success": currentTheme.success,
1300
+ "--theme-danger": currentTheme.danger,
1301
+ "--theme-background": currentTheme.background
1302
+ },
1303
+ className: cn(
1304
+ "font-sans gap-2",
1305
+ variant === "default" && theme === "Default" && "bg-white border border-gray-300 text-gray-700 hover:bg-gray-50 shadow-sm",
1306
+ variant === "default" && theme !== "Default" && "bg-[var(--theme-primary)] hover:bg-[var(--theme-secondary)] text-white shadow-sm",
1307
+ variant === "outline" && "border-[var(--theme-primary)] text-[var(--theme-primary)] hover:bg-[var(--theme-background)]",
1308
+ className
1309
+ )
1310
+ }, props), {
1311
+ children: [
1312
+ loading ? /* @__PURE__ */ jsx(Spinner_default, { theme, size: "sm", className: "text-current" }) : displayLeftIcon,
1313
+ children || label,
1314
+ !loading && displayRightIcon
1315
+ ]
1316
+ })
1317
+ );
1318
+ }
1319
+ );
1320
+ ClaimMindButton.displayName = "ClaimMindButton";
1321
+ var Button_default = ClaimMindButton;
1322
+ var ClaimMindInput = React9.forwardRef(
1323
+ (_a, ref) => {
1324
+ var _b = _a, { theme = "Default", className } = _b, props = __objRest(_b, ["theme", "className"]);
1325
+ const currentTheme = themeStyles[theme];
1326
+ return /* @__PURE__ */ jsx(
1327
+ Input,
1328
+ __spreadValues({
1329
+ ref,
1330
+ style: {
1331
+ "--theme-primary": currentTheme.primary,
1332
+ "--theme-secondary": currentTheme.secondary,
1333
+ "--theme-background": currentTheme.background
1334
+ },
1335
+ className: cn(
1336
+ "font-sans focus-visible:border-[var(--theme-primary)] focus-visible:ring-[var(--theme-primary)]/50",
1337
+ className
1338
+ )
1339
+ }, props)
1340
+ );
1341
+ }
1342
+ );
1343
+ ClaimMindInput.displayName = "ClaimMindInput";
1344
+ var Input_default = ClaimMindInput;
1345
+ function ClaimMindAlert(_a) {
1346
+ var _b = _a, { theme = "Default", title, description, icon, className, children } = _b, props = __objRest(_b, ["theme", "title", "description", "icon", "className", "children"]);
1347
+ const currentTheme = themeStyles[theme];
1348
+ return /* @__PURE__ */ jsxs(
1349
+ Alert,
1350
+ __spreadProps(__spreadValues({
1351
+ style: {
1352
+ "--theme-primary": currentTheme.primary,
1353
+ "--theme-secondary": currentTheme.secondary,
1354
+ "--theme-tertiary": currentTheme.tertiary,
1355
+ "--theme-success": currentTheme.success,
1356
+ "--theme-danger": currentTheme.danger,
1357
+ "--theme-background": currentTheme.background
1358
+ },
1359
+ className: cn(
1360
+ "font-sans border-[var(--theme-primary)] bg-[var(--theme-background)] text-slate-900",
1361
+ className
1362
+ )
1363
+ }, props), {
1364
+ children: [
1365
+ icon,
1366
+ title && /* @__PURE__ */ jsx(AlertTitle, { className: "text-[var(--theme-primary)] font-bold", children: title }),
1367
+ description && /* @__PURE__ */ jsx(AlertDescription, { className: "text-slate-700", children: description }),
1368
+ children
1369
+ ]
1370
+ })
1371
+ );
1372
+ }
1373
+ var ClaimMindSwitch = React9.forwardRef(
1374
+ (_a, ref) => {
1375
+ var _b = _a, { theme = "Default", className } = _b, props = __objRest(_b, ["theme", "className"]);
1376
+ const currentTheme = themeStyles[theme];
1377
+ return /* @__PURE__ */ jsx(
1378
+ Switch,
1379
+ __spreadValues({
1380
+ ref,
1381
+ style: {
1382
+ "--theme-primary": currentTheme.primary
1383
+ },
1384
+ className: cn(
1385
+ "data-[state=checked]:bg-[var(--theme-primary)]",
1386
+ className
1387
+ )
1388
+ }, props)
1389
+ );
1390
+ }
1391
+ );
1392
+ ClaimMindSwitch.displayName = "ClaimMindSwitch";
1393
+ var Switch_default = ClaimMindSwitch;
1394
+ function ClaimMindTooltip({
1395
+ content,
1396
+ children,
1397
+ theme = "Default",
1398
+ variant = "theme",
1399
+ side = "top"
1400
+ }) {
1401
+ const currentTheme = themeStyles[theme];
1402
+ const isThemeVariant = variant === "theme";
1403
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [
1404
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children }),
1405
+ /* @__PURE__ */ jsx(
1406
+ TooltipContent,
1407
+ {
1408
+ side,
1409
+ style: isThemeVariant ? {
1410
+ "--theme-primary": currentTheme.primary
1411
+ } : void 0,
1412
+ className: cn(
1413
+ isThemeVariant && "bg-[var(--theme-primary)] text-white border-[var(--theme-primary)]",
1414
+ isThemeVariant && "[&_[data-slot=tooltip-arrow]]:fill-[var(--theme-primary)] [&_[data-slot=tooltip-arrow]]:bg-[var(--theme-primary)]"
1415
+ ),
1416
+ children: content
1417
+ }
1418
+ )
1419
+ ] });
1420
+ }
1421
+ var Tooltip_default = ClaimMindTooltip;
1422
+ function ClaimMindCard(_a) {
1423
+ var _b = _a, { theme = "Default", showTopBorder = false, className, children } = _b, props = __objRest(_b, ["theme", "showTopBorder", "className", "children"]);
1424
+ const currentTheme = themeStyles[theme];
1425
+ return /* @__PURE__ */ jsx(
1426
+ Card,
1427
+ __spreadProps(__spreadValues({
1428
+ style: {
1429
+ "--theme-primary": currentTheme.primary,
1430
+ "--theme-secondary": currentTheme.secondary,
1431
+ "--theme-tertiary": currentTheme.tertiary,
1432
+ "--theme-success": currentTheme.success,
1433
+ "--theme-danger": currentTheme.danger,
1434
+ "--theme-background": currentTheme.background
1435
+ },
1436
+ className: cn(
1437
+ "font-sans shadow",
1438
+ showTopBorder && "border-t-4 border-t-(--theme-primary)",
1439
+ className
1440
+ )
1441
+ }, props), {
1442
+ children
1443
+ })
1444
+ );
1445
+ }
1446
+ var ClaimMindSelect = ({
1447
+ placeholder = "Pilih opsi",
1448
+ options,
1449
+ theme = "Default",
1450
+ className,
1451
+ label,
1452
+ value,
1453
+ onValueChange,
1454
+ disabled
1455
+ }) => {
1456
+ const currentTheme = themeStyles[theme];
1457
+ return /* @__PURE__ */ jsxs(
1458
+ "div",
1459
+ {
1460
+ style: {
1461
+ "--theme-primary": currentTheme.primary,
1462
+ "--theme-secondary": currentTheme.secondary,
1463
+ "--theme-background": currentTheme.background
1464
+ },
1465
+ className: cn("w-full grid gap-1.5", className),
1466
+ children: [
1467
+ label && /* @__PURE__ */ jsx("label", { className: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", children: label }),
1468
+ /* @__PURE__ */ jsxs(Select, { value, onValueChange, disabled, children: [
1469
+ /* @__PURE__ */ jsx(
1470
+ SelectTrigger,
1471
+ {
1472
+ className: cn(
1473
+ "w-full font-sans",
1474
+ "focus-visible:ring-[var(--theme-primary)]/50 focus-visible:border-[var(--theme-primary)]",
1475
+ "hover:bg-[var(--theme-background)] hover:text-[var(--theme-primary)] hover:border-[var(--theme-primary)] transition-colors",
1476
+ "[&_svg]:hover:text-[var(--theme-primary)]"
1477
+ ),
1478
+ children: /* @__PURE__ */ jsx(SelectValue, { placeholder })
1479
+ }
1480
+ ),
1481
+ /* @__PURE__ */ jsx(
1482
+ SelectContent,
1483
+ {
1484
+ className: "font-sans",
1485
+ style: {
1486
+ "--accent": currentTheme.primary,
1487
+ "--accent-foreground": "white"
1488
+ },
1489
+ children: /* @__PURE__ */ jsx(SelectGroup, { children: options.map((option) => /* @__PURE__ */ jsx(
1490
+ SelectItem,
1491
+ {
1492
+ value: option.value,
1493
+ children: option.label
1494
+ },
1495
+ option.value
1496
+ )) })
1497
+ }
1498
+ )
1499
+ ] })
1500
+ ]
1501
+ }
1502
+ );
1503
+ };
1504
+ var Select_default = ClaimMindSelect;
1505
+ function ClaimMindCombobox({
1506
+ options,
1507
+ placeholder = "Pilih item...",
1508
+ searchPlaceholder = "Cari item...",
1509
+ emptyText = "Item tidak ditemukan.",
1510
+ theme = "Default",
1511
+ className,
1512
+ label,
1513
+ value,
1514
+ onValueChange,
1515
+ disabled
1516
+ }) {
1517
+ var _a;
1518
+ const [open, setOpen] = React9.useState(false);
1519
+ const currentTheme = themeStyles[theme];
1520
+ return /* @__PURE__ */ jsxs(
1521
+ "div",
1522
+ {
1523
+ style: {
1524
+ "--theme-primary": currentTheme.primary,
1525
+ "--theme-secondary": currentTheme.secondary,
1526
+ "--theme-background": currentTheme.background
1527
+ },
1528
+ className: cn("w-full grid gap-1.5", className),
1529
+ children: [
1530
+ label && /* @__PURE__ */ jsx("label", { className: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", children: label }),
1531
+ /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
1532
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
1533
+ Button,
1534
+ {
1535
+ variant: "outline",
1536
+ role: "combobox",
1537
+ "aria-expanded": open,
1538
+ disabled,
1539
+ className: cn(
1540
+ "w-full justify-between font-sans font-normal",
1541
+ "focus-visible:ring-[var(--theme-primary)]/50 focus-visible:border-[var(--theme-primary)]",
1542
+ "hover:bg-[var(--theme-background)] hover:text-[var(--theme-primary)] hover:border-[var(--theme-primary)] transition-colors",
1543
+ "[&_svg]:hover:text-[var(--theme-primary)]",
1544
+ !value && "text-muted-foreground"
1545
+ ),
1546
+ children: [
1547
+ value ? (_a = options.find((option) => option.value === value)) == null ? void 0 : _a.label : placeholder,
1548
+ /* @__PURE__ */ jsx(ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })
1549
+ ]
1550
+ }
1551
+ ) }),
1552
+ /* @__PURE__ */ jsx(PopoverContent, { className: "w-full p-0 font-sans", align: "start", children: /* @__PURE__ */ jsxs(
1553
+ Command,
1554
+ {
1555
+ className: "w-full",
1556
+ style: {
1557
+ "--accent": currentTheme.primary,
1558
+ "--accent-foreground": "white"
1559
+ },
1560
+ children: [
1561
+ /* @__PURE__ */ jsx(CommandInput, { placeholder: searchPlaceholder, className: "font-sans" }),
1562
+ /* @__PURE__ */ jsxs(CommandList, { children: [
1563
+ /* @__PURE__ */ jsx(CommandEmpty, { children: emptyText }),
1564
+ /* @__PURE__ */ jsx(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxs(
1565
+ CommandItem,
1566
+ {
1567
+ value: option.value,
1568
+ className: "font-sans",
1569
+ onSelect: (currentValue) => {
1570
+ onValueChange == null ? void 0 : onValueChange(currentValue === value ? "" : currentValue);
1571
+ setOpen(false);
1572
+ },
1573
+ children: [
1574
+ /* @__PURE__ */ jsx(
1575
+ Check,
1576
+ {
1577
+ className: cn(
1578
+ "mr-2 h-4 w-4",
1579
+ value === option.value ? "opacity-100" : "opacity-0"
1580
+ )
1581
+ }
1582
+ ),
1583
+ option.label
1584
+ ]
1585
+ },
1586
+ option.value
1587
+ )) })
1588
+ ] })
1589
+ ]
1590
+ }
1591
+ ) })
1592
+ ] })
1593
+ ]
1594
+ }
1595
+ );
1596
+ }
1597
+ var Combobox_default = ClaimMindCombobox;
1598
+ var ClaimMindDialog = (_a) => {
1599
+ var _b = _a, { theme = "Default" } = _b, props = __objRest(_b, ["theme"]);
1600
+ return /* @__PURE__ */ jsx(Dialog, __spreadValues({}, props));
1601
+ };
1602
+ var ClaimMindDialogContent = React9.forwardRef((_a, ref) => {
1603
+ var _b = _a, { theme = "Default", className, children } = _b, props = __objRest(_b, ["theme", "className", "children"]);
1604
+ const currentTheme = themeStyles[theme];
1605
+ return /* @__PURE__ */ jsx(
1606
+ DialogContent,
1607
+ __spreadProps(__spreadValues({
1608
+ ref,
1609
+ style: {
1610
+ "--theme-primary": currentTheme.primary,
1611
+ "--theme-secondary": currentTheme.secondary,
1612
+ "--theme-background": currentTheme.background
1613
+ },
1614
+ className: cn(
1615
+ "font-sans",
1616
+ className
1617
+ )
1618
+ }, props), {
1619
+ children
1620
+ })
1621
+ );
1622
+ });
1623
+ ClaimMindDialogContent.displayName = "ClaimMindDialogContent";
1624
+ var ClaimMindDialogHeader = (_a) => {
1625
+ var _b = _a, {
1626
+ className
1627
+ } = _b, props = __objRest(_b, [
1628
+ "className"
1629
+ ]);
1630
+ return /* @__PURE__ */ jsx(DialogHeader, __spreadValues({ className: cn("font-sans", className) }, props));
1631
+ };
1632
+ var ClaimMindDialogFooter = (_a) => {
1633
+ var _b = _a, {
1634
+ className
1635
+ } = _b, props = __objRest(_b, [
1636
+ "className"
1637
+ ]);
1638
+ return /* @__PURE__ */ jsx(DialogFooter, __spreadValues({ className: cn("font-sans", className) }, props));
1639
+ };
1640
+ var ClaimMindDialogTitle = React9.forwardRef((_a, ref) => {
1641
+ var _b = _a, { theme = "Default", className } = _b, props = __objRest(_b, ["theme", "className"]);
1642
+ const currentTheme = themeStyles[theme];
1643
+ return /* @__PURE__ */ jsx(
1644
+ DialogTitle,
1645
+ __spreadValues({
1646
+ ref,
1647
+ style: { "--theme-primary": currentTheme.primary },
1648
+ className: cn("text-[var(--theme-primary)] font-bold", className)
1649
+ }, props)
1650
+ );
1651
+ });
1652
+ ClaimMindDialogTitle.displayName = "ClaimMindDialogTitle";
1653
+ var ClaimMindDialogDescription = (_a) => {
1654
+ var _b = _a, {
1655
+ className
1656
+ } = _b, props = __objRest(_b, [
1657
+ "className"
1658
+ ]);
1659
+ return /* @__PURE__ */ jsx(DialogDescription, __spreadValues({ className: cn("text-slate-600", className) }, props));
1660
+ };
1661
+ var ClaimMindDialogTrigger = DialogTrigger;
1662
+ var ClaimMindDialogClose = DialogClose;
1663
+ var ClaimMindTable = React9.forwardRef(
1664
+ (_a, ref) => {
1665
+ var _b = _a, { theme = "Default", variant = "default", className, children } = _b, props = __objRest(_b, ["theme", "variant", "className", "children"]);
1666
+ const currentTheme = themeStyles[theme];
1667
+ return /* @__PURE__ */ jsx(
1668
+ Table,
1669
+ __spreadProps(__spreadValues({
1670
+ ref,
1671
+ style: {
1672
+ "--theme-primary": currentTheme.primary,
1673
+ "--theme-secondary": currentTheme.secondary,
1674
+ "--theme-background": currentTheme.background
1675
+ },
1676
+ className: cn(
1677
+ "font-sans",
1678
+ variant === "striped" && "[&_tbody_tr:nth-child(even)]:bg-[var(--theme-background)]",
1679
+ className
1680
+ )
1681
+ }, props), {
1682
+ children
1683
+ })
1684
+ );
1685
+ }
1686
+ );
1687
+ ClaimMindTable.displayName = "ClaimMindTable";
1688
+ function ClaimMindDatePicker({
1689
+ date,
1690
+ setDate,
1691
+ placeholder = "Pilih tanggal",
1692
+ theme = "Default",
1693
+ className
1694
+ }) {
1695
+ const currentTheme = themeStyles[theme];
1696
+ return /* @__PURE__ */ jsxs(Popover, { children: [
1697
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
1698
+ Button,
1699
+ {
1700
+ variant: "outline",
1701
+ style: {
1702
+ "--theme-primary": currentTheme.primary,
1703
+ "--theme-secondary": currentTheme.secondary,
1704
+ "--theme-background": currentTheme.background
1705
+ },
1706
+ className: cn(
1707
+ "w-[280px] justify-start text-left font-normal font-sans",
1708
+ "border-input hover:bg-[var(--theme-background)] hover:text-[var(--theme-primary)] hover:border-[var(--theme-primary)]",
1709
+ "focus-visible:ring-[var(--theme-primary)]/50 focus-visible:border-[var(--theme-primary)]",
1710
+ !date && "text-muted-foreground",
1711
+ className
1712
+ ),
1713
+ children: [
1714
+ /* @__PURE__ */ jsx(CalendarIcon, { className: "mr-2 h-4 w-4" }),
1715
+ date ? format(date, "PPP") : /* @__PURE__ */ jsx("span", { children: placeholder })
1716
+ ]
1717
+ }
1718
+ ) }),
1719
+ /* @__PURE__ */ jsx(
1720
+ PopoverContent,
1721
+ {
1722
+ className: "w-auto p-0",
1723
+ align: "start",
1724
+ style: {
1725
+ "--theme-primary": currentTheme.primary,
1726
+ "--theme-secondary": currentTheme.secondary,
1727
+ "--theme-background": currentTheme.background
1728
+ },
1729
+ children: /* @__PURE__ */ jsx(
1730
+ Calendar,
1731
+ {
1732
+ mode: "single",
1733
+ selected: date,
1734
+ onSelect: setDate,
1735
+ initialFocus: true,
1736
+ className: "font-sans",
1737
+ classNames: {
1738
+ day_button: cn(
1739
+ "data-[selected-single=true]:bg-[var(--theme-primary)] data-[selected-single=true]:text-white",
1740
+ "data-[range-start=true]:bg-[var(--theme-primary)] data-[range-start=true]:text-white",
1741
+ "data-[range-end=true]:bg-[var(--theme-primary)] data-[range-end=true]:text-white",
1742
+ "group-data-[focused=true]/day:ring-[var(--theme-primary)]/50 group-data-[focused=true]/day:border-[var(--theme-primary)]"
1743
+ ),
1744
+ today: "text-[var(--theme-primary)] font-bold bg-[var(--theme-background)]"
1745
+ }
1746
+ }
1747
+ )
1748
+ }
1749
+ )
1750
+ ] });
1751
+ }
1752
+ var DatePicker_default = ClaimMindDatePicker;
1753
+ var Chat = ({
1754
+ theme = "Default",
1755
+ variant = "float",
1756
+ title = "Chat Support",
1757
+ messages = [],
1758
+ onSendMessage,
1759
+ isOpen = false,
1760
+ onToggle,
1761
+ placeholder = "Ketik pesan...",
1762
+ className
1763
+ }) => {
1764
+ const currentTheme = themeStyles[theme];
1765
+ const [inputValue, setInputValue] = React9.useState("");
1766
+ const scrollRef = React9.useRef(null);
1767
+ React9.useEffect(() => {
1768
+ if (scrollRef.current) {
1769
+ scrollRef.current.scrollTop = scrollRef.current.scrollHeight;
1770
+ }
1771
+ }, [messages, isOpen]);
1772
+ const handleSend = () => {
1773
+ if (inputValue.trim() && onSendMessage) {
1774
+ onSendMessage(inputValue);
1775
+ setInputValue("");
1776
+ }
1777
+ };
1778
+ const handleKeyPress = (e) => {
1779
+ if (e.key === "Enter") {
1780
+ handleSend();
1781
+ }
1782
+ };
1783
+ const containerClasses = cn(
1784
+ "fixed z-50 flex flex-col transition-all duration-300 ease-in-out font-sans",
1785
+ variant === "float" ? "bottom-6 right-6 w-80 sm:w-96" : "bottom-0 right-6 w-80 sm:w-96",
1786
+ !isOpen && (variant === "float" ? "h-0 w-0 opacity-0 pointer-events-none" : "h-0 opacity-0 pointer-events-none"),
1787
+ isOpen && (variant === "float" ? "h-[500px]" : "h-[500px]"),
1788
+ className
1789
+ );
1790
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1791
+ !isOpen && /* @__PURE__ */ jsx(
1792
+ "button",
1793
+ {
1794
+ onClick: onToggle,
1795
+ style: {
1796
+ backgroundColor: currentTheme.primary
1797
+ },
1798
+ className: cn(
1799
+ "fixed z-50 flex items-center justify-center w-14 h-14 rounded-full text-white shadow-lg hover:opacity-90 transition-all focus:outline-none focus:ring-2 focus:ring-offset-2",
1800
+ variant === "float" ? "bottom-6 right-6" : "bottom-0 right-6 rounded-b-none h-12",
1801
+ `focus:ring-[var(--theme-primary)]`
1802
+ ),
1803
+ children: /* @__PURE__ */ jsx(MessageCircle, { size: 24 })
1804
+ }
1805
+ ),
1806
+ /* @__PURE__ */ jsxs(
1807
+ "div",
1808
+ {
1809
+ className: containerClasses,
1810
+ style: {
1811
+ "--theme-primary": currentTheme.primary,
1812
+ "--theme-secondary": currentTheme.secondary,
1813
+ "--theme-background": currentTheme.background
1814
+ },
1815
+ children: [
1816
+ /* @__PURE__ */ jsxs(
1817
+ "div",
1818
+ {
1819
+ className: cn(
1820
+ "flex items-center justify-between p-4 rounded-t-lg text-white shadow-md",
1821
+ variant === "bottom-side" && "rounded-t-lg rounded-b-none"
1822
+ ),
1823
+ style: { backgroundColor: currentTheme.primary },
1824
+ children: [
1825
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1826
+ /* @__PURE__ */ jsx("div", { className: "w-2 h-2 rounded-full bg-green-400 animate-pulse" }),
1827
+ /* @__PURE__ */ jsx("h3", { className: "font-bold", children: title })
1828
+ ] }),
1829
+ /* @__PURE__ */ jsx(
1830
+ "button",
1831
+ {
1832
+ onClick: onToggle,
1833
+ className: "p-1 hover:bg-white/20 rounded-full transition-colors",
1834
+ children: /* @__PURE__ */ jsx(X, { size: 20 })
1835
+ }
1836
+ )
1837
+ ]
1838
+ }
1839
+ ),
1840
+ /* @__PURE__ */ jsx(
1841
+ "div",
1842
+ {
1843
+ ref: scrollRef,
1844
+ className: "flex-1 overflow-y-auto p-4 bg-white border-x border-slate-200 space-y-4",
1845
+ children: messages.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center h-full text-slate-400 text-sm", children: [
1846
+ /* @__PURE__ */ jsx(MessageCircle, { size: 48, className: "mb-2 opacity-20" }),
1847
+ /* @__PURE__ */ jsx("p", { children: "Belum ada pesan" })
1848
+ ] }) : messages.map((msg) => /* @__PURE__ */ jsxs(
1849
+ "div",
1850
+ {
1851
+ className: cn(
1852
+ "flex flex-col max-w-[80%]",
1853
+ msg.sender === "user" ? "ml-auto items-end" : "mr-auto items-start"
1854
+ ),
1855
+ children: [
1856
+ /* @__PURE__ */ jsx(
1857
+ "div",
1858
+ {
1859
+ className: cn(
1860
+ "px-4 py-2 rounded-2xl text-sm shadow-sm",
1861
+ msg.sender === "user" ? "bg-[var(--theme-primary)] text-white rounded-tr-none" : "bg-slate-100 text-slate-800 rounded-tl-none"
1862
+ ),
1863
+ style: msg.sender === "user" ? { backgroundColor: currentTheme.primary } : {},
1864
+ children: msg.text
1865
+ }
1866
+ ),
1867
+ /* @__PURE__ */ jsx("span", { className: "text-[10px] text-slate-400 mt-1", children: msg.timestamp.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }) })
1868
+ ]
1869
+ },
1870
+ msg.id
1871
+ ))
1872
+ }
1873
+ ),
1874
+ /* @__PURE__ */ jsxs(
1875
+ "div",
1876
+ {
1877
+ className: cn(
1878
+ "p-4 bg-white border-x border-b border-slate-200 flex gap-2 items-center",
1879
+ variant === "float" ? "rounded-b-lg" : ""
1880
+ ),
1881
+ children: [
1882
+ /* @__PURE__ */ jsx(
1883
+ Input_default,
1884
+ {
1885
+ theme,
1886
+ value: inputValue,
1887
+ onChange: (e) => setInputValue(e.target.value),
1888
+ onKeyPress: handleKeyPress,
1889
+ placeholder,
1890
+ className: "flex-1"
1891
+ }
1892
+ ),
1893
+ /* @__PURE__ */ jsx(
1894
+ Button_default,
1895
+ {
1896
+ theme,
1897
+ size: "icon",
1898
+ onClick: handleSend,
1899
+ className: "shrink-0 h-10 w-10",
1900
+ children: /* @__PURE__ */ jsx(Send, { size: 18 })
1901
+ }
1902
+ )
1903
+ ]
1904
+ }
1905
+ )
1906
+ ]
1907
+ }
1908
+ )
1909
+ ] });
1910
+ };
1911
+ var Chat_default = Chat;
1912
+ function Title2({
1913
+ children,
1914
+ size = "xl",
1915
+ iconName,
1916
+ theme = "Default",
1917
+ colorVariant = "primary",
1918
+ fontWeight = "bold",
1919
+ className
1920
+ }) {
1921
+ const currentTheme = themeStyles[theme];
1922
+ const iconColor = currentTheme[colorVariant] || currentTheme.primary;
1923
+ let IconComponent = null;
1924
+ if (iconName && LucideIcons[iconName]) {
1925
+ const LucideIcon = LucideIcons[iconName];
1926
+ const iconSizeMap = {
1927
+ "sm": "w-4 h-4",
1928
+ "md": "w-5 h-5",
1929
+ "lg": "w-6 h-6",
1930
+ "xl": "w-7 h-7",
1931
+ "2xl": "w-8 h-8",
1932
+ "3xl": "w-9 h-9"
1933
+ };
1934
+ IconComponent = /* @__PURE__ */ jsx(
1935
+ LucideIcon,
1936
+ {
1937
+ className: cn(iconSizeMap[size] || "w-6 h-6"),
1938
+ style: { color: iconColor }
1939
+ }
1940
+ );
1941
+ }
1942
+ const displayIcon = IconComponent;
1943
+ const sizeClasses = {
1944
+ "sm": "text-sm",
1945
+ "md": "text-base",
1946
+ "lg": "text-lg",
1947
+ "xl": "text-xl",
1948
+ "2xl": "text-2xl",
1949
+ "3xl": "text-3xl"
1950
+ };
1951
+ const weightClasses = {
1952
+ "normal": "font-normal",
1953
+ "medium": "font-medium",
1954
+ "semibold": "font-semibold",
1955
+ "bold": "font-bold"
1956
+ };
1957
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3", className), children: [
1958
+ displayIcon && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0", children: displayIcon }),
1959
+ /* @__PURE__ */ jsx("h2", { className: cn(
1960
+ "tracking-tight text-foreground",
1961
+ sizeClasses[size],
1962
+ weightClasses[fontWeight]
1963
+ ), children })
1964
+ ] });
1965
+ }
1966
+ function DashboardCard({
1967
+ label,
1968
+ value,
1969
+ iconName,
1970
+ icon,
1971
+ theme = "Default",
1972
+ colorVariant = "primary",
1973
+ className
1974
+ }) {
1975
+ const currentTheme = themeStyles[theme];
1976
+ const iconColor = currentTheme[colorVariant] || currentTheme.primary;
1977
+ let IconComponent = null;
1978
+ if (iconName && LucideIcons[iconName]) {
1979
+ const LucideIcon = LucideIcons[iconName];
1980
+ IconComponent = /* @__PURE__ */ jsx(LucideIcon, { className: "w-6 h-6", style: { color: iconColor } });
1981
+ }
1982
+ const displayIcon = icon || IconComponent;
1983
+ return /* @__PURE__ */ jsx(
1984
+ ClaimMindCard,
1985
+ {
1986
+ theme,
1987
+ className: cn("p-6", className),
1988
+ showTopBorder: true,
1989
+ children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
1990
+ displayIcon && displayIcon,
1991
+ /* @__PURE__ */ jsxs("div", { children: [
1992
+ /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-muted-foreground mb-1", children: label }),
1993
+ /* @__PURE__ */ jsx("h3", { className: "text-2xl font-bold tracking-tight", children: value })
1994
+ ] })
1995
+ ] })
1996
+ }
1997
+ );
1998
+ }
1999
+ function SyncProgress({
2000
+ theme = "Default",
2001
+ title,
2002
+ icon,
2003
+ iconName,
2004
+ status = "idle",
2005
+ progress: manualProgress,
2006
+ totalItems,
2007
+ completedItems,
2008
+ description,
2009
+ className,
2010
+ variant = "Summary",
2011
+ inpatientCount,
2012
+ outpatientCount
2013
+ }) {
2014
+ const currentTheme = themeStyles[theme];
2015
+ const defaultTitle = variant === "Summary" ? "Summary Progress" : variant === "Validasi" ? "Validasi Dokumen Klaim" : "Jenis Rawat";
2016
+ const hasItems = totalItems !== void 0 && completedItems !== void 0;
2017
+ const progress = hasItems ? totalItems > 0 ? completedItems / totalItems * 100 : 0 : manualProgress != null ? manualProgress : 0;
2018
+ let renderedIcon = icon;
2019
+ if (iconName && LucideIcons[iconName]) {
2020
+ const IconComponent = LucideIcons[iconName];
2021
+ renderedIcon = /* @__PURE__ */ jsx(IconComponent, { className: "w-5 h-5" });
2022
+ }
2023
+ return /* @__PURE__ */ jsxs(
2024
+ ClaimMindCard,
2025
+ {
2026
+ theme,
2027
+ className: cn(
2028
+ "w-full",
2029
+ variant === "Summary" && "bg-[var(--theme-background)]",
2030
+ className
2031
+ ),
2032
+ children: [
2033
+ /* @__PURE__ */ jsx(CardHeader, { className: "pb-0", children: /* @__PURE__ */ jsxs(CardTitle, { className: "text-lg font-semibold flex items-center justify-between", children: [
2034
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
2035
+ renderedIcon,
2036
+ /* @__PURE__ */ jsx("span", { children: title || defaultTitle })
2037
+ ] }),
2038
+ status === "running" && /* @__PURE__ */ jsx(Spinner_default, { theme, size: "sm" })
2039
+ ] }) }),
2040
+ /* @__PURE__ */ jsx(CardContent, { children: variant === "Healthcare Type" ? /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
2041
+ /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center border-b pb-2 border-gray-100", children: [
2042
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
2043
+ /* @__PURE__ */ jsx("div", { className: "w-3 h-3 bg-claimmind-primary rounded-full" }),
2044
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-gray-600", children: "Rawat Inap" })
2045
+ ] }),
2046
+ /* @__PURE__ */ jsx("span", { className: "text-lg font-bold text-gray-900", children: inpatientCount || 0 })
2047
+ ] }),
2048
+ /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center", children: [
2049
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
2050
+ /* @__PURE__ */ jsx("div", { className: "w-3 h-3 bg-claimmind-tertiary rounded-full" }),
2051
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-gray-600", children: "Rawat Jalan" })
2052
+ ] }),
2053
+ /* @__PURE__ */ jsx("span", { className: "text-lg font-bold text-gray-900", children: outpatientCount || 0 })
2054
+ ] })
2055
+ ] }) : /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
2056
+ /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
2057
+ /* @__PURE__ */ jsx(
2058
+ Progress,
2059
+ {
2060
+ value: progress,
2061
+ className: "h-2",
2062
+ style: {
2063
+ "--theme-primary": status === "completed" ? currentTheme.success : status === "error" ? currentTheme.danger : currentTheme.tertiary
2064
+ }
2065
+ }
2066
+ ),
2067
+ /* @__PURE__ */ jsxs("div", { className: "flex justify-between text-sm text-muted-foreground", children: [
2068
+ /* @__PURE__ */ jsx("span", { children: status === "completed" ? "Selesai" : status === "running" ? "Memproses..." : "Menunggu" }),
2069
+ /* @__PURE__ */ jsx("span", { children: hasItems ? `${completedItems} / ${totalItems}` : `${Math.round(progress)}%` })
2070
+ ] })
2071
+ ] }),
2072
+ description && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: description })
2073
+ ] }) })
2074
+ ]
2075
+ }
2076
+ );
2077
+ }
2078
+ var LoginPage = ({
2079
+ theme = "Default",
2080
+ title = "Login ke ClaimMind",
2081
+ description = "Masukkan email dan kata sandi Anda untuk mengakses akun."
2082
+ }) => {
2083
+ const currentTheme = themeStyles[theme];
2084
+ return /* @__PURE__ */ jsx(
2085
+ "div",
2086
+ {
2087
+ style: {
2088
+ "--theme-primary": currentTheme.primary,
2089
+ "--theme-secondary": currentTheme.secondary,
2090
+ "--theme-background": currentTheme.background
2091
+ },
2092
+ className: "min-h-screen w-full flex items-center justify-center bg-[var(--theme-background)] p-4 font-sans",
2093
+ children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col w-full justify-center items-center", children: [
2094
+ /* @__PURE__ */ jsx("img", { src: theme === "Owlexa" ? "/logo-owlexa.webp" : theme === "BPJS" ? "/BPJS_ketenagakerjaan_logo.png" : "", className: "w-56 mb-5" }),
2095
+ /* @__PURE__ */ jsxs(ClaimMindCard, { theme, className: "w-full max-w-md", children: [
2096
+ /* @__PURE__ */ jsxs(CardHeader, { className: "space-y-1 text-center", children: [
2097
+ /* @__PURE__ */ jsx(CardTitle, { className: "text-2xl font-bold tracking-tight text-slate-900", children: title }),
2098
+ /* @__PURE__ */ jsx(CardDescription, { className: "text-slate-500", children: description })
2099
+ ] }),
2100
+ /* @__PURE__ */ jsxs(CardContent, { className: "grid gap-4 mt-4", children: [
2101
+ /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [
2102
+ /* @__PURE__ */ jsx(Label, { htmlFor: "email", className: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", children: "Email" }),
2103
+ /* @__PURE__ */ jsx(
2104
+ Input_default,
2105
+ {
2106
+ id: "email",
2107
+ type: "email",
2108
+ placeholder: "nama@perusahaan.com",
2109
+ theme
2110
+ }
2111
+ )
2112
+ ] }),
2113
+ /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [
2114
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
2115
+ /* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "Kata Sandi" }),
2116
+ /* @__PURE__ */ jsx("a", { href: "#", className: "text-sm text-[var(--theme-primary)] hover:underline", children: "Lupa kata sandi?" })
2117
+ ] }),
2118
+ /* @__PURE__ */ jsx(
2119
+ Input_default,
2120
+ {
2121
+ id: "password",
2122
+ type: "password",
2123
+ theme
2124
+ }
2125
+ )
2126
+ ] })
2127
+ ] }),
2128
+ /* @__PURE__ */ jsxs(CardFooter, { className: "flex flex-col gap-4 mt-2", children: [
2129
+ /* @__PURE__ */ jsx(
2130
+ Button_default,
2131
+ {
2132
+ label: "Masuk",
2133
+ theme,
2134
+ className: "w-full"
2135
+ }
2136
+ ),
2137
+ /* @__PURE__ */ jsxs("div", { className: "text-center text-sm text-slate-500", children: [
2138
+ "Belum punya akun?",
2139
+ " ",
2140
+ /* @__PURE__ */ jsx("a", { href: "#", className: "text-[var(--theme-primary)] font-medium hover:underline", children: "Daftar sekarang" })
2141
+ ] })
2142
+ ] })
2143
+ ] })
2144
+ ] })
2145
+ }
2146
+ );
2147
+ };
2148
+
2149
+ export { Alert, AlertDescription, AlertTitle, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Chat_default as Chat, ClaimMindAlert, Button_default as ClaimMindButton, ClaimMindCard, Combobox_default as ClaimMindCombobox, DatePicker_default as ClaimMindDatePicker, ClaimMindDialog, ClaimMindDialogClose, ClaimMindDialogContent, ClaimMindDialogDescription, ClaimMindDialogFooter, ClaimMindDialogHeader, ClaimMindDialogTitle, ClaimMindDialogTrigger, Input_default as ClaimMindInput, Select_default as ClaimMindSelect, Spinner_default as ClaimMindSpinner, Switch_default as ClaimMindSwitch, ClaimMindTable, Tooltip_default as ClaimMindTooltip, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DashboardCard, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Input, Label, LoginPage, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Spinner, Switch, SyncProgress, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Title2 as Title, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, buttonVariants, cn, themeStyles };
2150
+ //# sourceMappingURL=index.js.map
2151
+ //# sourceMappingURL=index.js.map