@onesaz/ui 0.2.1 → 0.3.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 CHANGED
@@ -26,29 +26,25 @@ function ThemeProvider({
26
26
  radius: defaultRadius = "medium",
27
27
  storageKey = "onesaz-theme"
28
28
  }) {
29
- const [theme, setThemeState] = React.useState(() => {
30
- if (typeof window === "undefined") return defaultTheme;
31
- const stored = localStorage.getItem(`${storageKey}-mode`);
32
- return stored || defaultTheme;
33
- });
34
- const [accentColor, setAccentColorState] = React.useState(() => {
35
- if (typeof window === "undefined") return defaultAccent;
36
- const stored = localStorage.getItem(`${storageKey}-accent`);
37
- return stored || defaultAccent;
38
- });
39
- const [grayColor, setGrayColorState] = React.useState(() => {
40
- if (typeof window === "undefined") return defaultGray;
41
- const stored = localStorage.getItem(`${storageKey}-gray`);
42
- return stored || defaultGray;
43
- });
44
- const [radius, setRadiusState] = React.useState(() => {
45
- if (typeof window === "undefined") return defaultRadius;
46
- const stored = localStorage.getItem(`${storageKey}-radius`);
47
- return stored || defaultRadius;
48
- });
29
+ const [theme, setThemeState] = React.useState(defaultTheme);
30
+ const [accentColor, setAccentColorState] = React.useState(defaultAccent);
31
+ const [grayColor, setGrayColorState] = React.useState(defaultGray);
32
+ const [radius, setRadiusState] = React.useState(defaultRadius);
49
33
  const [resolvedTheme, setResolvedTheme] = React.useState(
50
- () => theme === "system" ? getSystemTheme() : theme
34
+ () => defaultTheme === "system" ? getSystemTheme() : defaultTheme === "dark" ? "dark" : "light"
51
35
  );
36
+ React.useEffect(() => {
37
+ setThemeState(defaultTheme);
38
+ }, [defaultTheme]);
39
+ React.useEffect(() => {
40
+ setAccentColorState(defaultAccent);
41
+ }, [defaultAccent]);
42
+ React.useEffect(() => {
43
+ setGrayColorState(defaultGray);
44
+ }, [defaultGray]);
45
+ React.useEffect(() => {
46
+ setRadiusState(defaultRadius);
47
+ }, [defaultRadius]);
52
48
  React.useEffect(() => {
53
49
  if (theme !== "system") {
54
50
  setResolvedTheme(theme);
@@ -144,12 +140,734 @@ function cn(...inputs) {
144
140
  return twMerge(clsx(inputs));
145
141
  }
146
142
 
147
- // src/components/button.tsx
143
+ // src/components/box.tsx
148
144
  import * as React2 from "react";
149
145
  import { jsx as jsx2 } from "react/jsx-runtime";
150
- var Button = React2.forwardRef(
146
+ var displayClasses = {
147
+ block: "block",
148
+ "inline-block": "inline-block",
149
+ inline: "inline",
150
+ flex: "flex",
151
+ "inline-flex": "inline-flex",
152
+ grid: "grid",
153
+ "inline-grid": "inline-grid",
154
+ none: "hidden"
155
+ };
156
+ var flexDirectionClasses = {
157
+ row: "flex-row",
158
+ "row-reverse": "flex-row-reverse",
159
+ column: "flex-col",
160
+ "column-reverse": "flex-col-reverse"
161
+ };
162
+ var alignItemsClasses = {
163
+ start: "items-start",
164
+ end: "items-end",
165
+ center: "items-center",
166
+ baseline: "items-baseline",
167
+ stretch: "items-stretch"
168
+ };
169
+ var justifyContentClasses = {
170
+ start: "justify-start",
171
+ end: "justify-end",
172
+ center: "justify-center",
173
+ between: "justify-between",
174
+ around: "justify-around",
175
+ evenly: "justify-evenly"
176
+ };
177
+ var flexWrapClasses = {
178
+ wrap: "flex-wrap",
179
+ nowrap: "flex-nowrap",
180
+ "wrap-reverse": "flex-wrap-reverse"
181
+ };
182
+ var gapClasses = {
183
+ 0: "gap-0",
184
+ 1: "gap-1",
185
+ 2: "gap-2",
186
+ 3: "gap-3",
187
+ 4: "gap-4",
188
+ 5: "gap-5",
189
+ 6: "gap-6",
190
+ 8: "gap-8",
191
+ 10: "gap-10",
192
+ 12: "gap-12",
193
+ 16: "gap-16"
194
+ };
195
+ var paddingClasses = {
196
+ 0: "p-0",
197
+ 1: "p-1",
198
+ 2: "p-2",
199
+ 3: "p-3",
200
+ 4: "p-4",
201
+ 5: "p-5",
202
+ 6: "p-6",
203
+ 8: "p-8",
204
+ 10: "p-10",
205
+ 12: "p-12",
206
+ 16: "p-16"
207
+ };
208
+ var paddingXClasses = {
209
+ 0: "px-0",
210
+ 1: "px-1",
211
+ 2: "px-2",
212
+ 3: "px-3",
213
+ 4: "px-4",
214
+ 5: "px-5",
215
+ 6: "px-6",
216
+ 8: "px-8",
217
+ 10: "px-10",
218
+ 12: "px-12",
219
+ 16: "px-16"
220
+ };
221
+ var paddingYClasses = {
222
+ 0: "py-0",
223
+ 1: "py-1",
224
+ 2: "py-2",
225
+ 3: "py-3",
226
+ 4: "py-4",
227
+ 5: "py-5",
228
+ 6: "py-6",
229
+ 8: "py-8",
230
+ 10: "py-10",
231
+ 12: "py-12",
232
+ 16: "py-16"
233
+ };
234
+ var marginClasses = {
235
+ 0: "m-0",
236
+ 1: "m-1",
237
+ 2: "m-2",
238
+ 3: "m-3",
239
+ 4: "m-4",
240
+ 5: "m-5",
241
+ 6: "m-6",
242
+ 8: "m-8",
243
+ 10: "m-10",
244
+ 12: "m-12",
245
+ 16: "m-16",
246
+ auto: "m-auto"
247
+ };
248
+ var marginXClasses = {
249
+ 0: "mx-0",
250
+ 1: "mx-1",
251
+ 2: "mx-2",
252
+ 3: "mx-3",
253
+ 4: "mx-4",
254
+ 5: "mx-5",
255
+ 6: "mx-6",
256
+ 8: "mx-8",
257
+ 10: "mx-10",
258
+ 12: "mx-12",
259
+ 16: "mx-16",
260
+ auto: "mx-auto"
261
+ };
262
+ var marginYClasses = {
263
+ 0: "my-0",
264
+ 1: "my-1",
265
+ 2: "my-2",
266
+ 3: "my-3",
267
+ 4: "my-4",
268
+ 5: "my-5",
269
+ 6: "my-6",
270
+ 8: "my-8",
271
+ 10: "my-10",
272
+ 12: "my-12",
273
+ 16: "my-16",
274
+ auto: "my-auto"
275
+ };
276
+ var roundedClasses = {
277
+ none: "rounded-none",
278
+ sm: "rounded-sm",
279
+ md: "rounded-md",
280
+ lg: "rounded-lg",
281
+ xl: "rounded-xl",
282
+ "2xl": "rounded-2xl",
283
+ full: "rounded-full"
284
+ };
285
+ var shadowClasses = {
286
+ none: "shadow-none",
287
+ sm: "shadow-sm",
288
+ md: "shadow-md",
289
+ lg: "shadow-lg",
290
+ xl: "shadow-xl",
291
+ "2xl": "shadow-2xl"
292
+ };
293
+ var bgClasses = {
294
+ background: "bg-background",
295
+ foreground: "bg-foreground",
296
+ muted: "bg-muted",
297
+ accent: "bg-accent",
298
+ card: "bg-card",
299
+ popover: "bg-popover",
300
+ destructive: "bg-destructive",
301
+ transparent: "bg-transparent"
302
+ };
303
+ var colorClasses = {
304
+ foreground: "text-foreground",
305
+ "muted-foreground": "text-muted-foreground",
306
+ accent: "text-accent",
307
+ "accent-foreground": "text-accent-foreground",
308
+ destructive: "text-destructive",
309
+ "destructive-foreground": "text-destructive-foreground"
310
+ };
311
+ var borderColorClasses = {
312
+ border: "border-border",
313
+ input: "border-input",
314
+ ring: "border-ring",
315
+ transparent: "border-transparent"
316
+ };
317
+ var widthClasses = {
318
+ full: "w-full",
319
+ auto: "w-auto",
320
+ screen: "w-screen",
321
+ min: "w-min",
322
+ max: "w-max",
323
+ fit: "w-fit"
324
+ };
325
+ var heightClasses = {
326
+ full: "h-full",
327
+ auto: "h-auto",
328
+ screen: "h-screen",
329
+ min: "h-min",
330
+ max: "h-max",
331
+ fit: "h-fit"
332
+ };
333
+ var positionClasses = {
334
+ static: "static",
335
+ relative: "relative",
336
+ absolute: "absolute",
337
+ fixed: "fixed",
338
+ sticky: "sticky"
339
+ };
340
+ var overflowClasses = {
341
+ auto: "overflow-auto",
342
+ hidden: "overflow-hidden",
343
+ visible: "overflow-visible",
344
+ scroll: "overflow-scroll"
345
+ };
346
+ var Box = React2.forwardRef(
347
+ ({
348
+ as: Component = "div",
349
+ className,
350
+ display,
351
+ flexDirection,
352
+ alignItems,
353
+ justifyContent,
354
+ flexWrap,
355
+ gap,
356
+ p,
357
+ px,
358
+ py,
359
+ m,
360
+ mx,
361
+ my,
362
+ rounded,
363
+ shadow,
364
+ bg,
365
+ color,
366
+ border,
367
+ borderColor,
368
+ w,
369
+ h,
370
+ position,
371
+ overflow,
372
+ ...props
373
+ }, ref) => {
374
+ const classes = cn(
375
+ display && displayClasses[display],
376
+ flexDirection && flexDirectionClasses[flexDirection],
377
+ alignItems && alignItemsClasses[alignItems],
378
+ justifyContent && justifyContentClasses[justifyContent],
379
+ flexWrap && flexWrapClasses[flexWrap],
380
+ gap !== void 0 && gapClasses[gap],
381
+ p !== void 0 && paddingClasses[p],
382
+ px !== void 0 && paddingXClasses[px],
383
+ py !== void 0 && paddingYClasses[py],
384
+ m !== void 0 && marginClasses[m],
385
+ mx !== void 0 && marginXClasses[mx],
386
+ my !== void 0 && marginYClasses[my],
387
+ rounded && roundedClasses[rounded],
388
+ shadow && shadowClasses[shadow],
389
+ bg && bgClasses[bg],
390
+ color && colorClasses[color],
391
+ border && "border",
392
+ borderColor && borderColorClasses[borderColor],
393
+ w && widthClasses[w],
394
+ h && heightClasses[h],
395
+ position && positionClasses[position],
396
+ overflow && overflowClasses[overflow],
397
+ className
398
+ );
399
+ return /* @__PURE__ */ jsx2(Component, { ref, className: classes, ...props });
400
+ }
401
+ );
402
+ Box.displayName = "Box";
403
+
404
+ // src/components/stack.tsx
405
+ import * as React3 from "react";
406
+ import { jsx as jsx3 } from "react/jsx-runtime";
407
+ var directionClasses = {
408
+ row: "flex-row",
409
+ "row-reverse": "flex-row-reverse",
410
+ column: "flex-col",
411
+ "column-reverse": "flex-col-reverse"
412
+ };
413
+ var spacingClasses = {
414
+ 0: "gap-0",
415
+ 1: "gap-1",
416
+ 2: "gap-2",
417
+ 3: "gap-3",
418
+ 4: "gap-4",
419
+ 5: "gap-5",
420
+ 6: "gap-6",
421
+ 8: "gap-8",
422
+ 10: "gap-10",
423
+ 12: "gap-12",
424
+ 16: "gap-16"
425
+ };
426
+ var alignClasses = {
427
+ start: "items-start",
428
+ end: "items-end",
429
+ center: "items-center",
430
+ baseline: "items-baseline",
431
+ stretch: "items-stretch"
432
+ };
433
+ var justifyClasses = {
434
+ start: "justify-start",
435
+ end: "justify-end",
436
+ center: "justify-center",
437
+ between: "justify-between",
438
+ around: "justify-around",
439
+ evenly: "justify-evenly"
440
+ };
441
+ var wrapClasses = {
442
+ wrap: "flex-wrap",
443
+ nowrap: "flex-nowrap",
444
+ "wrap-reverse": "flex-wrap-reverse"
445
+ };
446
+ var Stack = React3.forwardRef(
447
+ ({
448
+ as: Component = "div",
449
+ className,
450
+ direction = "column",
451
+ spacing = 0,
452
+ align,
453
+ justify,
454
+ wrap,
455
+ divider,
456
+ children,
457
+ ...props
458
+ }, ref) => {
459
+ const classes = cn(
460
+ "flex",
461
+ directionClasses[direction],
462
+ spacingClasses[spacing],
463
+ align && alignClasses[align],
464
+ justify && justifyClasses[justify],
465
+ wrap && wrapClasses[wrap],
466
+ className
467
+ );
468
+ if (divider) {
469
+ const childArray = React3.Children.toArray(children).filter(Boolean);
470
+ const childrenWithDividers = childArray.reduce(
471
+ (acc, child, index) => {
472
+ if (index === 0) {
473
+ return [child];
474
+ }
475
+ return [...acc, React3.cloneElement(divider, { key: `divider-${index}` }), child];
476
+ },
477
+ []
478
+ );
479
+ return /* @__PURE__ */ jsx3(Component, { ref, className: classes, ...props, children: childrenWithDividers });
480
+ }
481
+ return /* @__PURE__ */ jsx3(Component, { ref, className: classes, ...props, children });
482
+ }
483
+ );
484
+ Stack.displayName = "Stack";
485
+ var HStack = React3.forwardRef(
486
+ (props, ref) => /* @__PURE__ */ jsx3(Stack, { ref, direction: "row", ...props })
487
+ );
488
+ HStack.displayName = "HStack";
489
+ var VStack = React3.forwardRef(
490
+ (props, ref) => /* @__PURE__ */ jsx3(Stack, { ref, direction: "column", ...props })
491
+ );
492
+ VStack.displayName = "VStack";
493
+
494
+ // src/components/grid.tsx
495
+ import * as React4 from "react";
496
+ import { jsx as jsx4 } from "react/jsx-runtime";
497
+ var spacingClasses2 = {
498
+ 0: "gap-0",
499
+ 1: "gap-1",
500
+ 2: "gap-2",
501
+ 3: "gap-3",
502
+ 4: "gap-4",
503
+ 5: "gap-5",
504
+ 6: "gap-6",
505
+ 8: "gap-8",
506
+ 10: "gap-10",
507
+ 12: "gap-12",
508
+ 16: "gap-16"
509
+ };
510
+ var rowSpacingClasses = {
511
+ 0: "gap-y-0",
512
+ 1: "gap-y-1",
513
+ 2: "gap-y-2",
514
+ 3: "gap-y-3",
515
+ 4: "gap-y-4",
516
+ 5: "gap-y-5",
517
+ 6: "gap-y-6",
518
+ 8: "gap-y-8",
519
+ 10: "gap-y-10",
520
+ 12: "gap-y-12",
521
+ 16: "gap-y-16"
522
+ };
523
+ var columnSpacingClasses = {
524
+ 0: "gap-x-0",
525
+ 1: "gap-x-1",
526
+ 2: "gap-x-2",
527
+ 3: "gap-x-3",
528
+ 4: "gap-x-4",
529
+ 5: "gap-x-5",
530
+ 6: "gap-x-6",
531
+ 8: "gap-x-8",
532
+ 10: "gap-x-10",
533
+ 12: "gap-x-12",
534
+ 16: "gap-x-16"
535
+ };
536
+ var columnsClasses = {
537
+ 1: "grid-cols-1",
538
+ 2: "grid-cols-2",
539
+ 3: "grid-cols-3",
540
+ 4: "grid-cols-4",
541
+ 5: "grid-cols-5",
542
+ 6: "grid-cols-6",
543
+ 12: "grid-cols-12"
544
+ };
545
+ var alignItemsClasses2 = {
546
+ start: "items-start",
547
+ end: "items-end",
548
+ center: "items-center",
549
+ baseline: "items-baseline",
550
+ stretch: "items-stretch"
551
+ };
552
+ var justifyItemsClasses = {
553
+ start: "justify-items-start",
554
+ end: "justify-items-end",
555
+ center: "justify-items-center",
556
+ stretch: "justify-items-stretch"
557
+ };
558
+ var justifyContentClasses2 = {
559
+ start: "justify-start",
560
+ end: "justify-end",
561
+ center: "justify-center",
562
+ between: "justify-between",
563
+ around: "justify-around",
564
+ evenly: "justify-evenly"
565
+ };
566
+ var colSpanClasses = {
567
+ xs: {
568
+ 1: "col-span-1",
569
+ 2: "col-span-2",
570
+ 3: "col-span-3",
571
+ 4: "col-span-4",
572
+ 5: "col-span-5",
573
+ 6: "col-span-6",
574
+ 7: "col-span-7",
575
+ 8: "col-span-8",
576
+ 9: "col-span-9",
577
+ 10: "col-span-10",
578
+ 11: "col-span-11",
579
+ 12: "col-span-12",
580
+ auto: "col-auto"
581
+ },
582
+ sm: {
583
+ 1: "sm:col-span-1",
584
+ 2: "sm:col-span-2",
585
+ 3: "sm:col-span-3",
586
+ 4: "sm:col-span-4",
587
+ 5: "sm:col-span-5",
588
+ 6: "sm:col-span-6",
589
+ 7: "sm:col-span-7",
590
+ 8: "sm:col-span-8",
591
+ 9: "sm:col-span-9",
592
+ 10: "sm:col-span-10",
593
+ 11: "sm:col-span-11",
594
+ 12: "sm:col-span-12",
595
+ auto: "sm:col-auto"
596
+ },
597
+ md: {
598
+ 1: "md:col-span-1",
599
+ 2: "md:col-span-2",
600
+ 3: "md:col-span-3",
601
+ 4: "md:col-span-4",
602
+ 5: "md:col-span-5",
603
+ 6: "md:col-span-6",
604
+ 7: "md:col-span-7",
605
+ 8: "md:col-span-8",
606
+ 9: "md:col-span-9",
607
+ 10: "md:col-span-10",
608
+ 11: "md:col-span-11",
609
+ 12: "md:col-span-12",
610
+ auto: "md:col-auto"
611
+ },
612
+ lg: {
613
+ 1: "lg:col-span-1",
614
+ 2: "lg:col-span-2",
615
+ 3: "lg:col-span-3",
616
+ 4: "lg:col-span-4",
617
+ 5: "lg:col-span-5",
618
+ 6: "lg:col-span-6",
619
+ 7: "lg:col-span-7",
620
+ 8: "lg:col-span-8",
621
+ 9: "lg:col-span-9",
622
+ 10: "lg:col-span-10",
623
+ 11: "lg:col-span-11",
624
+ 12: "lg:col-span-12",
625
+ auto: "lg:col-auto"
626
+ },
627
+ xl: {
628
+ 1: "xl:col-span-1",
629
+ 2: "xl:col-span-2",
630
+ 3: "xl:col-span-3",
631
+ 4: "xl:col-span-4",
632
+ 5: "xl:col-span-5",
633
+ 6: "xl:col-span-6",
634
+ 7: "xl:col-span-7",
635
+ 8: "xl:col-span-8",
636
+ 9: "xl:col-span-9",
637
+ 10: "xl:col-span-10",
638
+ 11: "xl:col-span-11",
639
+ 12: "xl:col-span-12",
640
+ auto: "xl:col-auto"
641
+ },
642
+ xxl: {
643
+ 1: "2xl:col-span-1",
644
+ 2: "2xl:col-span-2",
645
+ 3: "2xl:col-span-3",
646
+ 4: "2xl:col-span-4",
647
+ 5: "2xl:col-span-5",
648
+ 6: "2xl:col-span-6",
649
+ 7: "2xl:col-span-7",
650
+ 8: "2xl:col-span-8",
651
+ 9: "2xl:col-span-9",
652
+ 10: "2xl:col-span-10",
653
+ 11: "2xl:col-span-11",
654
+ 12: "2xl:col-span-12",
655
+ auto: "2xl:col-auto"
656
+ }
657
+ };
658
+ var Grid = React4.forwardRef(
659
+ ({
660
+ className,
661
+ container,
662
+ item,
663
+ xs,
664
+ sm,
665
+ md,
666
+ lg,
667
+ xl,
668
+ xxl,
669
+ spacing,
670
+ rowSpacing,
671
+ columnSpacing,
672
+ columns = 12,
673
+ alignItems,
674
+ justifyItems,
675
+ justifyContent,
676
+ children,
677
+ ...props
678
+ }, ref) => {
679
+ const classes = cn(
680
+ // Container styles
681
+ container && "grid",
682
+ container && columnsClasses[columns],
683
+ container && spacing !== void 0 && spacingClasses2[spacing],
684
+ container && rowSpacing !== void 0 && rowSpacingClasses[rowSpacing],
685
+ container && columnSpacing !== void 0 && columnSpacingClasses[columnSpacing],
686
+ container && alignItems && alignItemsClasses2[alignItems],
687
+ container && justifyItems && justifyItemsClasses[justifyItems],
688
+ container && justifyContent && justifyContentClasses2[justifyContent],
689
+ // Item styles (column spans)
690
+ item && xs && colSpanClasses.xs[xs],
691
+ item && sm && colSpanClasses.sm[sm],
692
+ item && md && colSpanClasses.md[md],
693
+ item && lg && colSpanClasses.lg[lg],
694
+ item && xl && colSpanClasses.xl[xl],
695
+ item && xxl && colSpanClasses.xxl[xxl],
696
+ className
697
+ );
698
+ return /* @__PURE__ */ jsx4("div", { ref, className: classes, ...props, children });
699
+ }
700
+ );
701
+ Grid.displayName = "Grid";
702
+
703
+ // src/components/typography.tsx
704
+ import * as React5 from "react";
705
+ import { jsx as jsx5 } from "react/jsx-runtime";
706
+ var variantMapping = {
707
+ h1: "h1",
708
+ h2: "h2",
709
+ h3: "h3",
710
+ h4: "h4",
711
+ h5: "h5",
712
+ h6: "h6",
713
+ subtitle1: "h6",
714
+ subtitle2: "h6",
715
+ body1: "p",
716
+ body2: "p",
717
+ caption: "span",
718
+ overline: "span",
719
+ inherit: "span"
720
+ };
721
+ var variantClasses = {
722
+ h1: "text-4xl font-bold leading-tight tracking-tight",
723
+ h2: "text-3xl font-bold leading-tight tracking-tight",
724
+ h3: "text-2xl font-semibold leading-snug",
725
+ h4: "text-xl font-semibold leading-snug",
726
+ h5: "text-lg font-medium leading-normal",
727
+ h6: "text-base font-medium leading-normal",
728
+ subtitle1: "text-base font-normal leading-relaxed",
729
+ subtitle2: "text-sm font-medium leading-relaxed",
730
+ body1: "text-base font-normal leading-relaxed",
731
+ body2: "text-sm font-normal leading-relaxed",
732
+ caption: "text-xs font-normal leading-normal",
733
+ overline: "text-xs font-medium uppercase tracking-widest leading-relaxed",
734
+ inherit: ""
735
+ };
736
+ var colorClasses2 = {
737
+ inherit: "",
738
+ primary: "text-accent",
739
+ secondary: "text-muted-foreground",
740
+ success: "text-green-600 dark:text-green-400",
741
+ warning: "text-orange-600 dark:text-orange-400",
742
+ error: "text-destructive",
743
+ info: "text-blue-600 dark:text-blue-400",
744
+ muted: "text-muted-foreground",
745
+ white: "text-white",
746
+ dark: "text-foreground"
747
+ };
748
+ var fontWeightClasses = {
749
+ light: "font-light",
750
+ regular: "font-normal",
751
+ medium: "font-medium",
752
+ semibold: "font-semibold",
753
+ bold: "font-bold"
754
+ };
755
+ var textTransformClasses = {
756
+ none: "normal-case",
757
+ uppercase: "uppercase",
758
+ lowercase: "lowercase",
759
+ capitalize: "capitalize"
760
+ };
761
+ var alignClasses2 = {
762
+ left: "text-left",
763
+ center: "text-center",
764
+ right: "text-right",
765
+ justify: "text-justify"
766
+ };
767
+ var verticalAlignClasses = {
768
+ top: "align-top",
769
+ middle: "align-middle",
770
+ bottom: "align-bottom",
771
+ baseline: "align-baseline"
772
+ };
773
+ var gradientClasses = {
774
+ primary: "from-purple-5 to-purple-8",
775
+ secondary: "from-slate-5 to-slate-8",
776
+ info: "from-blue-4 to-blue-7",
777
+ success: "from-green-4 to-green-7",
778
+ warning: "from-orange-4 to-orange-7",
779
+ error: "from-red-4 to-red-7",
780
+ dark: "from-slate-7 to-slate-10"
781
+ };
782
+ var Typography = React5.forwardRef(
783
+ ({
784
+ className,
785
+ variant = "body1",
786
+ color = "inherit",
787
+ fontWeight,
788
+ textTransform,
789
+ align,
790
+ verticalAlign,
791
+ textGradient = false,
792
+ gradientColor = "primary",
793
+ opacity,
794
+ as,
795
+ gutterBottom = false,
796
+ noWrap = false,
797
+ paragraph = false,
798
+ style,
799
+ ...props
800
+ }, ref) => {
801
+ const Component = as || variantMapping[variant];
802
+ const classes = cn(
803
+ variantClasses[variant],
804
+ color !== "inherit" && !textGradient && colorClasses2[color],
805
+ fontWeight && fontWeightClasses[fontWeight],
806
+ textTransform && textTransformClasses[textTransform],
807
+ align && alignClasses2[align],
808
+ verticalAlign && verticalAlignClasses[verticalAlign],
809
+ gutterBottom && "mb-2",
810
+ noWrap && "truncate",
811
+ paragraph && "mb-4",
812
+ // Text gradient styles
813
+ textGradient && [
814
+ "bg-gradient-to-r bg-clip-text text-transparent",
815
+ gradientClasses[gradientColor]
816
+ ],
817
+ className
818
+ );
819
+ const combinedStyle = opacity !== void 0 ? { ...style, opacity } : style;
820
+ return /* @__PURE__ */ jsx5(
821
+ Component,
822
+ {
823
+ ref,
824
+ className: classes,
825
+ style: combinedStyle,
826
+ ...props
827
+ }
828
+ );
829
+ }
830
+ );
831
+ Typography.displayName = "Typography";
832
+ var H1 = React5.forwardRef(
833
+ (props, ref) => /* @__PURE__ */ jsx5(Typography, { ref, variant: "h1", ...props })
834
+ );
835
+ H1.displayName = "H1";
836
+ var H2 = React5.forwardRef(
837
+ (props, ref) => /* @__PURE__ */ jsx5(Typography, { ref, variant: "h2", ...props })
838
+ );
839
+ H2.displayName = "H2";
840
+ var H3 = React5.forwardRef(
841
+ (props, ref) => /* @__PURE__ */ jsx5(Typography, { ref, variant: "h3", ...props })
842
+ );
843
+ H3.displayName = "H3";
844
+ var H4 = React5.forwardRef(
845
+ (props, ref) => /* @__PURE__ */ jsx5(Typography, { ref, variant: "h4", ...props })
846
+ );
847
+ H4.displayName = "H4";
848
+ var H5 = React5.forwardRef(
849
+ (props, ref) => /* @__PURE__ */ jsx5(Typography, { ref, variant: "h5", ...props })
850
+ );
851
+ H5.displayName = "H5";
852
+ var H6 = React5.forwardRef(
853
+ (props, ref) => /* @__PURE__ */ jsx5(Typography, { ref, variant: "h6", ...props })
854
+ );
855
+ H6.displayName = "H6";
856
+ var Text = React5.forwardRef(
857
+ (props, ref) => /* @__PURE__ */ jsx5(Typography, { ref, variant: "body1", ...props })
858
+ );
859
+ Text.displayName = "Text";
860
+ var Caption = React5.forwardRef(
861
+ (props, ref) => /* @__PURE__ */ jsx5(Typography, { ref, variant: "caption", ...props })
862
+ );
863
+ Caption.displayName = "Caption";
864
+
865
+ // src/components/button.tsx
866
+ import * as React6 from "react";
867
+ import { jsx as jsx6 } from "react/jsx-runtime";
868
+ var Button = React6.forwardRef(
151
869
  ({ className, variant = "default", size = "default", ...props }, ref) => {
152
- return /* @__PURE__ */ jsx2(
870
+ return /* @__PURE__ */ jsx6(
153
871
  "button",
154
872
  {
155
873
  className: cn(
@@ -181,20 +899,68 @@ var Button = React2.forwardRef(
181
899
  Button.displayName = "Button";
182
900
 
183
901
  // src/components/input.tsx
184
- import * as React3 from "react";
185
- import { jsx as jsx3 } from "react/jsx-runtime";
186
- var Input = React3.forwardRef(
187
- ({ className, type, ...props }, ref) => {
188
- return /* @__PURE__ */ jsx3(
902
+ import * as React7 from "react";
903
+ import { jsx as jsx7, jsxs } from "react/jsx-runtime";
904
+ var sizeClasses = {
905
+ sm: "h-8 text-sm px-2.5",
906
+ md: "h-10 text-sm px-3",
907
+ lg: "h-12 text-base px-4"
908
+ };
909
+ var Input = React7.forwardRef(
910
+ ({ className, type, inputSize = "md", error, startAdornment, endAdornment, ...props }, ref) => {
911
+ const hasAdornment = startAdornment || endAdornment;
912
+ if (hasAdornment) {
913
+ return /* @__PURE__ */ jsxs(
914
+ "div",
915
+ {
916
+ className: cn(
917
+ "flex items-center w-full rounded-md border",
918
+ "bg-background",
919
+ error ? "border-destructive focus-within:ring-2 focus-within:ring-destructive/20" : "border-input focus-within:ring-2 focus-within:ring-ring/20 focus-within:border-ring",
920
+ "transition-colors",
921
+ props.disabled && "opacity-50 cursor-not-allowed bg-muted"
922
+ ),
923
+ children: [
924
+ startAdornment && /* @__PURE__ */ jsx7("div", { className: "flex items-center pl-3 text-muted-foreground", children: startAdornment }),
925
+ /* @__PURE__ */ jsx7(
926
+ "input",
927
+ {
928
+ type,
929
+ className: cn(
930
+ "flex w-full bg-transparent py-2",
931
+ "text-foreground",
932
+ "placeholder:text-muted-foreground",
933
+ "focus:outline-none",
934
+ "disabled:cursor-not-allowed",
935
+ "file:border-0 file:bg-transparent file:text-sm file:font-medium",
936
+ sizeClasses[inputSize],
937
+ startAdornment && "pl-2",
938
+ endAdornment && "pr-2",
939
+ className
940
+ ),
941
+ ref,
942
+ ...props
943
+ }
944
+ ),
945
+ endAdornment && /* @__PURE__ */ jsx7("div", { className: "flex items-center pr-3 text-muted-foreground", children: endAdornment })
946
+ ]
947
+ }
948
+ );
949
+ }
950
+ return /* @__PURE__ */ jsx7(
189
951
  "input",
190
952
  {
191
953
  type,
192
954
  className: cn(
193
- "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm",
194
- "ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium",
955
+ "flex w-full rounded-md border",
956
+ "bg-background text-foreground",
195
957
  "placeholder:text-muted-foreground",
196
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
197
- "disabled:cursor-not-allowed disabled:opacity-50",
958
+ error ? "border-destructive focus:ring-2 focus:ring-destructive/20" : "border-input focus:ring-2 focus:ring-ring/20 focus:border-ring",
959
+ "focus:outline-none",
960
+ "disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-muted",
961
+ "transition-colors",
962
+ "file:border-0 file:bg-transparent file:text-sm file:font-medium",
963
+ sizeClasses[inputSize],
198
964
  className
199
965
  ),
200
966
  ref,
@@ -206,11 +972,11 @@ var Input = React3.forwardRef(
206
972
  Input.displayName = "Input";
207
973
 
208
974
  // src/components/textarea.tsx
209
- import * as React4 from "react";
210
- import { jsx as jsx4 } from "react/jsx-runtime";
211
- var Textarea = React4.forwardRef(
975
+ import * as React8 from "react";
976
+ import { jsx as jsx8 } from "react/jsx-runtime";
977
+ var Textarea = React8.forwardRef(
212
978
  ({ className, ...props }, ref) => {
213
- return /* @__PURE__ */ jsx4(
979
+ return /* @__PURE__ */ jsx8(
214
980
  "textarea",
215
981
  {
216
982
  className: cn(
@@ -227,13 +993,350 @@ var Textarea = React4.forwardRef(
227
993
  );
228
994
  }
229
995
  );
230
- Textarea.displayName = "Textarea";
996
+ Textarea.displayName = "Textarea";
997
+
998
+ // src/components/text-field.tsx
999
+ import * as React10 from "react";
1000
+
1001
+ // src/components/label.tsx
1002
+ import * as React9 from "react";
1003
+ import { jsx as jsx9 } from "react/jsx-runtime";
1004
+ var Label = React9.forwardRef(
1005
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
1006
+ "label",
1007
+ {
1008
+ ref,
1009
+ className: cn(
1010
+ "text-sm font-medium leading-none text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
1011
+ className
1012
+ ),
1013
+ ...props
1014
+ }
1015
+ )
1016
+ );
1017
+ Label.displayName = "Label";
1018
+
1019
+ // src/components/text-field.tsx
1020
+ import { jsx as jsx10, jsxs as jsxs2 } from "react/jsx-runtime";
1021
+ var TextField = React10.forwardRef(
1022
+ ({
1023
+ className,
1024
+ label,
1025
+ helperText,
1026
+ errorMessage,
1027
+ required,
1028
+ size = "md",
1029
+ fullWidth,
1030
+ id: idProp,
1031
+ error,
1032
+ ...props
1033
+ }, ref) => {
1034
+ const generatedId = React10.useId();
1035
+ const id = idProp || generatedId;
1036
+ const helperId = `${id}-helper`;
1037
+ const hasError = error || !!errorMessage;
1038
+ return /* @__PURE__ */ jsxs2("div", { className: cn("grid gap-1.5", fullWidth && "w-full", className), children: [
1039
+ label && /* @__PURE__ */ jsxs2(
1040
+ Label,
1041
+ {
1042
+ htmlFor: id,
1043
+ className: cn(
1044
+ "text-sm font-medium",
1045
+ hasError && "text-destructive"
1046
+ ),
1047
+ children: [
1048
+ label,
1049
+ required && /* @__PURE__ */ jsx10("span", { className: "text-destructive ml-0.5", "aria-hidden": "true", children: "*" })
1050
+ ]
1051
+ }
1052
+ ),
1053
+ /* @__PURE__ */ jsx10(
1054
+ Input,
1055
+ {
1056
+ ref,
1057
+ id,
1058
+ inputSize: size,
1059
+ error: hasError,
1060
+ "aria-describedby": helperText || errorMessage ? helperId : void 0,
1061
+ "aria-invalid": hasError,
1062
+ ...props
1063
+ }
1064
+ ),
1065
+ (helperText || errorMessage) && /* @__PURE__ */ jsx10(
1066
+ "p",
1067
+ {
1068
+ id: helperId,
1069
+ className: cn(
1070
+ "text-sm",
1071
+ hasError ? "text-destructive" : "text-muted-foreground"
1072
+ ),
1073
+ children: errorMessage || helperText
1074
+ }
1075
+ )
1076
+ ] });
1077
+ }
1078
+ );
1079
+ TextField.displayName = "TextField";
1080
+
1081
+ // src/components/checkbox.tsx
1082
+ import * as React11 from "react";
1083
+ import { jsx as jsx11 } from "react/jsx-runtime";
1084
+ var Checkbox = React11.forwardRef(
1085
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
1086
+ "input",
1087
+ {
1088
+ type: "checkbox",
1089
+ ref,
1090
+ className: cn(
1091
+ "h-4 w-4 shrink-0 rounded-sm border border-accent cursor-pointer",
1092
+ "ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
1093
+ "disabled:cursor-not-allowed disabled:opacity-50",
1094
+ "accent-accent",
1095
+ className
1096
+ ),
1097
+ ...props
1098
+ }
1099
+ )
1100
+ );
1101
+ Checkbox.displayName = "Checkbox";
1102
+
1103
+ // src/components/switch.tsx
1104
+ import * as React12 from "react";
1105
+ import { jsx as jsx12, jsxs as jsxs3 } from "react/jsx-runtime";
1106
+ var Switch = React12.forwardRef(
1107
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxs3("label", { className: cn("relative inline-flex items-center cursor-pointer", className), children: [
1108
+ /* @__PURE__ */ jsx12(
1109
+ "input",
1110
+ {
1111
+ type: "checkbox",
1112
+ ref,
1113
+ className: "sr-only peer",
1114
+ ...props
1115
+ }
1116
+ ),
1117
+ /* @__PURE__ */ jsx12(
1118
+ "div",
1119
+ {
1120
+ className: cn(
1121
+ "w-11 h-6 rounded-full transition-colors",
1122
+ "bg-input peer-checked:bg-accent",
1123
+ "peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background",
1124
+ "peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
1125
+ 'after:content-[""] after:absolute after:top-[2px] after:left-[2px]',
1126
+ "after:bg-background after:rounded-full after:h-5 after:w-5",
1127
+ "after:transition-transform after:shadow-lg",
1128
+ "peer-checked:after:translate-x-5"
1129
+ )
1130
+ }
1131
+ )
1132
+ ] })
1133
+ );
1134
+ Switch.displayName = "Switch";
1135
+
1136
+ // src/components/radio.tsx
1137
+ import * as React13 from "react";
1138
+ import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
1139
+ import { jsx as jsx13, jsxs as jsxs4 } from "react/jsx-runtime";
1140
+ var RadioGroupContext = React13.createContext({});
1141
+ var RadioGroup = React13.forwardRef(({ className, orientation = "vertical", size = "md", ...props }, ref) => {
1142
+ return /* @__PURE__ */ jsx13(RadioGroupContext.Provider, { value: { size }, children: /* @__PURE__ */ jsx13(
1143
+ RadioGroupPrimitive.Root,
1144
+ {
1145
+ ref,
1146
+ className: cn(
1147
+ "grid gap-2",
1148
+ orientation === "horizontal" && "grid-flow-col auto-cols-max gap-4",
1149
+ className
1150
+ ),
1151
+ ...props
1152
+ }
1153
+ ) });
1154
+ });
1155
+ RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
1156
+ var sizeClasses2 = {
1157
+ sm: "h-4 w-4",
1158
+ md: "h-5 w-5",
1159
+ lg: "h-6 w-6"
1160
+ };
1161
+ var indicatorSizeClasses = {
1162
+ sm: "h-2 w-2",
1163
+ md: "h-2.5 w-2.5",
1164
+ lg: "h-3 w-3"
1165
+ };
1166
+ var RadioGroupItem = React13.forwardRef(({ className, size: sizeProp, ...props }, ref) => {
1167
+ const { size: contextSize } = React13.useContext(RadioGroupContext);
1168
+ const size = sizeProp || contextSize || "md";
1169
+ return /* @__PURE__ */ jsx13(
1170
+ RadioGroupPrimitive.Item,
1171
+ {
1172
+ ref,
1173
+ className: cn(
1174
+ "aspect-square rounded-full",
1175
+ "border-2 border-input",
1176
+ "ring-offset-background",
1177
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
1178
+ "disabled:cursor-not-allowed disabled:opacity-50",
1179
+ "data-[state=checked]:border-accent",
1180
+ "transition-colors",
1181
+ sizeClasses2[size],
1182
+ className
1183
+ ),
1184
+ ...props,
1185
+ children: /* @__PURE__ */ jsx13(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx13(
1186
+ "div",
1187
+ {
1188
+ className: cn(
1189
+ "rounded-full bg-accent",
1190
+ indicatorSizeClasses[size]
1191
+ )
1192
+ }
1193
+ ) })
1194
+ }
1195
+ );
1196
+ });
1197
+ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
1198
+ var Radio = React13.forwardRef(({ className, label, description, id: idProp, value, size, ...props }, ref) => {
1199
+ const generatedId = React13.useId();
1200
+ const id = idProp || generatedId;
1201
+ if (!label && !description) {
1202
+ return /* @__PURE__ */ jsx13(RadioGroupItem, { ref, value, size, ...props });
1203
+ }
1204
+ return /* @__PURE__ */ jsxs4("div", { className: cn("flex items-start gap-3", className), children: [
1205
+ /* @__PURE__ */ jsx13(RadioGroupItem, { ref, id, value, size, ...props }),
1206
+ /* @__PURE__ */ jsxs4("div", { className: "grid gap-1", children: [
1207
+ label && /* @__PURE__ */ jsx13(
1208
+ "label",
1209
+ {
1210
+ htmlFor: id,
1211
+ className: "text-sm font-medium leading-none text-foreground cursor-pointer peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
1212
+ children: label
1213
+ }
1214
+ ),
1215
+ description && /* @__PURE__ */ jsx13("p", { className: "text-sm text-muted-foreground", children: description })
1216
+ ] })
1217
+ ] });
1218
+ });
1219
+ Radio.displayName = "Radio";
1220
+
1221
+ // src/components/form.tsx
1222
+ import * as React14 from "react";
1223
+ import { jsx as jsx14, jsxs as jsxs5 } from "react/jsx-runtime";
1224
+ var FormControlContext = React14.createContext({});
1225
+ function useFormControl() {
1226
+ return React14.useContext(FormControlContext);
1227
+ }
1228
+ var marginClasses2 = {
1229
+ none: "",
1230
+ dense: "my-1",
1231
+ normal: "my-2"
1232
+ };
1233
+ var FormControl = React14.forwardRef(
1234
+ ({
1235
+ className,
1236
+ children,
1237
+ error,
1238
+ disabled,
1239
+ required,
1240
+ fullWidth,
1241
+ margin = "none",
1242
+ orientation = "vertical",
1243
+ ...props
1244
+ }, ref) => {
1245
+ const id = React14.useId();
1246
+ return /* @__PURE__ */ jsx14(FormControlContext.Provider, { value: { id, error, disabled, required }, children: /* @__PURE__ */ jsx14(
1247
+ "div",
1248
+ {
1249
+ ref,
1250
+ className: cn(
1251
+ "inline-flex",
1252
+ orientation === "vertical" ? "flex-col gap-1.5" : "flex-row items-center gap-3",
1253
+ fullWidth && "w-full",
1254
+ marginClasses2[margin],
1255
+ disabled && "opacity-50 cursor-not-allowed",
1256
+ className
1257
+ ),
1258
+ ...props,
1259
+ children
1260
+ }
1261
+ ) });
1262
+ }
1263
+ );
1264
+ FormControl.displayName = "FormControl";
1265
+ var FormLabel = React14.forwardRef(
1266
+ ({ className, children, error: errorProp, disabled: disabledProp, required: requiredProp, htmlFor, ...props }, ref) => {
1267
+ const context = useFormControl();
1268
+ const error = errorProp ?? context.error;
1269
+ const disabled = disabledProp ?? context.disabled;
1270
+ const required = requiredProp ?? context.required;
1271
+ const id = htmlFor ?? context.id;
1272
+ return /* @__PURE__ */ jsxs5(
1273
+ "label",
1274
+ {
1275
+ ref,
1276
+ htmlFor: id,
1277
+ className: cn(
1278
+ "text-sm font-medium leading-none",
1279
+ "text-foreground",
1280
+ error && "text-destructive",
1281
+ disabled && "cursor-not-allowed opacity-70",
1282
+ className
1283
+ ),
1284
+ ...props,
1285
+ children: [
1286
+ children,
1287
+ required && /* @__PURE__ */ jsx14("span", { className: "text-destructive ml-0.5", "aria-hidden": "true", children: "*" })
1288
+ ]
1289
+ }
1290
+ );
1291
+ }
1292
+ );
1293
+ FormLabel.displayName = "FormLabel";
1294
+ var FormHelperText = React14.forwardRef(
1295
+ ({ className, children, error: errorProp, disabled: disabledProp, id, ...props }, ref) => {
1296
+ const context = useFormControl();
1297
+ const error = errorProp ?? context.error;
1298
+ const disabled = disabledProp ?? context.disabled;
1299
+ const helperId = id ?? (context.id ? `${context.id}-helper` : void 0);
1300
+ return /* @__PURE__ */ jsx14(
1301
+ "p",
1302
+ {
1303
+ ref,
1304
+ id: helperId,
1305
+ className: cn(
1306
+ "text-sm",
1307
+ error ? "text-destructive" : "text-muted-foreground",
1308
+ disabled && "opacity-70",
1309
+ className
1310
+ ),
1311
+ ...props,
1312
+ children
1313
+ }
1314
+ );
1315
+ }
1316
+ );
1317
+ FormHelperText.displayName = "FormHelperText";
1318
+ var FormGroup = React14.forwardRef(
1319
+ ({ className, row, ...props }, ref) => /* @__PURE__ */ jsx14(
1320
+ "div",
1321
+ {
1322
+ ref,
1323
+ role: "group",
1324
+ className: cn(
1325
+ "flex",
1326
+ row ? "flex-row flex-wrap gap-4" : "flex-col gap-2",
1327
+ className
1328
+ ),
1329
+ ...props
1330
+ }
1331
+ )
1332
+ );
1333
+ FormGroup.displayName = "FormGroup";
231
1334
 
232
1335
  // src/components/card.tsx
233
- import * as React5 from "react";
234
- import { jsx as jsx5 } from "react/jsx-runtime";
235
- var Card = React5.forwardRef(
236
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
1336
+ import * as React15 from "react";
1337
+ import { jsx as jsx15 } from "react/jsx-runtime";
1338
+ var Card = React15.forwardRef(
1339
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
237
1340
  "div",
238
1341
  {
239
1342
  ref,
@@ -246,8 +1349,8 @@ var Card = React5.forwardRef(
246
1349
  )
247
1350
  );
248
1351
  Card.displayName = "Card";
249
- var CardHeader = React5.forwardRef(
250
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
1352
+ var CardHeader = React15.forwardRef(
1353
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
251
1354
  "div",
252
1355
  {
253
1356
  ref,
@@ -257,8 +1360,8 @@ var CardHeader = React5.forwardRef(
257
1360
  )
258
1361
  );
259
1362
  CardHeader.displayName = "CardHeader";
260
- var CardTitle = React5.forwardRef(
261
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
1363
+ var CardTitle = React15.forwardRef(
1364
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
262
1365
  "h3",
263
1366
  {
264
1367
  ref,
@@ -268,8 +1371,8 @@ var CardTitle = React5.forwardRef(
268
1371
  )
269
1372
  );
270
1373
  CardTitle.displayName = "CardTitle";
271
- var CardDescription = React5.forwardRef(
272
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
1374
+ var CardDescription = React15.forwardRef(
1375
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
273
1376
  "p",
274
1377
  {
275
1378
  ref,
@@ -279,12 +1382,12 @@ var CardDescription = React5.forwardRef(
279
1382
  )
280
1383
  );
281
1384
  CardDescription.displayName = "CardDescription";
282
- var CardContent = React5.forwardRef(
283
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx5("div", { ref, className: cn("p-6 pt-0", className), ...props })
1385
+ var CardContent = React15.forwardRef(
1386
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx15("div", { ref, className: cn("p-6 pt-0", className), ...props })
284
1387
  );
285
1388
  CardContent.displayName = "CardContent";
286
- var CardFooter = React5.forwardRef(
287
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
1389
+ var CardFooter = React15.forwardRef(
1390
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
288
1391
  "div",
289
1392
  {
290
1393
  ref,
@@ -296,11 +1399,11 @@ var CardFooter = React5.forwardRef(
296
1399
  CardFooter.displayName = "CardFooter";
297
1400
 
298
1401
  // src/components/badge.tsx
299
- import * as React6 from "react";
300
- import { jsx as jsx6 } from "react/jsx-runtime";
301
- var Badge = React6.forwardRef(
1402
+ import * as React16 from "react";
1403
+ import { jsx as jsx16 } from "react/jsx-runtime";
1404
+ var Badge = React16.forwardRef(
302
1405
  ({ className, variant = "default", ...props }, ref) => {
303
- return /* @__PURE__ */ jsx6(
1406
+ return /* @__PURE__ */ jsx16(
304
1407
  "div",
305
1408
  {
306
1409
  ref,
@@ -322,84 +1425,11 @@ var Badge = React6.forwardRef(
322
1425
  );
323
1426
  Badge.displayName = "Badge";
324
1427
 
325
- // src/components/label.tsx
326
- import * as React7 from "react";
327
- import { jsx as jsx7 } from "react/jsx-runtime";
328
- var Label = React7.forwardRef(
329
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
330
- "label",
331
- {
332
- ref,
333
- className: cn(
334
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
335
- className
336
- ),
337
- ...props
338
- }
339
- )
340
- );
341
- Label.displayName = "Label";
342
-
343
- // src/components/checkbox.tsx
344
- import * as React8 from "react";
345
- import { jsx as jsx8 } from "react/jsx-runtime";
346
- var Checkbox = React8.forwardRef(
347
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
348
- "input",
349
- {
350
- type: "checkbox",
351
- ref,
352
- className: cn(
353
- "h-4 w-4 shrink-0 rounded-sm border border-accent cursor-pointer",
354
- "ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
355
- "disabled:cursor-not-allowed disabled:opacity-50",
356
- "accent-accent",
357
- className
358
- ),
359
- ...props
360
- }
361
- )
362
- );
363
- Checkbox.displayName = "Checkbox";
364
-
365
- // src/components/switch.tsx
366
- import * as React9 from "react";
367
- import { jsx as jsx9, jsxs } from "react/jsx-runtime";
368
- var Switch = React9.forwardRef(
369
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxs("label", { className: cn("relative inline-flex items-center cursor-pointer", className), children: [
370
- /* @__PURE__ */ jsx9(
371
- "input",
372
- {
373
- type: "checkbox",
374
- ref,
375
- className: "sr-only peer",
376
- ...props
377
- }
378
- ),
379
- /* @__PURE__ */ jsx9(
380
- "div",
381
- {
382
- className: cn(
383
- "w-11 h-6 rounded-full transition-colors",
384
- "bg-input peer-checked:bg-accent",
385
- "peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background",
386
- "peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
387
- 'after:content-[""] after:absolute after:top-[2px] after:left-[2px]',
388
- "after:bg-background after:rounded-full after:h-5 after:w-5",
389
- "after:transition-transform after:shadow-lg",
390
- "peer-checked:after:translate-x-5"
391
- )
392
- }
393
- )
394
- ] })
395
- );
396
- Switch.displayName = "Switch";
397
-
398
1428
  // src/components/separator.tsx
399
- import * as React10 from "react";
400
- import { jsx as jsx10 } from "react/jsx-runtime";
401
- var Separator = React10.forwardRef(
402
- ({ className, orientation = "horizontal", ...props }, ref) => /* @__PURE__ */ jsx10(
1429
+ import * as React17 from "react";
1430
+ import { jsx as jsx17 } from "react/jsx-runtime";
1431
+ var Separator = React17.forwardRef(
1432
+ ({ className, orientation = "horizontal", ...props }, ref) => /* @__PURE__ */ jsx17(
403
1433
  "div",
404
1434
  {
405
1435
  ref,
@@ -417,10 +1447,188 @@ var Separator = React10.forwardRef(
417
1447
  Separator.displayName = "Separator";
418
1448
 
419
1449
  // src/components/select/index.tsx
420
- import * as React11 from "react";
421
- import { jsx as jsx11 } from "react/jsx-runtime";
422
- var Select = React11.forwardRef(
423
- ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx11(
1450
+ import * as React18 from "react";
1451
+ import * as SelectPrimitive from "@radix-ui/react-select";
1452
+ import { jsx as jsx18, jsxs as jsxs6 } from "react/jsx-runtime";
1453
+ var ChevronDownIcon = () => /* @__PURE__ */ jsx18(
1454
+ "svg",
1455
+ {
1456
+ xmlns: "http://www.w3.org/2000/svg",
1457
+ width: "16",
1458
+ height: "16",
1459
+ viewBox: "0 0 24 24",
1460
+ fill: "none",
1461
+ stroke: "currentColor",
1462
+ strokeWidth: "2",
1463
+ strokeLinecap: "round",
1464
+ strokeLinejoin: "round",
1465
+ children: /* @__PURE__ */ jsx18("path", { d: "m6 9 6 6 6-6" })
1466
+ }
1467
+ );
1468
+ var ChevronUpIcon = () => /* @__PURE__ */ jsx18(
1469
+ "svg",
1470
+ {
1471
+ xmlns: "http://www.w3.org/2000/svg",
1472
+ width: "16",
1473
+ height: "16",
1474
+ viewBox: "0 0 24 24",
1475
+ fill: "none",
1476
+ stroke: "currentColor",
1477
+ strokeWidth: "2",
1478
+ strokeLinecap: "round",
1479
+ strokeLinejoin: "round",
1480
+ children: /* @__PURE__ */ jsx18("path", { d: "m18 15-6-6-6 6" })
1481
+ }
1482
+ );
1483
+ var CheckIcon = () => /* @__PURE__ */ jsx18(
1484
+ "svg",
1485
+ {
1486
+ xmlns: "http://www.w3.org/2000/svg",
1487
+ width: "16",
1488
+ height: "16",
1489
+ viewBox: "0 0 24 24",
1490
+ fill: "none",
1491
+ stroke: "currentColor",
1492
+ strokeWidth: "2",
1493
+ strokeLinecap: "round",
1494
+ strokeLinejoin: "round",
1495
+ children: /* @__PURE__ */ jsx18("path", { d: "M20 6 9 17l-5-5" })
1496
+ }
1497
+ );
1498
+ var Select = SelectPrimitive.Root;
1499
+ var SelectGroup = SelectPrimitive.Group;
1500
+ var SelectValue = SelectPrimitive.Value;
1501
+ var SelectTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
1502
+ SelectPrimitive.Trigger,
1503
+ {
1504
+ ref,
1505
+ className: cn(
1506
+ "flex h-10 w-full items-center justify-between rounded-md border px-3 py-2 text-sm",
1507
+ "border-input bg-background text-foreground",
1508
+ "ring-offset-background",
1509
+ "placeholder:text-muted-foreground",
1510
+ "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
1511
+ "disabled:cursor-not-allowed disabled:opacity-50",
1512
+ "[&>span]:line-clamp-1",
1513
+ className
1514
+ ),
1515
+ ...props,
1516
+ children: [
1517
+ children,
1518
+ /* @__PURE__ */ jsx18(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx18(ChevronDownIcon, {}) })
1519
+ ]
1520
+ }
1521
+ ));
1522
+ SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
1523
+ var SelectScrollUpButton = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1524
+ SelectPrimitive.ScrollUpButton,
1525
+ {
1526
+ ref,
1527
+ className: cn(
1528
+ "flex cursor-default items-center justify-center py-1",
1529
+ className
1530
+ ),
1531
+ ...props,
1532
+ children: /* @__PURE__ */ jsx18(ChevronUpIcon, {})
1533
+ }
1534
+ ));
1535
+ SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
1536
+ var SelectScrollDownButton = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1537
+ SelectPrimitive.ScrollDownButton,
1538
+ {
1539
+ ref,
1540
+ className: cn(
1541
+ "flex cursor-default items-center justify-center py-1",
1542
+ className
1543
+ ),
1544
+ ...props,
1545
+ children: /* @__PURE__ */ jsx18(ChevronDownIcon, {})
1546
+ }
1547
+ ));
1548
+ SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
1549
+ var SelectContent = React18.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx18(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs6(
1550
+ SelectPrimitive.Content,
1551
+ {
1552
+ ref,
1553
+ className: cn(
1554
+ "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md",
1555
+ "border-border bg-popover text-popover-foreground",
1556
+ "data-[state=open]:animate-in data-[state=closed]:animate-out",
1557
+ "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1558
+ "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
1559
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
1560
+ "data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1561
+ 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",
1562
+ className
1563
+ ),
1564
+ position,
1565
+ ...props,
1566
+ children: [
1567
+ /* @__PURE__ */ jsx18(SelectScrollUpButton, {}),
1568
+ /* @__PURE__ */ jsx18(
1569
+ SelectPrimitive.Viewport,
1570
+ {
1571
+ className: cn(
1572
+ "p-1",
1573
+ position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
1574
+ ),
1575
+ children
1576
+ }
1577
+ ),
1578
+ /* @__PURE__ */ jsx18(SelectScrollDownButton, {})
1579
+ ]
1580
+ }
1581
+ ) }));
1582
+ SelectContent.displayName = SelectPrimitive.Content.displayName;
1583
+ var SelectLabel = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1584
+ SelectPrimitive.Label,
1585
+ {
1586
+ ref,
1587
+ className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
1588
+ ...props
1589
+ }
1590
+ ));
1591
+ SelectLabel.displayName = SelectPrimitive.Label.displayName;
1592
+ var SelectItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
1593
+ SelectPrimitive.Item,
1594
+ {
1595
+ ref,
1596
+ className: cn(
1597
+ "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none",
1598
+ "focus:bg-accent focus:text-accent-foreground",
1599
+ "data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1600
+ className
1601
+ ),
1602
+ ...props,
1603
+ children: [
1604
+ /* @__PURE__ */ jsx18("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx18(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx18(CheckIcon, {}) }) }),
1605
+ /* @__PURE__ */ jsx18(SelectPrimitive.ItemText, { children })
1606
+ ]
1607
+ }
1608
+ ));
1609
+ SelectItem.displayName = SelectPrimitive.Item.displayName;
1610
+ var SelectSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1611
+ SelectPrimitive.Separator,
1612
+ {
1613
+ ref,
1614
+ className: cn("-mx-1 my-1 h-px bg-muted", className),
1615
+ ...props
1616
+ }
1617
+ ));
1618
+ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
1619
+ var SelectNamespace = Object.assign(Select, {
1620
+ Group: SelectGroup,
1621
+ Value: SelectValue,
1622
+ Trigger: SelectTrigger,
1623
+ Content: SelectContent,
1624
+ Label: SelectLabel,
1625
+ Item: SelectItem,
1626
+ Separator: SelectSeparator,
1627
+ ScrollUpButton: SelectScrollUpButton,
1628
+ ScrollDownButton: SelectScrollDownButton
1629
+ });
1630
+ var NativeSelect = React18.forwardRef(
1631
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx18(
424
1632
  "select",
425
1633
  {
426
1634
  ref,
@@ -436,99 +1644,81 @@ var Select = React11.forwardRef(
436
1644
  }
437
1645
  )
438
1646
  );
439
- Select.displayName = "Select";
440
- var SelectOption = React11.forwardRef(
441
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx11("option", { ref, className: cn("py-1.5", className), ...props })
1647
+ NativeSelect.displayName = "NativeSelect";
1648
+ var NativeSelectOption = React18.forwardRef(
1649
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx18("option", { ref, className: cn("py-1.5", className), ...props })
442
1650
  );
443
- SelectOption.displayName = "SelectOption";
444
- var SelectGroup = React11.forwardRef(
445
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx11("optgroup", { ref, className: cn("font-semibold", className), ...props })
446
- );
447
- SelectGroup.displayName = "SelectGroup";
448
- var SelectNamespace = Object.assign(Select, {
449
- Option: SelectOption,
450
- Group: SelectGroup
451
- });
1651
+ NativeSelectOption.displayName = "NativeSelectOption";
452
1652
 
453
1653
  // src/components/dialog/index.tsx
454
- import * as React12 from "react";
455
- import { Fragment, jsx as jsx12, jsxs as jsxs2 } from "react/jsx-runtime";
456
- var Dialog = ({ open, onOpenChange, children }) => {
457
- React12.useEffect(() => {
458
- const handleEscape = (e) => {
459
- if (e.key === "Escape" && open) {
460
- onOpenChange?.(false);
461
- }
462
- };
463
- document.addEventListener("keydown", handleEscape);
464
- return () => document.removeEventListener("keydown", handleEscape);
465
- }, [open, onOpenChange]);
466
- if (!open) return null;
467
- return /* @__PURE__ */ jsx12(Fragment, { children });
468
- };
469
- Dialog.displayName = "Dialog";
470
- var DialogContent = React12.forwardRef(
471
- ({ className, children, onClose, ...props }, ref) => /* @__PURE__ */ jsxs2(Fragment, { children: [
472
- /* @__PURE__ */ jsx12(
473
- "div",
474
- {
475
- className: "fixed inset-0 z-50 bg-black/80",
476
- onClick: onClose
477
- }
1654
+ import * as React19 from "react";
1655
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
1656
+ import { jsx as jsx19, jsxs as jsxs7 } from "react/jsx-runtime";
1657
+ var Dialog = DialogPrimitive.Root;
1658
+ var DialogTrigger = DialogPrimitive.Trigger;
1659
+ var DialogPortal = DialogPrimitive.Portal;
1660
+ var DialogClose = DialogPrimitive.Close;
1661
+ var DialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1662
+ DialogPrimitive.Overlay,
1663
+ {
1664
+ ref,
1665
+ className: cn(
1666
+ "fixed inset-0 z-50 bg-black/80",
1667
+ "data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out",
1668
+ className
478
1669
  ),
479
- /* @__PURE__ */ jsxs2(
480
- "div",
481
- {
482
- ref,
483
- className: cn(
484
- "fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 p-6 shadow-lg",
485
- "bg-popover border border-border text-popover-foreground",
486
- "rounded-lg",
487
- className
488
- ),
489
- ...props,
490
- children: [
491
- children,
492
- onClose && /* @__PURE__ */ jsxs2(
493
- "button",
1670
+ ...props
1671
+ }
1672
+ ));
1673
+ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
1674
+ var DialogContent = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs7(DialogPortal, { children: [
1675
+ /* @__PURE__ */ jsx19(DialogOverlay, {}),
1676
+ /* @__PURE__ */ jsxs7(
1677
+ DialogPrimitive.Content,
1678
+ {
1679
+ ref,
1680
+ className: cn(
1681
+ "fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 p-6 shadow-lg",
1682
+ "bg-popover border border-border text-popover-foreground",
1683
+ "rounded-lg",
1684
+ "data-[state=open]:animate-zoom-in data-[state=closed]:animate-zoom-out",
1685
+ "duration-200",
1686
+ className
1687
+ ),
1688
+ ...props,
1689
+ children: [
1690
+ children,
1691
+ /* @__PURE__ */ jsxs7(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
1692
+ /* @__PURE__ */ jsxs7(
1693
+ "svg",
494
1694
  {
495
- type: "button",
496
- onClick: onClose,
497
- className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
1695
+ xmlns: "http://www.w3.org/2000/svg",
1696
+ width: "24",
1697
+ height: "24",
1698
+ viewBox: "0 0 24 24",
1699
+ fill: "none",
1700
+ stroke: "currentColor",
1701
+ strokeWidth: "2",
1702
+ strokeLinecap: "round",
1703
+ strokeLinejoin: "round",
1704
+ className: "h-4 w-4",
498
1705
  children: [
499
- /* @__PURE__ */ jsxs2(
500
- "svg",
501
- {
502
- xmlns: "http://www.w3.org/2000/svg",
503
- width: "24",
504
- height: "24",
505
- viewBox: "0 0 24 24",
506
- fill: "none",
507
- stroke: "currentColor",
508
- strokeWidth: "2",
509
- strokeLinecap: "round",
510
- strokeLinejoin: "round",
511
- className: "h-4 w-4",
512
- children: [
513
- /* @__PURE__ */ jsx12("path", { d: "M18 6 6 18" }),
514
- /* @__PURE__ */ jsx12("path", { d: "m6 6 12 12" })
515
- ]
516
- }
517
- ),
518
- /* @__PURE__ */ jsx12("span", { className: "sr-only", children: "Close" })
1706
+ /* @__PURE__ */ jsx19("path", { d: "M18 6 6 18" }),
1707
+ /* @__PURE__ */ jsx19("path", { d: "m6 6 12 12" })
519
1708
  ]
520
1709
  }
521
- )
522
- ]
523
- }
524
- )
525
- ] })
526
- );
527
- DialogContent.displayName = "DialogContent";
1710
+ ),
1711
+ /* @__PURE__ */ jsx19("span", { className: "sr-only", children: "Close" })
1712
+ ] })
1713
+ ]
1714
+ }
1715
+ )
1716
+ ] }));
1717
+ DialogContent.displayName = DialogPrimitive.Content.displayName;
528
1718
  var DialogHeader = ({
529
1719
  className,
530
1720
  ...props
531
- }) => /* @__PURE__ */ jsx12(
1721
+ }) => /* @__PURE__ */ jsx19(
532
1722
  "div",
533
1723
  {
534
1724
  className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className),
@@ -539,7 +1729,7 @@ DialogHeader.displayName = "DialogHeader";
539
1729
  var DialogFooter = ({
540
1730
  className,
541
1731
  ...props
542
- }) => /* @__PURE__ */ jsx12(
1732
+ }) => /* @__PURE__ */ jsx19(
543
1733
  "div",
544
1734
  {
545
1735
  className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className),
@@ -547,29 +1737,29 @@ var DialogFooter = ({
547
1737
  }
548
1738
  );
549
1739
  DialogFooter.displayName = "DialogFooter";
550
- var DialogTitle = React12.forwardRef(
551
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
552
- "h2",
553
- {
554
- ref,
555
- className: cn("text-lg font-semibold leading-none tracking-tight", className),
556
- ...props
557
- }
558
- )
559
- );
560
- DialogTitle.displayName = "DialogTitle";
561
- var DialogDescription = React12.forwardRef(
562
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
563
- "p",
564
- {
565
- ref,
566
- className: cn("text-sm text-muted-foreground", className),
567
- ...props
568
- }
569
- )
570
- );
571
- DialogDescription.displayName = "DialogDescription";
1740
+ var DialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1741
+ DialogPrimitive.Title,
1742
+ {
1743
+ ref,
1744
+ className: cn("text-lg font-semibold leading-none tracking-tight text-foreground", className),
1745
+ ...props
1746
+ }
1747
+ ));
1748
+ DialogTitle.displayName = DialogPrimitive.Title.displayName;
1749
+ var DialogDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1750
+ DialogPrimitive.Description,
1751
+ {
1752
+ ref,
1753
+ className: cn("text-sm text-muted-foreground", className),
1754
+ ...props
1755
+ }
1756
+ ));
1757
+ DialogDescription.displayName = DialogPrimitive.Description.displayName;
572
1758
  var DialogNamespace = Object.assign(Dialog, {
1759
+ Trigger: DialogTrigger,
1760
+ Portal: DialogPortal,
1761
+ Close: DialogClose,
1762
+ Overlay: DialogOverlay,
573
1763
  Content: DialogContent,
574
1764
  Header: DialogHeader,
575
1765
  Footer: DialogFooter,
@@ -578,11 +1768,11 @@ var DialogNamespace = Object.assign(Dialog, {
578
1768
  });
579
1769
 
580
1770
  // src/components/spinner.tsx
581
- import * as React13 from "react";
582
- import { jsx as jsx13 } from "react/jsx-runtime";
583
- var Spinner = React13.forwardRef(
1771
+ import * as React20 from "react";
1772
+ import { jsx as jsx20 } from "react/jsx-runtime";
1773
+ var Spinner = React20.forwardRef(
584
1774
  ({ className, size = "default", ...props }, ref) => {
585
- return /* @__PURE__ */ jsx13(
1775
+ return /* @__PURE__ */ jsx20(
586
1776
  "div",
587
1777
  {
588
1778
  ref,
@@ -599,7 +1789,7 @@ var Spinner = React13.forwardRef(
599
1789
  className
600
1790
  ),
601
1791
  ...props,
602
- children: /* @__PURE__ */ jsx13("span", { className: "sr-only", children: "Loading..." })
1792
+ children: /* @__PURE__ */ jsx20("span", { className: "sr-only", children: "Loading..." })
603
1793
  }
604
1794
  );
605
1795
  }
@@ -607,9 +1797,9 @@ var Spinner = React13.forwardRef(
607
1797
  Spinner.displayName = "Spinner";
608
1798
 
609
1799
  // src/components/table.tsx
610
- import * as React14 from "react";
611
- import { jsx as jsx14 } from "react/jsx-runtime";
612
- var Table = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx14(
1800
+ import * as React21 from "react";
1801
+ import { jsx as jsx21 } from "react/jsx-runtime";
1802
+ var Table = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx21(
613
1803
  "table",
614
1804
  {
615
1805
  ref,
@@ -618,9 +1808,9 @@ var Table = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
618
1808
  }
619
1809
  ) }));
620
1810
  Table.displayName = "Table";
621
- var TableHeader = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
1811
+ var TableHeader = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
622
1812
  TableHeader.displayName = "TableHeader";
623
- var TableBody = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1813
+ var TableBody = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
624
1814
  "tbody",
625
1815
  {
626
1816
  ref,
@@ -629,7 +1819,7 @@ var TableBody = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE_
629
1819
  }
630
1820
  ));
631
1821
  TableBody.displayName = "TableBody";
632
- var TableFooter = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1822
+ var TableFooter = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
633
1823
  "tfoot",
634
1824
  {
635
1825
  ref,
@@ -641,7 +1831,7 @@ var TableFooter = React14.forwardRef(({ className, ...props }, ref) => /* @__PUR
641
1831
  }
642
1832
  ));
643
1833
  TableFooter.displayName = "TableFooter";
644
- var TableRow = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1834
+ var TableRow = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
645
1835
  "tr",
646
1836
  {
647
1837
  ref,
@@ -655,7 +1845,7 @@ var TableRow = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__
655
1845
  }
656
1846
  ));
657
1847
  TableRow.displayName = "TableRow";
658
- var TableHead = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1848
+ var TableHead = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
659
1849
  "th",
660
1850
  {
661
1851
  ref,
@@ -668,7 +1858,7 @@ var TableHead = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE_
668
1858
  }
669
1859
  ));
670
1860
  TableHead.displayName = "TableHead";
671
- var TableCell = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1861
+ var TableCell = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
672
1862
  "td",
673
1863
  {
674
1864
  ref,
@@ -680,7 +1870,7 @@ var TableCell = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE_
680
1870
  }
681
1871
  ));
682
1872
  TableCell.displayName = "TableCell";
683
- var TableCaption = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1873
+ var TableCaption = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
684
1874
  "caption",
685
1875
  {
686
1876
  ref,
@@ -700,10 +1890,10 @@ var TableNamespace = Object.assign(Table, {
700
1890
  });
701
1891
 
702
1892
  // src/components/pagination.tsx
703
- import * as React15 from "react";
704
- import { jsx as jsx15, jsxs as jsxs3 } from "react/jsx-runtime";
705
- var Pagination = React15.forwardRef(
706
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1893
+ import * as React22 from "react";
1894
+ import { jsx as jsx22, jsxs as jsxs8 } from "react/jsx-runtime";
1895
+ var Pagination = React22.forwardRef(
1896
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
707
1897
  "nav",
708
1898
  {
709
1899
  ref,
@@ -715,7 +1905,7 @@ var Pagination = React15.forwardRef(
715
1905
  )
716
1906
  );
717
1907
  Pagination.displayName = "Pagination";
718
- var PaginationContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1908
+ var PaginationContent = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
719
1909
  "ul",
720
1910
  {
721
1911
  ref,
@@ -724,10 +1914,10 @@ var PaginationContent = React15.forwardRef(({ className, ...props }, ref) => /*
724
1914
  }
725
1915
  ));
726
1916
  PaginationContent.displayName = "PaginationContent";
727
- var PaginationItem = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15("li", { ref, className: cn("", className), ...props }));
1917
+ var PaginationItem = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22("li", { ref, className: cn("", className), ...props }));
728
1918
  PaginationItem.displayName = "PaginationItem";
729
- var PaginationLink = React15.forwardRef(
730
- ({ className, isActive, ...props }, ref) => /* @__PURE__ */ jsx15(
1919
+ var PaginationLink = React22.forwardRef(
1920
+ ({ className, isActive, ...props }, ref) => /* @__PURE__ */ jsx22(
731
1921
  Button,
732
1922
  {
733
1923
  ref,
@@ -739,7 +1929,7 @@ var PaginationLink = React15.forwardRef(
739
1929
  )
740
1930
  );
741
1931
  PaginationLink.displayName = "PaginationLink";
742
- var PaginationPrevious = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs3(
1932
+ var PaginationPrevious = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs8(
743
1933
  Button,
744
1934
  {
745
1935
  ref,
@@ -748,7 +1938,7 @@ var PaginationPrevious = React15.forwardRef(({ className, ...props }, ref) => /*
748
1938
  className: cn("gap-1 pl-2.5", className),
749
1939
  ...props,
750
1940
  children: [
751
- /* @__PURE__ */ jsx15(
1941
+ /* @__PURE__ */ jsx22(
752
1942
  "svg",
753
1943
  {
754
1944
  xmlns: "http://www.w3.org/2000/svg",
@@ -761,15 +1951,15 @@ var PaginationPrevious = React15.forwardRef(({ className, ...props }, ref) => /*
761
1951
  strokeLinecap: "round",
762
1952
  strokeLinejoin: "round",
763
1953
  className: "h-4 w-4",
764
- children: /* @__PURE__ */ jsx15("path", { d: "m15 18-6-6 6-6" })
1954
+ children: /* @__PURE__ */ jsx22("path", { d: "m15 18-6-6 6-6" })
765
1955
  }
766
1956
  ),
767
- /* @__PURE__ */ jsx15("span", { children: "Previous" })
1957
+ /* @__PURE__ */ jsx22("span", { children: "Previous" })
768
1958
  ]
769
1959
  }
770
1960
  ));
771
1961
  PaginationPrevious.displayName = "PaginationPrevious";
772
- var PaginationNext = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs3(
1962
+ var PaginationNext = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs8(
773
1963
  Button,
774
1964
  {
775
1965
  ref,
@@ -778,8 +1968,8 @@ var PaginationNext = React15.forwardRef(({ className, ...props }, ref) => /* @__
778
1968
  className: cn("gap-1 pr-2.5", className),
779
1969
  ...props,
780
1970
  children: [
781
- /* @__PURE__ */ jsx15("span", { children: "Next" }),
782
- /* @__PURE__ */ jsx15(
1971
+ /* @__PURE__ */ jsx22("span", { children: "Next" }),
1972
+ /* @__PURE__ */ jsx22(
783
1973
  "svg",
784
1974
  {
785
1975
  xmlns: "http://www.w3.org/2000/svg",
@@ -792,14 +1982,14 @@ var PaginationNext = React15.forwardRef(({ className, ...props }, ref) => /* @__
792
1982
  strokeLinecap: "round",
793
1983
  strokeLinejoin: "round",
794
1984
  className: "h-4 w-4",
795
- children: /* @__PURE__ */ jsx15("path", { d: "m9 18 6-6-6-6" })
1985
+ children: /* @__PURE__ */ jsx22("path", { d: "m9 18 6-6-6-6" })
796
1986
  }
797
1987
  )
798
1988
  ]
799
1989
  }
800
1990
  ));
801
1991
  PaginationNext.displayName = "PaginationNext";
802
- var PaginationEllipsis = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs3(
1992
+ var PaginationEllipsis = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs8(
803
1993
  "span",
804
1994
  {
805
1995
  ref,
@@ -807,7 +1997,7 @@ var PaginationEllipsis = React15.forwardRef(({ className, ...props }, ref) => /*
807
1997
  className: cn("flex h-9 w-9 items-center justify-center", className),
808
1998
  ...props,
809
1999
  children: [
810
- /* @__PURE__ */ jsxs3(
2000
+ /* @__PURE__ */ jsxs8(
811
2001
  "svg",
812
2002
  {
813
2003
  xmlns: "http://www.w3.org/2000/svg",
@@ -821,13 +2011,13 @@ var PaginationEllipsis = React15.forwardRef(({ className, ...props }, ref) => /*
821
2011
  strokeLinejoin: "round",
822
2012
  className: "h-4 w-4",
823
2013
  children: [
824
- /* @__PURE__ */ jsx15("circle", { cx: "12", cy: "12", r: "1" }),
825
- /* @__PURE__ */ jsx15("circle", { cx: "19", cy: "12", r: "1" }),
826
- /* @__PURE__ */ jsx15("circle", { cx: "5", cy: "12", r: "1" })
2014
+ /* @__PURE__ */ jsx22("circle", { cx: "12", cy: "12", r: "1" }),
2015
+ /* @__PURE__ */ jsx22("circle", { cx: "19", cy: "12", r: "1" }),
2016
+ /* @__PURE__ */ jsx22("circle", { cx: "5", cy: "12", r: "1" })
827
2017
  ]
828
2018
  }
829
2019
  ),
830
- /* @__PURE__ */ jsx15("span", { className: "sr-only", children: "More pages" })
2020
+ /* @__PURE__ */ jsx22("span", { className: "sr-only", children: "More pages" })
831
2021
  ]
832
2022
  }
833
2023
  ));
@@ -842,9 +2032,9 @@ var PaginationNamespace = Object.assign(Pagination, {
842
2032
  });
843
2033
 
844
2034
  // src/components/combobox/index.tsx
845
- import * as React16 from "react";
846
- import { jsx as jsx16, jsxs as jsxs4 } from "react/jsx-runtime";
847
- var Combobox = React16.forwardRef(
2035
+ import * as React23 from "react";
2036
+ import { jsx as jsx23, jsxs as jsxs9 } from "react/jsx-runtime";
2037
+ var Combobox = React23.forwardRef(
848
2038
  ({
849
2039
  options,
850
2040
  value: controlledValue,
@@ -856,12 +2046,12 @@ var Combobox = React16.forwardRef(
856
2046
  disabled = false,
857
2047
  className
858
2048
  }, ref) => {
859
- const [open, setOpen] = React16.useState(false);
860
- const [search, setSearch] = React16.useState("");
861
- const [internalValue, setInternalValue] = React16.useState(defaultValue ?? "");
862
- const containerRef = React16.useRef(null);
2049
+ const [open, setOpen] = React23.useState(false);
2050
+ const [search, setSearch] = React23.useState("");
2051
+ const [internalValue, setInternalValue] = React23.useState(defaultValue ?? "");
2052
+ const containerRef = React23.useRef(null);
863
2053
  const value = controlledValue !== void 0 ? controlledValue : internalValue;
864
- const filteredOptions = React16.useMemo(() => {
2054
+ const filteredOptions = React23.useMemo(() => {
865
2055
  if (!search) return options;
866
2056
  return options.filter(
867
2057
  (option) => option.label.toLowerCase().includes(search.toLowerCase())
@@ -876,7 +2066,7 @@ var Combobox = React16.forwardRef(
876
2066
  setOpen(false);
877
2067
  setSearch("");
878
2068
  };
879
- React16.useEffect(() => {
2069
+ React23.useEffect(() => {
880
2070
  const handleClickOutside = (event) => {
881
2071
  if (containerRef.current && !containerRef.current.contains(event.target)) {
882
2072
  setOpen(false);
@@ -885,8 +2075,8 @@ var Combobox = React16.forwardRef(
885
2075
  document.addEventListener("mousedown", handleClickOutside);
886
2076
  return () => document.removeEventListener("mousedown", handleClickOutside);
887
2077
  }, []);
888
- return /* @__PURE__ */ jsxs4("div", { ref: containerRef, className: "relative", children: [
889
- /* @__PURE__ */ jsxs4(
2078
+ return /* @__PURE__ */ jsxs9("div", { ref: containerRef, className: "relative", children: [
2079
+ /* @__PURE__ */ jsxs9(
890
2080
  "button",
891
2081
  {
892
2082
  type: "button",
@@ -902,8 +2092,8 @@ var Combobox = React16.forwardRef(
902
2092
  className
903
2093
  ),
904
2094
  children: [
905
- /* @__PURE__ */ jsx16("span", { className: cn(!selectedOption && "text-muted-foreground"), children: selectedOption?.label ?? placeholder }),
906
- /* @__PURE__ */ jsx16(
2095
+ /* @__PURE__ */ jsx23("span", { className: cn(!selectedOption && "text-muted-foreground"), children: selectedOption?.label ?? placeholder }),
2096
+ /* @__PURE__ */ jsx23(
907
2097
  "svg",
908
2098
  {
909
2099
  xmlns: "http://www.w3.org/2000/svg",
@@ -919,15 +2109,15 @@ var Combobox = React16.forwardRef(
919
2109
  "ml-2 h-4 w-4 shrink-0 opacity-50 transition-transform",
920
2110
  open && "rotate-180"
921
2111
  ),
922
- children: /* @__PURE__ */ jsx16("path", { d: "m6 9 6 6 6-6" })
2112
+ children: /* @__PURE__ */ jsx23("path", { d: "m6 9 6 6 6-6" })
923
2113
  }
924
2114
  )
925
2115
  ]
926
2116
  }
927
2117
  ),
928
- open && /* @__PURE__ */ jsxs4("div", { className: "absolute z-50 mt-1 w-full overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md", children: [
929
- /* @__PURE__ */ jsxs4("div", { className: "flex items-center border-b border-border px-3", children: [
930
- /* @__PURE__ */ jsxs4(
2118
+ open && /* @__PURE__ */ jsxs9("div", { className: "absolute z-50 mt-1 w-full overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md", children: [
2119
+ /* @__PURE__ */ jsxs9("div", { className: "flex items-center border-b border-border px-3", children: [
2120
+ /* @__PURE__ */ jsxs9(
931
2121
  "svg",
932
2122
  {
933
2123
  xmlns: "http://www.w3.org/2000/svg",
@@ -941,12 +2131,12 @@ var Combobox = React16.forwardRef(
941
2131
  strokeLinejoin: "round",
942
2132
  className: "mr-2 h-4 w-4 shrink-0 opacity-50",
943
2133
  children: [
944
- /* @__PURE__ */ jsx16("circle", { cx: "11", cy: "11", r: "8" }),
945
- /* @__PURE__ */ jsx16("path", { d: "m21 21-4.3-4.3" })
2134
+ /* @__PURE__ */ jsx23("circle", { cx: "11", cy: "11", r: "8" }),
2135
+ /* @__PURE__ */ jsx23("path", { d: "m21 21-4.3-4.3" })
946
2136
  ]
947
2137
  }
948
2138
  ),
949
- /* @__PURE__ */ jsx16(
2139
+ /* @__PURE__ */ jsx23(
950
2140
  "input",
951
2141
  {
952
2142
  ref,
@@ -957,7 +2147,7 @@ var Combobox = React16.forwardRef(
957
2147
  }
958
2148
  )
959
2149
  ] }),
960
- /* @__PURE__ */ jsx16("div", { className: "max-h-[300px] overflow-y-auto p-1", children: filteredOptions.length === 0 ? /* @__PURE__ */ jsx16("div", { className: "py-6 text-center text-sm text-muted-foreground", children: emptyMessage }) : filteredOptions.map((option) => /* @__PURE__ */ jsxs4(
2150
+ /* @__PURE__ */ jsx23("div", { className: "max-h-[300px] overflow-y-auto p-1", children: filteredOptions.length === 0 ? /* @__PURE__ */ jsx23("div", { className: "py-6 text-center text-sm text-muted-foreground", children: emptyMessage }) : filteredOptions.map((option) => /* @__PURE__ */ jsxs9(
961
2151
  "button",
962
2152
  {
963
2153
  type: "button",
@@ -971,7 +2161,7 @@ var Combobox = React16.forwardRef(
971
2161
  option.value === value && "bg-muted"
972
2162
  ),
973
2163
  children: [
974
- /* @__PURE__ */ jsx16("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: option.value === value && /* @__PURE__ */ jsx16(
2164
+ /* @__PURE__ */ jsx23("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: option.value === value && /* @__PURE__ */ jsx23(
975
2165
  "svg",
976
2166
  {
977
2167
  xmlns: "http://www.w3.org/2000/svg",
@@ -984,7 +2174,7 @@ var Combobox = React16.forwardRef(
984
2174
  strokeLinecap: "round",
985
2175
  strokeLinejoin: "round",
986
2176
  className: "h-4 w-4",
987
- children: /* @__PURE__ */ jsx16("polyline", { points: "20 6 9 17 4 12" })
2177
+ children: /* @__PURE__ */ jsx23("polyline", { points: "20 6 9 17 4 12" })
988
2178
  }
989
2179
  ) }),
990
2180
  option.label
@@ -999,31 +2189,34 @@ var Combobox = React16.forwardRef(
999
2189
  Combobox.displayName = "Combobox";
1000
2190
 
1001
2191
  // src/playground.tsx
1002
- import * as React17 from "react";
1003
- import { jsx as jsx17, jsxs as jsxs5 } from "react/jsx-runtime";
1004
- var Section = ({ title, children }) => /* @__PURE__ */ jsxs5("div", { className: "mb-8", children: [
1005
- /* @__PURE__ */ jsx17("h2", { className: "text-xl font-semibold mb-4 text-foreground", children: title }),
1006
- /* @__PURE__ */ jsx17("div", { className: "p-4 border border-border rounded-lg bg-background", children })
2192
+ import * as React24 from "react";
2193
+ import { jsx as jsx24, jsxs as jsxs10 } from "react/jsx-runtime";
2194
+ var Section = ({ title, children }) => /* @__PURE__ */ jsxs10("div", { className: "mb-8", children: [
2195
+ /* @__PURE__ */ jsx24("h2", { className: "text-xl font-semibold mb-4 text-foreground", children: title }),
2196
+ /* @__PURE__ */ jsx24("div", { className: "p-4 border border-border rounded-lg bg-background", children })
1007
2197
  ] });
1008
2198
  var ThemeToggle = () => {
1009
2199
  const { theme, setTheme } = useTheme();
1010
- return /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2", children: [
1011
- /* @__PURE__ */ jsx17(Label, { children: "Theme:" }),
1012
- /* @__PURE__ */ jsxs5(SelectNamespace, { value: theme, onChange: (e) => setTheme(e.target.value), children: [
1013
- /* @__PURE__ */ jsx17(SelectOption, { value: "light", children: "Light" }),
1014
- /* @__PURE__ */ jsx17(SelectOption, { value: "dark", children: "Dark" }),
1015
- /* @__PURE__ */ jsx17(SelectOption, { value: "system", children: "System" })
2200
+ return /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
2201
+ /* @__PURE__ */ jsx24(Label, { children: "Theme:" }),
2202
+ /* @__PURE__ */ jsxs10(SelectNamespace, { value: theme, onValueChange: (value) => setTheme(value), children: [
2203
+ /* @__PURE__ */ jsx24(SelectTrigger, { className: "w-32", children: /* @__PURE__ */ jsx24(SelectValue, { placeholder: "Select theme" }) }),
2204
+ /* @__PURE__ */ jsxs10(SelectContent, { children: [
2205
+ /* @__PURE__ */ jsx24(SelectItem, { value: "light", children: "Light" }),
2206
+ /* @__PURE__ */ jsx24(SelectItem, { value: "dark", children: "Dark" }),
2207
+ /* @__PURE__ */ jsx24(SelectItem, { value: "system", children: "System" })
2208
+ ] })
1016
2209
  ] })
1017
2210
  ] });
1018
2211
  };
1019
2212
  var PlaygroundContent = () => {
1020
- const [dialogOpen, setDialogOpen] = React17.useState(false);
1021
- const [checkboxChecked, setCheckboxChecked] = React17.useState(false);
1022
- const [switchChecked, setSwitchChecked] = React17.useState(false);
1023
- const [inputValue, setInputValue] = React17.useState("");
1024
- const [textareaValue, setTextareaValue] = React17.useState("");
1025
- const [selectValue, setSelectValue] = React17.useState("");
1026
- const [comboboxValue, setComboboxValue] = React17.useState("");
2213
+ const [dialogOpen, setDialogOpen] = React24.useState(false);
2214
+ const [checkboxChecked, setCheckboxChecked] = React24.useState(false);
2215
+ const [switchChecked, setSwitchChecked] = React24.useState(false);
2216
+ const [inputValue, setInputValue] = React24.useState("");
2217
+ const [textareaValue, setTextareaValue] = React24.useState("");
2218
+ const [selectValue, setSelectValue] = React24.useState("");
2219
+ const [comboboxValue, setComboboxValue] = React24.useState("");
1027
2220
  const comboboxOptions = [
1028
2221
  { value: "react", label: "React" },
1029
2222
  { value: "vue", label: "Vue" },
@@ -1031,35 +2224,35 @@ var PlaygroundContent = () => {
1031
2224
  { value: "svelte", label: "Svelte" },
1032
2225
  { value: "solid", label: "SolidJS" }
1033
2226
  ];
1034
- return /* @__PURE__ */ jsx17("div", { className: "min-h-screen bg-background p-8", children: /* @__PURE__ */ jsxs5("div", { className: "max-w-4xl mx-auto", children: [
1035
- /* @__PURE__ */ jsxs5("div", { className: "flex items-center justify-between mb-8", children: [
1036
- /* @__PURE__ */ jsx17("h1", { className: "text-3xl font-bold text-foreground", children: "@onesaz/ui Playground" }),
1037
- /* @__PURE__ */ jsx17(ThemeToggle, {})
2227
+ return /* @__PURE__ */ jsx24("div", { className: "min-h-screen bg-background p-8", children: /* @__PURE__ */ jsxs10("div", { className: "max-w-4xl mx-auto", children: [
2228
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-between mb-8", children: [
2229
+ /* @__PURE__ */ jsx24("h1", { className: "text-3xl font-bold text-foreground", children: "@onesaz/ui Playground" }),
2230
+ /* @__PURE__ */ jsx24(ThemeToggle, {})
1038
2231
  ] }),
1039
- /* @__PURE__ */ jsxs5(Section, { title: "Button", children: [
1040
- /* @__PURE__ */ jsxs5("div", { className: "flex flex-wrap gap-4", children: [
1041
- /* @__PURE__ */ jsx17(Button, { variant: "default", children: "Default" }),
1042
- /* @__PURE__ */ jsx17(Button, { variant: "destructive", children: "Destructive" }),
1043
- /* @__PURE__ */ jsx17(Button, { variant: "outline", children: "Outline" }),
1044
- /* @__PURE__ */ jsx17(Button, { variant: "secondary", children: "Secondary" }),
1045
- /* @__PURE__ */ jsx17(Button, { variant: "ghost", children: "Ghost" }),
1046
- /* @__PURE__ */ jsx17(Button, { variant: "link", children: "Link" })
2232
+ /* @__PURE__ */ jsxs10(Section, { title: "Button", children: [
2233
+ /* @__PURE__ */ jsxs10("div", { className: "flex flex-wrap gap-4", children: [
2234
+ /* @__PURE__ */ jsx24(Button, { variant: "default", children: "Default" }),
2235
+ /* @__PURE__ */ jsx24(Button, { variant: "destructive", children: "Destructive" }),
2236
+ /* @__PURE__ */ jsx24(Button, { variant: "outline", children: "Outline" }),
2237
+ /* @__PURE__ */ jsx24(Button, { variant: "secondary", children: "Secondary" }),
2238
+ /* @__PURE__ */ jsx24(Button, { variant: "ghost", children: "Ghost" }),
2239
+ /* @__PURE__ */ jsx24(Button, { variant: "link", children: "Link" })
1047
2240
  ] }),
1048
- /* @__PURE__ */ jsxs5("div", { className: "flex flex-wrap gap-4 mt-4", children: [
1049
- /* @__PURE__ */ jsx17(Button, { size: "sm", children: "Small" }),
1050
- /* @__PURE__ */ jsx17(Button, { size: "default", children: "Default" }),
1051
- /* @__PURE__ */ jsx17(Button, { size: "lg", children: "Large" }),
1052
- /* @__PURE__ */ jsx17(Button, { size: "icon", children: "\u{1F514}" })
2241
+ /* @__PURE__ */ jsxs10("div", { className: "flex flex-wrap gap-4 mt-4", children: [
2242
+ /* @__PURE__ */ jsx24(Button, { size: "sm", children: "Small" }),
2243
+ /* @__PURE__ */ jsx24(Button, { size: "default", children: "Default" }),
2244
+ /* @__PURE__ */ jsx24(Button, { size: "lg", children: "Large" }),
2245
+ /* @__PURE__ */ jsx24(Button, { size: "icon", children: "\u{1F514}" })
1053
2246
  ] }),
1054
- /* @__PURE__ */ jsxs5("div", { className: "flex flex-wrap gap-4 mt-4", children: [
1055
- /* @__PURE__ */ jsx17(Button, { disabled: true, children: "Disabled" }),
1056
- /* @__PURE__ */ jsx17(Button, { variant: "outline", disabled: true, children: "Disabled Outline" })
2247
+ /* @__PURE__ */ jsxs10("div", { className: "flex flex-wrap gap-4 mt-4", children: [
2248
+ /* @__PURE__ */ jsx24(Button, { disabled: true, children: "Disabled" }),
2249
+ /* @__PURE__ */ jsx24(Button, { variant: "outline", disabled: true, children: "Disabled Outline" })
1057
2250
  ] })
1058
2251
  ] }),
1059
- /* @__PURE__ */ jsx17(Section, { title: "Input", children: /* @__PURE__ */ jsxs5("div", { className: "space-y-4 max-w-md", children: [
1060
- /* @__PURE__ */ jsxs5("div", { children: [
1061
- /* @__PURE__ */ jsx17(Label, { htmlFor: "input-default", children: "Default Input" }),
1062
- /* @__PURE__ */ jsx17(
2252
+ /* @__PURE__ */ jsx24(Section, { title: "Input", children: /* @__PURE__ */ jsxs10("div", { className: "space-y-4 max-w-md", children: [
2253
+ /* @__PURE__ */ jsxs10("div", { children: [
2254
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "input-default", children: "Default Input" }),
2255
+ /* @__PURE__ */ jsx24(
1063
2256
  Input,
1064
2257
  {
1065
2258
  id: "input-default",
@@ -1069,19 +2262,19 @@ var PlaygroundContent = () => {
1069
2262
  }
1070
2263
  )
1071
2264
  ] }),
1072
- /* @__PURE__ */ jsxs5("div", { children: [
1073
- /* @__PURE__ */ jsx17(Label, { htmlFor: "input-disabled", children: "Disabled Input" }),
1074
- /* @__PURE__ */ jsx17(Input, { id: "input-disabled", placeholder: "Disabled...", disabled: true })
2265
+ /* @__PURE__ */ jsxs10("div", { children: [
2266
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "input-disabled", children: "Disabled Input" }),
2267
+ /* @__PURE__ */ jsx24(Input, { id: "input-disabled", placeholder: "Disabled...", disabled: true })
1075
2268
  ] }),
1076
- /* @__PURE__ */ jsxs5("div", { children: [
1077
- /* @__PURE__ */ jsx17(Label, { htmlFor: "input-type", children: "Email Input" }),
1078
- /* @__PURE__ */ jsx17(Input, { id: "input-type", type: "email", placeholder: "email@example.com" })
2269
+ /* @__PURE__ */ jsxs10("div", { children: [
2270
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "input-type", children: "Email Input" }),
2271
+ /* @__PURE__ */ jsx24(Input, { id: "input-type", type: "email", placeholder: "email@example.com" })
1079
2272
  ] })
1080
2273
  ] }) }),
1081
- /* @__PURE__ */ jsx17(Section, { title: "Textarea", children: /* @__PURE__ */ jsxs5("div", { className: "space-y-4 max-w-md", children: [
1082
- /* @__PURE__ */ jsxs5("div", { children: [
1083
- /* @__PURE__ */ jsx17(Label, { htmlFor: "textarea-default", children: "Default Textarea" }),
1084
- /* @__PURE__ */ jsx17(
2274
+ /* @__PURE__ */ jsx24(Section, { title: "Textarea", children: /* @__PURE__ */ jsxs10("div", { className: "space-y-4 max-w-md", children: [
2275
+ /* @__PURE__ */ jsxs10("div", { children: [
2276
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "textarea-default", children: "Default Textarea" }),
2277
+ /* @__PURE__ */ jsx24(
1085
2278
  Textarea,
1086
2279
  {
1087
2280
  id: "textarea-default",
@@ -1091,50 +2284,52 @@ var PlaygroundContent = () => {
1091
2284
  }
1092
2285
  )
1093
2286
  ] }),
1094
- /* @__PURE__ */ jsxs5("div", { children: [
1095
- /* @__PURE__ */ jsx17(Label, { htmlFor: "textarea-disabled", children: "Disabled Textarea" }),
1096
- /* @__PURE__ */ jsx17(Textarea, { id: "textarea-disabled", placeholder: "Disabled...", disabled: true })
2287
+ /* @__PURE__ */ jsxs10("div", { children: [
2288
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "textarea-disabled", children: "Disabled Textarea" }),
2289
+ /* @__PURE__ */ jsx24(Textarea, { id: "textarea-disabled", placeholder: "Disabled...", disabled: true })
1097
2290
  ] })
1098
2291
  ] }) }),
1099
- /* @__PURE__ */ jsx17(Section, { title: "Select", children: /* @__PURE__ */ jsxs5("div", { className: "space-y-4 max-w-md", children: [
1100
- /* @__PURE__ */ jsxs5("div", { children: [
1101
- /* @__PURE__ */ jsx17(Label, { htmlFor: "select-default", children: "Default Select" }),
1102
- /* @__PURE__ */ jsxs5(
1103
- SelectNamespace,
1104
- {
1105
- id: "select-default",
1106
- value: selectValue,
1107
- onChange: (e) => setSelectValue(e.target.value),
1108
- children: [
1109
- /* @__PURE__ */ jsx17(SelectOption, { value: "", children: "Select an option..." }),
1110
- /* @__PURE__ */ jsx17(SelectOption, { value: "option1", children: "Option 1" }),
1111
- /* @__PURE__ */ jsx17(SelectOption, { value: "option2", children: "Option 2" }),
1112
- /* @__PURE__ */ jsx17(SelectOption, { value: "option3", children: "Option 3" })
1113
- ]
1114
- }
1115
- )
2292
+ /* @__PURE__ */ jsx24(Section, { title: "Select", children: /* @__PURE__ */ jsxs10("div", { className: "space-y-4 max-w-md", children: [
2293
+ /* @__PURE__ */ jsxs10("div", { children: [
2294
+ /* @__PURE__ */ jsx24(Label, { children: "Default Select" }),
2295
+ /* @__PURE__ */ jsxs10(SelectNamespace, { value: selectValue, onValueChange: setSelectValue, children: [
2296
+ /* @__PURE__ */ jsx24(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx24(SelectValue, { placeholder: "Select an option..." }) }),
2297
+ /* @__PURE__ */ jsxs10(SelectContent, { children: [
2298
+ /* @__PURE__ */ jsx24(SelectItem, { value: "option1", children: "Option 1" }),
2299
+ /* @__PURE__ */ jsx24(SelectItem, { value: "option2", children: "Option 2" }),
2300
+ /* @__PURE__ */ jsx24(SelectItem, { value: "option3", children: "Option 3" })
2301
+ ] })
2302
+ ] })
1116
2303
  ] }),
1117
- /* @__PURE__ */ jsxs5("div", { children: [
1118
- /* @__PURE__ */ jsx17(Label, { htmlFor: "select-grouped", children: "Grouped Select" }),
1119
- /* @__PURE__ */ jsxs5(SelectNamespace, { id: "select-grouped", children: [
1120
- /* @__PURE__ */ jsxs5(SelectGroup, { label: "Fruits", children: [
1121
- /* @__PURE__ */ jsx17(SelectOption, { value: "apple", children: "Apple" }),
1122
- /* @__PURE__ */ jsx17(SelectOption, { value: "banana", children: "Banana" })
1123
- ] }),
1124
- /* @__PURE__ */ jsxs5(SelectGroup, { label: "Vegetables", children: [
1125
- /* @__PURE__ */ jsx17(SelectOption, { value: "carrot", children: "Carrot" }),
1126
- /* @__PURE__ */ jsx17(SelectOption, { value: "potato", children: "Potato" })
2304
+ /* @__PURE__ */ jsxs10("div", { children: [
2305
+ /* @__PURE__ */ jsx24(Label, { children: "Grouped Select" }),
2306
+ /* @__PURE__ */ jsxs10(SelectNamespace, { children: [
2307
+ /* @__PURE__ */ jsx24(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx24(SelectValue, { placeholder: "Select a food..." }) }),
2308
+ /* @__PURE__ */ jsxs10(SelectContent, { children: [
2309
+ /* @__PURE__ */ jsxs10(SelectGroup, { children: [
2310
+ /* @__PURE__ */ jsx24(SelectLabel, { children: "Fruits" }),
2311
+ /* @__PURE__ */ jsx24(SelectItem, { value: "apple", children: "Apple" }),
2312
+ /* @__PURE__ */ jsx24(SelectItem, { value: "banana", children: "Banana" })
2313
+ ] }),
2314
+ /* @__PURE__ */ jsxs10(SelectGroup, { children: [
2315
+ /* @__PURE__ */ jsx24(SelectLabel, { children: "Vegetables" }),
2316
+ /* @__PURE__ */ jsx24(SelectItem, { value: "carrot", children: "Carrot" }),
2317
+ /* @__PURE__ */ jsx24(SelectItem, { value: "potato", children: "Potato" })
2318
+ ] })
1127
2319
  ] })
1128
2320
  ] })
1129
2321
  ] }),
1130
- /* @__PURE__ */ jsxs5("div", { children: [
1131
- /* @__PURE__ */ jsx17(Label, { htmlFor: "select-disabled", children: "Disabled Select" }),
1132
- /* @__PURE__ */ jsx17(SelectNamespace, { id: "select-disabled", disabled: true, children: /* @__PURE__ */ jsx17(SelectOption, { value: "", children: "Disabled..." }) })
2322
+ /* @__PURE__ */ jsxs10("div", { children: [
2323
+ /* @__PURE__ */ jsx24(Label, { children: "Disabled Select" }),
2324
+ /* @__PURE__ */ jsxs10(SelectNamespace, { disabled: true, children: [
2325
+ /* @__PURE__ */ jsx24(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx24(SelectValue, { placeholder: "Disabled..." }) }),
2326
+ /* @__PURE__ */ jsx24(SelectContent, { children: /* @__PURE__ */ jsx24(SelectItem, { value: "none", children: "None" }) })
2327
+ ] })
1133
2328
  ] })
1134
2329
  ] }) }),
1135
- /* @__PURE__ */ jsx17(Section, { title: "Combobox (Searchable Select)", children: /* @__PURE__ */ jsx17("div", { className: "space-y-4 max-w-md", children: /* @__PURE__ */ jsxs5("div", { children: [
1136
- /* @__PURE__ */ jsx17(Label, { children: "Framework" }),
1137
- /* @__PURE__ */ jsx17(
2330
+ /* @__PURE__ */ jsx24(Section, { title: "Combobox (Searchable Select)", children: /* @__PURE__ */ jsx24("div", { className: "space-y-4 max-w-md", children: /* @__PURE__ */ jsxs10("div", { children: [
2331
+ /* @__PURE__ */ jsx24(Label, { children: "Framework" }),
2332
+ /* @__PURE__ */ jsx24(
1138
2333
  Combobox,
1139
2334
  {
1140
2335
  options: comboboxOptions,
@@ -1144,9 +2339,9 @@ var PlaygroundContent = () => {
1144
2339
  }
1145
2340
  )
1146
2341
  ] }) }) }),
1147
- /* @__PURE__ */ jsx17(Section, { title: "Checkbox & Switch", children: /* @__PURE__ */ jsxs5("div", { className: "space-y-4", children: [
1148
- /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2", children: [
1149
- /* @__PURE__ */ jsx17(
2342
+ /* @__PURE__ */ jsx24(Section, { title: "Checkbox & Switch", children: /* @__PURE__ */ jsxs10("div", { className: "space-y-4", children: [
2343
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
2344
+ /* @__PURE__ */ jsx24(
1150
2345
  Checkbox,
1151
2346
  {
1152
2347
  id: "checkbox",
@@ -1154,15 +2349,15 @@ var PlaygroundContent = () => {
1154
2349
  onChange: (e) => setCheckboxChecked(e.target.checked)
1155
2350
  }
1156
2351
  ),
1157
- /* @__PURE__ */ jsx17(Label, { htmlFor: "checkbox", children: "Accept terms and conditions" })
2352
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "checkbox", children: "Accept terms and conditions" })
1158
2353
  ] }),
1159
- /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2", children: [
1160
- /* @__PURE__ */ jsx17(Checkbox, { id: "checkbox-disabled", disabled: true }),
1161
- /* @__PURE__ */ jsx17(Label, { htmlFor: "checkbox-disabled", children: "Disabled checkbox" })
2354
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
2355
+ /* @__PURE__ */ jsx24(Checkbox, { id: "checkbox-disabled", disabled: true }),
2356
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "checkbox-disabled", children: "Disabled checkbox" })
1162
2357
  ] }),
1163
- /* @__PURE__ */ jsx17(Separator, {}),
1164
- /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2", children: [
1165
- /* @__PURE__ */ jsx17(
2358
+ /* @__PURE__ */ jsx24(Separator, {}),
2359
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
2360
+ /* @__PURE__ */ jsx24(
1166
2361
  Switch,
1167
2362
  {
1168
2363
  id: "switch",
@@ -1170,159 +2365,165 @@ var PlaygroundContent = () => {
1170
2365
  onChange: (e) => setSwitchChecked(e.target.checked)
1171
2366
  }
1172
2367
  ),
1173
- /* @__PURE__ */ jsx17(Label, { htmlFor: "switch", children: "Enable notifications" })
2368
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "switch", children: "Enable notifications" })
1174
2369
  ] }),
1175
- /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2", children: [
1176
- /* @__PURE__ */ jsx17(Switch, { id: "switch-disabled", disabled: true }),
1177
- /* @__PURE__ */ jsx17(Label, { htmlFor: "switch-disabled", children: "Disabled switch" })
2370
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
2371
+ /* @__PURE__ */ jsx24(Switch, { id: "switch-disabled", disabled: true }),
2372
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "switch-disabled", children: "Disabled switch" })
1178
2373
  ] })
1179
2374
  ] }) }),
1180
- /* @__PURE__ */ jsx17(Section, { title: "Badge", children: /* @__PURE__ */ jsxs5("div", { className: "flex flex-wrap gap-4", children: [
1181
- /* @__PURE__ */ jsx17(Badge, { children: "Default" }),
1182
- /* @__PURE__ */ jsx17(Badge, { variant: "secondary", children: "Secondary" }),
1183
- /* @__PURE__ */ jsx17(Badge, { variant: "destructive", children: "Destructive" }),
1184
- /* @__PURE__ */ jsx17(Badge, { variant: "outline", children: "Outline" })
2375
+ /* @__PURE__ */ jsx24(Section, { title: "Badge", children: /* @__PURE__ */ jsxs10("div", { className: "flex flex-wrap gap-4", children: [
2376
+ /* @__PURE__ */ jsx24(Badge, { children: "Default" }),
2377
+ /* @__PURE__ */ jsx24(Badge, { variant: "secondary", children: "Secondary" }),
2378
+ /* @__PURE__ */ jsx24(Badge, { variant: "destructive", children: "Destructive" }),
2379
+ /* @__PURE__ */ jsx24(Badge, { variant: "outline", children: "Outline" })
1185
2380
  ] }) }),
1186
- /* @__PURE__ */ jsx17(Section, { title: "Card", children: /* @__PURE__ */ jsxs5("div", { className: "grid gap-4 md:grid-cols-2", children: [
1187
- /* @__PURE__ */ jsxs5(Card, { children: [
1188
- /* @__PURE__ */ jsxs5(CardHeader, { children: [
1189
- /* @__PURE__ */ jsx17(CardTitle, { children: "Card Title" }),
1190
- /* @__PURE__ */ jsx17(CardDescription, { children: "Card description goes here" })
2381
+ /* @__PURE__ */ jsx24(Section, { title: "Card", children: /* @__PURE__ */ jsxs10("div", { className: "grid gap-4 md:grid-cols-2", children: [
2382
+ /* @__PURE__ */ jsxs10(Card, { children: [
2383
+ /* @__PURE__ */ jsxs10(CardHeader, { children: [
2384
+ /* @__PURE__ */ jsx24(CardTitle, { children: "Card Title" }),
2385
+ /* @__PURE__ */ jsx24(CardDescription, { children: "Card description goes here" })
1191
2386
  ] }),
1192
- /* @__PURE__ */ jsx17(CardContent, { children: /* @__PURE__ */ jsx17("p", { className: "text-foreground", children: "This is the card content area." }) }),
1193
- /* @__PURE__ */ jsxs5(CardFooter, { children: [
1194
- /* @__PURE__ */ jsx17(Button, { variant: "outline", className: "mr-2", children: "Cancel" }),
1195
- /* @__PURE__ */ jsx17(Button, { children: "Submit" })
2387
+ /* @__PURE__ */ jsx24(CardContent, { children: /* @__PURE__ */ jsx24("p", { className: "text-foreground", children: "This is the card content area." }) }),
2388
+ /* @__PURE__ */ jsxs10(CardFooter, { children: [
2389
+ /* @__PURE__ */ jsx24(Button, { variant: "outline", className: "mr-2", children: "Cancel" }),
2390
+ /* @__PURE__ */ jsx24(Button, { children: "Submit" })
1196
2391
  ] })
1197
2392
  ] }),
1198
- /* @__PURE__ */ jsxs5(Card, { children: [
1199
- /* @__PURE__ */ jsxs5(CardHeader, { children: [
1200
- /* @__PURE__ */ jsx17(CardTitle, { children: "Another Card" }),
1201
- /* @__PURE__ */ jsx17(CardDescription, { children: "With different content" })
2393
+ /* @__PURE__ */ jsxs10(Card, { children: [
2394
+ /* @__PURE__ */ jsxs10(CardHeader, { children: [
2395
+ /* @__PURE__ */ jsx24(CardTitle, { children: "Another Card" }),
2396
+ /* @__PURE__ */ jsx24(CardDescription, { children: "With different content" })
1202
2397
  ] }),
1203
- /* @__PURE__ */ jsx17(CardContent, { children: /* @__PURE__ */ jsxs5("div", { className: "space-y-2", children: [
1204
- /* @__PURE__ */ jsx17(Label, { htmlFor: "card-input", children: "Name" }),
1205
- /* @__PURE__ */ jsx17(Input, { id: "card-input", placeholder: "Enter name..." })
2398
+ /* @__PURE__ */ jsx24(CardContent, { children: /* @__PURE__ */ jsxs10("div", { className: "space-y-2", children: [
2399
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "card-input", children: "Name" }),
2400
+ /* @__PURE__ */ jsx24(Input, { id: "card-input", placeholder: "Enter name..." })
1206
2401
  ] }) }),
1207
- /* @__PURE__ */ jsx17(CardFooter, { children: /* @__PURE__ */ jsx17(Button, { className: "w-full", children: "Save" }) })
2402
+ /* @__PURE__ */ jsx24(CardFooter, { children: /* @__PURE__ */ jsx24(Button, { className: "w-full", children: "Save" }) })
1208
2403
  ] })
1209
2404
  ] }) }),
1210
- /* @__PURE__ */ jsxs5(Section, { title: "Dialog", children: [
1211
- /* @__PURE__ */ jsx17(Button, { onClick: () => setDialogOpen(true), children: "Open Dialog" }),
1212
- /* @__PURE__ */ jsx17(DialogNamespace, { open: dialogOpen, onOpenChange: setDialogOpen, children: /* @__PURE__ */ jsxs5(DialogContent, { onClose: () => setDialogOpen(false), children: [
1213
- /* @__PURE__ */ jsxs5(DialogHeader, { children: [
1214
- /* @__PURE__ */ jsx17(DialogTitle, { children: "Create New Zone" }),
1215
- /* @__PURE__ */ jsx17(DialogDescription, { children: "Fill in the details below to create a new zone." })
2405
+ /* @__PURE__ */ jsxs10(Section, { title: "Dialog", children: [
2406
+ /* @__PURE__ */ jsx24(Button, { onClick: () => setDialogOpen(true), children: "Open Dialog" }),
2407
+ /* @__PURE__ */ jsx24(DialogNamespace, { open: dialogOpen, onOpenChange: setDialogOpen, children: /* @__PURE__ */ jsxs10(DialogContent, { children: [
2408
+ /* @__PURE__ */ jsxs10(DialogHeader, { children: [
2409
+ /* @__PURE__ */ jsx24(DialogTitle, { children: "Create New Zone" }),
2410
+ /* @__PURE__ */ jsx24(DialogDescription, { children: "Fill in the details below to create a new zone." })
1216
2411
  ] }),
1217
- /* @__PURE__ */ jsxs5("div", { className: "space-y-4 py-4", children: [
1218
- /* @__PURE__ */ jsxs5("div", { className: "grid grid-cols-2 gap-4", children: [
1219
- /* @__PURE__ */ jsxs5("div", { children: [
1220
- /* @__PURE__ */ jsx17(Label, { htmlFor: "zone-name", children: "Zone Name *" }),
1221
- /* @__PURE__ */ jsx17(Input, { id: "zone-name", placeholder: "eg:hyderabad" })
2412
+ /* @__PURE__ */ jsxs10("div", { className: "space-y-4 py-4", children: [
2413
+ /* @__PURE__ */ jsxs10("div", { className: "grid grid-cols-2 gap-4", children: [
2414
+ /* @__PURE__ */ jsxs10("div", { children: [
2415
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "zone-name", children: "Zone Name *" }),
2416
+ /* @__PURE__ */ jsx24(Input, { id: "zone-name", placeholder: "eg:hyderabad" })
1222
2417
  ] }),
1223
- /* @__PURE__ */ jsxs5("div", { children: [
1224
- /* @__PURE__ */ jsx17(Label, { htmlFor: "zone-code", children: "Zone Code *" }),
1225
- /* @__PURE__ */ jsx17(Input, { id: "zone-code", placeholder: "eg :hyd022" })
2418
+ /* @__PURE__ */ jsxs10("div", { children: [
2419
+ /* @__PURE__ */ jsx24(Label, { htmlFor: "zone-code", children: "Zone Code *" }),
2420
+ /* @__PURE__ */ jsx24(Input, { id: "zone-code", placeholder: "eg :hyd022" })
1226
2421
  ] })
1227
2422
  ] }),
1228
- /* @__PURE__ */ jsxs5("div", { className: "grid grid-cols-2 gap-4", children: [
1229
- /* @__PURE__ */ jsxs5("div", { children: [
1230
- /* @__PURE__ */ jsx17(Label, { htmlFor: "state", children: "State *" }),
1231
- /* @__PURE__ */ jsxs5(SelectNamespace, { id: "state", children: [
1232
- /* @__PURE__ */ jsx17(SelectOption, { value: "", children: "Select state" }),
1233
- /* @__PURE__ */ jsx17(SelectOption, { value: "telangana", children: "TELANGANA" }),
1234
- /* @__PURE__ */ jsx17(SelectOption, { value: "andhra", children: "ANDHRA PRADESH" })
2423
+ /* @__PURE__ */ jsxs10("div", { className: "grid grid-cols-2 gap-4", children: [
2424
+ /* @__PURE__ */ jsxs10("div", { children: [
2425
+ /* @__PURE__ */ jsx24(Label, { children: "State *" }),
2426
+ /* @__PURE__ */ jsxs10(SelectNamespace, { children: [
2427
+ /* @__PURE__ */ jsx24(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx24(SelectValue, { placeholder: "Select state" }) }),
2428
+ /* @__PURE__ */ jsxs10(SelectContent, { children: [
2429
+ /* @__PURE__ */ jsx24(SelectItem, { value: "telangana", children: "TELANGANA" }),
2430
+ /* @__PURE__ */ jsx24(SelectItem, { value: "andhra", children: "ANDHRA PRADESH" })
2431
+ ] })
1235
2432
  ] })
1236
2433
  ] }),
1237
- /* @__PURE__ */ jsxs5("div", { children: [
1238
- /* @__PURE__ */ jsx17(Label, { htmlFor: "district", children: "District *" }),
1239
- /* @__PURE__ */ jsxs5(SelectNamespace, { id: "district", children: [
1240
- /* @__PURE__ */ jsx17(SelectOption, { value: "", children: "Select District" }),
1241
- /* @__PURE__ */ jsx17(SelectOption, { value: "hyderabad", children: "HYDERABAD" }),
1242
- /* @__PURE__ */ jsx17(SelectOption, { value: "rangareddy", children: "RANGAREDDY" })
2434
+ /* @__PURE__ */ jsxs10("div", { children: [
2435
+ /* @__PURE__ */ jsx24(Label, { children: "District *" }),
2436
+ /* @__PURE__ */ jsxs10(SelectNamespace, { children: [
2437
+ /* @__PURE__ */ jsx24(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx24(SelectValue, { placeholder: "Select District" }) }),
2438
+ /* @__PURE__ */ jsxs10(SelectContent, { children: [
2439
+ /* @__PURE__ */ jsx24(SelectItem, { value: "hyderabad", children: "HYDERABAD" }),
2440
+ /* @__PURE__ */ jsx24(SelectItem, { value: "rangareddy", children: "RANGAREDDY" })
2441
+ ] })
1243
2442
  ] })
1244
2443
  ] })
1245
2444
  ] })
1246
2445
  ] }),
1247
- /* @__PURE__ */ jsxs5(DialogFooter, { children: [
1248
- /* @__PURE__ */ jsx17(Button, { variant: "outline", onClick: () => setDialogOpen(false), children: "CANCEL" }),
1249
- /* @__PURE__ */ jsx17(Button, { onClick: () => setDialogOpen(false), children: "Create" })
2446
+ /* @__PURE__ */ jsxs10(DialogFooter, { children: [
2447
+ /* @__PURE__ */ jsx24(Button, { variant: "outline", onClick: () => setDialogOpen(false), children: "CANCEL" }),
2448
+ /* @__PURE__ */ jsx24(Button, { onClick: () => setDialogOpen(false), children: "Create" })
1250
2449
  ] })
1251
2450
  ] }) })
1252
2451
  ] }),
1253
- /* @__PURE__ */ jsx17(Section, { title: "Table", children: /* @__PURE__ */ jsxs5(TableNamespace, { children: [
1254
- /* @__PURE__ */ jsx17(TableCaption, { children: "A list of recent invoices" }),
1255
- /* @__PURE__ */ jsx17(TableHeader, { children: /* @__PURE__ */ jsxs5(TableRow, { children: [
1256
- /* @__PURE__ */ jsx17(TableHead, { children: "Invoice" }),
1257
- /* @__PURE__ */ jsx17(TableHead, { children: "Status" }),
1258
- /* @__PURE__ */ jsx17(TableHead, { children: "Method" }),
1259
- /* @__PURE__ */ jsx17(TableHead, { className: "text-right", children: "Amount" })
2452
+ /* @__PURE__ */ jsx24(Section, { title: "Table", children: /* @__PURE__ */ jsxs10(TableNamespace, { children: [
2453
+ /* @__PURE__ */ jsx24(TableCaption, { children: "A list of recent invoices" }),
2454
+ /* @__PURE__ */ jsx24(TableHeader, { children: /* @__PURE__ */ jsxs10(TableRow, { children: [
2455
+ /* @__PURE__ */ jsx24(TableHead, { children: "Invoice" }),
2456
+ /* @__PURE__ */ jsx24(TableHead, { children: "Status" }),
2457
+ /* @__PURE__ */ jsx24(TableHead, { children: "Method" }),
2458
+ /* @__PURE__ */ jsx24(TableHead, { className: "text-right", children: "Amount" })
1260
2459
  ] }) }),
1261
- /* @__PURE__ */ jsxs5(TableBody, { children: [
1262
- /* @__PURE__ */ jsxs5(TableRow, { children: [
1263
- /* @__PURE__ */ jsx17(TableCell, { children: "INV001" }),
1264
- /* @__PURE__ */ jsx17(TableCell, { children: /* @__PURE__ */ jsx17(Badge, { children: "Paid" }) }),
1265
- /* @__PURE__ */ jsx17(TableCell, { children: "Credit Card" }),
1266
- /* @__PURE__ */ jsx17(TableCell, { className: "text-right", children: "$250.00" })
2460
+ /* @__PURE__ */ jsxs10(TableBody, { children: [
2461
+ /* @__PURE__ */ jsxs10(TableRow, { children: [
2462
+ /* @__PURE__ */ jsx24(TableCell, { children: "INV001" }),
2463
+ /* @__PURE__ */ jsx24(TableCell, { children: /* @__PURE__ */ jsx24(Badge, { children: "Paid" }) }),
2464
+ /* @__PURE__ */ jsx24(TableCell, { children: "Credit Card" }),
2465
+ /* @__PURE__ */ jsx24(TableCell, { className: "text-right", children: "$250.00" })
1267
2466
  ] }),
1268
- /* @__PURE__ */ jsxs5(TableRow, { children: [
1269
- /* @__PURE__ */ jsx17(TableCell, { children: "INV002" }),
1270
- /* @__PURE__ */ jsx17(TableCell, { children: /* @__PURE__ */ jsx17(Badge, { variant: "secondary", children: "Pending" }) }),
1271
- /* @__PURE__ */ jsx17(TableCell, { children: "PayPal" }),
1272
- /* @__PURE__ */ jsx17(TableCell, { className: "text-right", children: "$150.00" })
2467
+ /* @__PURE__ */ jsxs10(TableRow, { children: [
2468
+ /* @__PURE__ */ jsx24(TableCell, { children: "INV002" }),
2469
+ /* @__PURE__ */ jsx24(TableCell, { children: /* @__PURE__ */ jsx24(Badge, { variant: "secondary", children: "Pending" }) }),
2470
+ /* @__PURE__ */ jsx24(TableCell, { children: "PayPal" }),
2471
+ /* @__PURE__ */ jsx24(TableCell, { className: "text-right", children: "$150.00" })
1273
2472
  ] }),
1274
- /* @__PURE__ */ jsxs5(TableRow, { children: [
1275
- /* @__PURE__ */ jsx17(TableCell, { children: "INV003" }),
1276
- /* @__PURE__ */ jsx17(TableCell, { children: /* @__PURE__ */ jsx17(Badge, { variant: "destructive", children: "Failed" }) }),
1277
- /* @__PURE__ */ jsx17(TableCell, { children: "Bank Transfer" }),
1278
- /* @__PURE__ */ jsx17(TableCell, { className: "text-right", children: "$350.00" })
2473
+ /* @__PURE__ */ jsxs10(TableRow, { children: [
2474
+ /* @__PURE__ */ jsx24(TableCell, { children: "INV003" }),
2475
+ /* @__PURE__ */ jsx24(TableCell, { children: /* @__PURE__ */ jsx24(Badge, { variant: "destructive", children: "Failed" }) }),
2476
+ /* @__PURE__ */ jsx24(TableCell, { children: "Bank Transfer" }),
2477
+ /* @__PURE__ */ jsx24(TableCell, { className: "text-right", children: "$350.00" })
1279
2478
  ] })
1280
2479
  ] })
1281
2480
  ] }) }),
1282
- /* @__PURE__ */ jsx17(Section, { title: "Pagination", children: /* @__PURE__ */ jsx17(PaginationNamespace, { children: /* @__PURE__ */ jsxs5(PaginationContent, { children: [
1283
- /* @__PURE__ */ jsx17(PaginationItem, { children: /* @__PURE__ */ jsx17(PaginationPrevious, { onClick: () => console.log("Previous") }) }),
1284
- /* @__PURE__ */ jsx17(PaginationItem, { children: /* @__PURE__ */ jsx17(PaginationLink, { isActive: true, children: "1" }) }),
1285
- /* @__PURE__ */ jsx17(PaginationItem, { children: /* @__PURE__ */ jsx17(PaginationLink, { children: "2" }) }),
1286
- /* @__PURE__ */ jsx17(PaginationItem, { children: /* @__PURE__ */ jsx17(PaginationLink, { children: "3" }) }),
1287
- /* @__PURE__ */ jsx17(PaginationItem, { children: /* @__PURE__ */ jsx17(PaginationEllipsis, {}) }),
1288
- /* @__PURE__ */ jsx17(PaginationItem, { children: /* @__PURE__ */ jsx17(PaginationNext, { onClick: () => console.log("Next") }) })
2481
+ /* @__PURE__ */ jsx24(Section, { title: "Pagination", children: /* @__PURE__ */ jsx24(PaginationNamespace, { children: /* @__PURE__ */ jsxs10(PaginationContent, { children: [
2482
+ /* @__PURE__ */ jsx24(PaginationItem, { children: /* @__PURE__ */ jsx24(PaginationPrevious, { onClick: () => console.log("Previous") }) }),
2483
+ /* @__PURE__ */ jsx24(PaginationItem, { children: /* @__PURE__ */ jsx24(PaginationLink, { isActive: true, children: "1" }) }),
2484
+ /* @__PURE__ */ jsx24(PaginationItem, { children: /* @__PURE__ */ jsx24(PaginationLink, { children: "2" }) }),
2485
+ /* @__PURE__ */ jsx24(PaginationItem, { children: /* @__PURE__ */ jsx24(PaginationLink, { children: "3" }) }),
2486
+ /* @__PURE__ */ jsx24(PaginationItem, { children: /* @__PURE__ */ jsx24(PaginationEllipsis, {}) }),
2487
+ /* @__PURE__ */ jsx24(PaginationItem, { children: /* @__PURE__ */ jsx24(PaginationNext, { onClick: () => console.log("Next") }) })
1289
2488
  ] }) }) }),
1290
- /* @__PURE__ */ jsx17(Section, { title: "Spinner", children: /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-8", children: [
1291
- /* @__PURE__ */ jsxs5("div", { className: "text-center", children: [
1292
- /* @__PURE__ */ jsx17(Spinner, { size: "sm" }),
1293
- /* @__PURE__ */ jsx17("p", { className: "text-sm text-muted-foreground mt-2", children: "Small" })
2489
+ /* @__PURE__ */ jsx24(Section, { title: "Spinner", children: /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-8", children: [
2490
+ /* @__PURE__ */ jsxs10("div", { className: "text-center", children: [
2491
+ /* @__PURE__ */ jsx24(Spinner, { size: "sm" }),
2492
+ /* @__PURE__ */ jsx24("p", { className: "text-sm text-muted-foreground mt-2", children: "Small" })
1294
2493
  ] }),
1295
- /* @__PURE__ */ jsxs5("div", { className: "text-center", children: [
1296
- /* @__PURE__ */ jsx17(Spinner, { size: "default" }),
1297
- /* @__PURE__ */ jsx17("p", { className: "text-sm text-muted-foreground mt-2", children: "Default" })
2494
+ /* @__PURE__ */ jsxs10("div", { className: "text-center", children: [
2495
+ /* @__PURE__ */ jsx24(Spinner, { size: "default" }),
2496
+ /* @__PURE__ */ jsx24("p", { className: "text-sm text-muted-foreground mt-2", children: "Default" })
1298
2497
  ] }),
1299
- /* @__PURE__ */ jsxs5("div", { className: "text-center", children: [
1300
- /* @__PURE__ */ jsx17(Spinner, { size: "lg" }),
1301
- /* @__PURE__ */ jsx17("p", { className: "text-sm text-muted-foreground mt-2", children: "Large" })
2498
+ /* @__PURE__ */ jsxs10("div", { className: "text-center", children: [
2499
+ /* @__PURE__ */ jsx24(Spinner, { size: "lg" }),
2500
+ /* @__PURE__ */ jsx24("p", { className: "text-sm text-muted-foreground mt-2", children: "Large" })
1302
2501
  ] })
1303
2502
  ] }) }),
1304
- /* @__PURE__ */ jsx17(Section, { title: "Separator", children: /* @__PURE__ */ jsxs5("div", { className: "space-y-4", children: [
1305
- /* @__PURE__ */ jsx17("p", { className: "text-foreground", children: "Content above separator" }),
1306
- /* @__PURE__ */ jsx17(Separator, {}),
1307
- /* @__PURE__ */ jsx17("p", { className: "text-foreground", children: "Content below separator" }),
1308
- /* @__PURE__ */ jsxs5("div", { className: "flex items-center h-10", children: [
1309
- /* @__PURE__ */ jsx17("span", { className: "text-foreground", children: "Left" }),
1310
- /* @__PURE__ */ jsx17(Separator, { orientation: "vertical", className: "mx-4" }),
1311
- /* @__PURE__ */ jsx17("span", { className: "text-foreground", children: "Right" })
2503
+ /* @__PURE__ */ jsx24(Section, { title: "Separator", children: /* @__PURE__ */ jsxs10("div", { className: "space-y-4", children: [
2504
+ /* @__PURE__ */ jsx24("p", { className: "text-foreground", children: "Content above separator" }),
2505
+ /* @__PURE__ */ jsx24(Separator, {}),
2506
+ /* @__PURE__ */ jsx24("p", { className: "text-foreground", children: "Content below separator" }),
2507
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center h-10", children: [
2508
+ /* @__PURE__ */ jsx24("span", { className: "text-foreground", children: "Left" }),
2509
+ /* @__PURE__ */ jsx24(Separator, { orientation: "vertical", className: "mx-4" }),
2510
+ /* @__PURE__ */ jsx24("span", { className: "text-foreground", children: "Right" })
1312
2511
  ] })
1313
2512
  ] }) }),
1314
- /* @__PURE__ */ jsx17(Section, { title: "Typography & Colors", children: /* @__PURE__ */ jsxs5("div", { className: "space-y-2", children: [
1315
- /* @__PURE__ */ jsx17("p", { className: "text-foreground", children: "text-foreground - Primary text color" }),
1316
- /* @__PURE__ */ jsx17("p", { className: "text-muted-foreground", children: "text-muted-foreground - Muted text color" }),
1317
- /* @__PURE__ */ jsx17("p", { className: "text-accent", children: "text-accent - Accent color" }),
1318
- /* @__PURE__ */ jsx17("p", { className: "text-destructive", children: "text-destructive - Destructive color" })
2513
+ /* @__PURE__ */ jsx24(Section, { title: "Typography & Colors", children: /* @__PURE__ */ jsxs10("div", { className: "space-y-2", children: [
2514
+ /* @__PURE__ */ jsx24("p", { className: "text-foreground", children: "text-foreground - Primary text color" }),
2515
+ /* @__PURE__ */ jsx24("p", { className: "text-muted-foreground", children: "text-muted-foreground - Muted text color" }),
2516
+ /* @__PURE__ */ jsx24("p", { className: "text-accent", children: "text-accent - Accent color" }),
2517
+ /* @__PURE__ */ jsx24("p", { className: "text-destructive", children: "text-destructive - Destructive color" })
1319
2518
  ] }) })
1320
2519
  ] }) });
1321
2520
  };
1322
- var Playground = () => /* @__PURE__ */ jsx17(ThemeProvider, { defaultTheme: "light", children: /* @__PURE__ */ jsx17(PlaygroundContent, {}) });
2521
+ var Playground = () => /* @__PURE__ */ jsx24(ThemeProvider, { defaultTheme: "light", children: /* @__PURE__ */ jsx24(PlaygroundContent, {}) });
1323
2522
  export {
1324
2523
  Badge,
2524
+ Box,
1325
2525
  Button,
2526
+ Caption,
1326
2527
  Card,
1327
2528
  CardContent,
1328
2529
  CardDescription,
@@ -1332,13 +2533,31 @@ export {
1332
2533
  Checkbox,
1333
2534
  Combobox,
1334
2535
  DialogNamespace as Dialog,
2536
+ DialogClose,
1335
2537
  DialogContent,
1336
2538
  DialogDescription,
1337
2539
  DialogFooter,
1338
2540
  DialogHeader,
2541
+ DialogOverlay,
2542
+ DialogPortal,
1339
2543
  DialogTitle,
2544
+ DialogTrigger,
2545
+ FormControl,
2546
+ FormGroup,
2547
+ FormHelperText,
2548
+ FormLabel,
2549
+ Grid,
2550
+ H1,
2551
+ H2,
2552
+ H3,
2553
+ H4,
2554
+ H5,
2555
+ H6,
2556
+ HStack,
1340
2557
  Input,
1341
2558
  Label,
2559
+ NativeSelect,
2560
+ NativeSelectOption,
1342
2561
  PaginationNamespace as Pagination,
1343
2562
  PaginationContent,
1344
2563
  PaginationEllipsis,
@@ -1347,11 +2566,22 @@ export {
1347
2566
  PaginationNext,
1348
2567
  PaginationPrevious,
1349
2568
  Playground,
2569
+ Radio,
2570
+ RadioGroup,
2571
+ RadioGroupItem,
1350
2572
  SelectNamespace as Select,
2573
+ SelectContent,
1351
2574
  SelectGroup,
1352
- SelectOption,
2575
+ SelectItem,
2576
+ SelectLabel,
2577
+ SelectScrollDownButton,
2578
+ SelectScrollUpButton,
2579
+ SelectSeparator,
2580
+ SelectTrigger,
2581
+ SelectValue,
1353
2582
  Separator,
1354
2583
  Spinner,
2584
+ Stack,
1355
2585
  Switch,
1356
2586
  TableNamespace as Table,
1357
2587
  TableBody,
@@ -1361,10 +2591,15 @@ export {
1361
2591
  TableHead,
1362
2592
  TableHeader,
1363
2593
  TableRow,
2594
+ Text,
2595
+ TextField,
1364
2596
  Textarea,
1365
2597
  ThemeContext,
1366
2598
  ThemeProvider,
2599
+ Typography,
2600
+ VStack,
1367
2601
  cn,
2602
+ useFormControl,
1368
2603
  useTheme
1369
2604
  };
1370
2605
  //# sourceMappingURL=index.js.map