@onesaz/ui 0.4.0 → 0.4.2

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
@@ -737,10 +737,10 @@ var colorClasses2 = {
737
737
  inherit: "",
738
738
  primary: "text-accent",
739
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",
740
+ success: "text-success-600 dark:text-success-400",
741
+ warning: "text-warning-600 dark:text-warning-400",
742
+ error: "text-error-600 dark:text-error-400",
743
+ info: "text-info-600 dark:text-info-400",
744
744
  muted: "text-muted-foreground",
745
745
  white: "text-white",
746
746
  dark: "text-foreground"
@@ -771,13 +771,13 @@ var verticalAlignClasses = {
771
771
  baseline: "align-baseline"
772
772
  };
773
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"
774
+ primary: "from-violet-400 to-violet-700",
775
+ secondary: "from-slate-400 to-slate-700",
776
+ info: "from-info-400 to-info-700",
777
+ success: "from-success-400 to-success-700",
778
+ warning: "from-warning-400 to-warning-700",
779
+ error: "from-error-400 to-error-700",
780
+ dark: "from-slate-600 to-slate-900"
781
781
  };
782
782
  var Typography = React5.forwardRef(
783
783
  ({
@@ -1834,8 +1834,34 @@ CardFooter.displayName = "CardFooter";
1834
1834
  // src/components/badge.tsx
1835
1835
  import * as React19 from "react";
1836
1836
  import { jsx as jsx19 } from "react/jsx-runtime";
1837
+ var containedClasses = {
1838
+ default: "bg-accent text-accent-foreground",
1839
+ success: "bg-success-500 text-white dark:bg-success-600",
1840
+ warning: "bg-warning-500 text-white dark:bg-warning-600",
1841
+ error: "bg-error-500 text-white dark:bg-error-600",
1842
+ destructive: "bg-destructive text-destructive-foreground"
1843
+ };
1844
+ var outlinedClasses = {
1845
+ default: "border border-accent text-accent",
1846
+ success: "border border-success-500 text-success-600 dark:text-success-400",
1847
+ warning: "border border-warning-500 text-warning-600 dark:text-warning-400",
1848
+ error: "border border-error-500 text-error-600 dark:text-error-400",
1849
+ destructive: "border border-destructive text-destructive"
1850
+ };
1851
+ var textClasses = {
1852
+ default: "text-accent",
1853
+ success: "text-success-600 dark:text-success-400",
1854
+ warning: "text-warning-600 dark:text-warning-400",
1855
+ error: "text-error-600 dark:text-error-400",
1856
+ destructive: "text-destructive"
1857
+ };
1858
+ var variantMap = {
1859
+ contained: containedClasses,
1860
+ outlined: outlinedClasses,
1861
+ text: textClasses
1862
+ };
1837
1863
  var Badge = React19.forwardRef(
1838
- ({ className, variant = "default", ...props }, ref) => {
1864
+ ({ className, color = "default", variant = "contained", ...props }, ref) => {
1839
1865
  return /* @__PURE__ */ jsx19(
1840
1866
  "div",
1841
1867
  {
@@ -1843,15 +1869,7 @@ var Badge = React19.forwardRef(
1843
1869
  className: cn(
1844
1870
  "inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors",
1845
1871
  "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
1846
- {
1847
- "border-transparent bg-accent text-accent-foreground": variant === "default",
1848
- "border-transparent bg-muted text-foreground": variant === "secondary",
1849
- "border-transparent bg-destructive text-destructive-foreground": variant === "destructive",
1850
- "border border-border text-foreground": variant === "outline",
1851
- "border border-green-300 bg-green-100 text-green-800": variant === "success",
1852
- "border border-yellow-300 bg-yellow-100 text-yellow-800": variant === "warning",
1853
- "border border-blue-300 bg-blue-100 text-blue-800": variant === "info"
1854
- },
1872
+ (variantMap[variant] ?? variantMap.contained)[color] ?? "",
1855
1873
  className
1856
1874
  ),
1857
1875
  ...props
@@ -1864,28 +1882,51 @@ Badge.displayName = "Badge";
1864
1882
  // src/components/chip.tsx
1865
1883
  import * as React20 from "react";
1866
1884
  import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
1867
- var filledColorClasses = {
1868
- default: "bg-muted text-foreground",
1869
- primary: "bg-accent text-accent-foreground",
1870
- secondary: "bg-muted text-muted-foreground",
1871
- success: "bg-green-100 text-green-800",
1872
- warning: "bg-yellow-100 text-yellow-800",
1873
- error: "bg-red-100 text-red-800",
1874
- info: "bg-blue-100 text-blue-800"
1885
+ var filledClasses = {
1886
+ default: "bg-accent text-accent-foreground",
1887
+ success: "bg-success-500 text-white dark:bg-success-600",
1888
+ warning: "bg-warning-500 text-white dark:bg-warning-600",
1889
+ error: "bg-error-500 text-white dark:bg-error-600",
1890
+ destructive: "bg-destructive text-destructive-foreground"
1891
+ };
1892
+ var filledHoverClasses = {
1893
+ default: "hover:bg-accent-hover",
1894
+ success: "hover:bg-success-600 dark:hover:bg-success-500",
1895
+ warning: "hover:bg-warning-600 dark:hover:bg-warning-500",
1896
+ error: "hover:bg-error-600 dark:hover:bg-error-500",
1897
+ destructive: "hover:bg-destructive/90"
1898
+ };
1899
+ var outlinedClasses2 = {
1900
+ default: "border-accent text-accent",
1901
+ success: "border-success-500 text-success-600 dark:border-success-400 dark:text-success-400",
1902
+ warning: "border-warning-500 text-warning-600 dark:border-warning-400 dark:text-warning-400",
1903
+ error: "border-error-500 text-error-600 dark:border-error-400 dark:text-error-400",
1904
+ destructive: "border-destructive text-destructive"
1875
1905
  };
1876
- var outlinedColorClasses = {
1877
- default: "border-border text-foreground",
1878
- primary: "border-accent text-accent",
1879
- secondary: "border-muted-foreground text-muted-foreground",
1880
- success: "border-green-500 text-green-700",
1881
- warning: "border-yellow-500 text-yellow-700",
1882
- error: "border-red-500 text-red-700",
1883
- info: "border-blue-500 text-blue-700"
1906
+ var outlinedHoverClasses = {
1907
+ default: "hover:bg-accent/10",
1908
+ success: "hover:bg-success-500/10",
1909
+ warning: "hover:bg-warning-500/10",
1910
+ error: "hover:bg-error-500/10",
1911
+ destructive: "hover:bg-destructive/10"
1884
1912
  };
1885
1913
  var sizeClasses3 = {
1886
- small: "h-6 text-xs px-2",
1887
- medium: "h-8 text-sm px-3"
1914
+ small: "h-6 text-xs px-2 gap-1",
1915
+ medium: "h-8 text-sm px-3 gap-1.5"
1888
1916
  };
1917
+ var iconSizeClasses = {
1918
+ small: "[&>svg]:h-3 [&>svg]:w-3",
1919
+ medium: "[&>svg]:h-4 [&>svg]:w-4"
1920
+ };
1921
+ var avatarSizeClasses = {
1922
+ small: "[&>*]:h-4 [&>*]:w-4",
1923
+ medium: "[&>*]:h-5 [&>*]:w-5"
1924
+ };
1925
+ var deleteBtnSizeClasses = {
1926
+ small: "h-3.5 w-3.5",
1927
+ medium: "h-4 w-4"
1928
+ };
1929
+ var DefaultDeleteIcon = ({ size }) => /* @__PURE__ */ jsx20("svg", { viewBox: "0 0 20 20", fill: "currentColor", className: deleteBtnSizeClasses[size], children: /* @__PURE__ */ jsx20("path", { d: "M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z" }) });
1889
1930
  var Chip = React20.forwardRef(
1890
1931
  ({
1891
1932
  className,
@@ -1899,58 +1940,74 @@ var Chip = React20.forwardRef(
1899
1940
  deleteIcon,
1900
1941
  clickable = false,
1901
1942
  disabled = false,
1943
+ href,
1944
+ component,
1902
1945
  children,
1903
1946
  onClick,
1947
+ onKeyDown,
1904
1948
  ...props
1905
1949
  }, ref) => {
1906
- const isClickable = clickable || !!onClick;
1907
1950
  const content = label ?? children;
1951
+ const isClickable = clickable || !!onClick || !!href;
1952
+ const Component = component ?? (href ? "a" : "div");
1953
+ const colorClass = variant === "filled" ? filledClasses[color] ?? filledClasses.default : outlinedClasses2[color] ?? outlinedClasses2.default;
1954
+ const hoverClass = isClickable && !disabled ? variant === "filled" ? filledHoverClasses[color] ?? filledHoverClasses.default : outlinedHoverClasses[color] ?? outlinedHoverClasses.default : "";
1955
+ const handleKeyDown = (e) => {
1956
+ if (!disabled) {
1957
+ if (isClickable && (e.key === "Enter" || e.key === " ")) {
1958
+ e.preventDefault();
1959
+ e.currentTarget.click();
1960
+ }
1961
+ if (onDelete && (e.key === "Delete" || e.key === "Backspace")) {
1962
+ e.preventDefault();
1963
+ onDelete(e);
1964
+ }
1965
+ }
1966
+ onKeyDown?.(e);
1967
+ };
1908
1968
  return /* @__PURE__ */ jsxs9(
1909
- "div",
1969
+ Component,
1910
1970
  {
1911
1971
  ref,
1972
+ href,
1912
1973
  role: isClickable ? "button" : void 0,
1913
- tabIndex: isClickable && !disabled ? 0 : void 0,
1974
+ tabIndex: isClickable && !disabled ? 0 : onDelete && !disabled ? 0 : void 0,
1975
+ "aria-disabled": disabled || void 0,
1914
1976
  onClick: disabled ? void 0 : onClick,
1977
+ onKeyDown: handleKeyDown,
1915
1978
  className: cn(
1916
- "inline-flex items-center rounded-full font-medium transition-colors",
1917
- "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1",
1979
+ "inline-flex items-center rounded-full font-medium transition-colors select-none",
1980
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1",
1918
1981
  sizeClasses3[size],
1919
- variant === "filled" ? filledColorClasses[color] : cn("border bg-transparent", outlinedColorClasses[color]),
1920
- isClickable && !disabled && "cursor-pointer hover:opacity-80",
1982
+ variant === "outlined" && "border bg-transparent",
1983
+ colorClass,
1984
+ hoverClass,
1985
+ isClickable && !disabled ? "cursor-pointer" : "cursor-default",
1921
1986
  disabled && "pointer-events-none opacity-50",
1922
1987
  className
1923
1988
  ),
1924
1989
  ...props,
1925
1990
  children: [
1926
- avatar && /* @__PURE__ */ jsx20("span", { className: "mr-1 -ml-1 flex items-center justify-center [&>*]:h-5 [&>*]:w-5 [&>*]:rounded-full", children: avatar }),
1927
- !avatar && icon && /* @__PURE__ */ jsx20("span", { className: "mr-1 -ml-0.5 flex items-center justify-center [&>svg]:h-4 [&>svg]:w-4", children: icon }),
1991
+ avatar && /* @__PURE__ */ jsx20("span", { className: cn("-ml-1 flex shrink-0 items-center justify-center [&>*]:rounded-full", avatarSizeClasses[size]), children: avatar }),
1992
+ !avatar && icon && /* @__PURE__ */ jsx20("span", { className: cn("-ml-0.5 flex shrink-0 items-center justify-center", iconSizeClasses[size]), children: icon }),
1928
1993
  /* @__PURE__ */ jsx20("span", { className: "truncate", children: content }),
1929
1994
  onDelete && /* @__PURE__ */ jsx20(
1930
1995
  "button",
1931
1996
  {
1932
1997
  type: "button",
1998
+ tabIndex: -1,
1933
1999
  onClick: (e) => {
1934
2000
  e.stopPropagation();
1935
2001
  if (!disabled) onDelete(e);
1936
2002
  },
1937
2003
  className: cn(
1938
- "ml-1 -mr-1 flex items-center justify-center rounded-full",
1939
- "h-4 w-4 hover:bg-black/10 focus:outline-none",
2004
+ "-mr-1 flex shrink-0 items-center justify-center rounded-full",
2005
+ "opacity-60 hover:opacity-100 focus:outline-none transition-opacity",
1940
2006
  disabled && "pointer-events-none"
1941
2007
  ),
1942
2008
  disabled,
1943
2009
  "aria-label": "Remove",
1944
- children: deleteIcon ?? /* @__PURE__ */ jsx20(
1945
- "svg",
1946
- {
1947
- xmlns: "http://www.w3.org/2000/svg",
1948
- viewBox: "0 0 20 20",
1949
- fill: "currentColor",
1950
- className: "h-3 w-3",
1951
- children: /* @__PURE__ */ jsx20("path", { d: "M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z" })
1952
- }
1953
- )
2010
+ children: deleteIcon ?? /* @__PURE__ */ jsx20(DefaultDeleteIcon, { size })
1954
2011
  }
1955
2012
  )
1956
2013
  ]
@@ -2399,20 +2456,20 @@ var variantStyles = {
2399
2456
  border: ""
2400
2457
  },
2401
2458
  destructive: {
2402
- icon: "text-red-500",
2403
- border: "border-l-4 border-l-red-500"
2459
+ icon: "text-error-500",
2460
+ border: "border-l-4 border-l-error-500"
2404
2461
  },
2405
2462
  success: {
2406
- icon: "text-green-500",
2407
- border: "border-l-4 border-l-green-500"
2463
+ icon: "text-success-500",
2464
+ border: "border-l-4 border-l-success-500"
2408
2465
  },
2409
2466
  warning: {
2410
- icon: "text-yellow-500",
2411
- border: "border-l-4 border-l-yellow-500"
2467
+ icon: "text-warning-500",
2468
+ border: "border-l-4 border-l-warning-500"
2412
2469
  },
2413
2470
  info: {
2414
- icon: "text-blue-500",
2415
- border: "border-l-4 border-l-blue-500"
2471
+ icon: "text-info-500",
2472
+ border: "border-l-4 border-l-info-500"
2416
2473
  }
2417
2474
  };
2418
2475
  var VariantIcons = {
@@ -2578,217 +2635,170 @@ Spinner.displayName = "Spinner";
2578
2635
  // src/components/alert.tsx
2579
2636
  import * as React27 from "react";
2580
2637
  import { jsx as jsx27, jsxs as jsxs14 } from "react/jsx-runtime";
2581
- var variants = {
2638
+ var variantConfig = {
2582
2639
  default: {
2583
- iconBg: "bg-zinc-900",
2584
- progress: "bg-zinc-900",
2585
- textColor: "text-zinc-900"
2586
- },
2587
- info: {
2588
- iconBg: "bg-blue-600",
2589
- progress: "bg-blue-600",
2590
- textColor: "text-blue-600"
2640
+ root: "bg-accent/10",
2641
+ strip: "bg-accent",
2642
+ iconColor: "text-accent"
2591
2643
  },
2592
2644
  success: {
2593
- iconBg: "bg-emerald-600",
2594
- progress: "bg-emerald-600",
2595
- textColor: "text-emerald-600"
2645
+ root: "bg-success-50",
2646
+ strip: "bg-success-500",
2647
+ iconColor: "text-success-600"
2596
2648
  },
2597
2649
  warning: {
2598
- iconBg: "bg-amber-500",
2599
- progress: "bg-amber-500",
2600
- textColor: "text-amber-500"
2650
+ root: "bg-warning-50",
2651
+ strip: "bg-warning-500",
2652
+ iconColor: "text-warning-600"
2601
2653
  },
2602
2654
  error: {
2603
- iconBg: "bg-rose-600",
2604
- progress: "bg-rose-600",
2605
- textColor: "text-rose-600"
2606
- },
2607
- destructive: {
2608
- iconBg: "bg-rose-700",
2609
- progress: "bg-rose-700",
2610
- textColor: "text-rose-700"
2655
+ root: "bg-error-50",
2656
+ strip: "bg-error-500",
2657
+ iconColor: "text-error-600"
2611
2658
  }
2612
2659
  };
2613
- var CheckIcon2 = ({ className }) => /* @__PURE__ */ jsx27(
2660
+ var InfoIcon = () => /* @__PURE__ */ jsxs14(
2614
2661
  "svg",
2615
2662
  {
2616
- className,
2617
2663
  viewBox: "0 0 24 24",
2618
2664
  fill: "none",
2619
2665
  stroke: "currentColor",
2620
2666
  strokeWidth: "2",
2621
- children: /* @__PURE__ */ jsx27("path", { d: "m5 13 4 4L19 7" })
2667
+ strokeLinecap: "round",
2668
+ strokeLinejoin: "round",
2669
+ className: "h-4 w-4 shrink-0 mt-px",
2670
+ children: [
2671
+ /* @__PURE__ */ jsx27("circle", { cx: "12", cy: "12", r: "10" }),
2672
+ /* @__PURE__ */ jsx27("path", { d: "M12 16v-4M12 8h.01" })
2673
+ ]
2622
2674
  }
2623
2675
  );
2624
- var InfoIcon = ({ className }) => /* @__PURE__ */ jsxs14(
2676
+ var CheckIcon2 = () => /* @__PURE__ */ jsxs14(
2625
2677
  "svg",
2626
2678
  {
2627
- className,
2628
2679
  viewBox: "0 0 24 24",
2629
2680
  fill: "none",
2630
2681
  stroke: "currentColor",
2631
2682
  strokeWidth: "2",
2683
+ strokeLinecap: "round",
2684
+ strokeLinejoin: "round",
2685
+ className: "h-4 w-4 shrink-0 mt-px",
2632
2686
  children: [
2633
- /* @__PURE__ */ jsx27("circle", { cx: "12", cy: "12", r: "10" }),
2634
- /* @__PURE__ */ jsx27("path", { d: "M12 16v-4M12 8h.01" })
2687
+ /* @__PURE__ */ jsx27("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }),
2688
+ /* @__PURE__ */ jsx27("path", { d: "m9 11 3 3L22 4" })
2635
2689
  ]
2636
2690
  }
2637
2691
  );
2638
- var WarningIcon = ({ className }) => /* @__PURE__ */ jsxs14(
2692
+ var WarningIcon = () => /* @__PURE__ */ jsxs14(
2639
2693
  "svg",
2640
2694
  {
2641
- className,
2642
2695
  viewBox: "0 0 24 24",
2643
2696
  fill: "none",
2644
2697
  stroke: "currentColor",
2645
2698
  strokeWidth: "2",
2699
+ strokeLinecap: "round",
2700
+ strokeLinejoin: "round",
2701
+ className: "h-4 w-4 shrink-0 mt-px",
2646
2702
  children: [
2647
2703
  /* @__PURE__ */ jsx27("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z" }),
2648
2704
  /* @__PURE__ */ jsx27("path", { d: "M12 9v4M12 17h.01" })
2649
2705
  ]
2650
2706
  }
2651
2707
  );
2652
- var XCircleIcon = ({ className }) => /* @__PURE__ */ jsxs14(
2708
+ var ErrorIcon = () => /* @__PURE__ */ jsxs14(
2653
2709
  "svg",
2654
2710
  {
2655
- className,
2656
2711
  viewBox: "0 0 24 24",
2657
2712
  fill: "none",
2658
2713
  stroke: "currentColor",
2659
2714
  strokeWidth: "2",
2715
+ strokeLinecap: "round",
2716
+ strokeLinejoin: "round",
2717
+ className: "h-4 w-4 shrink-0 mt-px",
2660
2718
  children: [
2661
2719
  /* @__PURE__ */ jsx27("circle", { cx: "12", cy: "12", r: "10" }),
2662
2720
  /* @__PURE__ */ jsx27("path", { d: "m15 9-6 6M9 9l6 6" })
2663
2721
  ]
2664
2722
  }
2665
2723
  );
2666
- var CloseIcon = ({ className }) => /* @__PURE__ */ jsx27(
2724
+ var CloseIcon = () => /* @__PURE__ */ jsx27(
2667
2725
  "svg",
2668
2726
  {
2669
- className,
2670
2727
  viewBox: "0 0 24 24",
2671
2728
  fill: "none",
2672
2729
  stroke: "currentColor",
2673
2730
  strokeWidth: "2",
2731
+ strokeLinecap: "round",
2732
+ strokeLinejoin: "round",
2733
+ className: "h-3.5 w-3.5",
2674
2734
  children: /* @__PURE__ */ jsx27("path", { d: "M18 6 6 18M6 6l12 12" })
2675
2735
  }
2676
2736
  );
2677
- var iconMap = {
2678
- default: InfoIcon,
2679
- info: InfoIcon,
2680
- success: CheckIcon2,
2681
- warning: WarningIcon,
2682
- error: XCircleIcon,
2683
- destructive: XCircleIcon
2737
+ var defaultIcons = {
2738
+ default: /* @__PURE__ */ jsx27(InfoIcon, {}),
2739
+ success: /* @__PURE__ */ jsx27(CheckIcon2, {}),
2740
+ warning: /* @__PURE__ */ jsx27(WarningIcon, {}),
2741
+ error: /* @__PURE__ */ jsx27(ErrorIcon, {})
2684
2742
  };
2685
- var Alert = ({
2686
- variant = "default",
2687
- duration = 1e14,
2688
- // default 4000ms
2689
- onClose,
2690
- className,
2691
- children,
2692
- ...props
2693
- }) => {
2694
- const [visible, setVisible] = React27.useState(true);
2695
- const [progress, setProgress] = React27.useState(100);
2696
- const styles = variants[variant];
2697
- const Icon2 = iconMap[variant];
2698
- const hasDescription = React27.Children.toArray(children).some(
2699
- (child) => React27.isValidElement(child) && child.type === AlertDescription
2700
- );
2701
- React27.useEffect(() => {
2702
- if (duration === null) return;
2703
- const start = Date.now();
2704
- const interval = setInterval(() => {
2705
- const elapsed = Date.now() - start;
2706
- const percent = 100 - elapsed / duration * 100;
2707
- setProgress(percent);
2708
- if (elapsed >= duration) {
2709
- clearInterval(interval);
2710
- handleClose();
2743
+ var Alert = React27.forwardRef(
2744
+ ({ className, variant = "default", onClose, icon, children, ...props }, ref) => {
2745
+ const cfg = variantConfig[variant];
2746
+ const resolvedIcon = icon === null ? null : icon ?? defaultIcons[variant];
2747
+ return /* @__PURE__ */ jsxs14(
2748
+ "div",
2749
+ {
2750
+ ref,
2751
+ role: "alert",
2752
+ className: cn(
2753
+ "relative flex gap-3 rounded-lg border border-border pl-5 pr-4 py-3 text-sm overflow-hidden",
2754
+ cfg.root,
2755
+ className
2756
+ ),
2757
+ ...props,
2758
+ children: [
2759
+ /* @__PURE__ */ jsx27("div", { className: cn("absolute left-0 top-0 bottom-0 w-1", cfg.strip) }),
2760
+ resolvedIcon && /* @__PURE__ */ jsx27("span", { className: cn("mt-0.5", cfg.iconColor), children: resolvedIcon }),
2761
+ /* @__PURE__ */ jsx27("div", { className: "flex-1 min-w-0", children }),
2762
+ onClose && /* @__PURE__ */ jsx27(
2763
+ "button",
2764
+ {
2765
+ type: "button",
2766
+ onClick: onClose,
2767
+ "aria-label": "Dismiss",
2768
+ className: "shrink-0 self-start mt-0.5 rounded text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
2769
+ children: /* @__PURE__ */ jsx27(CloseIcon, {})
2770
+ }
2771
+ )
2772
+ ]
2711
2773
  }
2712
- }, 16);
2713
- return () => clearInterval(interval);
2714
- }, [duration]);
2715
- const handleClose = () => {
2716
- setVisible(false);
2717
- onClose?.();
2718
- };
2719
- if (!visible) return null;
2720
- return /* @__PURE__ */ jsxs14(
2721
- "div",
2774
+ );
2775
+ }
2776
+ );
2777
+ Alert.displayName = "Alert";
2778
+ var AlertTitle = React27.forwardRef(
2779
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx27(
2780
+ "h5",
2722
2781
  {
2723
- role: "alert",
2724
- className: cn(
2725
- "relative w-[380px] rounded-xl bg-background border border-border shadow-lg p-4 flex gap-4 items-start overflow-hidden",
2726
- className
2727
- ),
2782
+ ref,
2783
+ className: cn("font-semibold leading-snug text-foreground", className),
2728
2784
  ...props,
2729
- children: [
2730
- /* @__PURE__ */ jsx27(
2731
- "div",
2732
- {
2733
- className: cn(
2734
- "flex items-center justify-center h-10 w-10 rounded-full text-white shrink-0",
2735
- styles.iconBg
2736
- ),
2737
- children: /* @__PURE__ */ jsx27(Icon2, { className: "h-5 w-5" })
2738
- }
2739
- ),
2740
- /* @__PURE__ */ jsx27("div", { className: cn("flex-1", !hasDescription && "flex items-center mt-2"), children: React27.Children.map(children, (child) => {
2741
- if (React27.isValidElement(child) && child.type === AlertTitle) {
2742
- return React27.cloneElement(child, {
2743
- hasDescription,
2744
- variant
2745
- });
2746
- }
2747
- return child;
2748
- }) }),
2749
- /* @__PURE__ */ jsx27(
2750
- "button",
2751
- {
2752
- onClick: handleClose,
2753
- className: "absolute top-3 right-3 text-muted-foreground hover:text-foreground transition",
2754
- children: /* @__PURE__ */ jsx27(CloseIcon, { className: "h-4 w-4" })
2755
- }
2756
- ),
2757
- duration !== null && /* @__PURE__ */ jsx27("div", { className: "absolute bottom-0 left-0 h-1 w-full bg-muted", children: /* @__PURE__ */ jsx27(
2758
- "div",
2759
- {
2760
- className: cn("h-full transition-all", styles.progress),
2761
- style: { width: `${progress}%` }
2762
- }
2763
- ) })
2764
- ]
2785
+ children
2765
2786
  }
2766
- );
2767
- };
2768
- var AlertTitle = ({
2769
- className,
2770
- children,
2771
- hasDescription = true,
2772
- variant = "default",
2773
- ...props
2774
- }) => {
2775
- const styles = variants[variant];
2776
- return /* @__PURE__ */ jsx27(
2777
- "h4",
2787
+ )
2788
+ );
2789
+ AlertTitle.displayName = "AlertTitle";
2790
+ var AlertDescription = React27.forwardRef(
2791
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx27(
2792
+ "p",
2778
2793
  {
2779
- className: cn("font-semibold text-sm", styles.textColor, className),
2794
+ ref,
2795
+ className: cn("text-sm text-muted-foreground mt-0.5 leading-relaxed", className),
2780
2796
  ...props,
2781
2797
  children
2782
2798
  }
2783
- );
2784
- };
2785
- var AlertDescription = ({
2786
- className,
2787
- children,
2788
- ...props
2789
- }) => {
2790
- return /* @__PURE__ */ jsx27("p", { className: cn("text-sm text-muted-foreground mt-1", className), ...props, children });
2791
- };
2799
+ )
2800
+ );
2801
+ AlertDescription.displayName = "AlertDescription";
2792
2802
 
2793
2803
  // src/components/tabs.tsx
2794
2804
  import * as React28 from "react";
@@ -3053,11 +3063,11 @@ var linearSizeClasses = {
3053
3063
  lg: "h-3"
3054
3064
  };
3055
3065
  var variantClasses2 = {
3056
- default: "bg-primary-500",
3057
- success: "bg-green-500",
3058
- warning: "bg-yellow-500",
3059
- error: "bg-red-500",
3060
- info: "bg-blue-500"
3066
+ default: "bg-accent",
3067
+ success: "bg-success-500",
3068
+ warning: "bg-warning-500",
3069
+ error: "bg-error-500",
3070
+ info: "bg-info-500"
3061
3071
  };
3062
3072
  var LinearProgress = React30.forwardRef(
3063
3073
  ({
@@ -3109,11 +3119,11 @@ var circularSizeValues = {
3109
3119
  xl: 72
3110
3120
  };
3111
3121
  var strokeColors = {
3112
- default: "stroke-primary-500",
3113
- success: "stroke-green-500",
3114
- warning: "stroke-yellow-500",
3115
- error: "stroke-red-500",
3116
- info: "stroke-blue-500"
3122
+ default: "stroke-accent",
3123
+ success: "stroke-success-500",
3124
+ warning: "stroke-warning-500",
3125
+ error: "stroke-error-500",
3126
+ info: "stroke-info-500"
3117
3127
  };
3118
3128
  var CircularProgress = React30.forwardRef(
3119
3129
  ({
@@ -6118,10 +6128,10 @@ var colorStyles = {
6118
6128
  default: "text-foreground",
6119
6129
  muted: "text-muted-foreground",
6120
6130
  primary: "text-primary",
6121
- success: "text-green-600 dark:text-green-400",
6122
- warning: "text-yellow-600 dark:text-yellow-400",
6123
- error: "text-destructive",
6124
- info: "text-blue-600 dark:text-blue-400"
6131
+ success: "text-success-600 dark:text-success-400",
6132
+ warning: "text-warning-600 dark:text-warning-400",
6133
+ error: "text-error-600 dark:text-error-400",
6134
+ info: "text-info-600 dark:text-info-400"
6125
6135
  };
6126
6136
  var DataListLabel = React38.forwardRef(
6127
6137
  ({
@@ -7767,15 +7777,327 @@ var DropdownMenuShortcut = ({
7767
7777
  };
7768
7778
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
7769
7779
 
7770
- // src/components/drawer.tsx
7780
+ // src/components/backdrop.tsx
7771
7781
  import * as React43 from "react";
7782
+ import { createPortal } from "react-dom";
7783
+ import { jsx as jsx43 } from "react/jsx-runtime";
7784
+ var Backdrop = React43.forwardRef(
7785
+ ({
7786
+ open,
7787
+ invisible = false,
7788
+ transitionDuration = 225,
7789
+ keepMounted = false,
7790
+ disablePortal = false,
7791
+ disableScrollLock = false,
7792
+ className,
7793
+ children,
7794
+ onClick,
7795
+ ...props
7796
+ }, ref) => {
7797
+ const [mounted, setMounted] = React43.useState(open);
7798
+ const [visible, setVisible] = React43.useState(false);
7799
+ React43.useEffect(() => {
7800
+ if (open) {
7801
+ setMounted(true);
7802
+ const raf = requestAnimationFrame(() => setVisible(true));
7803
+ return () => cancelAnimationFrame(raf);
7804
+ } else {
7805
+ setVisible(false);
7806
+ if (!keepMounted) {
7807
+ const t = setTimeout(() => setMounted(false), transitionDuration);
7808
+ return () => clearTimeout(t);
7809
+ }
7810
+ }
7811
+ }, [open, keepMounted, transitionDuration]);
7812
+ React43.useEffect(() => {
7813
+ if (disableScrollLock) return;
7814
+ if (open) {
7815
+ const prev = document.body.style.overflow;
7816
+ document.body.style.overflow = "hidden";
7817
+ return () => {
7818
+ document.body.style.overflow = prev;
7819
+ };
7820
+ }
7821
+ }, [open, disableScrollLock]);
7822
+ if (!mounted) return null;
7823
+ const node = /* @__PURE__ */ jsx43(
7824
+ "div",
7825
+ {
7826
+ ref,
7827
+ "aria-hidden": "true",
7828
+ onClick,
7829
+ style: { transitionDuration: `${transitionDuration}ms` },
7830
+ className: cn(
7831
+ "fixed inset-0 z-50 flex items-center justify-center transition-opacity",
7832
+ invisible ? "bg-transparent" : "bg-black/50",
7833
+ visible ? "opacity-100" : "opacity-0",
7834
+ !visible && "pointer-events-none",
7835
+ className
7836
+ ),
7837
+ ...props,
7838
+ children
7839
+ }
7840
+ );
7841
+ if (disablePortal || typeof document === "undefined") return node;
7842
+ return createPortal(node, document.body);
7843
+ }
7844
+ );
7845
+ Backdrop.displayName = "Backdrop";
7846
+
7847
+ // src/components/snackbar.tsx
7848
+ import * as React44 from "react";
7849
+ import { createPortal as createPortal2 } from "react-dom";
7850
+ import { jsx as jsx44, jsxs as jsxs28 } from "react/jsx-runtime";
7851
+ var SnackbarContent = React44.forwardRef(
7852
+ ({ className, message, action, ...props }, ref) => /* @__PURE__ */ jsxs28(
7853
+ "div",
7854
+ {
7855
+ ref,
7856
+ role: "alert",
7857
+ className: cn(
7858
+ "flex items-center gap-3 min-w-72 max-w-[568px] rounded-lg px-4 py-3 text-sm shadow-lg",
7859
+ "bg-foreground text-background",
7860
+ className
7861
+ ),
7862
+ ...props,
7863
+ children: [
7864
+ /* @__PURE__ */ jsx44("span", { className: "flex-1", children: message }),
7865
+ action && /* @__PURE__ */ jsx44("span", { className: "shrink-0", children: action })
7866
+ ]
7867
+ }
7868
+ )
7869
+ );
7870
+ SnackbarContent.displayName = "SnackbarContent";
7871
+ var anchorClasses = {
7872
+ "top-left": "top-4 left-4",
7873
+ "top-center": "top-4 left-1/2 -translate-x-1/2",
7874
+ "top-right": "top-4 right-4",
7875
+ "bottom-left": "bottom-4 left-4",
7876
+ "bottom-center": "bottom-4 left-1/2 -translate-x-1/2",
7877
+ "bottom-right": "bottom-4 right-4"
7878
+ };
7879
+ var Snackbar = React44.forwardRef(
7880
+ ({
7881
+ open,
7882
+ message,
7883
+ action,
7884
+ autoHideDuration = 6e3,
7885
+ onClose,
7886
+ anchorOrigin = { vertical: "bottom", horizontal: "left" },
7887
+ transitionDuration = 225,
7888
+ disableWindowBlurListener = false,
7889
+ disablePortal = false,
7890
+ className,
7891
+ children,
7892
+ ...props
7893
+ }, ref) => {
7894
+ const [mounted, setMounted] = React44.useState(open);
7895
+ const [visible, setVisible] = React44.useState(false);
7896
+ const timer = React44.useRef(null);
7897
+ const posKey = `${anchorOrigin.vertical}-${anchorOrigin.horizontal}`;
7898
+ const position = anchorClasses[posKey] ?? anchorClasses["bottom-left"];
7899
+ const slideDir = anchorOrigin.vertical === "top" ? "-8px" : "8px";
7900
+ const clearTimer = React44.useCallback(() => {
7901
+ if (timer.current) clearTimeout(timer.current);
7902
+ }, []);
7903
+ const startTimer = React44.useCallback(() => {
7904
+ if (!autoHideDuration) return;
7905
+ clearTimer();
7906
+ timer.current = setTimeout(() => onClose?.(null, "timeout"), autoHideDuration);
7907
+ }, [autoHideDuration, onClose, clearTimer]);
7908
+ React44.useEffect(() => {
7909
+ if (open) {
7910
+ setMounted(true);
7911
+ const raf = requestAnimationFrame(() => setVisible(true));
7912
+ return () => cancelAnimationFrame(raf);
7913
+ } else {
7914
+ setVisible(false);
7915
+ const t = setTimeout(() => setMounted(false), transitionDuration);
7916
+ return () => clearTimeout(t);
7917
+ }
7918
+ }, [open, transitionDuration]);
7919
+ React44.useEffect(() => {
7920
+ if (open) {
7921
+ startTimer();
7922
+ return clearTimer;
7923
+ }
7924
+ }, [open, startTimer, clearTimer]);
7925
+ React44.useEffect(() => {
7926
+ if (disableWindowBlurListener || !open) return;
7927
+ window.addEventListener("blur", clearTimer);
7928
+ window.addEventListener("focus", startTimer);
7929
+ return () => {
7930
+ window.removeEventListener("blur", clearTimer);
7931
+ window.removeEventListener("focus", startTimer);
7932
+ };
7933
+ }, [open, disableWindowBlurListener, clearTimer, startTimer]);
7934
+ React44.useEffect(() => {
7935
+ if (!open) return;
7936
+ const onKey = (e) => {
7937
+ if (e.key === "Escape") {
7938
+ e.stopPropagation();
7939
+ onClose?.(e, "escapeKeyDown");
7940
+ }
7941
+ };
7942
+ document.addEventListener("keydown", onKey);
7943
+ return () => document.removeEventListener("keydown", onKey);
7944
+ }, [open, onClose]);
7945
+ if (!mounted) return null;
7946
+ const node = /* @__PURE__ */ jsx44(
7947
+ "div",
7948
+ {
7949
+ ref,
7950
+ className: cn("fixed z-[1400]", position, className),
7951
+ style: {
7952
+ opacity: visible ? 1 : 0,
7953
+ transform: visible ? "translateY(0)" : `translateY(${slideDir})`,
7954
+ transition: `opacity ${transitionDuration}ms ease, transform ${transitionDuration}ms ease`
7955
+ },
7956
+ onMouseEnter: clearTimer,
7957
+ onMouseLeave: startTimer,
7958
+ ...props,
7959
+ children: children ?? /* @__PURE__ */ jsx44(SnackbarContent, { message, action })
7960
+ }
7961
+ );
7962
+ if (disablePortal || typeof document === "undefined") return node;
7963
+ return createPortal2(node, document.body);
7964
+ }
7965
+ );
7966
+ Snackbar.displayName = "Snackbar";
7967
+ function ManagedRow({ item, vertical, transitionDuration, onRemove }) {
7968
+ const [visible, setVisible] = React44.useState(false);
7969
+ const timer = React44.useRef(null);
7970
+ const slideDir = vertical === "top" ? "-8px" : "8px";
7971
+ const clearTimer = React44.useCallback(() => {
7972
+ if (timer.current) clearTimeout(timer.current);
7973
+ }, []);
7974
+ const startTimer = React44.useCallback(() => {
7975
+ if (!item.autoHideDuration) return;
7976
+ clearTimer();
7977
+ timer.current = setTimeout(() => {
7978
+ onRemove(item.key);
7979
+ item.onClose?.();
7980
+ }, item.autoHideDuration);
7981
+ }, [item, onRemove, clearTimer]);
7982
+ React44.useEffect(() => {
7983
+ const raf = requestAnimationFrame(() => setVisible(true));
7984
+ return () => cancelAnimationFrame(raf);
7985
+ }, []);
7986
+ React44.useEffect(() => {
7987
+ startTimer();
7988
+ return clearTimer;
7989
+ }, [startTimer, clearTimer]);
7990
+ return /* @__PURE__ */ jsx44(
7991
+ "div",
7992
+ {
7993
+ style: {
7994
+ opacity: visible ? 1 : 0,
7995
+ transform: visible ? "translateY(0)" : `translateY(${slideDir})`,
7996
+ transition: `opacity ${transitionDuration}ms ease, transform ${transitionDuration}ms ease`
7997
+ },
7998
+ onMouseEnter: clearTimer,
7999
+ onMouseLeave: startTimer,
8000
+ children: item.content
8001
+ }
8002
+ );
8003
+ }
8004
+ var SnackbarContext = React44.createContext({
8005
+ enqueueSnackbar: () => "",
8006
+ closeSnackbar: () => {
8007
+ }
8008
+ });
8009
+ function SnackbarProvider({
8010
+ children,
8011
+ anchorOrigin = { vertical: "bottom", horizontal: "left" },
8012
+ autoHideDuration = 5e3,
8013
+ maxSnack = 3,
8014
+ transitionDuration = 225
8015
+ }) {
8016
+ const [items, setItems] = React44.useState([]);
8017
+ const closeSnackbar = React44.useCallback((key) => {
8018
+ setItems((prev) => prev.filter((i) => i.key !== key));
8019
+ }, []);
8020
+ const enqueueSnackbar = React44.useCallback(
8021
+ (message, options = {}) => {
8022
+ const key = `snk-${Date.now()}-${Math.random().toString(36).slice(2)}`;
8023
+ const { variant, action, onClose, autoHideDuration: dur, anchorOrigin: anchor } = options;
8024
+ let content;
8025
+ if (variant) {
8026
+ content = /* @__PURE__ */ jsx44(Alert, { variant, onClose: () => {
8027
+ closeSnackbar(key);
8028
+ onClose?.();
8029
+ }, children: message });
8030
+ } else if (React44.isValidElement(message)) {
8031
+ content = message;
8032
+ } else {
8033
+ content = /* @__PURE__ */ jsx44(SnackbarContent, { message, action });
8034
+ }
8035
+ setItems((prev) => {
8036
+ const capped = prev.length >= maxSnack ? prev.slice(-(maxSnack - 1)) : prev;
8037
+ return [
8038
+ ...capped,
8039
+ {
8040
+ key,
8041
+ content,
8042
+ autoHideDuration: dur !== void 0 ? dur : autoHideDuration,
8043
+ anchorOrigin: anchor ?? anchorOrigin,
8044
+ onClose
8045
+ }
8046
+ ];
8047
+ });
8048
+ return key;
8049
+ },
8050
+ [autoHideDuration, anchorOrigin, maxSnack, closeSnackbar]
8051
+ );
8052
+ const groups = React44.useMemo(() => {
8053
+ const map = /* @__PURE__ */ new Map();
8054
+ items.forEach((item) => {
8055
+ const k = `${item.anchorOrigin.vertical}-${item.anchorOrigin.horizontal}`;
8056
+ map.set(k, [...map.get(k) ?? [], item]);
8057
+ });
8058
+ return map;
8059
+ }, [items]);
8060
+ return /* @__PURE__ */ jsxs28(SnackbarContext.Provider, { value: { enqueueSnackbar, closeSnackbar }, children: [
8061
+ children,
8062
+ typeof document !== "undefined" && Array.from(groups.entries()).map(([posKey, posItems]) => {
8063
+ const [vertical, horizontal] = posKey.split("-");
8064
+ return createPortal2(
8065
+ /* @__PURE__ */ jsx44(
8066
+ "div",
8067
+ {
8068
+ className: cn(
8069
+ "fixed z-[1400] flex gap-2 pointer-events-none",
8070
+ vertical === "top" ? "top-4 flex-col" : "bottom-4 flex-col-reverse",
8071
+ horizontal === "left" ? "left-4" : horizontal === "right" ? "right-4" : "left-1/2 -translate-x-1/2"
8072
+ ),
8073
+ children: posItems.map((item) => /* @__PURE__ */ jsx44("div", { className: "pointer-events-auto", children: /* @__PURE__ */ jsx44(
8074
+ ManagedRow,
8075
+ {
8076
+ item,
8077
+ vertical,
8078
+ transitionDuration,
8079
+ onRemove: closeSnackbar
8080
+ }
8081
+ ) }, item.key))
8082
+ },
8083
+ posKey
8084
+ ),
8085
+ document.body
8086
+ );
8087
+ })
8088
+ ] });
8089
+ }
8090
+ var useSnackbar = () => React44.useContext(SnackbarContext);
8091
+
8092
+ // src/components/drawer.tsx
8093
+ import * as React45 from "react";
7772
8094
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
7773
- import { jsx as jsx43, jsxs as jsxs28 } from "react/jsx-runtime";
8095
+ import { jsx as jsx45, jsxs as jsxs29 } from "react/jsx-runtime";
7774
8096
  var Drawer = DialogPrimitive2.Root;
7775
8097
  var DrawerTrigger = DialogPrimitive2.Trigger;
7776
8098
  var DrawerClose = DialogPrimitive2.Close;
7777
8099
  var DrawerPortal = DialogPrimitive2.Portal;
7778
- var DrawerOverlay = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
8100
+ var DrawerOverlay = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
7779
8101
  DialogPrimitive2.Overlay,
7780
8102
  {
7781
8103
  ref,
@@ -7795,9 +8117,9 @@ var slideVariants = {
7795
8117
  top: "inset-x-0 top-0 w-full data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
7796
8118
  bottom: "inset-x-0 bottom-0 w-full data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom"
7797
8119
  };
7798
- var DrawerContent = React43.forwardRef(({ side = "right", showClose = true, className, children, ...props }, ref) => /* @__PURE__ */ jsxs28(DrawerPortal, { children: [
7799
- /* @__PURE__ */ jsx43(DrawerOverlay, {}),
7800
- /* @__PURE__ */ jsxs28(
8120
+ var DrawerContent = React45.forwardRef(({ side = "right", showClose = true, className, children, ...props }, ref) => /* @__PURE__ */ jsxs29(DrawerPortal, { children: [
8121
+ /* @__PURE__ */ jsx45(DrawerOverlay, {}),
8122
+ /* @__PURE__ */ jsxs29(
7801
8123
  DialogPrimitive2.Content,
7802
8124
  {
7803
8125
  ref,
@@ -7811,7 +8133,7 @@ var DrawerContent = React43.forwardRef(({ side = "right", showClose = true, clas
7811
8133
  ...props,
7812
8134
  children: [
7813
8135
  children,
7814
- showClose && /* @__PURE__ */ jsxs28(
8136
+ showClose && /* @__PURE__ */ jsxs29(
7815
8137
  DrawerClose,
7816
8138
  {
7817
8139
  className: cn(
@@ -7821,7 +8143,7 @@ var DrawerContent = React43.forwardRef(({ side = "right", showClose = true, clas
7821
8143
  "disabled:pointer-events-none"
7822
8144
  ),
7823
8145
  children: [
7824
- /* @__PURE__ */ jsx43(
8146
+ /* @__PURE__ */ jsx45(
7825
8147
  "svg",
7826
8148
  {
7827
8149
  xmlns: "http://www.w3.org/2000/svg",
@@ -7834,10 +8156,10 @@ var DrawerContent = React43.forwardRef(({ side = "right", showClose = true, clas
7834
8156
  strokeLinecap: "round",
7835
8157
  strokeLinejoin: "round",
7836
8158
  className: "h-4 w-4",
7837
- children: /* @__PURE__ */ jsx43("path", { d: "M18 6 6 18M6 6l12 12" })
8159
+ children: /* @__PURE__ */ jsx45("path", { d: "M18 6 6 18M6 6l12 12" })
7838
8160
  }
7839
8161
  ),
7840
- /* @__PURE__ */ jsx43("span", { className: "sr-only", children: "Close" })
8162
+ /* @__PURE__ */ jsx45("span", { className: "sr-only", children: "Close" })
7841
8163
  ]
7842
8164
  }
7843
8165
  )
@@ -7846,8 +8168,8 @@ var DrawerContent = React43.forwardRef(({ side = "right", showClose = true, clas
7846
8168
  )
7847
8169
  ] }));
7848
8170
  DrawerContent.displayName = "DrawerContent";
7849
- var DrawerHeader = React43.forwardRef(
7850
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
8171
+ var DrawerHeader = React45.forwardRef(
8172
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
7851
8173
  "div",
7852
8174
  {
7853
8175
  ref,
@@ -7857,7 +8179,7 @@ var DrawerHeader = React43.forwardRef(
7857
8179
  )
7858
8180
  );
7859
8181
  DrawerHeader.displayName = "DrawerHeader";
7860
- var DrawerTitle = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
8182
+ var DrawerTitle = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
7861
8183
  DialogPrimitive2.Title,
7862
8184
  {
7863
8185
  ref,
@@ -7866,7 +8188,7 @@ var DrawerTitle = React43.forwardRef(({ className, ...props }, ref) => /* @__PUR
7866
8188
  }
7867
8189
  ));
7868
8190
  DrawerTitle.displayName = DialogPrimitive2.Title.displayName;
7869
- var DrawerDescription = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
8191
+ var DrawerDescription = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
7870
8192
  DialogPrimitive2.Description,
7871
8193
  {
7872
8194
  ref,
@@ -7875,8 +8197,8 @@ var DrawerDescription = React43.forwardRef(({ className, ...props }, ref) => /*
7875
8197
  }
7876
8198
  ));
7877
8199
  DrawerDescription.displayName = DialogPrimitive2.Description.displayName;
7878
- var DrawerBody = React43.forwardRef(
7879
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
8200
+ var DrawerBody = React45.forwardRef(
8201
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
7880
8202
  "div",
7881
8203
  {
7882
8204
  ref,
@@ -7886,8 +8208,8 @@ var DrawerBody = React43.forwardRef(
7886
8208
  )
7887
8209
  );
7888
8210
  DrawerBody.displayName = "DrawerBody";
7889
- var DrawerFooter = React43.forwardRef(
7890
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
8211
+ var DrawerFooter = React45.forwardRef(
8212
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
7891
8213
  "div",
7892
8214
  {
7893
8215
  ref,
@@ -7913,16 +8235,16 @@ var SheetBody = DrawerBody;
7913
8235
  var SheetFooter = DrawerFooter;
7914
8236
 
7915
8237
  // src/components/topbar.tsx
7916
- import * as React44 from "react";
7917
- import { Fragment as Fragment6, jsx as jsx44, jsxs as jsxs29 } from "react/jsx-runtime";
8238
+ import * as React46 from "react";
8239
+ import { Fragment as Fragment6, jsx as jsx46, jsxs as jsxs30 } from "react/jsx-runtime";
7918
8240
  var sizeClasses5 = {
7919
8241
  sm: "h-12",
7920
8242
  md: "h-14",
7921
8243
  lg: "h-16"
7922
8244
  };
7923
- var TopBar = React44.forwardRef(
8245
+ var TopBar = React46.forwardRef(
7924
8246
  ({ className, bordered = true, sticky = false, size = "md", children, ...props }, ref) => {
7925
- return /* @__PURE__ */ jsx44(
8247
+ return /* @__PURE__ */ jsx46(
7926
8248
  "header",
7927
8249
  {
7928
8250
  ref,
@@ -7940,23 +8262,23 @@ var TopBar = React44.forwardRef(
7940
8262
  }
7941
8263
  );
7942
8264
  TopBar.displayName = "TopBar";
7943
- var TopBarBrand = React44.forwardRef(
8265
+ var TopBarBrand = React46.forwardRef(
7944
8266
  ({ className, logo, name, href, children, ...props }, ref) => {
7945
- const content = /* @__PURE__ */ jsxs29(Fragment6, { children: [
7946
- logo && /* @__PURE__ */ jsx44("span", { className: "shrink-0", children: logo }),
7947
- name && /* @__PURE__ */ jsx44("span", { className: "font-semibold text-lg", children: name }),
8267
+ const content = /* @__PURE__ */ jsxs30(Fragment6, { children: [
8268
+ logo && /* @__PURE__ */ jsx46("span", { className: "shrink-0", children: logo }),
8269
+ name && /* @__PURE__ */ jsx46("span", { className: "font-semibold text-lg", children: name }),
7948
8270
  children
7949
8271
  ] });
7950
8272
  if (href) {
7951
- return /* @__PURE__ */ jsx44("div", { ref, className: cn("flex items-center gap-2", className), ...props, children: /* @__PURE__ */ jsx44("a", { href, className: "flex items-center gap-2 hover:opacity-80 transition-opacity", children: content }) });
8273
+ return /* @__PURE__ */ jsx46("div", { ref, className: cn("flex items-center gap-2", className), ...props, children: /* @__PURE__ */ jsx46("a", { href, className: "flex items-center gap-2 hover:opacity-80 transition-opacity", children: content }) });
7952
8274
  }
7953
- return /* @__PURE__ */ jsx44("div", { ref, className: cn("flex items-center gap-2", className), ...props, children: content });
8275
+ return /* @__PURE__ */ jsx46("div", { ref, className: cn("flex items-center gap-2", className), ...props, children: content });
7954
8276
  }
7955
8277
  );
7956
8278
  TopBarBrand.displayName = "TopBarBrand";
7957
- var TopBarNav = React44.forwardRef(
8279
+ var TopBarNav = React46.forwardRef(
7958
8280
  ({ className, children, ...props }, ref) => {
7959
- return /* @__PURE__ */ jsx44(
8281
+ return /* @__PURE__ */ jsx46(
7960
8282
  "nav",
7961
8283
  {
7962
8284
  ref,
@@ -7968,9 +8290,9 @@ var TopBarNav = React44.forwardRef(
7968
8290
  }
7969
8291
  );
7970
8292
  TopBarNav.displayName = "TopBarNav";
7971
- var TopBarNavItem = React44.forwardRef(
8293
+ var TopBarNavItem = React46.forwardRef(
7972
8294
  ({ className, active, children, ...props }, ref) => {
7973
- return /* @__PURE__ */ jsx44(
8295
+ return /* @__PURE__ */ jsx46(
7974
8296
  "a",
7975
8297
  {
7976
8298
  ref,
@@ -7986,9 +8308,9 @@ var TopBarNavItem = React44.forwardRef(
7986
8308
  }
7987
8309
  );
7988
8310
  TopBarNavItem.displayName = "TopBarNavItem";
7989
- var TopBarSection = React44.forwardRef(
8311
+ var TopBarSection = React46.forwardRef(
7990
8312
  ({ className, align = "left", children, ...props }, ref) => {
7991
- return /* @__PURE__ */ jsx44(
8313
+ return /* @__PURE__ */ jsx46(
7992
8314
  "div",
7993
8315
  {
7994
8316
  ref,
@@ -8008,9 +8330,9 @@ var TopBarSection = React44.forwardRef(
8008
8330
  }
8009
8331
  );
8010
8332
  TopBarSection.displayName = "TopBarSection";
8011
- var TopBarDivider = React44.forwardRef(
8333
+ var TopBarDivider = React46.forwardRef(
8012
8334
  ({ className, ...props }, ref) => {
8013
- return /* @__PURE__ */ jsx44(
8335
+ return /* @__PURE__ */ jsx46(
8014
8336
  "div",
8015
8337
  {
8016
8338
  ref,
@@ -8023,17 +8345,17 @@ var TopBarDivider = React44.forwardRef(
8023
8345
  TopBarDivider.displayName = "TopBarDivider";
8024
8346
 
8025
8347
  // src/components/sidebar.tsx
8026
- import * as React45 from "react";
8027
- import { Fragment as Fragment7, jsx as jsx45, jsxs as jsxs30 } from "react/jsx-runtime";
8028
- var SidebarContext = React45.createContext(void 0);
8348
+ import * as React47 from "react";
8349
+ import { Fragment as Fragment7, jsx as jsx47, jsxs as jsxs31 } from "react/jsx-runtime";
8350
+ var SidebarContext = React47.createContext(void 0);
8029
8351
  var useSidebar = () => {
8030
- const context = React45.useContext(SidebarContext);
8352
+ const context = React47.useContext(SidebarContext);
8031
8353
  if (!context) {
8032
8354
  throw new Error("useSidebar must be used within a Sidebar");
8033
8355
  }
8034
8356
  return context;
8035
8357
  };
8036
- var Sidebar = React45.forwardRef(
8358
+ var Sidebar = React47.forwardRef(
8037
8359
  ({
8038
8360
  className,
8039
8361
  collapsed: controlledCollapsed,
@@ -8045,10 +8367,10 @@ var Sidebar = React45.forwardRef(
8045
8367
  children,
8046
8368
  ...props
8047
8369
  }, ref) => {
8048
- const [uncontrolledCollapsed, setUncontrolledCollapsed] = React45.useState(defaultCollapsed);
8370
+ const [uncontrolledCollapsed, setUncontrolledCollapsed] = React47.useState(defaultCollapsed);
8049
8371
  const isControlled = controlledCollapsed !== void 0;
8050
8372
  const collapsed = isControlled ? controlledCollapsed : uncontrolledCollapsed;
8051
- const setCollapsed = React45.useCallback(
8373
+ const setCollapsed = React47.useCallback(
8052
8374
  (value) => {
8053
8375
  if (!isControlled) {
8054
8376
  setUncontrolledCollapsed(value);
@@ -8057,7 +8379,7 @@ var Sidebar = React45.forwardRef(
8057
8379
  },
8058
8380
  [isControlled, onCollapsedChange]
8059
8381
  );
8060
- return /* @__PURE__ */ jsx45(SidebarContext.Provider, { value: { collapsed, setCollapsed }, children: /* @__PURE__ */ jsx45(
8382
+ return /* @__PURE__ */ jsx47(SidebarContext.Provider, { value: { collapsed, setCollapsed }, children: /* @__PURE__ */ jsx47(
8061
8383
  "aside",
8062
8384
  {
8063
8385
  ref,
@@ -8077,9 +8399,9 @@ var Sidebar = React45.forwardRef(
8077
8399
  }
8078
8400
  );
8079
8401
  Sidebar.displayName = "Sidebar";
8080
- var SidebarHeader = React45.forwardRef(
8402
+ var SidebarHeader = React47.forwardRef(
8081
8403
  ({ className, children, ...props }, ref) => {
8082
- return /* @__PURE__ */ jsx45(
8404
+ return /* @__PURE__ */ jsx47(
8083
8405
  "div",
8084
8406
  {
8085
8407
  ref,
@@ -8091,9 +8413,9 @@ var SidebarHeader = React45.forwardRef(
8091
8413
  }
8092
8414
  );
8093
8415
  SidebarHeader.displayName = "SidebarHeader";
8094
- var SidebarContent = React45.forwardRef(
8416
+ var SidebarContent = React47.forwardRef(
8095
8417
  ({ className, children, ...props }, ref) => {
8096
- return /* @__PURE__ */ jsx45(
8418
+ return /* @__PURE__ */ jsx47(
8097
8419
  "div",
8098
8420
  {
8099
8421
  ref,
@@ -8105,9 +8427,9 @@ var SidebarContent = React45.forwardRef(
8105
8427
  }
8106
8428
  );
8107
8429
  SidebarContent.displayName = "SidebarContent";
8108
- var SidebarFooter = React45.forwardRef(
8430
+ var SidebarFooter = React47.forwardRef(
8109
8431
  ({ className, children, ...props }, ref) => {
8110
- return /* @__PURE__ */ jsx45(
8432
+ return /* @__PURE__ */ jsx47(
8111
8433
  "div",
8112
8434
  {
8113
8435
  ref,
@@ -8119,25 +8441,25 @@ var SidebarFooter = React45.forwardRef(
8119
8441
  }
8120
8442
  );
8121
8443
  SidebarFooter.displayName = "SidebarFooter";
8122
- var SidebarGroup = React45.forwardRef(
8444
+ var SidebarGroup = React47.forwardRef(
8123
8445
  ({ className, label, children, ...props }, ref) => {
8124
8446
  const { collapsed } = useSidebar();
8125
- return /* @__PURE__ */ jsxs30("div", { ref, className: cn("px-2 py-2", className), ...props, children: [
8126
- label && !collapsed && /* @__PURE__ */ jsx45("div", { className: "px-2 py-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: label }),
8127
- label && collapsed && /* @__PURE__ */ jsx45("div", { className: "flex justify-center py-1.5", children: /* @__PURE__ */ jsx45("div", { className: "h-px w-4 bg-border" }) }),
8128
- /* @__PURE__ */ jsx45("div", { className: "space-y-1", children })
8447
+ return /* @__PURE__ */ jsxs31("div", { ref, className: cn("px-2 py-2", className), ...props, children: [
8448
+ label && !collapsed && /* @__PURE__ */ jsx47("div", { className: "px-2 py-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: label }),
8449
+ label && collapsed && /* @__PURE__ */ jsx47("div", { className: "flex justify-center py-1.5", children: /* @__PURE__ */ jsx47("div", { className: "h-px w-4 bg-border" }) }),
8450
+ /* @__PURE__ */ jsx47("div", { className: "space-y-1", children })
8129
8451
  ] });
8130
8452
  }
8131
8453
  );
8132
8454
  SidebarGroup.displayName = "SidebarGroup";
8133
- var SidebarItem = React45.forwardRef(
8455
+ var SidebarItem = React47.forwardRef(
8134
8456
  ({ className, icon, active, disabled, badge, onClick, href, children, ...props }, ref) => {
8135
8457
  const { collapsed } = useSidebar();
8136
- const content = /* @__PURE__ */ jsxs30(Fragment7, { children: [
8137
- icon && /* @__PURE__ */ jsx45("span", { className: cn("shrink-0", collapsed ? "mx-auto" : ""), children: icon }),
8138
- !collapsed && /* @__PURE__ */ jsxs30(Fragment7, { children: [
8139
- /* @__PURE__ */ jsx45("span", { className: "flex-1 truncate", children }),
8140
- badge && /* @__PURE__ */ jsx45("span", { className: "shrink-0", children: badge })
8458
+ const content = /* @__PURE__ */ jsxs31(Fragment7, { children: [
8459
+ icon && /* @__PURE__ */ jsx47("span", { className: cn("shrink-0", collapsed ? "mx-auto" : ""), children: icon }),
8460
+ !collapsed && /* @__PURE__ */ jsxs31(Fragment7, { children: [
8461
+ /* @__PURE__ */ jsx47("span", { className: "flex-1 truncate", children }),
8462
+ badge && /* @__PURE__ */ jsx47("span", { className: "shrink-0", children: badge })
8141
8463
  ] })
8142
8464
  ] });
8143
8465
  const itemClasses = cn(
@@ -8148,9 +8470,9 @@ var SidebarItem = React45.forwardRef(
8148
8470
  className
8149
8471
  );
8150
8472
  if (href) {
8151
- return /* @__PURE__ */ jsx45("div", { ref, ...props, children: /* @__PURE__ */ jsx45("a", { href, className: itemClasses, children: content }) });
8473
+ return /* @__PURE__ */ jsx47("div", { ref, ...props, children: /* @__PURE__ */ jsx47("a", { href, className: itemClasses, children: content }) });
8152
8474
  }
8153
- return /* @__PURE__ */ jsx45(
8475
+ return /* @__PURE__ */ jsx47(
8154
8476
  "div",
8155
8477
  {
8156
8478
  ref,
@@ -8165,20 +8487,20 @@ var SidebarItem = React45.forwardRef(
8165
8487
  }
8166
8488
  );
8167
8489
  SidebarItem.displayName = "SidebarItem";
8168
- var SidebarSubMenu = React45.forwardRef(
8490
+ var SidebarSubMenu = React47.forwardRef(
8169
8491
  ({ className, icon, label, defaultOpen = false, children, ...props }, ref) => {
8170
- const [open, setOpen] = React45.useState(defaultOpen);
8492
+ const [open, setOpen] = React47.useState(defaultOpen);
8171
8493
  const { collapsed } = useSidebar();
8172
- React45.useEffect(() => {
8494
+ React47.useEffect(() => {
8173
8495
  if (collapsed) {
8174
8496
  setOpen(false);
8175
8497
  }
8176
8498
  }, [collapsed]);
8177
8499
  if (collapsed) {
8178
- return /* @__PURE__ */ jsx45(SidebarItem, { icon, className, children: label });
8500
+ return /* @__PURE__ */ jsx47(SidebarItem, { icon, className, children: label });
8179
8501
  }
8180
- return /* @__PURE__ */ jsxs30("div", { ref, className, ...props, children: [
8181
- /* @__PURE__ */ jsxs30(
8502
+ return /* @__PURE__ */ jsxs31("div", { ref, className, ...props, children: [
8503
+ /* @__PURE__ */ jsxs31(
8182
8504
  "div",
8183
8505
  {
8184
8506
  className: cn(
@@ -8189,9 +8511,9 @@ var SidebarSubMenu = React45.forwardRef(
8189
8511
  role: "button",
8190
8512
  tabIndex: 0,
8191
8513
  children: [
8192
- icon && /* @__PURE__ */ jsx45("span", { className: "shrink-0", children: icon }),
8193
- /* @__PURE__ */ jsx45("span", { className: "flex-1 truncate", children: label }),
8194
- /* @__PURE__ */ jsx45(
8514
+ icon && /* @__PURE__ */ jsx47("span", { className: "shrink-0", children: icon }),
8515
+ /* @__PURE__ */ jsx47("span", { className: "flex-1 truncate", children: label }),
8516
+ /* @__PURE__ */ jsx47(
8195
8517
  "svg",
8196
8518
  {
8197
8519
  className: cn("h-4 w-4 shrink-0 transition-transform", open && "rotate-90"),
@@ -8202,21 +8524,21 @@ var SidebarSubMenu = React45.forwardRef(
8202
8524
  strokeWidth: "2",
8203
8525
  strokeLinecap: "round",
8204
8526
  strokeLinejoin: "round",
8205
- children: /* @__PURE__ */ jsx45("path", { d: "m9 18 6-6-6-6" })
8527
+ children: /* @__PURE__ */ jsx47("path", { d: "m9 18 6-6-6-6" })
8206
8528
  }
8207
8529
  )
8208
8530
  ]
8209
8531
  }
8210
8532
  ),
8211
- open && /* @__PURE__ */ jsx45("div", { className: "ml-4 pl-3 border-l border-border space-y-1 mt-1", children })
8533
+ open && /* @__PURE__ */ jsx47("div", { className: "ml-4 pl-3 border-l border-border space-y-1 mt-1", children })
8212
8534
  ] });
8213
8535
  }
8214
8536
  );
8215
8537
  SidebarSubMenu.displayName = "SidebarSubMenu";
8216
- var SidebarToggle = React45.forwardRef(
8538
+ var SidebarToggle = React47.forwardRef(
8217
8539
  ({ className, children, ...props }, ref) => {
8218
8540
  const { collapsed, setCollapsed } = useSidebar();
8219
- return /* @__PURE__ */ jsx45(
8541
+ return /* @__PURE__ */ jsx47(
8220
8542
  "button",
8221
8543
  {
8222
8544
  ref,
@@ -8230,7 +8552,7 @@ var SidebarToggle = React45.forwardRef(
8230
8552
  ),
8231
8553
  "aria-label": collapsed ? "Expand sidebar" : "Collapse sidebar",
8232
8554
  ...props,
8233
- children: children || /* @__PURE__ */ jsxs30(
8555
+ children: children || /* @__PURE__ */ jsxs31(
8234
8556
  "svg",
8235
8557
  {
8236
8558
  className: cn("h-5 w-5 transition-transform", collapsed && "rotate-180"),
@@ -8242,9 +8564,9 @@ var SidebarToggle = React45.forwardRef(
8242
8564
  strokeLinecap: "round",
8243
8565
  strokeLinejoin: "round",
8244
8566
  children: [
8245
- /* @__PURE__ */ jsx45("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }),
8246
- /* @__PURE__ */ jsx45("path", { d: "M9 3v18" }),
8247
- /* @__PURE__ */ jsx45("path", { d: "m14 9 3 3-3 3" })
8567
+ /* @__PURE__ */ jsx47("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }),
8568
+ /* @__PURE__ */ jsx47("path", { d: "M9 3v18" }),
8569
+ /* @__PURE__ */ jsx47("path", { d: "m14 9 3 3-3 3" })
8248
8570
  ]
8249
8571
  }
8250
8572
  )
@@ -8255,17 +8577,17 @@ var SidebarToggle = React45.forwardRef(
8255
8577
  SidebarToggle.displayName = "SidebarToggle";
8256
8578
 
8257
8579
  // src/components/sidebar-rail.tsx
8258
- import * as React46 from "react";
8259
- import { Fragment as Fragment8, jsx as jsx46, jsxs as jsxs31 } from "react/jsx-runtime";
8260
- var SidebarRailContext = React46.createContext(void 0);
8580
+ import * as React48 from "react";
8581
+ import { Fragment as Fragment8, jsx as jsx48, jsxs as jsxs32 } from "react/jsx-runtime";
8582
+ var SidebarRailContext = React48.createContext(void 0);
8261
8583
  var useSidebarRail = () => {
8262
- const context = React46.useContext(SidebarRailContext);
8584
+ const context = React48.useContext(SidebarRailContext);
8263
8585
  if (!context) {
8264
8586
  throw new Error("useSidebarRail must be used within a SidebarRail");
8265
8587
  }
8266
8588
  return context;
8267
8589
  };
8268
- var SidebarRail = React46.forwardRef(
8590
+ var SidebarRail = React48.forwardRef(
8269
8591
  ({
8270
8592
  className,
8271
8593
  defaultActiveRail = null,
@@ -8283,14 +8605,14 @@ var SidebarRail = React46.forwardRef(
8283
8605
  children,
8284
8606
  ...props
8285
8607
  }, ref) => {
8286
- const [uncontrolledActiveRail, setUncontrolledActiveRail] = React46.useState(defaultActiveRail);
8287
- const [expanded, setExpanded] = React46.useState(!!defaultActiveRail);
8288
- const [uncontrolledRailExpanded, setUncontrolledRailExpanded] = React46.useState(defaultRailExpanded);
8608
+ const [uncontrolledActiveRail, setUncontrolledActiveRail] = React48.useState(defaultActiveRail);
8609
+ const [expanded, setExpanded] = React48.useState(!!defaultActiveRail);
8610
+ const [uncontrolledRailExpanded, setUncontrolledRailExpanded] = React48.useState(defaultRailExpanded);
8289
8611
  const isControlled = controlledActiveRail !== void 0;
8290
8612
  const activeRail = isControlled ? controlledActiveRail : uncontrolledActiveRail;
8291
8613
  const isRailControlled = controlledRailExpanded !== void 0;
8292
8614
  const railExpanded = isRailControlled ? controlledRailExpanded : uncontrolledRailExpanded;
8293
- const setActiveRail = React46.useCallback(
8615
+ const setActiveRail = React48.useCallback(
8294
8616
  (rail) => {
8295
8617
  if (!isControlled) {
8296
8618
  setUncontrolledActiveRail(rail);
@@ -8300,7 +8622,7 @@ var SidebarRail = React46.forwardRef(
8300
8622
  },
8301
8623
  [isControlled, onActiveRailChange]
8302
8624
  );
8303
- const setRailExpanded = React46.useCallback(
8625
+ const setRailExpanded = React48.useCallback(
8304
8626
  (value) => {
8305
8627
  if (!isRailControlled) {
8306
8628
  setUncontrolledRailExpanded(value);
@@ -8309,7 +8631,7 @@ var SidebarRail = React46.forwardRef(
8309
8631
  },
8310
8632
  [isRailControlled, onRailExpandedChange]
8311
8633
  );
8312
- return /* @__PURE__ */ jsx46(
8634
+ return /* @__PURE__ */ jsx48(
8313
8635
  SidebarRailContext.Provider,
8314
8636
  {
8315
8637
  value: {
@@ -8323,7 +8645,7 @@ var SidebarRail = React46.forwardRef(
8323
8645
  overlayRail: overlayRail && expandableRail,
8324
8646
  expandableRail
8325
8647
  },
8326
- children: /* @__PURE__ */ jsx46(
8648
+ children: /* @__PURE__ */ jsx48(
8327
8649
  "div",
8328
8650
  {
8329
8651
  ref,
@@ -8346,11 +8668,11 @@ var SidebarRail = React46.forwardRef(
8346
8668
  }
8347
8669
  );
8348
8670
  SidebarRail.displayName = "SidebarRail";
8349
- var IconRail = React46.forwardRef(
8671
+ var IconRail = React48.forwardRef(
8350
8672
  ({ className, children, ...props }, ref) => {
8351
8673
  const { railExpanded, overlayRail, expandableRail } = useSidebarRail();
8352
8674
  const isExpanded = expandableRail && railExpanded;
8353
- return /* @__PURE__ */ jsx46(
8675
+ return /* @__PURE__ */ jsx48(
8354
8676
  "div",
8355
8677
  {
8356
8678
  ref,
@@ -8359,13 +8681,16 @@ var IconRail = React46.forwardRef(
8359
8681
  isExpanded && !overlayRail ? "w-[var(--rail-expanded-width)]" : "w-[var(--rail-width)]"
8360
8682
  ),
8361
8683
  ...props,
8362
- children: /* @__PURE__ */ jsx46(
8684
+ children: /* @__PURE__ */ jsx48(
8363
8685
  "div",
8364
8686
  {
8365
8687
  className: cn(
8366
8688
  "flex flex-col bg-card border-r border-border h-full",
8367
- "transition-[width] duration-200",
8368
- overlayRail && isExpanded ? "absolute left-0 top-0 z-30 w-[var(--rail-expanded-width)] shadow-lg" : "w-full",
8689
+ "transition-[width,box-shadow] duration-200",
8690
+ overlayRail && expandableRail ? cn(
8691
+ "absolute left-0 top-0 z-30",
8692
+ isExpanded ? "w-[var(--rail-expanded-width)] shadow-lg" : "w-[var(--rail-width)] shadow-none"
8693
+ ) : "w-full",
8369
8694
  className
8370
8695
  ),
8371
8696
  children
@@ -8376,9 +8701,9 @@ var IconRail = React46.forwardRef(
8376
8701
  }
8377
8702
  );
8378
8703
  IconRail.displayName = "IconRail";
8379
- var IconRailHeader = React46.forwardRef(
8704
+ var IconRailHeader = React48.forwardRef(
8380
8705
  ({ className, children, ...props }, ref) => {
8381
- return /* @__PURE__ */ jsx46(
8706
+ return /* @__PURE__ */ jsx48(
8382
8707
  "div",
8383
8708
  {
8384
8709
  ref,
@@ -8393,9 +8718,9 @@ var IconRailHeader = React46.forwardRef(
8393
8718
  }
8394
8719
  );
8395
8720
  IconRailHeader.displayName = "IconRailHeader";
8396
- var IconRailContent = React46.forwardRef(
8721
+ var IconRailContent = React48.forwardRef(
8397
8722
  ({ className, children, ...props }, ref) => {
8398
- return /* @__PURE__ */ jsx46(
8723
+ return /* @__PURE__ */ jsx48(
8399
8724
  "div",
8400
8725
  {
8401
8726
  ref,
@@ -8407,9 +8732,9 @@ var IconRailContent = React46.forwardRef(
8407
8732
  }
8408
8733
  );
8409
8734
  IconRailContent.displayName = "IconRailContent";
8410
- var IconRailFooter = React46.forwardRef(
8735
+ var IconRailFooter = React48.forwardRef(
8411
8736
  ({ className, children, ...props }, ref) => {
8412
- return /* @__PURE__ */ jsx46(
8737
+ return /* @__PURE__ */ jsx48(
8413
8738
  "div",
8414
8739
  {
8415
8740
  ref,
@@ -8424,7 +8749,7 @@ var IconRailFooter = React46.forwardRef(
8424
8749
  }
8425
8750
  );
8426
8751
  IconRailFooter.displayName = "IconRailFooter";
8427
- var IconRailItem = React46.forwardRef(
8752
+ var IconRailItem = React48.forwardRef(
8428
8753
  ({ className, railId, icon, label, asButton = false, toggleRail = false, onClick, ...props }, ref) => {
8429
8754
  const {
8430
8755
  activeRail,
@@ -8450,7 +8775,7 @@ var IconRailItem = React46.forwardRef(
8450
8775
  setActiveRail(railId);
8451
8776
  }
8452
8777
  };
8453
- return /* @__PURE__ */ jsxs31(
8778
+ return /* @__PURE__ */ jsxs32(
8454
8779
  "button",
8455
8780
  {
8456
8781
  ref,
@@ -8469,14 +8794,14 @@ var IconRailItem = React46.forwardRef(
8469
8794
  ...props,
8470
8795
  children: [
8471
8796
  icon,
8472
- isRailExpanded && label && /* @__PURE__ */ jsx46("span", { className: "text-sm font-medium truncate", children: label })
8797
+ isRailExpanded && label && /* @__PURE__ */ jsx48("span", { className: "text-sm font-medium truncate", children: label })
8473
8798
  ]
8474
8799
  }
8475
8800
  );
8476
8801
  }
8477
8802
  );
8478
8803
  IconRailItem.displayName = "IconRailItem";
8479
- var RailPanel = React46.forwardRef(
8804
+ var RailPanel = React48.forwardRef(
8480
8805
  ({ className, railId, title, children, ...props }, ref) => {
8481
8806
  const { activeRail, setActiveRail, hoverExpand } = useSidebarRail();
8482
8807
  const isVisible = activeRail === railId;
@@ -8486,7 +8811,7 @@ var RailPanel = React46.forwardRef(
8486
8811
  }
8487
8812
  };
8488
8813
  if (!isVisible) return null;
8489
- return /* @__PURE__ */ jsxs31(
8814
+ return /* @__PURE__ */ jsxs32(
8490
8815
  "div",
8491
8816
  {
8492
8817
  ref,
@@ -8499,16 +8824,16 @@ var RailPanel = React46.forwardRef(
8499
8824
  onMouseLeave: handleMouseLeave,
8500
8825
  ...props,
8501
8826
  children: [
8502
- title && /* @__PURE__ */ jsxs31("div", { className: "flex items-center justify-between h-14 px-4 border-b border-border shrink-0", children: [
8503
- /* @__PURE__ */ jsx46("span", { className: "font-semibold text-sm", children: title }),
8504
- /* @__PURE__ */ jsx46(
8827
+ title && /* @__PURE__ */ jsxs32("div", { className: "flex items-center justify-between h-14 px-4 border-b border-border shrink-0", children: [
8828
+ /* @__PURE__ */ jsx48("span", { className: "font-semibold text-sm", children: title }),
8829
+ /* @__PURE__ */ jsx48(
8505
8830
  "button",
8506
8831
  {
8507
8832
  type: "button",
8508
8833
  onClick: () => setActiveRail(null),
8509
8834
  className: "p-1 rounded hover:bg-muted text-muted-foreground hover:text-foreground cursor-pointer",
8510
8835
  "aria-label": "Close panel",
8511
- children: /* @__PURE__ */ jsxs31(
8836
+ children: /* @__PURE__ */ jsxs32(
8512
8837
  "svg",
8513
8838
  {
8514
8839
  className: "h-4 w-4",
@@ -8520,36 +8845,36 @@ var RailPanel = React46.forwardRef(
8520
8845
  strokeLinecap: "round",
8521
8846
  strokeLinejoin: "round",
8522
8847
  children: [
8523
- /* @__PURE__ */ jsx46("path", { d: "M18 6 6 18" }),
8524
- /* @__PURE__ */ jsx46("path", { d: "m6 6 12 12" })
8848
+ /* @__PURE__ */ jsx48("path", { d: "M18 6 6 18" }),
8849
+ /* @__PURE__ */ jsx48("path", { d: "m6 6 12 12" })
8525
8850
  ]
8526
8851
  }
8527
8852
  )
8528
8853
  }
8529
8854
  )
8530
8855
  ] }),
8531
- /* @__PURE__ */ jsx46("div", { className: "flex-1 overflow-y-auto", children })
8856
+ /* @__PURE__ */ jsx48("div", { className: "flex-1 overflow-y-auto", children })
8532
8857
  ]
8533
8858
  }
8534
8859
  );
8535
8860
  }
8536
8861
  );
8537
8862
  RailPanel.displayName = "RailPanel";
8538
- var RailPanelGroup = React46.forwardRef(
8863
+ var RailPanelGroup = React48.forwardRef(
8539
8864
  ({ className, label, children, ...props }, ref) => {
8540
- return /* @__PURE__ */ jsxs31("div", { ref, className: cn("px-2 py-2", className), ...props, children: [
8541
- label && /* @__PURE__ */ jsx46("div", { className: "px-2 py-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: label }),
8542
- /* @__PURE__ */ jsx46("div", { className: "space-y-1", children })
8865
+ return /* @__PURE__ */ jsxs32("div", { ref, className: cn("px-2 py-2", className), ...props, children: [
8866
+ label && /* @__PURE__ */ jsx48("div", { className: "px-2 py-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: label }),
8867
+ /* @__PURE__ */ jsx48("div", { className: "space-y-1", children })
8543
8868
  ] });
8544
8869
  }
8545
8870
  );
8546
8871
  RailPanelGroup.displayName = "RailPanelGroup";
8547
- var RailPanelItem = React46.forwardRef(
8872
+ var RailPanelItem = React48.forwardRef(
8548
8873
  ({ className, icon, active, disabled, badge, href, children, onClick, ...props }, ref) => {
8549
- const content = /* @__PURE__ */ jsxs31(Fragment8, { children: [
8550
- icon && /* @__PURE__ */ jsx46("span", { className: "shrink-0", children: icon }),
8551
- /* @__PURE__ */ jsx46("span", { className: "flex-1 truncate", children }),
8552
- badge && /* @__PURE__ */ jsx46("span", { className: "shrink-0", children: badge })
8874
+ const content = /* @__PURE__ */ jsxs32(Fragment8, { children: [
8875
+ icon && /* @__PURE__ */ jsx48("span", { className: "shrink-0", children: icon }),
8876
+ /* @__PURE__ */ jsx48("span", { className: "flex-1 truncate", children }),
8877
+ badge && /* @__PURE__ */ jsx48("span", { className: "shrink-0", children: badge })
8553
8878
  ] });
8554
8879
  const itemClasses = cn(
8555
8880
  "flex items-center gap-3 px-3 py-2 rounded-md text-sm transition-colors cursor-pointer",
@@ -8558,9 +8883,9 @@ var RailPanelItem = React46.forwardRef(
8558
8883
  className
8559
8884
  );
8560
8885
  if (href) {
8561
- return /* @__PURE__ */ jsx46("div", { ref, ...props, children: /* @__PURE__ */ jsx46("a", { href, className: itemClasses, children: content }) });
8886
+ return /* @__PURE__ */ jsx48("div", { ref, ...props, children: /* @__PURE__ */ jsx48("a", { href, className: itemClasses, children: content }) });
8562
8887
  }
8563
- return /* @__PURE__ */ jsx46(
8888
+ return /* @__PURE__ */ jsx48(
8564
8889
  "div",
8565
8890
  {
8566
8891
  ref,
@@ -8577,34 +8902,34 @@ var RailPanelItem = React46.forwardRef(
8577
8902
  RailPanelItem.displayName = "RailPanelItem";
8578
8903
 
8579
8904
  // src/playground.tsx
8580
- import * as React47 from "react";
8581
- import { jsx as jsx47, jsxs as jsxs32 } from "react/jsx-runtime";
8582
- var Section = ({ title, children }) => /* @__PURE__ */ jsxs32("div", { className: "mb-8", children: [
8583
- /* @__PURE__ */ jsx47("h2", { className: "text-xl font-semibold mb-4 text-foreground", children: title }),
8584
- /* @__PURE__ */ jsx47("div", { className: "p-4 border border-border rounded-lg bg-background", children })
8905
+ import * as React49 from "react";
8906
+ import { jsx as jsx49, jsxs as jsxs33 } from "react/jsx-runtime";
8907
+ var Section = ({ title, children }) => /* @__PURE__ */ jsxs33("div", { className: "mb-8", children: [
8908
+ /* @__PURE__ */ jsx49("h2", { className: "text-xl font-semibold mb-4 text-foreground", children: title }),
8909
+ /* @__PURE__ */ jsx49("div", { className: "p-4 border border-border rounded-lg bg-background", children })
8585
8910
  ] });
8586
8911
  var ThemeToggle = () => {
8587
8912
  const { theme, setTheme } = useTheme();
8588
- return /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
8589
- /* @__PURE__ */ jsx47(Label, { children: "Theme:" }),
8590
- /* @__PURE__ */ jsxs32(SelectNamespace, { value: theme, onValueChange: (value) => setTheme(value), children: [
8591
- /* @__PURE__ */ jsx47(SelectTrigger, { className: "w-32", children: /* @__PURE__ */ jsx47(SelectValue, { placeholder: "Select theme" }) }),
8592
- /* @__PURE__ */ jsxs32(SelectContent, { children: [
8593
- /* @__PURE__ */ jsx47(SelectItem, { value: "light", children: "Light" }),
8594
- /* @__PURE__ */ jsx47(SelectItem, { value: "dark", children: "Dark" }),
8595
- /* @__PURE__ */ jsx47(SelectItem, { value: "system", children: "System" })
8913
+ return /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
8914
+ /* @__PURE__ */ jsx49(Label, { children: "Theme:" }),
8915
+ /* @__PURE__ */ jsxs33(SelectNamespace, { value: theme, onValueChange: (value) => setTheme(value), children: [
8916
+ /* @__PURE__ */ jsx49(SelectTrigger, { className: "w-32", children: /* @__PURE__ */ jsx49(SelectValue, { placeholder: "Select theme" }) }),
8917
+ /* @__PURE__ */ jsxs33(SelectContent, { children: [
8918
+ /* @__PURE__ */ jsx49(SelectItem, { value: "light", children: "Light" }),
8919
+ /* @__PURE__ */ jsx49(SelectItem, { value: "dark", children: "Dark" }),
8920
+ /* @__PURE__ */ jsx49(SelectItem, { value: "system", children: "System" })
8596
8921
  ] })
8597
8922
  ] })
8598
8923
  ] });
8599
8924
  };
8600
8925
  var PlaygroundContent = () => {
8601
- const [dialogOpen, setDialogOpen] = React47.useState(false);
8602
- const [checkboxChecked, setCheckboxChecked] = React47.useState(false);
8603
- const [switchChecked, setSwitchChecked] = React47.useState(false);
8604
- const [inputValue, setInputValue] = React47.useState("");
8605
- const [textareaValue, setTextareaValue] = React47.useState("");
8606
- const [selectValue, setSelectValue] = React47.useState("");
8607
- const [comboboxValue, setComboboxValue] = React47.useState(null);
8926
+ const [dialogOpen, setDialogOpen] = React49.useState(false);
8927
+ const [checkboxChecked, setCheckboxChecked] = React49.useState(false);
8928
+ const [switchChecked, setSwitchChecked] = React49.useState(false);
8929
+ const [inputValue, setInputValue] = React49.useState("");
8930
+ const [textareaValue, setTextareaValue] = React49.useState("");
8931
+ const [selectValue, setSelectValue] = React49.useState("");
8932
+ const [comboboxValue, setComboboxValue] = React49.useState(null);
8608
8933
  const comboboxOptions = [
8609
8934
  { value: "react", label: "React" },
8610
8935
  { value: "vue", label: "Vue" },
@@ -8612,35 +8937,35 @@ var PlaygroundContent = () => {
8612
8937
  { value: "svelte", label: "Svelte" },
8613
8938
  { value: "solid", label: "SolidJS" }
8614
8939
  ];
8615
- return /* @__PURE__ */ jsx47("div", { className: "min-h-screen bg-background p-8", children: /* @__PURE__ */ jsxs32("div", { className: "max-w-4xl mx-auto", children: [
8616
- /* @__PURE__ */ jsxs32("div", { className: "flex items-center justify-between mb-8", children: [
8617
- /* @__PURE__ */ jsx47("h1", { className: "text-3xl font-bold text-foreground", children: "@onesaz/ui Playground" }),
8618
- /* @__PURE__ */ jsx47(ThemeToggle, {})
8940
+ return /* @__PURE__ */ jsx49("div", { className: "min-h-screen bg-background p-8", children: /* @__PURE__ */ jsxs33("div", { className: "max-w-4xl mx-auto", children: [
8941
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center justify-between mb-8", children: [
8942
+ /* @__PURE__ */ jsx49("h1", { className: "text-3xl font-bold text-foreground", children: "@onesaz/ui Playground" }),
8943
+ /* @__PURE__ */ jsx49(ThemeToggle, {})
8619
8944
  ] }),
8620
- /* @__PURE__ */ jsxs32(Section, { title: "Button", children: [
8621
- /* @__PURE__ */ jsxs32("div", { className: "flex flex-wrap gap-4", children: [
8622
- /* @__PURE__ */ jsx47(Button, { variant: "default", children: "Default" }),
8623
- /* @__PURE__ */ jsx47(Button, { variant: "destructive", children: "Destructive" }),
8624
- /* @__PURE__ */ jsx47(Button, { variant: "outline", children: "Outline" }),
8625
- /* @__PURE__ */ jsx47(Button, { variant: "secondary", children: "Secondary" }),
8626
- /* @__PURE__ */ jsx47(Button, { variant: "ghost", children: "Ghost" }),
8627
- /* @__PURE__ */ jsx47(Button, { variant: "link", children: "Link" })
8945
+ /* @__PURE__ */ jsxs33(Section, { title: "Button", children: [
8946
+ /* @__PURE__ */ jsxs33("div", { className: "flex flex-wrap gap-4", children: [
8947
+ /* @__PURE__ */ jsx49(Button, { variant: "default", children: "Default" }),
8948
+ /* @__PURE__ */ jsx49(Button, { variant: "destructive", children: "Destructive" }),
8949
+ /* @__PURE__ */ jsx49(Button, { variant: "outline", children: "Outline" }),
8950
+ /* @__PURE__ */ jsx49(Button, { variant: "secondary", children: "Secondary" }),
8951
+ /* @__PURE__ */ jsx49(Button, { variant: "ghost", children: "Ghost" }),
8952
+ /* @__PURE__ */ jsx49(Button, { variant: "link", children: "Link" })
8628
8953
  ] }),
8629
- /* @__PURE__ */ jsxs32("div", { className: "flex flex-wrap gap-4 mt-4", children: [
8630
- /* @__PURE__ */ jsx47(Button, { size: "sm", children: "Small" }),
8631
- /* @__PURE__ */ jsx47(Button, { size: "default", children: "Default" }),
8632
- /* @__PURE__ */ jsx47(Button, { size: "lg", children: "Large" }),
8633
- /* @__PURE__ */ jsx47(Button, { size: "icon", children: "\u{1F514}" })
8954
+ /* @__PURE__ */ jsxs33("div", { className: "flex flex-wrap gap-4 mt-4", children: [
8955
+ /* @__PURE__ */ jsx49(Button, { size: "sm", children: "Small" }),
8956
+ /* @__PURE__ */ jsx49(Button, { size: "default", children: "Default" }),
8957
+ /* @__PURE__ */ jsx49(Button, { size: "lg", children: "Large" }),
8958
+ /* @__PURE__ */ jsx49(Button, { size: "icon", children: "\u{1F514}" })
8634
8959
  ] }),
8635
- /* @__PURE__ */ jsxs32("div", { className: "flex flex-wrap gap-4 mt-4", children: [
8636
- /* @__PURE__ */ jsx47(Button, { disabled: true, children: "Disabled" }),
8637
- /* @__PURE__ */ jsx47(Button, { variant: "outline", disabled: true, children: "Disabled Outline" })
8960
+ /* @__PURE__ */ jsxs33("div", { className: "flex flex-wrap gap-4 mt-4", children: [
8961
+ /* @__PURE__ */ jsx49(Button, { disabled: true, children: "Disabled" }),
8962
+ /* @__PURE__ */ jsx49(Button, { variant: "outline", disabled: true, children: "Disabled Outline" })
8638
8963
  ] })
8639
8964
  ] }),
8640
- /* @__PURE__ */ jsx47(Section, { title: "Input", children: /* @__PURE__ */ jsxs32("div", { className: "space-y-4 max-w-md", children: [
8641
- /* @__PURE__ */ jsxs32("div", { children: [
8642
- /* @__PURE__ */ jsx47(Label, { htmlFor: "input-default", children: "Default Input" }),
8643
- /* @__PURE__ */ jsx47(
8965
+ /* @__PURE__ */ jsx49(Section, { title: "Input", children: /* @__PURE__ */ jsxs33("div", { className: "space-y-4 max-w-md", children: [
8966
+ /* @__PURE__ */ jsxs33("div", { children: [
8967
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "input-default", children: "Default Input" }),
8968
+ /* @__PURE__ */ jsx49(
8644
8969
  Input,
8645
8970
  {
8646
8971
  id: "input-default",
@@ -8650,19 +8975,19 @@ var PlaygroundContent = () => {
8650
8975
  }
8651
8976
  )
8652
8977
  ] }),
8653
- /* @__PURE__ */ jsxs32("div", { children: [
8654
- /* @__PURE__ */ jsx47(Label, { htmlFor: "input-disabled", children: "Disabled Input" }),
8655
- /* @__PURE__ */ jsx47(Input, { id: "input-disabled", placeholder: "Disabled...", disabled: true })
8978
+ /* @__PURE__ */ jsxs33("div", { children: [
8979
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "input-disabled", children: "Disabled Input" }),
8980
+ /* @__PURE__ */ jsx49(Input, { id: "input-disabled", placeholder: "Disabled...", disabled: true })
8656
8981
  ] }),
8657
- /* @__PURE__ */ jsxs32("div", { children: [
8658
- /* @__PURE__ */ jsx47(Label, { htmlFor: "input-type", children: "Email Input" }),
8659
- /* @__PURE__ */ jsx47(Input, { id: "input-type", type: "email", placeholder: "email@example.com" })
8982
+ /* @__PURE__ */ jsxs33("div", { children: [
8983
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "input-type", children: "Email Input" }),
8984
+ /* @__PURE__ */ jsx49(Input, { id: "input-type", type: "email", placeholder: "email@example.com" })
8660
8985
  ] })
8661
8986
  ] }) }),
8662
- /* @__PURE__ */ jsx47(Section, { title: "Textarea", children: /* @__PURE__ */ jsxs32("div", { className: "space-y-4 max-w-md", children: [
8663
- /* @__PURE__ */ jsxs32("div", { children: [
8664
- /* @__PURE__ */ jsx47(Label, { htmlFor: "textarea-default", children: "Default Textarea" }),
8665
- /* @__PURE__ */ jsx47(
8987
+ /* @__PURE__ */ jsx49(Section, { title: "Textarea", children: /* @__PURE__ */ jsxs33("div", { className: "space-y-4 max-w-md", children: [
8988
+ /* @__PURE__ */ jsxs33("div", { children: [
8989
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "textarea-default", children: "Default Textarea" }),
8990
+ /* @__PURE__ */ jsx49(
8666
8991
  Textarea,
8667
8992
  {
8668
8993
  id: "textarea-default",
@@ -8672,52 +8997,52 @@ var PlaygroundContent = () => {
8672
8997
  }
8673
8998
  )
8674
8999
  ] }),
8675
- /* @__PURE__ */ jsxs32("div", { children: [
8676
- /* @__PURE__ */ jsx47(Label, { htmlFor: "textarea-disabled", children: "Disabled Textarea" }),
8677
- /* @__PURE__ */ jsx47(Textarea, { id: "textarea-disabled", placeholder: "Disabled...", disabled: true })
9000
+ /* @__PURE__ */ jsxs33("div", { children: [
9001
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "textarea-disabled", children: "Disabled Textarea" }),
9002
+ /* @__PURE__ */ jsx49(Textarea, { id: "textarea-disabled", placeholder: "Disabled...", disabled: true })
8678
9003
  ] })
8679
9004
  ] }) }),
8680
- /* @__PURE__ */ jsx47(Section, { title: "Select", children: /* @__PURE__ */ jsxs32("div", { className: "space-y-4 max-w-md", children: [
8681
- /* @__PURE__ */ jsxs32("div", { children: [
8682
- /* @__PURE__ */ jsx47(Label, { children: "Default Select" }),
8683
- /* @__PURE__ */ jsxs32(SelectNamespace, { value: selectValue, onValueChange: setSelectValue, children: [
8684
- /* @__PURE__ */ jsx47(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx47(SelectValue, { placeholder: "Select an option..." }) }),
8685
- /* @__PURE__ */ jsxs32(SelectContent, { children: [
8686
- /* @__PURE__ */ jsx47(SelectItem, { value: "option1", children: "Option 1" }),
8687
- /* @__PURE__ */ jsx47(SelectItem, { value: "option2", children: "Option 2" }),
8688
- /* @__PURE__ */ jsx47(SelectItem, { value: "option3", children: "Option 3" })
9005
+ /* @__PURE__ */ jsx49(Section, { title: "Select", children: /* @__PURE__ */ jsxs33("div", { className: "space-y-4 max-w-md", children: [
9006
+ /* @__PURE__ */ jsxs33("div", { children: [
9007
+ /* @__PURE__ */ jsx49(Label, { children: "Default Select" }),
9008
+ /* @__PURE__ */ jsxs33(SelectNamespace, { value: selectValue, onValueChange: setSelectValue, children: [
9009
+ /* @__PURE__ */ jsx49(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx49(SelectValue, { placeholder: "Select an option..." }) }),
9010
+ /* @__PURE__ */ jsxs33(SelectContent, { children: [
9011
+ /* @__PURE__ */ jsx49(SelectItem, { value: "option1", children: "Option 1" }),
9012
+ /* @__PURE__ */ jsx49(SelectItem, { value: "option2", children: "Option 2" }),
9013
+ /* @__PURE__ */ jsx49(SelectItem, { value: "option3", children: "Option 3" })
8689
9014
  ] })
8690
9015
  ] })
8691
9016
  ] }),
8692
- /* @__PURE__ */ jsxs32("div", { children: [
8693
- /* @__PURE__ */ jsx47(Label, { children: "Grouped Select" }),
8694
- /* @__PURE__ */ jsxs32(SelectNamespace, { children: [
8695
- /* @__PURE__ */ jsx47(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx47(SelectValue, { placeholder: "Select a food..." }) }),
8696
- /* @__PURE__ */ jsxs32(SelectContent, { children: [
8697
- /* @__PURE__ */ jsxs32(SelectGroup, { children: [
8698
- /* @__PURE__ */ jsx47(SelectLabel, { children: "Fruits" }),
8699
- /* @__PURE__ */ jsx47(SelectItem, { value: "apple", children: "Apple" }),
8700
- /* @__PURE__ */ jsx47(SelectItem, { value: "banana", children: "Banana" })
9017
+ /* @__PURE__ */ jsxs33("div", { children: [
9018
+ /* @__PURE__ */ jsx49(Label, { children: "Grouped Select" }),
9019
+ /* @__PURE__ */ jsxs33(SelectNamespace, { children: [
9020
+ /* @__PURE__ */ jsx49(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx49(SelectValue, { placeholder: "Select a food..." }) }),
9021
+ /* @__PURE__ */ jsxs33(SelectContent, { children: [
9022
+ /* @__PURE__ */ jsxs33(SelectGroup, { children: [
9023
+ /* @__PURE__ */ jsx49(SelectLabel, { children: "Fruits" }),
9024
+ /* @__PURE__ */ jsx49(SelectItem, { value: "apple", children: "Apple" }),
9025
+ /* @__PURE__ */ jsx49(SelectItem, { value: "banana", children: "Banana" })
8701
9026
  ] }),
8702
- /* @__PURE__ */ jsxs32(SelectGroup, { children: [
8703
- /* @__PURE__ */ jsx47(SelectLabel, { children: "Vegetables" }),
8704
- /* @__PURE__ */ jsx47(SelectItem, { value: "carrot", children: "Carrot" }),
8705
- /* @__PURE__ */ jsx47(SelectItem, { value: "potato", children: "Potato" })
9027
+ /* @__PURE__ */ jsxs33(SelectGroup, { children: [
9028
+ /* @__PURE__ */ jsx49(SelectLabel, { children: "Vegetables" }),
9029
+ /* @__PURE__ */ jsx49(SelectItem, { value: "carrot", children: "Carrot" }),
9030
+ /* @__PURE__ */ jsx49(SelectItem, { value: "potato", children: "Potato" })
8706
9031
  ] })
8707
9032
  ] })
8708
9033
  ] })
8709
9034
  ] }),
8710
- /* @__PURE__ */ jsxs32("div", { children: [
8711
- /* @__PURE__ */ jsx47(Label, { children: "Disabled Select" }),
8712
- /* @__PURE__ */ jsxs32(SelectNamespace, { disabled: true, children: [
8713
- /* @__PURE__ */ jsx47(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx47(SelectValue, { placeholder: "Disabled..." }) }),
8714
- /* @__PURE__ */ jsx47(SelectContent, { children: /* @__PURE__ */ jsx47(SelectItem, { value: "none", children: "None" }) })
9035
+ /* @__PURE__ */ jsxs33("div", { children: [
9036
+ /* @__PURE__ */ jsx49(Label, { children: "Disabled Select" }),
9037
+ /* @__PURE__ */ jsxs33(SelectNamespace, { disabled: true, children: [
9038
+ /* @__PURE__ */ jsx49(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx49(SelectValue, { placeholder: "Disabled..." }) }),
9039
+ /* @__PURE__ */ jsx49(SelectContent, { children: /* @__PURE__ */ jsx49(SelectItem, { value: "none", children: "None" }) })
8715
9040
  ] })
8716
9041
  ] })
8717
9042
  ] }) }),
8718
- /* @__PURE__ */ jsx47(Section, { title: "Combobox (Searchable Select)", children: /* @__PURE__ */ jsx47("div", { className: "space-y-4 max-w-md", children: /* @__PURE__ */ jsxs32("div", { children: [
8719
- /* @__PURE__ */ jsx47(Label, { children: "Framework" }),
8720
- /* @__PURE__ */ jsx47(
9043
+ /* @__PURE__ */ jsx49(Section, { title: "Combobox (Searchable Select)", children: /* @__PURE__ */ jsx49("div", { className: "space-y-4 max-w-md", children: /* @__PURE__ */ jsxs33("div", { children: [
9044
+ /* @__PURE__ */ jsx49(Label, { children: "Framework" }),
9045
+ /* @__PURE__ */ jsx49(
8721
9046
  Combobox,
8722
9047
  {
8723
9048
  options: comboboxOptions,
@@ -8729,9 +9054,9 @@ var PlaygroundContent = () => {
8729
9054
  }
8730
9055
  )
8731
9056
  ] }) }) }),
8732
- /* @__PURE__ */ jsx47(Section, { title: "Checkbox & Switch", children: /* @__PURE__ */ jsxs32("div", { className: "space-y-4", children: [
8733
- /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
8734
- /* @__PURE__ */ jsx47(
9057
+ /* @__PURE__ */ jsx49(Section, { title: "Checkbox & Switch", children: /* @__PURE__ */ jsxs33("div", { className: "space-y-4", children: [
9058
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
9059
+ /* @__PURE__ */ jsx49(
8735
9060
  Checkbox,
8736
9061
  {
8737
9062
  id: "checkbox",
@@ -8739,15 +9064,15 @@ var PlaygroundContent = () => {
8739
9064
  onChange: (e) => setCheckboxChecked(e.target.checked)
8740
9065
  }
8741
9066
  ),
8742
- /* @__PURE__ */ jsx47(Label, { htmlFor: "checkbox", children: "Accept terms and conditions" })
9067
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "checkbox", children: "Accept terms and conditions" })
8743
9068
  ] }),
8744
- /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
8745
- /* @__PURE__ */ jsx47(Checkbox, { id: "checkbox-disabled", disabled: true }),
8746
- /* @__PURE__ */ jsx47(Label, { htmlFor: "checkbox-disabled", children: "Disabled checkbox" })
9069
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
9070
+ /* @__PURE__ */ jsx49(Checkbox, { id: "checkbox-disabled", disabled: true }),
9071
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "checkbox-disabled", children: "Disabled checkbox" })
8747
9072
  ] }),
8748
- /* @__PURE__ */ jsx47(Separator, {}),
8749
- /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
8750
- /* @__PURE__ */ jsx47(
9073
+ /* @__PURE__ */ jsx49(Separator, {}),
9074
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
9075
+ /* @__PURE__ */ jsx49(
8751
9076
  Switch,
8752
9077
  {
8753
9078
  id: "switch",
@@ -8755,160 +9080,161 @@ var PlaygroundContent = () => {
8755
9080
  onChange: (e) => setSwitchChecked(e.target.checked)
8756
9081
  }
8757
9082
  ),
8758
- /* @__PURE__ */ jsx47(Label, { htmlFor: "switch", children: "Enable notifications" })
9083
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "switch", children: "Enable notifications" })
8759
9084
  ] }),
8760
- /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
8761
- /* @__PURE__ */ jsx47(Switch, { id: "switch-disabled", disabled: true }),
8762
- /* @__PURE__ */ jsx47(Label, { htmlFor: "switch-disabled", children: "Disabled switch" })
9085
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
9086
+ /* @__PURE__ */ jsx49(Switch, { id: "switch-disabled", disabled: true }),
9087
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "switch-disabled", children: "Disabled switch" })
8763
9088
  ] })
8764
9089
  ] }) }),
8765
- /* @__PURE__ */ jsx47(Section, { title: "Badge", children: /* @__PURE__ */ jsxs32("div", { className: "flex flex-wrap gap-4", children: [
8766
- /* @__PURE__ */ jsx47(Badge, { children: "Default" }),
8767
- /* @__PURE__ */ jsx47(Badge, { variant: "secondary", children: "Secondary" }),
8768
- /* @__PURE__ */ jsx47(Badge, { variant: "destructive", children: "Destructive" }),
8769
- /* @__PURE__ */ jsx47(Badge, { variant: "outline", children: "Outline" })
9090
+ /* @__PURE__ */ jsx49(Section, { title: "Badge", children: /* @__PURE__ */ jsxs33("div", { className: "flex flex-wrap gap-4", children: [
9091
+ /* @__PURE__ */ jsx49(Badge, { children: "Default" }),
9092
+ /* @__PURE__ */ jsx49(Badge, { color: "success", children: "Success" }),
9093
+ /* @__PURE__ */ jsx49(Badge, { color: "warning", children: "Warning" }),
9094
+ /* @__PURE__ */ jsx49(Badge, { color: "error", variant: "outlined", children: "Error" }),
9095
+ /* @__PURE__ */ jsx49(Badge, { color: "destructive", variant: "text", children: "Destructive" })
8770
9096
  ] }) }),
8771
- /* @__PURE__ */ jsx47(Section, { title: "Card", children: /* @__PURE__ */ jsxs32("div", { className: "grid gap-4 md:grid-cols-2", children: [
8772
- /* @__PURE__ */ jsxs32(Card, { children: [
8773
- /* @__PURE__ */ jsxs32(CardHeader, { children: [
8774
- /* @__PURE__ */ jsx47(CardTitle, { children: "Card Title" }),
8775
- /* @__PURE__ */ jsx47(CardDescription, { children: "Card description goes here" })
9097
+ /* @__PURE__ */ jsx49(Section, { title: "Card", children: /* @__PURE__ */ jsxs33("div", { className: "grid gap-4 md:grid-cols-2", children: [
9098
+ /* @__PURE__ */ jsxs33(Card, { children: [
9099
+ /* @__PURE__ */ jsxs33(CardHeader, { children: [
9100
+ /* @__PURE__ */ jsx49(CardTitle, { children: "Card Title" }),
9101
+ /* @__PURE__ */ jsx49(CardDescription, { children: "Card description goes here" })
8776
9102
  ] }),
8777
- /* @__PURE__ */ jsx47(CardContent, { children: /* @__PURE__ */ jsx47("p", { className: "text-foreground", children: "This is the card content area." }) }),
8778
- /* @__PURE__ */ jsxs32(CardFooter, { children: [
8779
- /* @__PURE__ */ jsx47(Button, { variant: "outline", className: "mr-2", children: "Cancel" }),
8780
- /* @__PURE__ */ jsx47(Button, { children: "Submit" })
9103
+ /* @__PURE__ */ jsx49(CardContent, { children: /* @__PURE__ */ jsx49("p", { className: "text-foreground", children: "This is the card content area." }) }),
9104
+ /* @__PURE__ */ jsxs33(CardFooter, { children: [
9105
+ /* @__PURE__ */ jsx49(Button, { variant: "outline", className: "mr-2", children: "Cancel" }),
9106
+ /* @__PURE__ */ jsx49(Button, { children: "Submit" })
8781
9107
  ] })
8782
9108
  ] }),
8783
- /* @__PURE__ */ jsxs32(Card, { children: [
8784
- /* @__PURE__ */ jsxs32(CardHeader, { children: [
8785
- /* @__PURE__ */ jsx47(CardTitle, { children: "Another Card" }),
8786
- /* @__PURE__ */ jsx47(CardDescription, { children: "With different content" })
9109
+ /* @__PURE__ */ jsxs33(Card, { children: [
9110
+ /* @__PURE__ */ jsxs33(CardHeader, { children: [
9111
+ /* @__PURE__ */ jsx49(CardTitle, { children: "Another Card" }),
9112
+ /* @__PURE__ */ jsx49(CardDescription, { children: "With different content" })
8787
9113
  ] }),
8788
- /* @__PURE__ */ jsx47(CardContent, { children: /* @__PURE__ */ jsxs32("div", { className: "space-y-2", children: [
8789
- /* @__PURE__ */ jsx47(Label, { htmlFor: "card-input", children: "Name" }),
8790
- /* @__PURE__ */ jsx47(Input, { id: "card-input", placeholder: "Enter name..." })
9114
+ /* @__PURE__ */ jsx49(CardContent, { children: /* @__PURE__ */ jsxs33("div", { className: "space-y-2", children: [
9115
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "card-input", children: "Name" }),
9116
+ /* @__PURE__ */ jsx49(Input, { id: "card-input", placeholder: "Enter name..." })
8791
9117
  ] }) }),
8792
- /* @__PURE__ */ jsx47(CardFooter, { children: /* @__PURE__ */ jsx47(Button, { className: "w-full", children: "Save" }) })
9118
+ /* @__PURE__ */ jsx49(CardFooter, { children: /* @__PURE__ */ jsx49(Button, { className: "w-full", children: "Save" }) })
8793
9119
  ] })
8794
9120
  ] }) }),
8795
- /* @__PURE__ */ jsxs32(Section, { title: "Dialog", children: [
8796
- /* @__PURE__ */ jsx47(Button, { onClick: () => setDialogOpen(true), children: "Open Dialog" }),
8797
- /* @__PURE__ */ jsx47(DialogNamespace, { open: dialogOpen, onOpenChange: setDialogOpen, children: /* @__PURE__ */ jsxs32(DialogContent, { children: [
8798
- /* @__PURE__ */ jsxs32(DialogHeader, { children: [
8799
- /* @__PURE__ */ jsx47(DialogTitle, { children: "Create New Zone" }),
8800
- /* @__PURE__ */ jsx47(DialogDescription, { children: "Fill in the details below to create a new zone." })
9121
+ /* @__PURE__ */ jsxs33(Section, { title: "Dialog", children: [
9122
+ /* @__PURE__ */ jsx49(Button, { onClick: () => setDialogOpen(true), children: "Open Dialog" }),
9123
+ /* @__PURE__ */ jsx49(DialogNamespace, { open: dialogOpen, onOpenChange: setDialogOpen, children: /* @__PURE__ */ jsxs33(DialogContent, { children: [
9124
+ /* @__PURE__ */ jsxs33(DialogHeader, { children: [
9125
+ /* @__PURE__ */ jsx49(DialogTitle, { children: "Create New Zone" }),
9126
+ /* @__PURE__ */ jsx49(DialogDescription, { children: "Fill in the details below to create a new zone." })
8801
9127
  ] }),
8802
- /* @__PURE__ */ jsxs32("div", { className: "space-y-4 py-4", children: [
8803
- /* @__PURE__ */ jsxs32("div", { className: "grid grid-cols-2 gap-4", children: [
8804
- /* @__PURE__ */ jsxs32("div", { children: [
8805
- /* @__PURE__ */ jsx47(Label, { htmlFor: "zone-name", children: "Zone Name *" }),
8806
- /* @__PURE__ */ jsx47(Input, { id: "zone-name", placeholder: "eg:hyderabad" })
9128
+ /* @__PURE__ */ jsxs33("div", { className: "space-y-4 py-4", children: [
9129
+ /* @__PURE__ */ jsxs33("div", { className: "grid grid-cols-2 gap-4", children: [
9130
+ /* @__PURE__ */ jsxs33("div", { children: [
9131
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "zone-name", children: "Zone Name *" }),
9132
+ /* @__PURE__ */ jsx49(Input, { id: "zone-name", placeholder: "eg:hyderabad" })
8807
9133
  ] }),
8808
- /* @__PURE__ */ jsxs32("div", { children: [
8809
- /* @__PURE__ */ jsx47(Label, { htmlFor: "zone-code", children: "Zone Code *" }),
8810
- /* @__PURE__ */ jsx47(Input, { id: "zone-code", placeholder: "eg :hyd022" })
9134
+ /* @__PURE__ */ jsxs33("div", { children: [
9135
+ /* @__PURE__ */ jsx49(Label, { htmlFor: "zone-code", children: "Zone Code *" }),
9136
+ /* @__PURE__ */ jsx49(Input, { id: "zone-code", placeholder: "eg :hyd022" })
8811
9137
  ] })
8812
9138
  ] }),
8813
- /* @__PURE__ */ jsxs32("div", { className: "grid grid-cols-2 gap-4", children: [
8814
- /* @__PURE__ */ jsxs32("div", { children: [
8815
- /* @__PURE__ */ jsx47(Label, { children: "State *" }),
8816
- /* @__PURE__ */ jsxs32(SelectNamespace, { children: [
8817
- /* @__PURE__ */ jsx47(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx47(SelectValue, { placeholder: "Select state" }) }),
8818
- /* @__PURE__ */ jsxs32(SelectContent, { children: [
8819
- /* @__PURE__ */ jsx47(SelectItem, { value: "telangana", children: "TELANGANA" }),
8820
- /* @__PURE__ */ jsx47(SelectItem, { value: "andhra", children: "ANDHRA PRADESH" })
9139
+ /* @__PURE__ */ jsxs33("div", { className: "grid grid-cols-2 gap-4", children: [
9140
+ /* @__PURE__ */ jsxs33("div", { children: [
9141
+ /* @__PURE__ */ jsx49(Label, { children: "State *" }),
9142
+ /* @__PURE__ */ jsxs33(SelectNamespace, { children: [
9143
+ /* @__PURE__ */ jsx49(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx49(SelectValue, { placeholder: "Select state" }) }),
9144
+ /* @__PURE__ */ jsxs33(SelectContent, { children: [
9145
+ /* @__PURE__ */ jsx49(SelectItem, { value: "telangana", children: "TELANGANA" }),
9146
+ /* @__PURE__ */ jsx49(SelectItem, { value: "andhra", children: "ANDHRA PRADESH" })
8821
9147
  ] })
8822
9148
  ] })
8823
9149
  ] }),
8824
- /* @__PURE__ */ jsxs32("div", { children: [
8825
- /* @__PURE__ */ jsx47(Label, { children: "District *" }),
8826
- /* @__PURE__ */ jsxs32(SelectNamespace, { children: [
8827
- /* @__PURE__ */ jsx47(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx47(SelectValue, { placeholder: "Select District" }) }),
8828
- /* @__PURE__ */ jsxs32(SelectContent, { children: [
8829
- /* @__PURE__ */ jsx47(SelectItem, { value: "hyderabad", children: "HYDERABAD" }),
8830
- /* @__PURE__ */ jsx47(SelectItem, { value: "rangareddy", children: "RANGAREDDY" })
9150
+ /* @__PURE__ */ jsxs33("div", { children: [
9151
+ /* @__PURE__ */ jsx49(Label, { children: "District *" }),
9152
+ /* @__PURE__ */ jsxs33(SelectNamespace, { children: [
9153
+ /* @__PURE__ */ jsx49(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx49(SelectValue, { placeholder: "Select District" }) }),
9154
+ /* @__PURE__ */ jsxs33(SelectContent, { children: [
9155
+ /* @__PURE__ */ jsx49(SelectItem, { value: "hyderabad", children: "HYDERABAD" }),
9156
+ /* @__PURE__ */ jsx49(SelectItem, { value: "rangareddy", children: "RANGAREDDY" })
8831
9157
  ] })
8832
9158
  ] })
8833
9159
  ] })
8834
9160
  ] })
8835
9161
  ] }),
8836
- /* @__PURE__ */ jsxs32(DialogFooter, { children: [
8837
- /* @__PURE__ */ jsx47(Button, { variant: "outline", onClick: () => setDialogOpen(false), children: "CANCEL" }),
8838
- /* @__PURE__ */ jsx47(Button, { onClick: () => setDialogOpen(false), children: "Create" })
9162
+ /* @__PURE__ */ jsxs33(DialogFooter, { children: [
9163
+ /* @__PURE__ */ jsx49(Button, { variant: "outline", onClick: () => setDialogOpen(false), children: "CANCEL" }),
9164
+ /* @__PURE__ */ jsx49(Button, { onClick: () => setDialogOpen(false), children: "Create" })
8839
9165
  ] })
8840
9166
  ] }) })
8841
9167
  ] }),
8842
- /* @__PURE__ */ jsx47(Section, { title: "Table", children: /* @__PURE__ */ jsxs32(TableNamespace, { children: [
8843
- /* @__PURE__ */ jsx47(TableCaption, { children: "A list of recent invoices" }),
8844
- /* @__PURE__ */ jsx47(TableHeader, { children: /* @__PURE__ */ jsxs32(TableRow, { children: [
8845
- /* @__PURE__ */ jsx47(TableHead, { children: "Invoice" }),
8846
- /* @__PURE__ */ jsx47(TableHead, { children: "Status" }),
8847
- /* @__PURE__ */ jsx47(TableHead, { children: "Method" }),
8848
- /* @__PURE__ */ jsx47(TableHead, { className: "text-right", children: "Amount" })
9168
+ /* @__PURE__ */ jsx49(Section, { title: "Table", children: /* @__PURE__ */ jsxs33(TableNamespace, { children: [
9169
+ /* @__PURE__ */ jsx49(TableCaption, { children: "A list of recent invoices" }),
9170
+ /* @__PURE__ */ jsx49(TableHeader, { children: /* @__PURE__ */ jsxs33(TableRow, { children: [
9171
+ /* @__PURE__ */ jsx49(TableHead, { children: "Invoice" }),
9172
+ /* @__PURE__ */ jsx49(TableHead, { children: "Status" }),
9173
+ /* @__PURE__ */ jsx49(TableHead, { children: "Method" }),
9174
+ /* @__PURE__ */ jsx49(TableHead, { className: "text-right", children: "Amount" })
8849
9175
  ] }) }),
8850
- /* @__PURE__ */ jsxs32(TableBody, { children: [
8851
- /* @__PURE__ */ jsxs32(TableRow, { children: [
8852
- /* @__PURE__ */ jsx47(TableCell, { children: "INV001" }),
8853
- /* @__PURE__ */ jsx47(TableCell, { children: /* @__PURE__ */ jsx47(Badge, { children: "Paid" }) }),
8854
- /* @__PURE__ */ jsx47(TableCell, { children: "Credit Card" }),
8855
- /* @__PURE__ */ jsx47(TableCell, { className: "text-right", children: "$250.00" })
9176
+ /* @__PURE__ */ jsxs33(TableBody, { children: [
9177
+ /* @__PURE__ */ jsxs33(TableRow, { children: [
9178
+ /* @__PURE__ */ jsx49(TableCell, { children: "INV001" }),
9179
+ /* @__PURE__ */ jsx49(TableCell, { children: /* @__PURE__ */ jsx49(Badge, { color: "success", children: "Paid" }) }),
9180
+ /* @__PURE__ */ jsx49(TableCell, { children: "Credit Card" }),
9181
+ /* @__PURE__ */ jsx49(TableCell, { className: "text-right", children: "$250.00" })
8856
9182
  ] }),
8857
- /* @__PURE__ */ jsxs32(TableRow, { children: [
8858
- /* @__PURE__ */ jsx47(TableCell, { children: "INV002" }),
8859
- /* @__PURE__ */ jsx47(TableCell, { children: /* @__PURE__ */ jsx47(Badge, { variant: "secondary", children: "Pending" }) }),
8860
- /* @__PURE__ */ jsx47(TableCell, { children: "PayPal" }),
8861
- /* @__PURE__ */ jsx47(TableCell, { className: "text-right", children: "$150.00" })
9183
+ /* @__PURE__ */ jsxs33(TableRow, { children: [
9184
+ /* @__PURE__ */ jsx49(TableCell, { children: "INV002" }),
9185
+ /* @__PURE__ */ jsx49(TableCell, { children: /* @__PURE__ */ jsx49(Badge, { color: "warning", variant: "outlined", children: "Pending" }) }),
9186
+ /* @__PURE__ */ jsx49(TableCell, { children: "PayPal" }),
9187
+ /* @__PURE__ */ jsx49(TableCell, { className: "text-right", children: "$150.00" })
8862
9188
  ] }),
8863
- /* @__PURE__ */ jsxs32(TableRow, { children: [
8864
- /* @__PURE__ */ jsx47(TableCell, { children: "INV003" }),
8865
- /* @__PURE__ */ jsx47(TableCell, { children: /* @__PURE__ */ jsx47(Badge, { variant: "destructive", children: "Failed" }) }),
8866
- /* @__PURE__ */ jsx47(TableCell, { children: "Bank Transfer" }),
8867
- /* @__PURE__ */ jsx47(TableCell, { className: "text-right", children: "$350.00" })
9189
+ /* @__PURE__ */ jsxs33(TableRow, { children: [
9190
+ /* @__PURE__ */ jsx49(TableCell, { children: "INV003" }),
9191
+ /* @__PURE__ */ jsx49(TableCell, { children: /* @__PURE__ */ jsx49(Badge, { color: "error", variant: "outlined", children: "Failed" }) }),
9192
+ /* @__PURE__ */ jsx49(TableCell, { children: "Bank Transfer" }),
9193
+ /* @__PURE__ */ jsx49(TableCell, { className: "text-right", children: "$350.00" })
8868
9194
  ] })
8869
9195
  ] })
8870
9196
  ] }) }),
8871
- /* @__PURE__ */ jsx47(Section, { title: "Pagination", children: /* @__PURE__ */ jsx47(PaginationNamespace, { children: /* @__PURE__ */ jsxs32(PaginationContent, { children: [
8872
- /* @__PURE__ */ jsx47(PaginationItem, { children: /* @__PURE__ */ jsx47(PaginationPrevious, { onClick: () => console.log("Previous") }) }),
8873
- /* @__PURE__ */ jsx47(PaginationItem, { children: /* @__PURE__ */ jsx47(PaginationLink, { isActive: true, children: "1" }) }),
8874
- /* @__PURE__ */ jsx47(PaginationItem, { children: /* @__PURE__ */ jsx47(PaginationLink, { children: "2" }) }),
8875
- /* @__PURE__ */ jsx47(PaginationItem, { children: /* @__PURE__ */ jsx47(PaginationLink, { children: "3" }) }),
8876
- /* @__PURE__ */ jsx47(PaginationItem, { children: /* @__PURE__ */ jsx47(PaginationEllipsis, {}) }),
8877
- /* @__PURE__ */ jsx47(PaginationItem, { children: /* @__PURE__ */ jsx47(PaginationNext, { onClick: () => console.log("Next") }) })
9197
+ /* @__PURE__ */ jsx49(Section, { title: "Pagination", children: /* @__PURE__ */ jsx49(PaginationNamespace, { children: /* @__PURE__ */ jsxs33(PaginationContent, { children: [
9198
+ /* @__PURE__ */ jsx49(PaginationItem, { children: /* @__PURE__ */ jsx49(PaginationPrevious, { onClick: () => console.log("Previous") }) }),
9199
+ /* @__PURE__ */ jsx49(PaginationItem, { children: /* @__PURE__ */ jsx49(PaginationLink, { isActive: true, children: "1" }) }),
9200
+ /* @__PURE__ */ jsx49(PaginationItem, { children: /* @__PURE__ */ jsx49(PaginationLink, { children: "2" }) }),
9201
+ /* @__PURE__ */ jsx49(PaginationItem, { children: /* @__PURE__ */ jsx49(PaginationLink, { children: "3" }) }),
9202
+ /* @__PURE__ */ jsx49(PaginationItem, { children: /* @__PURE__ */ jsx49(PaginationEllipsis, {}) }),
9203
+ /* @__PURE__ */ jsx49(PaginationItem, { children: /* @__PURE__ */ jsx49(PaginationNext, { onClick: () => console.log("Next") }) })
8878
9204
  ] }) }) }),
8879
- /* @__PURE__ */ jsx47(Section, { title: "Spinner", children: /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-8", children: [
8880
- /* @__PURE__ */ jsxs32("div", { className: "text-center", children: [
8881
- /* @__PURE__ */ jsx47(Spinner, { size: "sm" }),
8882
- /* @__PURE__ */ jsx47("p", { className: "text-sm text-muted-foreground mt-2", children: "Small" })
9205
+ /* @__PURE__ */ jsx49(Section, { title: "Spinner", children: /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-8", children: [
9206
+ /* @__PURE__ */ jsxs33("div", { className: "text-center", children: [
9207
+ /* @__PURE__ */ jsx49(Spinner, { size: "sm" }),
9208
+ /* @__PURE__ */ jsx49("p", { className: "text-sm text-muted-foreground mt-2", children: "Small" })
8883
9209
  ] }),
8884
- /* @__PURE__ */ jsxs32("div", { className: "text-center", children: [
8885
- /* @__PURE__ */ jsx47(Spinner, { size: "default" }),
8886
- /* @__PURE__ */ jsx47("p", { className: "text-sm text-muted-foreground mt-2", children: "Default" })
9210
+ /* @__PURE__ */ jsxs33("div", { className: "text-center", children: [
9211
+ /* @__PURE__ */ jsx49(Spinner, { size: "default" }),
9212
+ /* @__PURE__ */ jsx49("p", { className: "text-sm text-muted-foreground mt-2", children: "Default" })
8887
9213
  ] }),
8888
- /* @__PURE__ */ jsxs32("div", { className: "text-center", children: [
8889
- /* @__PURE__ */ jsx47(Spinner, { size: "lg" }),
8890
- /* @__PURE__ */ jsx47("p", { className: "text-sm text-muted-foreground mt-2", children: "Large" })
9214
+ /* @__PURE__ */ jsxs33("div", { className: "text-center", children: [
9215
+ /* @__PURE__ */ jsx49(Spinner, { size: "lg" }),
9216
+ /* @__PURE__ */ jsx49("p", { className: "text-sm text-muted-foreground mt-2", children: "Large" })
8891
9217
  ] })
8892
9218
  ] }) }),
8893
- /* @__PURE__ */ jsx47(Section, { title: "Separator", children: /* @__PURE__ */ jsxs32("div", { className: "space-y-4", children: [
8894
- /* @__PURE__ */ jsx47("p", { className: "text-foreground", children: "Content above separator" }),
8895
- /* @__PURE__ */ jsx47(Separator, {}),
8896
- /* @__PURE__ */ jsx47("p", { className: "text-foreground", children: "Content below separator" }),
8897
- /* @__PURE__ */ jsxs32("div", { className: "flex items-center h-10", children: [
8898
- /* @__PURE__ */ jsx47("span", { className: "text-foreground", children: "Left" }),
8899
- /* @__PURE__ */ jsx47(Separator, { orientation: "vertical", className: "mx-4" }),
8900
- /* @__PURE__ */ jsx47("span", { className: "text-foreground", children: "Right" })
9219
+ /* @__PURE__ */ jsx49(Section, { title: "Separator", children: /* @__PURE__ */ jsxs33("div", { className: "space-y-4", children: [
9220
+ /* @__PURE__ */ jsx49("p", { className: "text-foreground", children: "Content above separator" }),
9221
+ /* @__PURE__ */ jsx49(Separator, {}),
9222
+ /* @__PURE__ */ jsx49("p", { className: "text-foreground", children: "Content below separator" }),
9223
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center h-10", children: [
9224
+ /* @__PURE__ */ jsx49("span", { className: "text-foreground", children: "Left" }),
9225
+ /* @__PURE__ */ jsx49(Separator, { orientation: "vertical", className: "mx-4" }),
9226
+ /* @__PURE__ */ jsx49("span", { className: "text-foreground", children: "Right" })
8901
9227
  ] })
8902
9228
  ] }) }),
8903
- /* @__PURE__ */ jsx47(Section, { title: "Typography & Colors", children: /* @__PURE__ */ jsxs32("div", { className: "space-y-2", children: [
8904
- /* @__PURE__ */ jsx47("p", { className: "text-foreground", children: "text-foreground - Primary text color" }),
8905
- /* @__PURE__ */ jsx47("p", { className: "text-muted-foreground", children: "text-muted-foreground - Muted text color" }),
8906
- /* @__PURE__ */ jsx47("p", { className: "text-accent", children: "text-accent - Accent color" }),
8907
- /* @__PURE__ */ jsx47("p", { className: "text-destructive", children: "text-destructive - Destructive color" })
9229
+ /* @__PURE__ */ jsx49(Section, { title: "Typography & Colors", children: /* @__PURE__ */ jsxs33("div", { className: "space-y-2", children: [
9230
+ /* @__PURE__ */ jsx49("p", { className: "text-foreground", children: "text-foreground - Primary text color" }),
9231
+ /* @__PURE__ */ jsx49("p", { className: "text-muted-foreground", children: "text-muted-foreground - Muted text color" }),
9232
+ /* @__PURE__ */ jsx49("p", { className: "text-accent", children: "text-accent - Accent color" }),
9233
+ /* @__PURE__ */ jsx49("p", { className: "text-destructive", children: "text-destructive - Destructive color" })
8908
9234
  ] }) })
8909
9235
  ] }) });
8910
9236
  };
8911
- var Playground = () => /* @__PURE__ */ jsx47(ThemeProvider, { defaultTheme: "light", children: /* @__PURE__ */ jsx47(PlaygroundContent, {}) });
9237
+ var Playground = () => /* @__PURE__ */ jsx49(ThemeProvider, { defaultTheme: "light", children: /* @__PURE__ */ jsx49(PlaygroundContent, {}) });
8912
9238
  export {
8913
9239
  Accordion,
8914
9240
  AccordionContent,
@@ -8931,6 +9257,7 @@ export {
8931
9257
  AreaChart,
8932
9258
  Avatar,
8933
9259
  AvatarGroup,
9260
+ Backdrop,
8934
9261
  Badge,
8935
9262
  BarChart,
8936
9263
  BottomNavigation,
@@ -9091,6 +9418,9 @@ export {
9091
9418
  SkeletonTableRow,
9092
9419
  SkeletonText,
9093
9420
  Slider,
9421
+ Snackbar,
9422
+ SnackbarContent,
9423
+ SnackbarProvider,
9094
9424
  Spinner,
9095
9425
  Stack,
9096
9426
  Switch,
@@ -9139,6 +9469,7 @@ export {
9139
9469
  useFormControl,
9140
9470
  useSidebar,
9141
9471
  useSidebarRail,
9472
+ useSnackbar,
9142
9473
  useTheme
9143
9474
  };
9144
9475
  //# sourceMappingURL=index.js.map