@polastack/design-system 0.1.21 → 0.1.23

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
@@ -986,8 +986,8 @@ var Checkbox = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__
986
986
  "peer h-4 w-4 shrink-0 rounded-sm border border-[var(--color-border-input)] transition-colors duration-fast",
987
987
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-ring)] focus-visible:ring-offset-2 ring-offset-[var(--color-ring-offset)]",
988
988
  "disabled:cursor-not-allowed disabled:opacity-50",
989
- "data-[state=checked]:border-primary-500 data-[state=checked]:bg-primary-500 data-[state=checked]:text-white",
990
- "data-[state=indeterminate]:border-primary-500 data-[state=indeterminate]:bg-primary-500 data-[state=indeterminate]:text-white",
989
+ "data-[state=checked]:border-primary-400 data-[state=checked]:bg-primary-400 data-[state=checked]:text-white",
990
+ "data-[state=indeterminate]:border-primary-400 data-[state=indeterminate]:bg-primary-400 data-[state=indeterminate]:text-white",
991
991
  "touch:min-h-[--touch-target-min] touch:min-w-[--touch-target-min]",
992
992
  className
993
993
  ),
@@ -1018,7 +1018,7 @@ var RadioGroupItem = React18.forwardRef(({ className, ...props }, ref) => /* @__
1018
1018
  "aspect-square h-4 w-4 rounded-full border border-[var(--color-border-input)] transition-colors duration-fast",
1019
1019
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-ring)] focus-visible:ring-offset-2 ring-offset-[var(--color-ring-offset)]",
1020
1020
  "disabled:cursor-not-allowed disabled:opacity-50",
1021
- "data-[state=checked]:border-primary-500",
1021
+ "data-[state=checked]:border-primary-400",
1022
1022
  "touch:min-h-[--touch-target-min] touch:min-w-[--touch-target-min]",
1023
1023
  className
1024
1024
  ),
@@ -1799,14 +1799,312 @@ var FormActions = React26.forwardRef(
1799
1799
  );
1800
1800
  FormActions.displayName = "FormActions";
1801
1801
 
1802
- // src/components/tabs/tabs.tsx
1802
+ // src/components/progress/progress.tsx
1803
1803
  import * as React27 from "react";
1804
- import * as TabsPrimitive from "@radix-ui/react-tabs";
1804
+ import * as ProgressPrimitive from "@radix-ui/react-progress";
1805
1805
  import { cva as cva11 } from "class-variance-authority";
1806
- import { jsx as jsx26 } from "react/jsx-runtime";
1806
+ import { jsx as jsx26, jsxs as jsxs10 } from "react/jsx-runtime";
1807
+ var progressVariants = cva11(
1808
+ "relative w-full overflow-hidden rounded-full bg-[var(--color-surface-muted)]",
1809
+ {
1810
+ variants: {
1811
+ variant: {
1812
+ default: "",
1813
+ success: "",
1814
+ warning: "",
1815
+ error: "",
1816
+ info: ""
1817
+ },
1818
+ size: {
1819
+ sm: "h-1.5",
1820
+ md: "h-2.5",
1821
+ lg: "h-4"
1822
+ }
1823
+ },
1824
+ defaultVariants: {
1825
+ variant: "default",
1826
+ size: "md"
1827
+ }
1828
+ }
1829
+ );
1830
+ var progressIndicatorVariants = cva11(
1831
+ "h-full rounded-full transition-[width] duration-normal ease-default",
1832
+ {
1833
+ variants: {
1834
+ variant: {
1835
+ default: "bg-primary-500",
1836
+ success: "bg-success-500",
1837
+ warning: "bg-warning-500",
1838
+ error: "bg-error-500",
1839
+ info: "bg-info-500"
1840
+ },
1841
+ indeterminate: {
1842
+ true: "w-1/3 animate-[progress-indeterminate_2s_ease-in-out_infinite]",
1843
+ false: ""
1844
+ }
1845
+ },
1846
+ defaultVariants: {
1847
+ variant: "default",
1848
+ indeterminate: false
1849
+ }
1850
+ }
1851
+ );
1852
+ var Progress = React27.forwardRef(
1853
+ ({
1854
+ className,
1855
+ variant,
1856
+ size,
1857
+ value,
1858
+ max = 100,
1859
+ showLabel,
1860
+ labelPosition = "right",
1861
+ ...props
1862
+ }, ref) => {
1863
+ const isIndeterminate = value === null || value === void 0;
1864
+ const clampedValue = isIndeterminate ? null : Math.min(max, Math.max(0, value));
1865
+ const labelContent = showLabel ? typeof showLabel === "function" ? showLabel(clampedValue) : isIndeterminate ? null : `${Math.round(clampedValue)}%` : null;
1866
+ const bar = /* @__PURE__ */ jsx26(
1867
+ ProgressPrimitive.Root,
1868
+ {
1869
+ ref,
1870
+ value: clampedValue,
1871
+ max,
1872
+ className: cn(progressVariants({ variant, size }), className),
1873
+ ...props,
1874
+ children: /* @__PURE__ */ jsx26(
1875
+ ProgressPrimitive.Indicator,
1876
+ {
1877
+ className: cn(
1878
+ progressIndicatorVariants({
1879
+ variant,
1880
+ indeterminate: isIndeterminate
1881
+ })
1882
+ ),
1883
+ style: isIndeterminate ? void 0 : { width: `${clampedValue / max * 100}%` }
1884
+ }
1885
+ )
1886
+ }
1887
+ );
1888
+ if (!labelContent) return bar;
1889
+ if (labelPosition === "top") {
1890
+ return /* @__PURE__ */ jsxs10("div", { className: "flex flex-col gap-1.5", children: [
1891
+ /* @__PURE__ */ jsx26("span", { className: "text-sm font-medium text-[var(--color-on-surface-secondary)]", children: labelContent }),
1892
+ bar
1893
+ ] });
1894
+ }
1895
+ return /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-3", children: [
1896
+ /* @__PURE__ */ jsx26("div", { className: "flex-1", children: bar }),
1897
+ /* @__PURE__ */ jsx26("span", { className: "shrink-0 text-sm font-medium tabular-nums text-[var(--color-on-surface-secondary)]", children: labelContent })
1898
+ ] });
1899
+ }
1900
+ );
1901
+ Progress.displayName = "Progress";
1902
+
1903
+ // src/components/stepper/stepper.tsx
1904
+ import * as React28 from "react";
1905
+ import { cva as cva12 } from "class-variance-authority";
1906
+ import { Check as Check4 } from "lucide-react";
1907
+ import { Fragment as Fragment2, jsx as jsx27, jsxs as jsxs11 } from "react/jsx-runtime";
1908
+ var stepIndicatorVariants = cva12(
1909
+ "flex items-center justify-center rounded-full font-medium shrink-0 transition-colors duration-normal border-2",
1910
+ {
1911
+ variants: {
1912
+ status: {
1913
+ pending: "border-[var(--color-border)] bg-[var(--color-surface)] text-[var(--color-on-surface-muted)]",
1914
+ active: "border-primary-500 bg-primary-500 text-white",
1915
+ completed: "border-primary-500 bg-primary-500 text-white",
1916
+ error: "border-error-500 bg-error-500 text-white",
1917
+ loading: "border-primary-500 bg-primary-500 text-white"
1918
+ },
1919
+ size: {
1920
+ sm: "h-6 w-6 text-xs",
1921
+ md: "h-8 w-8 text-sm",
1922
+ lg: "h-10 w-10 text-base"
1923
+ }
1924
+ },
1925
+ defaultVariants: {
1926
+ status: "pending",
1927
+ size: "md"
1928
+ }
1929
+ }
1930
+ );
1931
+ var connectorVariants = cva12("transition-colors duration-normal", {
1932
+ variants: {
1933
+ completed: {
1934
+ true: "bg-primary-500",
1935
+ false: "bg-[var(--color-border)]"
1936
+ },
1937
+ orientation: {
1938
+ horizontal: "h-0.5 flex-1 mx-2",
1939
+ vertical: "w-0.5 min-h-6"
1940
+ }
1941
+ },
1942
+ defaultVariants: {
1943
+ completed: false,
1944
+ orientation: "horizontal"
1945
+ }
1946
+ });
1947
+ var spinnerSizeMap = {
1948
+ sm: "sm",
1949
+ md: "sm",
1950
+ lg: "sm"
1951
+ };
1952
+ var checkSizeMap = {
1953
+ sm: 12,
1954
+ md: 16,
1955
+ lg: 20
1956
+ };
1957
+ function StepIndicatorContent({
1958
+ step,
1959
+ index,
1960
+ status,
1961
+ size
1962
+ }) {
1963
+ if (step.icon && status !== "completed" && status !== "loading") {
1964
+ return /* @__PURE__ */ jsx27(Fragment2, { children: step.icon });
1965
+ }
1966
+ if (status === "loading") {
1967
+ return /* @__PURE__ */ jsx27(Spinner, { size: spinnerSizeMap[size], className: "text-current" });
1968
+ }
1969
+ if (status === "completed") {
1970
+ const s = checkSizeMap[size];
1971
+ return /* @__PURE__ */ jsx27(Check4, { size: s, strokeWidth: 3 });
1972
+ }
1973
+ return /* @__PURE__ */ jsx27(Fragment2, { children: index + 1 });
1974
+ }
1975
+ var Stepper = React28.forwardRef(
1976
+ ({
1977
+ className,
1978
+ steps,
1979
+ activeStep,
1980
+ orientation = "horizontal",
1981
+ size = "md",
1982
+ clickable = false,
1983
+ onStepClick,
1984
+ ...props
1985
+ }, ref) => {
1986
+ return /* @__PURE__ */ jsx27(
1987
+ "ol",
1988
+ {
1989
+ ref,
1990
+ role: "list",
1991
+ "aria-label": "Progress",
1992
+ className: cn(
1993
+ orientation === "horizontal" ? "flex items-start" : "flex flex-col",
1994
+ className
1995
+ ),
1996
+ ...props,
1997
+ children: steps.map((step, index) => {
1998
+ const derivedStatus = step.status ?? (index < activeStep ? "completed" : index === activeStep ? "active" : "pending");
1999
+ const isLast = index === steps.length - 1;
2000
+ const isClickable = clickable && (derivedStatus === "completed" || derivedStatus === "active");
2001
+ const handleClick = () => {
2002
+ if (isClickable && onStepClick) onStepClick(index);
2003
+ };
2004
+ const connector = !isLast ? /* @__PURE__ */ jsx27(
2005
+ "div",
2006
+ {
2007
+ className: cn(
2008
+ connectorVariants({
2009
+ completed: index < activeStep,
2010
+ orientation
2011
+ })
2012
+ ),
2013
+ "aria-hidden": "true"
2014
+ }
2015
+ ) : null;
2016
+ const indicatorButton = /* @__PURE__ */ jsx27(
2017
+ "button",
2018
+ {
2019
+ type: "button",
2020
+ className: cn(
2021
+ stepIndicatorVariants({ status: derivedStatus, size }),
2022
+ isClickable && "cursor-pointer hover:ring-2 hover:ring-primary-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-ring)] focus-visible:ring-offset-2",
2023
+ !isClickable && "cursor-default",
2024
+ "touch:min-h-[--touch-target-min] touch:min-w-[--touch-target-min]"
2025
+ ),
2026
+ onClick: handleClick,
2027
+ disabled: !isClickable,
2028
+ tabIndex: isClickable ? 0 : -1,
2029
+ "aria-label": `Step ${index + 1}: ${step.label}${derivedStatus === "completed" ? " (completed)" : derivedStatus === "error" ? " (error)" : derivedStatus === "loading" ? " (loading)" : ""}`,
2030
+ children: /* @__PURE__ */ jsx27(
2031
+ StepIndicatorContent,
2032
+ {
2033
+ step,
2034
+ index,
2035
+ status: derivedStatus,
2036
+ size
2037
+ }
2038
+ )
2039
+ }
2040
+ );
2041
+ const labelEl = /* @__PURE__ */ jsx27(
2042
+ "span",
2043
+ {
2044
+ className: cn(
2045
+ "text-sm font-medium",
2046
+ derivedStatus === "active" && "text-[var(--color-on-surface)]",
2047
+ derivedStatus === "pending" && "text-[var(--color-on-surface-secondary)]",
2048
+ derivedStatus === "completed" && "text-[var(--color-on-surface-secondary)]",
2049
+ derivedStatus === "loading" && "text-[var(--color-on-surface)]",
2050
+ derivedStatus === "error" && "text-error-600 dark:text-error-400"
2051
+ ),
2052
+ children: step.label
2053
+ }
2054
+ );
2055
+ const descEl = step.description ? /* @__PURE__ */ jsx27("span", { className: "text-xs text-[var(--color-on-surface-muted)] max-w-[140px]", children: step.description }) : null;
2056
+ if (orientation === "horizontal") {
2057
+ return /* @__PURE__ */ jsxs11(React28.Fragment, { children: [
2058
+ /* @__PURE__ */ jsxs11(
2059
+ "li",
2060
+ {
2061
+ role: "listitem",
2062
+ "aria-current": derivedStatus === "active" ? "step" : void 0,
2063
+ className: "flex flex-col items-center gap-1.5 text-center",
2064
+ children: [
2065
+ indicatorButton,
2066
+ labelEl,
2067
+ descEl
2068
+ ]
2069
+ }
2070
+ ),
2071
+ connector
2072
+ ] }, index);
2073
+ }
2074
+ return /* @__PURE__ */ jsxs11(
2075
+ "li",
2076
+ {
2077
+ role: "listitem",
2078
+ "aria-current": derivedStatus === "active" ? "step" : void 0,
2079
+ className: "flex gap-3",
2080
+ children: [
2081
+ /* @__PURE__ */ jsxs11("div", { className: "flex flex-col items-center", children: [
2082
+ indicatorButton,
2083
+ connector
2084
+ ] }),
2085
+ /* @__PURE__ */ jsxs11("div", { className: cn("flex flex-col gap-0.5", !isLast && "pb-6"), children: [
2086
+ labelEl,
2087
+ descEl
2088
+ ] })
2089
+ ]
2090
+ },
2091
+ index
2092
+ );
2093
+ })
2094
+ }
2095
+ );
2096
+ }
2097
+ );
2098
+ Stepper.displayName = "Stepper";
2099
+
2100
+ // src/components/tabs/tabs.tsx
2101
+ import * as React29 from "react";
2102
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
2103
+ import { cva as cva13 } from "class-variance-authority";
2104
+ import { jsx as jsx28 } from "react/jsx-runtime";
1807
2105
  var [TabsVariantProvider, useTabsVariant] = createContext2("TabsVariant");
1808
2106
  var Tabs = TabsPrimitive.Root;
1809
- var tabsListVariants = cva11(
2107
+ var tabsListVariants = cva13(
1810
2108
  "inline-flex items-center justify-center overflow-x-auto max-w-full",
1811
2109
  {
1812
2110
  variants: {
@@ -1818,7 +2116,7 @@ var tabsListVariants = cva11(
1818
2116
  defaultVariants: { variant: "default" }
1819
2117
  }
1820
2118
  );
1821
- var TabsList = React27.forwardRef(({ className, variant = "default", ...props }, ref) => /* @__PURE__ */ jsx26(TabsVariantProvider, { value: { variant }, children: /* @__PURE__ */ jsx26(
2119
+ var TabsList = React29.forwardRef(({ className, variant = "default", ...props }, ref) => /* @__PURE__ */ jsx28(TabsVariantProvider, { value: { variant }, children: /* @__PURE__ */ jsx28(
1822
2120
  TabsPrimitive.List,
1823
2121
  {
1824
2122
  ref,
@@ -1830,11 +2128,11 @@ TabsList.displayName = "TabsList";
1830
2128
  var tabsTriggerBase = "inline-flex items-center justify-center whitespace-nowrap shrink-0 px-3 py-1.5 text-sm font-medium transition-all duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 touch:min-h-[--touch-target-min]";
1831
2129
  var tabsTriggerVariantStyles = {
1832
2130
  default: "rounded-md data-[state=active]:bg-[var(--color-surface-raised)] data-[state=active]:shadow-sm data-[state=active]:text-[var(--color-on-surface)] text-[var(--color-on-surface-secondary)]",
1833
- underline: "border-b-2 border-transparent rounded-none data-[state=active]:border-primary-500 data-[state=active]:text-[var(--color-on-surface)] text-[var(--color-on-surface-secondary)]"
2131
+ underline: "border-b-2 border-transparent rounded-none data-[state=active]:border-primary-400 data-[state=active]:text-[var(--color-on-surface)] text-[var(--color-on-surface-secondary)]"
1834
2132
  };
1835
- var TabsTrigger = React27.forwardRef(({ className, ...props }, ref) => {
2133
+ var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => {
1836
2134
  const { variant } = useTabsVariant();
1837
- return /* @__PURE__ */ jsx26(
2135
+ return /* @__PURE__ */ jsx28(
1838
2136
  TabsPrimitive.Trigger,
1839
2137
  {
1840
2138
  ref,
@@ -1848,7 +2146,7 @@ var TabsTrigger = React27.forwardRef(({ className, ...props }, ref) => {
1848
2146
  );
1849
2147
  });
1850
2148
  TabsTrigger.displayName = "TabsTrigger";
1851
- var TabsContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
2149
+ var TabsContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1852
2150
  TabsPrimitive.Content,
1853
2151
  {
1854
2152
  ref,
@@ -1862,10 +2160,10 @@ var TabsContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PUR
1862
2160
  TabsContent.displayName = "TabsContent";
1863
2161
 
1864
2162
  // src/components/empty-state/empty-state.tsx
1865
- import * as React28 from "react";
1866
- import { cva as cva12 } from "class-variance-authority";
1867
- import { jsx as jsx27 } from "react/jsx-runtime";
1868
- var emptyStateVariants = cva12(
2163
+ import * as React30 from "react";
2164
+ import { cva as cva14 } from "class-variance-authority";
2165
+ import { jsx as jsx29 } from "react/jsx-runtime";
2166
+ var emptyStateVariants = cva14(
1869
2167
  "flex flex-col items-center justify-center text-center",
1870
2168
  {
1871
2169
  variants: {
@@ -1878,8 +2176,8 @@ var emptyStateVariants = cva12(
1878
2176
  defaultVariants: { size: "md" }
1879
2177
  }
1880
2178
  );
1881
- var EmptyState = React28.forwardRef(
1882
- ({ className, size, ...props }, ref) => /* @__PURE__ */ jsx27(
2179
+ var EmptyState = React30.forwardRef(
2180
+ ({ className, size, ...props }, ref) => /* @__PURE__ */ jsx29(
1883
2181
  "div",
1884
2182
  {
1885
2183
  ref,
@@ -1889,7 +2187,7 @@ var EmptyState = React28.forwardRef(
1889
2187
  )
1890
2188
  );
1891
2189
  EmptyState.displayName = "EmptyState";
1892
- var EmptyStateIcon = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2190
+ var EmptyStateIcon = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
1893
2191
  "div",
1894
2192
  {
1895
2193
  ref,
@@ -1898,7 +2196,7 @@ var EmptyStateIcon = React28.forwardRef(({ className, ...props }, ref) => /* @__
1898
2196
  }
1899
2197
  ));
1900
2198
  EmptyStateIcon.displayName = "EmptyStateIcon";
1901
- var EmptyStateTitle = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2199
+ var EmptyStateTitle = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
1902
2200
  "h3",
1903
2201
  {
1904
2202
  ref,
@@ -1907,7 +2205,7 @@ var EmptyStateTitle = React28.forwardRef(({ className, ...props }, ref) => /* @_
1907
2205
  }
1908
2206
  ));
1909
2207
  EmptyStateTitle.displayName = "EmptyStateTitle";
1910
- var EmptyStateDescription = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2208
+ var EmptyStateDescription = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
1911
2209
  "p",
1912
2210
  {
1913
2211
  ref,
@@ -1916,7 +2214,7 @@ var EmptyStateDescription = React28.forwardRef(({ className, ...props }, ref) =>
1916
2214
  }
1917
2215
  ));
1918
2216
  EmptyStateDescription.displayName = "EmptyStateDescription";
1919
- var EmptyStateActions = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2217
+ var EmptyStateActions = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
1920
2218
  "div",
1921
2219
  {
1922
2220
  ref,
@@ -1927,9 +2225,9 @@ var EmptyStateActions = React28.forwardRef(({ className, ...props }, ref) => /*
1927
2225
  EmptyStateActions.displayName = "EmptyStateActions";
1928
2226
 
1929
2227
  // src/components/table/table.tsx
1930
- import * as React29 from "react";
1931
- import { jsx as jsx28 } from "react/jsx-runtime";
1932
- var Table = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx28(
2228
+ import * as React31 from "react";
2229
+ import { jsx as jsx30 } from "react/jsx-runtime";
2230
+ var Table = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx30(
1933
2231
  "table",
1934
2232
  {
1935
2233
  ref,
@@ -1938,9 +2236,9 @@ var Table = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
1938
2236
  }
1939
2237
  ) }));
1940
2238
  Table.displayName = "Table";
1941
- var TableHeader = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
2239
+ var TableHeader = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
1942
2240
  TableHeader.displayName = "TableHeader";
1943
- var TableBody = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2241
+ var TableBody = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1944
2242
  "tbody",
1945
2243
  {
1946
2244
  ref,
@@ -1949,7 +2247,7 @@ var TableBody = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1949
2247
  }
1950
2248
  ));
1951
2249
  TableBody.displayName = "TableBody";
1952
- var TableFooter = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2250
+ var TableFooter = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1953
2251
  "tfoot",
1954
2252
  {
1955
2253
  ref,
@@ -1961,7 +2259,7 @@ var TableFooter = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
1961
2259
  }
1962
2260
  ));
1963
2261
  TableFooter.displayName = "TableFooter";
1964
- var TableRow = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2262
+ var TableRow = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1965
2263
  "tr",
1966
2264
  {
1967
2265
  ref,
@@ -1973,7 +2271,7 @@ var TableRow = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1973
2271
  }
1974
2272
  ));
1975
2273
  TableRow.displayName = "TableRow";
1976
- var TableHead = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2274
+ var TableHead = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1977
2275
  "th",
1978
2276
  {
1979
2277
  ref,
@@ -1985,7 +2283,7 @@ var TableHead = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1985
2283
  }
1986
2284
  ));
1987
2285
  TableHead.displayName = "TableHead";
1988
- var TableCell = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2286
+ var TableCell = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1989
2287
  "td",
1990
2288
  {
1991
2289
  ref,
@@ -1997,7 +2295,7 @@ var TableCell = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1997
2295
  }
1998
2296
  ));
1999
2297
  TableCell.displayName = "TableCell";
2000
- var TableCaption = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2298
+ var TableCaption = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
2001
2299
  "caption",
2002
2300
  {
2003
2301
  ref,
@@ -2008,7 +2306,7 @@ var TableCaption = React29.forwardRef(({ className, ...props }, ref) => /* @__PU
2008
2306
  TableCaption.displayName = "TableCaption";
2009
2307
 
2010
2308
  // src/components/data-table/data-table.tsx
2011
- import * as React31 from "react";
2309
+ import * as React33 from "react";
2012
2310
  import {
2013
2311
  useReactTable,
2014
2312
  getCoreRowModel,
@@ -2020,7 +2318,7 @@ import { ChevronsUpDown as ChevronsUpDown2 } from "lucide-react";
2020
2318
 
2021
2319
  // src/components/data-table/data-table-pagination.tsx
2022
2320
  import { ChevronLeft, ChevronRight } from "lucide-react";
2023
- import { jsx as jsx29, jsxs as jsxs10 } from "react/jsx-runtime";
2321
+ import { jsx as jsx31, jsxs as jsxs12 } from "react/jsx-runtime";
2024
2322
  function DataTablePagination({
2025
2323
  table,
2026
2324
  pageSizeOptions = [10, 20, 30, 50],
@@ -2030,7 +2328,7 @@ function DataTablePagination({
2030
2328
  const totalRows = table.getFilteredRowModel().rows.length;
2031
2329
  const from = pageIndex * pageSize + 1;
2032
2330
  const to = Math.min((pageIndex + 1) * pageSize, totalRows);
2033
- return /* @__PURE__ */ jsxs10(
2331
+ return /* @__PURE__ */ jsxs12(
2034
2332
  "div",
2035
2333
  {
2036
2334
  className: cn(
@@ -2038,40 +2336,40 @@ function DataTablePagination({
2038
2336
  className
2039
2337
  ),
2040
2338
  children: [
2041
- /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
2042
- /* @__PURE__ */ jsx29("span", { className: "hidden sm:inline", children: "Rows per page" }),
2043
- /* @__PURE__ */ jsx29(
2339
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-2", children: [
2340
+ /* @__PURE__ */ jsx31("span", { className: "hidden sm:inline", children: "Rows per page" }),
2341
+ /* @__PURE__ */ jsx31(
2044
2342
  "select",
2045
2343
  {
2046
2344
  value: pageSize,
2047
2345
  onChange: (e) => table.setPageSize(Number(e.target.value)),
2048
2346
  className: "h-8 rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] px-2 text-sm",
2049
2347
  "aria-label": "Rows per page",
2050
- children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx29("option", { value: size, children: size }, size))
2348
+ children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx31("option", { value: size, children: size }, size))
2051
2349
  }
2052
2350
  )
2053
2351
  ] }),
2054
- /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-4", children: [
2055
- /* @__PURE__ */ jsx29("span", { children: totalRows > 0 ? `${from}-${to} of ${totalRows}` : "0 results" }),
2056
- /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-1", children: [
2057
- /* @__PURE__ */ jsx29(
2352
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-4", children: [
2353
+ /* @__PURE__ */ jsx31("span", { children: totalRows > 0 ? `${from}-${to} of ${totalRows}` : "0 results" }),
2354
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-1", children: [
2355
+ /* @__PURE__ */ jsx31(
2058
2356
  "button",
2059
2357
  {
2060
2358
  className: "inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] transition-colors hover:bg-[var(--color-surface-sunken)] disabled:opacity-50 disabled:pointer-events-none",
2061
2359
  onClick: () => table.previousPage(),
2062
2360
  disabled: !table.getCanPreviousPage(),
2063
2361
  "aria-label": "Previous page",
2064
- children: /* @__PURE__ */ jsx29(ChevronLeft, { className: "h-4 w-4" })
2362
+ children: /* @__PURE__ */ jsx31(ChevronLeft, { className: "h-4 w-4" })
2065
2363
  }
2066
2364
  ),
2067
- /* @__PURE__ */ jsx29(
2365
+ /* @__PURE__ */ jsx31(
2068
2366
  "button",
2069
2367
  {
2070
2368
  className: "inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] transition-colors hover:bg-[var(--color-surface-sunken)] disabled:opacity-50 disabled:pointer-events-none",
2071
2369
  onClick: () => table.nextPage(),
2072
2370
  disabled: !table.getCanNextPage(),
2073
2371
  "aria-label": "Next page",
2074
- children: /* @__PURE__ */ jsx29(ChevronRight, { className: "h-4 w-4" })
2372
+ children: /* @__PURE__ */ jsx31(ChevronRight, { className: "h-4 w-4" })
2075
2373
  }
2076
2374
  )
2077
2375
  ] })
@@ -2083,19 +2381,19 @@ function DataTablePagination({
2083
2381
  DataTablePagination.displayName = "DataTablePagination";
2084
2382
 
2085
2383
  // src/components/data-table/data-table-toolbar.tsx
2086
- import * as React30 from "react";
2384
+ import * as React32 from "react";
2087
2385
  import { Columns3 } from "lucide-react";
2088
- import { jsx as jsx30, jsxs as jsxs11 } from "react/jsx-runtime";
2386
+ import { jsx as jsx32, jsxs as jsxs13 } from "react/jsx-runtime";
2089
2387
  function DataTableToolbar({
2090
2388
  table,
2091
2389
  enableColumnVisibility = false,
2092
2390
  className,
2093
2391
  children
2094
2392
  }) {
2095
- const [showColumnMenu, setShowColumnMenu] = React30.useState(false);
2096
- const menuRef = React30.useRef(null);
2393
+ const [showColumnMenu, setShowColumnMenu] = React32.useState(false);
2394
+ const menuRef = React32.useRef(null);
2097
2395
  const selectedCount = table.getFilteredSelectedRowModel().rows.length;
2098
- React30.useEffect(() => {
2396
+ React32.useEffect(() => {
2099
2397
  function handleClickOutside(event) {
2100
2398
  if (menuRef.current && !menuRef.current.contains(event.target)) {
2101
2399
  setShowColumnMenu(false);
@@ -2106,7 +2404,7 @@ function DataTableToolbar({
2106
2404
  return () => document.removeEventListener("mousedown", handleClickOutside);
2107
2405
  }
2108
2406
  }, [showColumnMenu]);
2109
- return /* @__PURE__ */ jsxs11(
2407
+ return /* @__PURE__ */ jsxs13(
2110
2408
  "div",
2111
2409
  {
2112
2410
  className: cn(
@@ -2114,15 +2412,15 @@ function DataTableToolbar({
2114
2412
  className
2115
2413
  ),
2116
2414
  children: [
2117
- /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-2", children: [
2118
- selectedCount > 0 && /* @__PURE__ */ jsxs11("span", { className: "text-sm text-[var(--color-on-surface-secondary)]", children: [
2415
+ /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-2", children: [
2416
+ selectedCount > 0 && /* @__PURE__ */ jsxs13("span", { className: "text-sm text-[var(--color-on-surface-secondary)]", children: [
2119
2417
  selectedCount,
2120
2418
  " selected"
2121
2419
  ] }),
2122
2420
  children
2123
2421
  ] }),
2124
- enableColumnVisibility && /* @__PURE__ */ jsxs11("div", { className: "relative", ref: menuRef, children: [
2125
- /* @__PURE__ */ jsxs11(
2422
+ enableColumnVisibility && /* @__PURE__ */ jsxs13("div", { className: "relative", ref: menuRef, children: [
2423
+ /* @__PURE__ */ jsxs13(
2126
2424
  "button",
2127
2425
  {
2128
2426
  className: "inline-flex items-center gap-1 rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] px-3 py-1.5 text-sm transition-colors hover:bg-[var(--color-surface-sunken)]",
@@ -2130,17 +2428,17 @@ function DataTableToolbar({
2130
2428
  "aria-label": "Toggle columns",
2131
2429
  "aria-expanded": showColumnMenu,
2132
2430
  children: [
2133
- /* @__PURE__ */ jsx30(Columns3, { className: "h-3.5 w-3.5" }),
2431
+ /* @__PURE__ */ jsx32(Columns3, { className: "h-3.5 w-3.5" }),
2134
2432
  "Columns"
2135
2433
  ]
2136
2434
  }
2137
2435
  ),
2138
- showColumnMenu && /* @__PURE__ */ jsx30("div", { className: "absolute right-0 top-full z-popover mt-1 min-w-[10rem] rounded-md border border-[var(--color-border)] bg-[var(--color-surface-raised)] p-2 shadow-md", children: table.getAllColumns().filter((col) => col.getCanHide()).map((col) => /* @__PURE__ */ jsxs11(
2436
+ showColumnMenu && /* @__PURE__ */ jsx32("div", { className: "absolute right-0 top-full z-popover mt-1 min-w-[10rem] rounded-md border border-[var(--color-border)] bg-[var(--color-surface-raised)] p-2 shadow-md", children: table.getAllColumns().filter((col) => col.getCanHide()).map((col) => /* @__PURE__ */ jsxs13(
2139
2437
  "label",
2140
2438
  {
2141
2439
  className: "flex items-center gap-2 rounded px-2 py-1 text-sm hover:bg-[var(--color-surface-sunken)] cursor-pointer capitalize",
2142
2440
  children: [
2143
- /* @__PURE__ */ jsx30(
2441
+ /* @__PURE__ */ jsx32(
2144
2442
  "input",
2145
2443
  {
2146
2444
  type: "checkbox",
@@ -2162,7 +2460,7 @@ function DataTableToolbar({
2162
2460
  DataTableToolbar.displayName = "DataTableToolbar";
2163
2461
 
2164
2462
  // src/components/data-table/data-table.tsx
2165
- import { jsx as jsx31, jsxs as jsxs12 } from "react/jsx-runtime";
2463
+ import { jsx as jsx33, jsxs as jsxs14 } from "react/jsx-runtime";
2166
2464
  function DataTable({
2167
2465
  columns,
2168
2466
  data,
@@ -2177,14 +2475,14 @@ function DataTable({
2177
2475
  className,
2178
2476
  "aria-label": ariaLabel
2179
2477
  }) {
2180
- const [sorting, setSorting] = React31.useState([]);
2181
- const [rowSelection, setRowSelection] = React31.useState({});
2182
- const [columnVisibility, setColumnVisibility] = React31.useState({});
2183
- const allColumns = React31.useMemo(() => {
2478
+ const [sorting, setSorting] = React33.useState([]);
2479
+ const [rowSelection, setRowSelection] = React33.useState({});
2480
+ const [columnVisibility, setColumnVisibility] = React33.useState({});
2481
+ const allColumns = React33.useMemo(() => {
2184
2482
  if (!enableRowSelection) return columns;
2185
2483
  const selectColumn = {
2186
2484
  id: "select",
2187
- header: ({ table: table2 }) => /* @__PURE__ */ jsx31(
2485
+ header: ({ table: table2 }) => /* @__PURE__ */ jsx33(
2188
2486
  Checkbox,
2189
2487
  {
2190
2488
  checked: table2.getIsAllPageRowsSelected() ? true : table2.getIsSomePageRowsSelected() ? "indeterminate" : false,
@@ -2192,7 +2490,7 @@ function DataTable({
2192
2490
  "aria-label": "Select all"
2193
2491
  }
2194
2492
  ),
2195
- cell: ({ row }) => /* @__PURE__ */ jsx31(
2493
+ cell: ({ row }) => /* @__PURE__ */ jsx33(
2196
2494
  Checkbox,
2197
2495
  {
2198
2496
  checked: row.getIsSelected(),
@@ -2220,23 +2518,23 @@ function DataTable({
2220
2518
  enableRowSelection,
2221
2519
  initialState: { pagination: { pageSize } }
2222
2520
  });
2223
- React31.useEffect(() => {
2521
+ React33.useEffect(() => {
2224
2522
  if (onRowSelectionChange) {
2225
2523
  const selectedRows = table.getFilteredSelectedRowModel().rows.map((row) => row.original);
2226
2524
  onRowSelectionChange(selectedRows);
2227
2525
  }
2228
2526
  }, [rowSelection, table, onRowSelectionChange]);
2229
2527
  const showToolbar = enableRowSelection || enableColumnVisibility;
2230
- return /* @__PURE__ */ jsxs12("div", { className: cn("rounded-md border border-[var(--color-border)]", className), children: [
2231
- showToolbar && /* @__PURE__ */ jsx31(
2528
+ return /* @__PURE__ */ jsxs14("div", { className: cn("rounded-md border border-[var(--color-border)]", className), children: [
2529
+ showToolbar && /* @__PURE__ */ jsx33(
2232
2530
  DataTableToolbar,
2233
2531
  {
2234
2532
  table,
2235
2533
  enableColumnVisibility
2236
2534
  }
2237
2535
  ),
2238
- /* @__PURE__ */ jsxs12(Table, { "aria-label": ariaLabel, children: [
2239
- /* @__PURE__ */ jsx31(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx31(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx31(TableHead, { children: header.isPlaceholder ? null : header.column.getCanSort() ? /* @__PURE__ */ jsxs12(
2536
+ /* @__PURE__ */ jsxs14(Table, { "aria-label": ariaLabel, children: [
2537
+ /* @__PURE__ */ jsx33(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx33(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx33(TableHead, { children: header.isPlaceholder ? null : header.column.getCanSort() ? /* @__PURE__ */ jsxs14(
2240
2538
  "button",
2241
2539
  {
2242
2540
  className: "flex items-center gap-1 -ml-2 px-2 py-1 rounded-md hover:bg-[var(--color-surface-muted)] transition-colors duration-fast",
@@ -2247,7 +2545,7 @@ function DataTable({
2247
2545
  header.column.columnDef.header,
2248
2546
  header.getContext()
2249
2547
  ),
2250
- /* @__PURE__ */ jsx31(
2548
+ /* @__PURE__ */ jsx33(
2251
2549
  ChevronsUpDown2,
2252
2550
  {
2253
2551
  className: cn(
@@ -2262,14 +2560,14 @@ function DataTable({
2262
2560
  header.column.columnDef.header,
2263
2561
  header.getContext()
2264
2562
  ) }, header.id)) }, headerGroup.id)) }),
2265
- /* @__PURE__ */ jsx31(TableBody, { children: table.getRowModel().rows.length > 0 ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx31(
2563
+ /* @__PURE__ */ jsx33(TableBody, { children: table.getRowModel().rows.length > 0 ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx33(
2266
2564
  TableRow,
2267
2565
  {
2268
2566
  "data-state": row.getIsSelected() ? "selected" : void 0,
2269
- children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx31(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))
2567
+ children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx33(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))
2270
2568
  },
2271
2569
  row.id
2272
- )) : /* @__PURE__ */ jsx31(TableRow, { children: /* @__PURE__ */ jsx31(
2570
+ )) : /* @__PURE__ */ jsx33(TableRow, { children: /* @__PURE__ */ jsx33(
2273
2571
  TableCell,
2274
2572
  {
2275
2573
  colSpan: allColumns.length,
@@ -2278,7 +2576,7 @@ function DataTable({
2278
2576
  }
2279
2577
  ) }) })
2280
2578
  ] }),
2281
- enablePagination && /* @__PURE__ */ jsx31(
2579
+ enablePagination && /* @__PURE__ */ jsx33(
2282
2580
  DataTablePagination,
2283
2581
  {
2284
2582
  table,
@@ -2291,17 +2589,17 @@ DataTable.displayName = "DataTable";
2291
2589
 
2292
2590
  // src/components/data-table/data-table-column-header.tsx
2293
2591
  import { ChevronsUpDown as ChevronsUpDown3 } from "lucide-react";
2294
- import { jsx as jsx32, jsxs as jsxs13 } from "react/jsx-runtime";
2592
+ import { jsx as jsx34, jsxs as jsxs15 } from "react/jsx-runtime";
2295
2593
  function DataTableColumnHeader({
2296
2594
  column,
2297
2595
  title,
2298
2596
  className
2299
2597
  }) {
2300
2598
  if (!column.getCanSort()) {
2301
- return /* @__PURE__ */ jsx32("div", { className: cn(className), children: title });
2599
+ return /* @__PURE__ */ jsx34("div", { className: cn(className), children: title });
2302
2600
  }
2303
2601
  const sorted = column.getIsSorted();
2304
- return /* @__PURE__ */ jsxs13(
2602
+ return /* @__PURE__ */ jsxs15(
2305
2603
  "button",
2306
2604
  {
2307
2605
  className: cn(
@@ -2312,7 +2610,7 @@ function DataTableColumnHeader({
2312
2610
  "aria-label": `Sort by ${title}`,
2313
2611
  children: [
2314
2612
  title,
2315
- /* @__PURE__ */ jsx32(
2613
+ /* @__PURE__ */ jsx34(
2316
2614
  ChevronsUpDown3,
2317
2615
  {
2318
2616
  className: cn(
@@ -2321,8 +2619,8 @@ function DataTableColumnHeader({
2321
2619
  )
2322
2620
  }
2323
2621
  ),
2324
- sorted === "asc" && /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "sorted ascending" }),
2325
- sorted === "desc" && /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "sorted descending" })
2622
+ sorted === "asc" && /* @__PURE__ */ jsx34("span", { className: "sr-only", children: "sorted ascending" }),
2623
+ sorted === "desc" && /* @__PURE__ */ jsx34("span", { className: "sr-only", children: "sorted descending" })
2326
2624
  ]
2327
2625
  }
2328
2626
  );
@@ -2330,11 +2628,11 @@ function DataTableColumnHeader({
2330
2628
  DataTableColumnHeader.displayName = "DataTableColumnHeader";
2331
2629
 
2332
2630
  // src/components/filter-bar/filter-bar.tsx
2333
- import * as React32 from "react";
2334
- import { cva as cva13 } from "class-variance-authority";
2631
+ import * as React34 from "react";
2632
+ import { cva as cva15 } from "class-variance-authority";
2335
2633
  import { X as X2 } from "lucide-react";
2336
- import { jsx as jsx33, jsxs as jsxs14 } from "react/jsx-runtime";
2337
- var FilterBar = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
2634
+ import { jsx as jsx35, jsxs as jsxs16 } from "react/jsx-runtime";
2635
+ var FilterBar = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
2338
2636
  "div",
2339
2637
  {
2340
2638
  ref,
@@ -2348,7 +2646,7 @@ var FilterBar = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE_
2348
2646
  }
2349
2647
  ));
2350
2648
  FilterBar.displayName = "FilterBar";
2351
- var FilterBarGroup = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
2649
+ var FilterBarGroup = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
2352
2650
  "div",
2353
2651
  {
2354
2652
  ref,
@@ -2358,7 +2656,7 @@ var FilterBarGroup = React32.forwardRef(({ className, ...props }, ref) => /* @__
2358
2656
  }
2359
2657
  ));
2360
2658
  FilterBarGroup.displayName = "FilterBarGroup";
2361
- var filterChipVariants = cva13(
2659
+ var filterChipVariants = cva15(
2362
2660
  "inline-flex items-center gap-1 rounded-full px-3 py-1 text-sm font-medium transition-colors duration-fast",
2363
2661
  {
2364
2662
  variants: {
@@ -2370,27 +2668,27 @@ var filterChipVariants = cva13(
2370
2668
  defaultVariants: { variant: "default" }
2371
2669
  }
2372
2670
  );
2373
- var FilterChip = React32.forwardRef(
2374
- ({ className, variant, label, value, onRemove, ...props }, ref) => /* @__PURE__ */ jsxs14(
2671
+ var FilterChip = React34.forwardRef(
2672
+ ({ className, variant, label, value, onRemove, ...props }, ref) => /* @__PURE__ */ jsxs16(
2375
2673
  "span",
2376
2674
  {
2377
2675
  ref,
2378
2676
  className: cn(filterChipVariants({ variant }), className),
2379
2677
  ...props,
2380
2678
  children: [
2381
- /* @__PURE__ */ jsxs14("span", { className: "text-xs opacity-70", children: [
2679
+ /* @__PURE__ */ jsxs16("span", { className: "text-xs opacity-70", children: [
2382
2680
  label,
2383
2681
  ":"
2384
2682
  ] }),
2385
- /* @__PURE__ */ jsx33("span", { children: value }),
2386
- onRemove && /* @__PURE__ */ jsx33(
2683
+ /* @__PURE__ */ jsx35("span", { children: value }),
2684
+ onRemove && /* @__PURE__ */ jsx35(
2387
2685
  "button",
2388
2686
  {
2389
2687
  type: "button",
2390
2688
  onClick: onRemove,
2391
2689
  className: "ml-0.5 rounded-full p-0.5 hover:bg-black/10 transition-colors",
2392
2690
  "aria-label": `Remove ${label} filter`,
2393
- children: /* @__PURE__ */ jsx33(X2, { className: "h-3 w-3" })
2691
+ children: /* @__PURE__ */ jsx35(X2, { className: "h-3 w-3" })
2394
2692
  }
2395
2693
  )
2396
2694
  ]
@@ -2398,7 +2696,7 @@ var FilterChip = React32.forwardRef(
2398
2696
  )
2399
2697
  );
2400
2698
  FilterChip.displayName = "FilterChip";
2401
- var ActiveFilters = React32.forwardRef(({ className, onClearAll, clearAllLabel = "Clear all", children, ...props }, ref) => /* @__PURE__ */ jsxs14(
2699
+ var ActiveFilters = React34.forwardRef(({ className, onClearAll, clearAllLabel = "Clear all", children, ...props }, ref) => /* @__PURE__ */ jsxs16(
2402
2700
  "div",
2403
2701
  {
2404
2702
  ref,
@@ -2406,7 +2704,7 @@ var ActiveFilters = React32.forwardRef(({ className, onClearAll, clearAllLabel =
2406
2704
  ...props,
2407
2705
  children: [
2408
2706
  children,
2409
- onClearAll && /* @__PURE__ */ jsx33(
2707
+ onClearAll && /* @__PURE__ */ jsx35(
2410
2708
  "button",
2411
2709
  {
2412
2710
  type: "button",
@@ -2419,7 +2717,7 @@ var ActiveFilters = React32.forwardRef(({ className, onClearAll, clearAllLabel =
2419
2717
  }
2420
2718
  ));
2421
2719
  ActiveFilters.displayName = "ActiveFilters";
2422
- var FilterBarActions = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
2720
+ var FilterBarActions = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
2423
2721
  "div",
2424
2722
  {
2425
2723
  ref,
@@ -2430,13 +2728,13 @@ var FilterBarActions = React32.forwardRef(({ className, ...props }, ref) => /* @
2430
2728
  FilterBarActions.displayName = "FilterBarActions";
2431
2729
 
2432
2730
  // src/components/popover/popover.tsx
2433
- import * as React33 from "react";
2731
+ import * as React35 from "react";
2434
2732
  import * as PopoverPrimitive2 from "@radix-ui/react-popover";
2435
- import { jsx as jsx34 } from "react/jsx-runtime";
2733
+ import { jsx as jsx36 } from "react/jsx-runtime";
2436
2734
  var Popover = PopoverPrimitive2.Root;
2437
2735
  var PopoverTrigger = PopoverPrimitive2.Trigger;
2438
2736
  var PopoverAnchor = PopoverPrimitive2.Anchor;
2439
- var PopoverContent = React33.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx34(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ jsx34(
2737
+ var PopoverContent = React35.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx36(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ jsx36(
2440
2738
  PopoverPrimitive2.Content,
2441
2739
  {
2442
2740
  ref,
@@ -2456,17 +2754,17 @@ var PopoverContent = React33.forwardRef(({ className, align = "center", sideOffs
2456
2754
  PopoverContent.displayName = "PopoverContent";
2457
2755
 
2458
2756
  // src/components/dropdown-menu/dropdown-menu.tsx
2459
- import * as React34 from "react";
2757
+ import * as React36 from "react";
2460
2758
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
2461
- import { Check as Check4, ChevronRight as ChevronRight2 } from "lucide-react";
2462
- import { jsx as jsx35, jsxs as jsxs15 } from "react/jsx-runtime";
2759
+ import { Check as Check5, ChevronRight as ChevronRight2 } from "lucide-react";
2760
+ import { jsx as jsx37, jsxs as jsxs17 } from "react/jsx-runtime";
2463
2761
  var DropdownMenu = DropdownMenuPrimitive.Root;
2464
2762
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
2465
2763
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
2466
2764
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
2467
2765
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
2468
2766
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
2469
- var DropdownMenuContent = React34.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx35(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx35(
2767
+ var DropdownMenuContent = React36.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx37(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx37(
2470
2768
  DropdownMenuPrimitive.Content,
2471
2769
  {
2472
2770
  ref,
@@ -2483,7 +2781,7 @@ var DropdownMenuContent = React34.forwardRef(({ className, sideOffset = 4, ...pr
2483
2781
  }
2484
2782
  ) }));
2485
2783
  DropdownMenuContent.displayName = "DropdownMenuContent";
2486
- var DropdownMenuSubTrigger = React34.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs15(
2784
+ var DropdownMenuSubTrigger = React36.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs17(
2487
2785
  DropdownMenuPrimitive.SubTrigger,
2488
2786
  {
2489
2787
  ref,
@@ -2498,12 +2796,12 @@ var DropdownMenuSubTrigger = React34.forwardRef(({ className, inset, children, .
2498
2796
  ...props,
2499
2797
  children: [
2500
2798
  children,
2501
- /* @__PURE__ */ jsx35(ChevronRight2, { className: "ml-auto h-3.5 w-3.5" })
2799
+ /* @__PURE__ */ jsx37(ChevronRight2, { className: "ml-auto h-3.5 w-3.5" })
2502
2800
  ]
2503
2801
  }
2504
2802
  ));
2505
2803
  DropdownMenuSubTrigger.displayName = "DropdownMenuSubTrigger";
2506
- var DropdownMenuSubContent = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
2804
+ var DropdownMenuSubContent = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
2507
2805
  DropdownMenuPrimitive.SubContent,
2508
2806
  {
2509
2807
  ref,
@@ -2518,7 +2816,7 @@ var DropdownMenuSubContent = React34.forwardRef(({ className, ...props }, ref) =
2518
2816
  }
2519
2817
  ));
2520
2818
  DropdownMenuSubContent.displayName = "DropdownMenuSubContent";
2521
- var DropdownMenuItem = React34.forwardRef(({ className, inset, destructive, ...props }, ref) => /* @__PURE__ */ jsx35(
2819
+ var DropdownMenuItem = React36.forwardRef(({ className, inset, destructive, ...props }, ref) => /* @__PURE__ */ jsx37(
2522
2820
  DropdownMenuPrimitive.Item,
2523
2821
  {
2524
2822
  ref,
@@ -2535,7 +2833,7 @@ var DropdownMenuItem = React34.forwardRef(({ className, inset, destructive, ...p
2535
2833
  }
2536
2834
  ));
2537
2835
  DropdownMenuItem.displayName = "DropdownMenuItem";
2538
- var DropdownMenuCheckboxItem = React34.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs15(
2836
+ var DropdownMenuCheckboxItem = React36.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs17(
2539
2837
  DropdownMenuPrimitive.CheckboxItem,
2540
2838
  {
2541
2839
  ref,
@@ -2549,13 +2847,13 @@ var DropdownMenuCheckboxItem = React34.forwardRef(({ className, children, checke
2549
2847
  checked,
2550
2848
  ...props,
2551
2849
  children: [
2552
- /* @__PURE__ */ jsx35("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx35(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx35(Check4, { className: "h-3.5 w-3.5" }) }) }),
2850
+ /* @__PURE__ */ jsx37("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx37(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx37(Check5, { className: "h-3.5 w-3.5" }) }) }),
2553
2851
  children
2554
2852
  ]
2555
2853
  }
2556
2854
  ));
2557
2855
  DropdownMenuCheckboxItem.displayName = "DropdownMenuCheckboxItem";
2558
- var DropdownMenuRadioItem = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs15(
2856
+ var DropdownMenuRadioItem = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs17(
2559
2857
  DropdownMenuPrimitive.RadioItem,
2560
2858
  {
2561
2859
  ref,
@@ -2568,13 +2866,13 @@ var DropdownMenuRadioItem = React34.forwardRef(({ className, children, ...props
2568
2866
  ),
2569
2867
  ...props,
2570
2868
  children: [
2571
- /* @__PURE__ */ jsx35("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx35(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx35("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "currentColor", children: /* @__PURE__ */ jsx35("circle", { cx: "4", cy: "4", r: "4" }) }) }) }),
2869
+ /* @__PURE__ */ jsx37("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx37(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx37("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "currentColor", children: /* @__PURE__ */ jsx37("circle", { cx: "4", cy: "4", r: "4" }) }) }) }),
2572
2870
  children
2573
2871
  ]
2574
2872
  }
2575
2873
  ));
2576
2874
  DropdownMenuRadioItem.displayName = "DropdownMenuRadioItem";
2577
- var DropdownMenuLabel = React34.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx35(
2875
+ var DropdownMenuLabel = React36.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx37(
2578
2876
  DropdownMenuPrimitive.Label,
2579
2877
  {
2580
2878
  ref,
@@ -2587,7 +2885,7 @@ var DropdownMenuLabel = React34.forwardRef(({ className, inset, ...props }, ref)
2587
2885
  }
2588
2886
  ));
2589
2887
  DropdownMenuLabel.displayName = "DropdownMenuLabel";
2590
- var DropdownMenuSeparator = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
2888
+ var DropdownMenuSeparator = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
2591
2889
  DropdownMenuPrimitive.Separator,
2592
2890
  {
2593
2891
  ref,
@@ -2599,7 +2897,7 @@ DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
2599
2897
  var DropdownMenuShortcut = ({
2600
2898
  className,
2601
2899
  ...props
2602
- }) => /* @__PURE__ */ jsx35(
2900
+ }) => /* @__PURE__ */ jsx37(
2603
2901
  "span",
2604
2902
  {
2605
2903
  className: cn(
@@ -2612,14 +2910,14 @@ var DropdownMenuShortcut = ({
2612
2910
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
2613
2911
 
2614
2912
  // src/components/dialog/dialog.tsx
2615
- import * as React35 from "react";
2913
+ import * as React37 from "react";
2616
2914
  import * as DialogPrimitive from "@radix-ui/react-dialog";
2617
2915
  import { X as X3 } from "lucide-react";
2618
- import { jsx as jsx36, jsxs as jsxs16 } from "react/jsx-runtime";
2916
+ import { jsx as jsx38, jsxs as jsxs18 } from "react/jsx-runtime";
2619
2917
  var Dialog = DialogPrimitive.Root;
2620
2918
  var DialogTrigger = DialogPrimitive.Trigger;
2621
2919
  var DialogClose = DialogPrimitive.Close;
2622
- var DialogOverlay = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
2920
+ var DialogOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
2623
2921
  DialogPrimitive.Overlay,
2624
2922
  {
2625
2923
  ref,
@@ -2633,9 +2931,9 @@ var DialogOverlay = React35.forwardRef(({ className, ...props }, ref) => /* @__P
2633
2931
  }
2634
2932
  ));
2635
2933
  DialogOverlay.displayName = "DialogOverlay";
2636
- var DialogContent = React35.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs16(DialogPrimitive.Portal, { children: [
2637
- /* @__PURE__ */ jsx36(DialogOverlay, {}),
2638
- /* @__PURE__ */ jsxs16(
2934
+ var DialogContent = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs18(DialogPrimitive.Portal, { children: [
2935
+ /* @__PURE__ */ jsx38(DialogOverlay, {}),
2936
+ /* @__PURE__ */ jsxs18(
2639
2937
  DialogPrimitive.Content,
2640
2938
  {
2641
2939
  ref,
@@ -2657,9 +2955,9 @@ var DialogContent = React35.forwardRef(({ className, children, ...props }, ref)
2657
2955
  ...props,
2658
2956
  children: [
2659
2957
  children,
2660
- /* @__PURE__ */ jsxs16(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:pointer-events-none", children: [
2661
- /* @__PURE__ */ jsx36(X3, { className: "h-4 w-4" }),
2662
- /* @__PURE__ */ jsx36("span", { className: "sr-only", children: "Close" })
2958
+ /* @__PURE__ */ jsxs18(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:pointer-events-none", children: [
2959
+ /* @__PURE__ */ jsx38(X3, { className: "h-4 w-4" }),
2960
+ /* @__PURE__ */ jsx38("span", { className: "sr-only", children: "Close" })
2663
2961
  ] })
2664
2962
  ]
2665
2963
  }
@@ -2669,7 +2967,7 @@ DialogContent.displayName = "DialogContent";
2669
2967
  var DialogHeader = ({
2670
2968
  className,
2671
2969
  ...props
2672
- }) => /* @__PURE__ */ jsx36(
2970
+ }) => /* @__PURE__ */ jsx38(
2673
2971
  "div",
2674
2972
  {
2675
2973
  className: cn("flex flex-col gap-1.5 text-center sm:text-left", className),
@@ -2680,7 +2978,7 @@ DialogHeader.displayName = "DialogHeader";
2680
2978
  var DialogFooter = ({
2681
2979
  className,
2682
2980
  ...props
2683
- }) => /* @__PURE__ */ jsx36(
2981
+ }) => /* @__PURE__ */ jsx38(
2684
2982
  "div",
2685
2983
  {
2686
2984
  className: cn(
@@ -2691,7 +2989,7 @@ var DialogFooter = ({
2691
2989
  }
2692
2990
  );
2693
2991
  DialogFooter.displayName = "DialogFooter";
2694
- var DialogTitle = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
2992
+ var DialogTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
2695
2993
  DialogPrimitive.Title,
2696
2994
  {
2697
2995
  ref,
@@ -2700,7 +2998,7 @@ var DialogTitle = React35.forwardRef(({ className, ...props }, ref) => /* @__PUR
2700
2998
  }
2701
2999
  ));
2702
3000
  DialogTitle.displayName = "DialogTitle";
2703
- var DialogDescription = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3001
+ var DialogDescription = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
2704
3002
  DialogPrimitive.Description,
2705
3003
  {
2706
3004
  ref,
@@ -2714,7 +3012,7 @@ DialogDescription.displayName = "DialogDescription";
2714
3012
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
2715
3013
  import { Command as Command2 } from "cmdk";
2716
3014
  import { Search } from "lucide-react";
2717
- import { jsx as jsx37, jsxs as jsxs17 } from "react/jsx-runtime";
3015
+ import { jsx as jsx39, jsxs as jsxs19 } from "react/jsx-runtime";
2718
3016
  function CommandPalette({
2719
3017
  open,
2720
3018
  onOpenChange,
@@ -2722,9 +3020,9 @@ function CommandPalette({
2722
3020
  className,
2723
3021
  children
2724
3022
  }) {
2725
- return /* @__PURE__ */ jsx37(DialogPrimitive2.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxs17(DialogPrimitive2.Portal, { children: [
2726
- /* @__PURE__ */ jsx37(DialogPrimitive2.Overlay, { className: "fixed inset-0 z-modal bg-[var(--color-surface-overlay)] animate-in fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0" }),
2727
- /* @__PURE__ */ jsx37(
3023
+ return /* @__PURE__ */ jsx39(DialogPrimitive2.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxs19(DialogPrimitive2.Portal, { children: [
3024
+ /* @__PURE__ */ jsx39(DialogPrimitive2.Overlay, { className: "fixed inset-0 z-modal bg-[var(--color-surface-overlay)] animate-in fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0" }),
3025
+ /* @__PURE__ */ jsx39(
2728
3026
  DialogPrimitive2.Content,
2729
3027
  {
2730
3028
  className: cn(
@@ -2733,10 +3031,10 @@ function CommandPalette({
2733
3031
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
2734
3032
  className
2735
3033
  ),
2736
- children: /* @__PURE__ */ jsxs17(Command2, { shouldFilter: true, className: "flex flex-col", children: [
2737
- /* @__PURE__ */ jsxs17("div", { className: "flex items-center border-b border-[var(--color-border)] px-4", children: [
2738
- /* @__PURE__ */ jsx37(Search, { className: "h-[18px] w-[18px] shrink-0 text-[var(--color-on-surface-muted)]" }),
2739
- /* @__PURE__ */ jsx37(
3034
+ children: /* @__PURE__ */ jsxs19(Command2, { shouldFilter: true, className: "flex flex-col", children: [
3035
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center border-b border-[var(--color-border)] px-4", children: [
3036
+ /* @__PURE__ */ jsx39(Search, { className: "h-[18px] w-[18px] shrink-0 text-[var(--color-on-surface-muted)]" }),
3037
+ /* @__PURE__ */ jsx39(
2740
3038
  Command2.Input,
2741
3039
  {
2742
3040
  placeholder,
@@ -2744,7 +3042,7 @@ function CommandPalette({
2744
3042
  }
2745
3043
  )
2746
3044
  ] }),
2747
- /* @__PURE__ */ jsx37(Command2.List, { className: "max-h-80 overflow-auto p-2", children })
3045
+ /* @__PURE__ */ jsx39(Command2.List, { className: "max-h-80 overflow-auto p-2", children })
2748
3046
  ] })
2749
3047
  }
2750
3048
  )
@@ -2755,7 +3053,7 @@ function CommandPaletteGroup({
2755
3053
  heading,
2756
3054
  children
2757
3055
  }) {
2758
- return /* @__PURE__ */ jsx37(
3056
+ return /* @__PURE__ */ jsx39(
2759
3057
  Command2.Group,
2760
3058
  {
2761
3059
  heading,
@@ -2773,7 +3071,7 @@ function CommandPaletteItem({
2773
3071
  className,
2774
3072
  children
2775
3073
  }) {
2776
- return /* @__PURE__ */ jsxs17(
3074
+ return /* @__PURE__ */ jsxs19(
2777
3075
  Command2.Item,
2778
3076
  {
2779
3077
  onSelect,
@@ -2785,9 +3083,9 @@ function CommandPaletteItem({
2785
3083
  className
2786
3084
  ),
2787
3085
  children: [
2788
- icon && /* @__PURE__ */ jsx37("span", { className: "mr-2 flex h-4 w-4 items-center justify-center text-[var(--color-on-surface-muted)]", children: icon }),
2789
- /* @__PURE__ */ jsx37("span", { className: "flex-1", children }),
2790
- shortcut && /* @__PURE__ */ jsx37(CommandPaletteShortcut, { children: shortcut })
3086
+ icon && /* @__PURE__ */ jsx39("span", { className: "mr-2 flex h-4 w-4 items-center justify-center text-[var(--color-on-surface-muted)]", children: icon }),
3087
+ /* @__PURE__ */ jsx39("span", { className: "flex-1", children }),
3088
+ shortcut && /* @__PURE__ */ jsx39(CommandPaletteShortcut, { children: shortcut })
2791
3089
  ]
2792
3090
  }
2793
3091
  );
@@ -2797,7 +3095,7 @@ function CommandPaletteSeparator({
2797
3095
  className,
2798
3096
  ...props
2799
3097
  }) {
2800
- return /* @__PURE__ */ jsx37(
3098
+ return /* @__PURE__ */ jsx39(
2801
3099
  Command2.Separator,
2802
3100
  {
2803
3101
  className: cn("-mx-1 my-1 h-px bg-[var(--color-border)]", className),
@@ -2811,7 +3109,7 @@ function CommandPaletteEmpty({
2811
3109
  children = "No results found.",
2812
3110
  ...props
2813
3111
  }) {
2814
- return /* @__PURE__ */ jsx37(
3112
+ return /* @__PURE__ */ jsx39(
2815
3113
  Command2.Empty,
2816
3114
  {
2817
3115
  className: cn("px-2 py-6 text-center text-sm text-[var(--color-on-surface-muted)]", className),
@@ -2825,7 +3123,7 @@ function CommandPaletteShortcut({
2825
3123
  className,
2826
3124
  ...props
2827
3125
  }) {
2828
- return /* @__PURE__ */ jsx37(
3126
+ return /* @__PURE__ */ jsx39(
2829
3127
  "span",
2830
3128
  {
2831
3129
  className: cn(
@@ -2839,33 +3137,33 @@ function CommandPaletteShortcut({
2839
3137
  CommandPaletteShortcut.displayName = "CommandPaletteShortcut";
2840
3138
 
2841
3139
  // src/components/drawer/drawer.tsx
2842
- import * as React36 from "react";
3140
+ import * as React38 from "react";
2843
3141
  import * as DialogPrimitive3 from "@radix-ui/react-dialog";
2844
- import { cva as cva14 } from "class-variance-authority";
3142
+ import { cva as cva16 } from "class-variance-authority";
2845
3143
  import { Pin, X as X4 } from "lucide-react";
2846
- import { jsx as jsx38, jsxs as jsxs18 } from "react/jsx-runtime";
3144
+ import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
2847
3145
  var [DrawerContextProvider, useDrawerContext] = createContext2("Drawer");
2848
- var DrawerStackContext = React36.createContext(
3146
+ var DrawerStackContext = React38.createContext(
2849
3147
  null
2850
3148
  );
2851
3149
  function DrawerProvider({ children }) {
2852
- const stackRef = React36.useRef([]);
2853
- const [, forceUpdate] = React36.useState(0);
2854
- const register = React36.useCallback((id) => {
3150
+ const stackRef = React38.useRef([]);
3151
+ const [, forceUpdate] = React38.useState(0);
3152
+ const register = React38.useCallback((id) => {
2855
3153
  const level = stackRef.current.length;
2856
3154
  stackRef.current = [...stackRef.current, { id, level }];
2857
3155
  forceUpdate((n) => n + 1);
2858
3156
  return level;
2859
3157
  }, []);
2860
- const unregister = React36.useCallback((id) => {
3158
+ const unregister = React38.useCallback((id) => {
2861
3159
  stackRef.current = stackRef.current.filter((e) => e.id !== id);
2862
3160
  forceUpdate((n) => n + 1);
2863
3161
  }, []);
2864
- const ctx = React36.useMemo(
3162
+ const ctx = React38.useMemo(
2865
3163
  () => ({ stack: stackRef.current, register, unregister }),
2866
3164
  [register, unregister]
2867
3165
  );
2868
- return /* @__PURE__ */ jsx38(DrawerStackContext.Provider, { value: ctx, children });
3166
+ return /* @__PURE__ */ jsx40(DrawerStackContext.Provider, { value: ctx, children });
2869
3167
  }
2870
3168
  DrawerProvider.displayName = "DrawerProvider";
2871
3169
  function Drawer({
@@ -2877,12 +3175,12 @@ function Drawer({
2877
3175
  onPinnedChange,
2878
3176
  children
2879
3177
  }) {
2880
- return /* @__PURE__ */ jsx38(DrawerContextProvider, { value: { side, pinnable, pinned, onPinnedChange }, children: /* @__PURE__ */ jsx38(DialogPrimitive3.Root, { open, onOpenChange, children }) });
3178
+ return /* @__PURE__ */ jsx40(DrawerContextProvider, { value: { side, pinnable, pinned, onPinnedChange }, children: /* @__PURE__ */ jsx40(DialogPrimitive3.Root, { open, onOpenChange, children }) });
2881
3179
  }
2882
3180
  Drawer.displayName = "Drawer";
2883
3181
  var DrawerTrigger = DialogPrimitive3.Trigger;
2884
3182
  var DrawerClose = DialogPrimitive3.Close;
2885
- var drawerSizeVariants = cva14("", {
3183
+ var drawerSizeVariants = cva16("", {
2886
3184
  variants: {
2887
3185
  size: {
2888
3186
  sm: "w-80",
@@ -2894,12 +3192,12 @@ var drawerSizeVariants = cva14("", {
2894
3192
  },
2895
3193
  defaultVariants: { size: "md" }
2896
3194
  });
2897
- var DrawerContent = React36.forwardRef(({ className, size, children, ...props }, ref) => {
3195
+ var DrawerContent = React38.forwardRef(({ className, size, children, ...props }, ref) => {
2898
3196
  const { side, pinned } = useDrawerContext();
2899
- const stackCtx = React36.useContext(DrawerStackContext);
2900
- const drawerId = React36.useId();
2901
- const [level, setLevel] = React36.useState(0);
2902
- React36.useEffect(() => {
3197
+ const stackCtx = React38.useContext(DrawerStackContext);
3198
+ const drawerId = React38.useId();
3199
+ const [level, setLevel] = React38.useState(0);
3200
+ React38.useEffect(() => {
2903
3201
  if (stackCtx) {
2904
3202
  const l = stackCtx.register(drawerId);
2905
3203
  setLevel(l);
@@ -2908,7 +3206,7 @@ var DrawerContent = React36.forwardRef(({ className, size, children, ...props },
2908
3206
  }, [stackCtx, drawerId]);
2909
3207
  const stackOffset = stackCtx ? level * 2 : 0;
2910
3208
  if (pinned) {
2911
- return /* @__PURE__ */ jsx38(
3209
+ return /* @__PURE__ */ jsx40(
2912
3210
  "div",
2913
3211
  {
2914
3212
  className: cn(
@@ -2921,8 +3219,8 @@ var DrawerContent = React36.forwardRef(({ className, size, children, ...props },
2921
3219
  }
2922
3220
  );
2923
3221
  }
2924
- return /* @__PURE__ */ jsxs18(DialogPrimitive3.Portal, { children: [
2925
- /* @__PURE__ */ jsx38(
3222
+ return /* @__PURE__ */ jsxs20(DialogPrimitive3.Portal, { children: [
3223
+ /* @__PURE__ */ jsx40(
2926
3224
  DialogPrimitive3.Overlay,
2927
3225
  {
2928
3226
  className: cn(
@@ -2933,7 +3231,7 @@ var DrawerContent = React36.forwardRef(({ className, size, children, ...props },
2933
3231
  style: { zIndex: 200 + stackOffset }
2934
3232
  }
2935
3233
  ),
2936
- /* @__PURE__ */ jsx38(
3234
+ /* @__PURE__ */ jsx40(
2937
3235
  DialogPrimitive3.Content,
2938
3236
  {
2939
3237
  ref,
@@ -2947,15 +3245,15 @@ var DrawerContent = React36.forwardRef(({ className, size, children, ...props },
2947
3245
  ),
2948
3246
  style: { zIndex: 201 + stackOffset },
2949
3247
  ...props,
2950
- children: /* @__PURE__ */ jsx38("div", { className: "flex h-full flex-col", children })
3248
+ children: /* @__PURE__ */ jsx40("div", { className: "flex h-full flex-col", children })
2951
3249
  }
2952
3250
  )
2953
3251
  ] });
2954
3252
  });
2955
3253
  DrawerContent.displayName = "DrawerContent";
2956
- var DrawerHeader = React36.forwardRef(({ className, ...props }, ref) => {
3254
+ var DrawerHeader = React38.forwardRef(({ className, ...props }, ref) => {
2957
3255
  const { pinnable, pinned, onPinnedChange } = useDrawerContext();
2958
- return /* @__PURE__ */ jsxs18(
3256
+ return /* @__PURE__ */ jsxs20(
2959
3257
  "div",
2960
3258
  {
2961
3259
  ref,
@@ -2965,9 +3263,9 @@ var DrawerHeader = React36.forwardRef(({ className, ...props }, ref) => {
2965
3263
  ),
2966
3264
  ...props,
2967
3265
  children: [
2968
- /* @__PURE__ */ jsx38("div", { className: "flex-1", children: props.children }),
2969
- /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-1", children: [
2970
- pinnable && /* @__PURE__ */ jsx38(
3266
+ /* @__PURE__ */ jsx40("div", { className: "flex-1", children: props.children }),
3267
+ /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-1", children: [
3268
+ pinnable && /* @__PURE__ */ jsx40(
2971
3269
  "button",
2972
3270
  {
2973
3271
  type: "button",
@@ -2977,12 +3275,12 @@ var DrawerHeader = React36.forwardRef(({ className, ...props }, ref) => {
2977
3275
  pinned ? "opacity-100 text-primary-500" : "opacity-50"
2978
3276
  ),
2979
3277
  "aria-label": pinned ? "Unpin drawer" : "Pin drawer",
2980
- children: /* @__PURE__ */ jsx38(Pin, { className: "h-4 w-4", fill: pinned ? "currentColor" : "none" })
3278
+ children: /* @__PURE__ */ jsx40(Pin, { className: "h-4 w-4", fill: pinned ? "currentColor" : "none" })
2981
3279
  }
2982
3280
  ),
2983
- /* @__PURE__ */ jsxs18(DialogPrimitive3.Close, { className: "rounded-sm p-1 opacity-50 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500", children: [
2984
- /* @__PURE__ */ jsx38(X4, { className: "h-4 w-4" }),
2985
- /* @__PURE__ */ jsx38("span", { className: "sr-only", children: "Close" })
3281
+ /* @__PURE__ */ jsxs20(DialogPrimitive3.Close, { className: "rounded-sm p-1 opacity-50 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500", children: [
3282
+ /* @__PURE__ */ jsx40(X4, { className: "h-4 w-4" }),
3283
+ /* @__PURE__ */ jsx40("span", { className: "sr-only", children: "Close" })
2986
3284
  ] })
2987
3285
  ] })
2988
3286
  ]
@@ -2990,7 +3288,7 @@ var DrawerHeader = React36.forwardRef(({ className, ...props }, ref) => {
2990
3288
  );
2991
3289
  });
2992
3290
  DrawerHeader.displayName = "DrawerHeader";
2993
- var DrawerTitle = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
3291
+ var DrawerTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
2994
3292
  DialogPrimitive3.Title,
2995
3293
  {
2996
3294
  ref,
@@ -2999,7 +3297,7 @@ var DrawerTitle = React36.forwardRef(({ className, ...props }, ref) => /* @__PUR
2999
3297
  }
3000
3298
  ));
3001
3299
  DrawerTitle.displayName = "DrawerTitle";
3002
- var DrawerDescription = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
3300
+ var DrawerDescription = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
3003
3301
  DialogPrimitive3.Description,
3004
3302
  {
3005
3303
  ref,
@@ -3008,7 +3306,7 @@ var DrawerDescription = React36.forwardRef(({ className, ...props }, ref) => /*
3008
3306
  }
3009
3307
  ));
3010
3308
  DrawerDescription.displayName = "DrawerDescription";
3011
- var DrawerFooter = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
3309
+ var DrawerFooter = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
3012
3310
  "div",
3013
3311
  {
3014
3312
  ref,
@@ -3022,11 +3320,11 @@ var DrawerFooter = React36.forwardRef(({ className, ...props }, ref) => /* @__PU
3022
3320
  DrawerFooter.displayName = "DrawerFooter";
3023
3321
 
3024
3322
  // src/components/app-shell/app-shell.tsx
3025
- import * as React37 from "react";
3323
+ import * as React39 from "react";
3026
3324
  import { Menu } from "lucide-react";
3027
- import { jsx as jsx39, jsxs as jsxs19 } from "react/jsx-runtime";
3325
+ import { jsx as jsx41, jsxs as jsxs21 } from "react/jsx-runtime";
3028
3326
  var [AppShellProvider, useAppShell] = createContext2("AppShell");
3029
- var AppShell = React37.forwardRef(
3327
+ var AppShell = React39.forwardRef(
3030
3328
  ({
3031
3329
  className,
3032
3330
  sidebarCollapsed: controlledCollapsed,
@@ -3038,11 +3336,11 @@ var AppShell = React37.forwardRef(
3038
3336
  ...props
3039
3337
  }, ref) => {
3040
3338
  const { isMobile } = useBreakpoint();
3041
- const [internalCollapsed, setInternalCollapsed] = React37.useState(false);
3042
- const [mobileSidebarOpen, setMobileSidebarOpen] = React37.useState(false);
3339
+ const [internalCollapsed, setInternalCollapsed] = React39.useState(false);
3340
+ const [mobileSidebarOpen, setMobileSidebarOpen] = React39.useState(false);
3043
3341
  const collapsed = controlledCollapsed ?? internalCollapsed;
3044
3342
  const setCollapsed = onSidebarCollapsedChange ?? setInternalCollapsed;
3045
- return /* @__PURE__ */ jsx39(
3343
+ return /* @__PURE__ */ jsx41(
3046
3344
  AppShellProvider,
3047
3345
  {
3048
3346
  value: {
@@ -3053,7 +3351,7 @@ var AppShell = React37.forwardRef(
3053
3351
  mobileSidebarOpen,
3054
3352
  setMobileSidebarOpen
3055
3353
  },
3056
- children: /* @__PURE__ */ jsx39(
3354
+ children: /* @__PURE__ */ jsx41(
3057
3355
  "div",
3058
3356
  {
3059
3357
  ref,
@@ -3071,20 +3369,20 @@ var AppShell = React37.forwardRef(
3071
3369
  }
3072
3370
  );
3073
3371
  AppShell.displayName = "AppShell";
3074
- var AppShellSidebar = React37.forwardRef(({ className, children, ...props }, ref) => {
3372
+ var AppShellSidebar = React39.forwardRef(({ className, children, ...props }, ref) => {
3075
3373
  const { sidebarCollapsed, isMobile, mobileSidebarOpen, setMobileSidebarOpen } = useAppShell();
3076
3374
  if (isMobile) {
3077
- return /* @__PURE__ */ jsx39(
3375
+ return /* @__PURE__ */ jsx41(
3078
3376
  Drawer,
3079
3377
  {
3080
3378
  open: mobileSidebarOpen,
3081
3379
  onOpenChange: setMobileSidebarOpen,
3082
3380
  side: "left",
3083
- children: /* @__PURE__ */ jsx39(DrawerContent, { size: "sm", className, children })
3381
+ children: /* @__PURE__ */ jsx41(DrawerContent, { size: "sm", className, children })
3084
3382
  }
3085
3383
  );
3086
3384
  }
3087
- return /* @__PURE__ */ jsx39(
3385
+ return /* @__PURE__ */ jsx41(
3088
3386
  "aside",
3089
3387
  {
3090
3388
  ref,
@@ -3101,9 +3399,9 @@ var AppShellSidebar = React37.forwardRef(({ className, children, ...props }, ref
3101
3399
  );
3102
3400
  });
3103
3401
  AppShellSidebar.displayName = "AppShellSidebar";
3104
- var AppShellHeader = React37.forwardRef(({ className, children, ...props }, ref) => {
3402
+ var AppShellHeader = React39.forwardRef(({ className, children, ...props }, ref) => {
3105
3403
  const { isMobile, setMobileSidebarOpen } = useAppShell();
3106
- return /* @__PURE__ */ jsxs19(
3404
+ return /* @__PURE__ */ jsxs21(
3107
3405
  "header",
3108
3406
  {
3109
3407
  ref,
@@ -3113,14 +3411,14 @@ var AppShellHeader = React37.forwardRef(({ className, children, ...props }, ref)
3113
3411
  ),
3114
3412
  ...props,
3115
3413
  children: [
3116
- isMobile && /* @__PURE__ */ jsx39(
3414
+ isMobile && /* @__PURE__ */ jsx41(
3117
3415
  "button",
3118
3416
  {
3119
3417
  type: "button",
3120
3418
  onClick: () => setMobileSidebarOpen(true),
3121
3419
  className: "rounded-md p-1.5 hover:bg-[var(--color-surface-muted)] transition-colors touch:min-h-[--touch-target-min] touch:min-w-[--touch-target-min] flex items-center justify-center",
3122
3420
  "aria-label": "Open menu",
3123
- children: /* @__PURE__ */ jsx39(Menu, { className: "h-5 w-5" })
3421
+ children: /* @__PURE__ */ jsx41(Menu, { className: "h-5 w-5" })
3124
3422
  }
3125
3423
  ),
3126
3424
  children
@@ -3129,9 +3427,9 @@ var AppShellHeader = React37.forwardRef(({ className, children, ...props }, ref)
3129
3427
  );
3130
3428
  });
3131
3429
  AppShellHeader.displayName = "AppShellHeader";
3132
- var AppShellContent = React37.forwardRef(({ className, ...props }, ref) => {
3430
+ var AppShellContent = React39.forwardRef(({ className, ...props }, ref) => {
3133
3431
  const { withBottomNav } = useAppShell();
3134
- return /* @__PURE__ */ jsx39(
3432
+ return /* @__PURE__ */ jsx41(
3135
3433
  "main",
3136
3434
  {
3137
3435
  ref,
@@ -3145,7 +3443,7 @@ var AppShellContent = React37.forwardRef(({ className, ...props }, ref) => {
3145
3443
  );
3146
3444
  });
3147
3445
  AppShellContent.displayName = "AppShellContent";
3148
- var AppShellFooter = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
3446
+ var AppShellFooter = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3149
3447
  "footer",
3150
3448
  {
3151
3449
  ref,
@@ -3159,9 +3457,9 @@ var AppShellFooter = React37.forwardRef(({ className, ...props }, ref) => /* @__
3159
3457
  AppShellFooter.displayName = "AppShellFooter";
3160
3458
 
3161
3459
  // src/components/bottom-navigation/bottom-navigation.tsx
3162
- import * as React38 from "react";
3163
- import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
3164
- var BottomNavigation = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
3460
+ import * as React40 from "react";
3461
+ import { jsx as jsx42, jsxs as jsxs22 } from "react/jsx-runtime";
3462
+ var BottomNavigation = React40.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx42(
3165
3463
  "nav",
3166
3464
  {
3167
3465
  ref,
@@ -3174,7 +3472,7 @@ var BottomNavigation = React38.forwardRef(({ className, ...props }, ref) => /* @
3174
3472
  }
3175
3473
  ));
3176
3474
  BottomNavigation.displayName = "BottomNavigation";
3177
- var BottomNavigationItem = React38.forwardRef(({ className, icon, label, active = false, ...props }, ref) => /* @__PURE__ */ jsxs20(
3475
+ var BottomNavigationItem = React40.forwardRef(({ className, icon, label, active = false, ...props }, ref) => /* @__PURE__ */ jsxs22(
3178
3476
  "button",
3179
3477
  {
3180
3478
  ref,
@@ -3186,18 +3484,18 @@ var BottomNavigationItem = React38.forwardRef(({ className, icon, label, active
3186
3484
  "aria-current": active ? "page" : void 0,
3187
3485
  ...props,
3188
3486
  children: [
3189
- /* @__PURE__ */ jsx40("span", { className: "flex h-6 w-6 items-center justify-center", children: icon }),
3190
- /* @__PURE__ */ jsx40("span", { children: label })
3487
+ /* @__PURE__ */ jsx42("span", { className: "flex h-6 w-6 items-center justify-center", children: icon }),
3488
+ /* @__PURE__ */ jsx42("span", { children: label })
3191
3489
  ]
3192
3490
  }
3193
3491
  ));
3194
3492
  BottomNavigationItem.displayName = "BottomNavigationItem";
3195
3493
 
3196
3494
  // src/components/offline-indicator/offline-indicator.tsx
3197
- import * as React39 from "react";
3495
+ import * as React41 from "react";
3198
3496
  import { WifiOff } from "lucide-react";
3199
- import { jsx as jsx41, jsxs as jsxs21 } from "react/jsx-runtime";
3200
- var OfflineIndicator = React39.forwardRef(
3497
+ import { jsx as jsx43, jsxs as jsxs23 } from "react/jsx-runtime";
3498
+ var OfflineIndicator = React41.forwardRef(
3201
3499
  ({
3202
3500
  className,
3203
3501
  isOffline,
@@ -3205,7 +3503,7 @@ var OfflineIndicator = React39.forwardRef(
3205
3503
  ...props
3206
3504
  }, ref) => {
3207
3505
  if (!isOffline) return null;
3208
- return /* @__PURE__ */ jsxs21(
3506
+ return /* @__PURE__ */ jsxs23(
3209
3507
  "div",
3210
3508
  {
3211
3509
  ref,
@@ -3216,7 +3514,7 @@ var OfflineIndicator = React39.forwardRef(
3216
3514
  ),
3217
3515
  ...props,
3218
3516
  children: [
3219
- /* @__PURE__ */ jsx41(WifiOff, { className: "mr-2 h-3.5 w-3.5 shrink-0", "aria-hidden": "true" }),
3517
+ /* @__PURE__ */ jsx43(WifiOff, { className: "mr-2 h-3.5 w-3.5 shrink-0", "aria-hidden": "true" }),
3220
3518
  message
3221
3519
  ]
3222
3520
  }
@@ -3226,9 +3524,9 @@ var OfflineIndicator = React39.forwardRef(
3226
3524
  OfflineIndicator.displayName = "OfflineIndicator";
3227
3525
 
3228
3526
  // src/components/install-prompt/install-prompt.tsx
3229
- import * as React40 from "react";
3230
- import { jsx as jsx42, jsxs as jsxs22 } from "react/jsx-runtime";
3231
- var InstallPrompt = React40.forwardRef(
3527
+ import * as React42 from "react";
3528
+ import { jsx as jsx44, jsxs as jsxs24 } from "react/jsx-runtime";
3529
+ var InstallPrompt = React42.forwardRef(
3232
3530
  ({
3233
3531
  className,
3234
3532
  canInstall,
@@ -3241,7 +3539,7 @@ var InstallPrompt = React40.forwardRef(
3241
3539
  ...props
3242
3540
  }, ref) => {
3243
3541
  if (!canInstall) return null;
3244
- return /* @__PURE__ */ jsx42(
3542
+ return /* @__PURE__ */ jsx44(
3245
3543
  "div",
3246
3544
  {
3247
3545
  ref,
@@ -3252,12 +3550,12 @@ var InstallPrompt = React40.forwardRef(
3252
3550
  className
3253
3551
  ),
3254
3552
  ...props,
3255
- children: /* @__PURE__ */ jsxs22("div", { className: "mx-auto max-w-md", children: [
3256
- /* @__PURE__ */ jsx42("p", { className: "text-sm font-semibold text-[var(--color-on-surface)]", children: title }),
3257
- /* @__PURE__ */ jsx42("p", { className: "mt-1 text-xs text-[var(--color-on-surface-muted)]", children: description }),
3258
- /* @__PURE__ */ jsxs22("div", { className: "mt-3 flex gap-2", children: [
3259
- /* @__PURE__ */ jsx42(Button, { size: "sm", onClick: onInstall, className: "flex-1", children: installLabel }),
3260
- /* @__PURE__ */ jsx42(
3553
+ children: /* @__PURE__ */ jsxs24("div", { className: "mx-auto max-w-md", children: [
3554
+ /* @__PURE__ */ jsx44("p", { className: "text-sm font-semibold text-[var(--color-on-surface)]", children: title }),
3555
+ /* @__PURE__ */ jsx44("p", { className: "mt-1 text-xs text-[var(--color-on-surface-muted)]", children: description }),
3556
+ /* @__PURE__ */ jsxs24("div", { className: "mt-3 flex gap-2", children: [
3557
+ /* @__PURE__ */ jsx44(Button, { size: "sm", onClick: onInstall, className: "flex-1", children: installLabel }),
3558
+ /* @__PURE__ */ jsx44(
3261
3559
  Button,
3262
3560
  {
3263
3561
  size: "sm",
@@ -3276,17 +3574,17 @@ var InstallPrompt = React40.forwardRef(
3276
3574
  InstallPrompt.displayName = "InstallPrompt";
3277
3575
 
3278
3576
  // src/components/pull-to-refresh/pull-to-refresh.tsx
3279
- import * as React41 from "react";
3577
+ import * as React43 from "react";
3280
3578
  import { ArrowDown } from "lucide-react";
3281
- import { jsx as jsx43, jsxs as jsxs23 } from "react/jsx-runtime";
3282
- var PullToRefresh = React41.forwardRef(
3579
+ import { jsx as jsx45, jsxs as jsxs25 } from "react/jsx-runtime";
3580
+ var PullToRefresh = React43.forwardRef(
3283
3581
  ({ className, onRefresh, threshold = 80, disabled = false, children, ...props }, ref) => {
3284
- const [pullDistance, setPullDistance] = React41.useState(0);
3285
- const [isRefreshing, setIsRefreshing] = React41.useState(false);
3286
- const startYRef = React41.useRef(0);
3287
- const containerRef = React41.useRef(null);
3288
- React41.useImperativeHandle(ref, () => containerRef.current);
3289
- const handleTouchStart = React41.useCallback(
3582
+ const [pullDistance, setPullDistance] = React43.useState(0);
3583
+ const [isRefreshing, setIsRefreshing] = React43.useState(false);
3584
+ const startYRef = React43.useRef(0);
3585
+ const containerRef = React43.useRef(null);
3586
+ React43.useImperativeHandle(ref, () => containerRef.current);
3587
+ const handleTouchStart = React43.useCallback(
3290
3588
  (e) => {
3291
3589
  if (disabled || isRefreshing) return;
3292
3590
  const container = containerRef.current;
@@ -3296,7 +3594,7 @@ var PullToRefresh = React41.forwardRef(
3296
3594
  },
3297
3595
  [disabled, isRefreshing]
3298
3596
  );
3299
- const handleTouchMove = React41.useCallback(
3597
+ const handleTouchMove = React43.useCallback(
3300
3598
  (e) => {
3301
3599
  if (disabled || isRefreshing || startYRef.current === 0) return;
3302
3600
  const distance = Math.max(
@@ -3309,7 +3607,7 @@ var PullToRefresh = React41.forwardRef(
3309
3607
  },
3310
3608
  [disabled, isRefreshing, threshold]
3311
3609
  );
3312
- const handleTouchEnd = React41.useCallback(async () => {
3610
+ const handleTouchEnd = React43.useCallback(async () => {
3313
3611
  if (disabled || isRefreshing) return;
3314
3612
  if (pullDistance >= threshold) {
3315
3613
  setIsRefreshing(true);
@@ -3324,7 +3622,7 @@ var PullToRefresh = React41.forwardRef(
3324
3622
  }, [disabled, isRefreshing, pullDistance, threshold, onRefresh]);
3325
3623
  const indicatorOpacity = Math.min(pullDistance / threshold, 1);
3326
3624
  const shouldTrigger = pullDistance >= threshold;
3327
- return /* @__PURE__ */ jsxs23(
3625
+ return /* @__PURE__ */ jsxs25(
3328
3626
  "div",
3329
3627
  {
3330
3628
  ref: containerRef,
@@ -3334,18 +3632,18 @@ var PullToRefresh = React41.forwardRef(
3334
3632
  onTouchEnd: handleTouchEnd,
3335
3633
  ...props,
3336
3634
  children: [
3337
- /* @__PURE__ */ jsx43(
3635
+ /* @__PURE__ */ jsx45(
3338
3636
  "div",
3339
3637
  {
3340
3638
  className: "flex items-center justify-center overflow-hidden transition-[height] duration-normal",
3341
3639
  style: { height: isRefreshing ? threshold * 0.6 : pullDistance },
3342
3640
  "aria-hidden": "true",
3343
- children: /* @__PURE__ */ jsx43(
3641
+ children: /* @__PURE__ */ jsx45(
3344
3642
  "div",
3345
3643
  {
3346
3644
  className: "transition-opacity",
3347
3645
  style: { opacity: isRefreshing ? 1 : indicatorOpacity },
3348
- children: isRefreshing ? /* @__PURE__ */ jsx43(Spinner, { size: "sm" }) : /* @__PURE__ */ jsx43(
3646
+ children: isRefreshing ? /* @__PURE__ */ jsx45(Spinner, { size: "sm" }) : /* @__PURE__ */ jsx45(
3349
3647
  ArrowDown,
3350
3648
  {
3351
3649
  className: cn(
@@ -3367,10 +3665,10 @@ var PullToRefresh = React41.forwardRef(
3367
3665
  PullToRefresh.displayName = "PullToRefresh";
3368
3666
 
3369
3667
  // src/components/print/print-document.tsx
3370
- import * as React42 from "react";
3371
- import { cva as cva15 } from "class-variance-authority";
3372
- import { jsx as jsx44, jsxs as jsxs24 } from "react/jsx-runtime";
3373
- var printDocumentVariants = cva15(
3668
+ import * as React44 from "react";
3669
+ import { cva as cva17 } from "class-variance-authority";
3670
+ import { jsx as jsx46, jsxs as jsxs26 } from "react/jsx-runtime";
3671
+ var printDocumentVariants = cva17(
3374
3672
  [
3375
3673
  "bg-white text-neutral-900",
3376
3674
  "flex flex-col",
@@ -3398,8 +3696,8 @@ var printDocumentVariants = cva15(
3398
3696
  }
3399
3697
  }
3400
3698
  );
3401
- var PrintDocument = React42.forwardRef(
3402
- ({ className, size, orientation, padding = "20mm", style, children, ...props }, ref) => /* @__PURE__ */ jsx44(
3699
+ var PrintDocument = React44.forwardRef(
3700
+ ({ className, size, orientation, padding = "20mm", style, children, ...props }, ref) => /* @__PURE__ */ jsx46(
3403
3701
  "div",
3404
3702
  {
3405
3703
  ref,
@@ -3418,25 +3716,25 @@ var PrintDocument = React42.forwardRef(
3418
3716
  )
3419
3717
  );
3420
3718
  PrintDocument.displayName = "PrintDocument";
3421
- var PrintHeader = React42.forwardRef(
3422
- ({ className, logo, title, subtitle, meta, children, ...props }, ref) => /* @__PURE__ */ jsxs24("div", { ref, className: cn("mb-6", className), ...props, children: [
3423
- /* @__PURE__ */ jsx44("div", { className: "h-1 bg-primary-500 rounded-full mb-5" }),
3424
- /* @__PURE__ */ jsxs24("div", { className: "flex items-start justify-between pb-4 border-b border-neutral-200", children: [
3425
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
3426
- logo && /* @__PURE__ */ jsx44("div", { className: "shrink-0", children: logo }),
3427
- /* @__PURE__ */ jsxs24("div", { children: [
3428
- title && /* @__PURE__ */ jsx44("h1", { className: "text-2xl font-bold text-neutral-900 leading-tight", children: title }),
3429
- subtitle && /* @__PURE__ */ jsx44("p", { className: "text-[8pt] font-medium tracking-widest uppercase text-neutral-400 mt-0.5", children: subtitle })
3719
+ var PrintHeader = React44.forwardRef(
3720
+ ({ className, logo, title, subtitle, meta, children, ...props }, ref) => /* @__PURE__ */ jsxs26("div", { ref, className: cn("mb-6", className), ...props, children: [
3721
+ /* @__PURE__ */ jsx46("div", { className: "h-1 bg-primary-400 rounded-full mb-5" }),
3722
+ /* @__PURE__ */ jsxs26("div", { className: "flex items-start justify-between pb-4 border-b border-neutral-200", children: [
3723
+ /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-3", children: [
3724
+ logo && /* @__PURE__ */ jsx46("div", { className: "shrink-0", children: logo }),
3725
+ /* @__PURE__ */ jsxs26("div", { children: [
3726
+ title && /* @__PURE__ */ jsx46("h1", { className: "text-2xl font-bold text-neutral-900 leading-tight", children: title }),
3727
+ subtitle && /* @__PURE__ */ jsx46("p", { className: "text-[8pt] font-medium tracking-widest uppercase text-neutral-400 mt-0.5", children: subtitle })
3430
3728
  ] })
3431
3729
  ] }),
3432
- meta && /* @__PURE__ */ jsx44("div", { className: "text-right text-[9pt] text-neutral-600 leading-relaxed", children: meta }),
3730
+ meta && /* @__PURE__ */ jsx46("div", { className: "text-right text-[9pt] text-neutral-600 leading-relaxed", children: meta }),
3433
3731
  children
3434
3732
  ] })
3435
3733
  ] })
3436
3734
  );
3437
3735
  PrintHeader.displayName = "PrintHeader";
3438
- var PrintFooter = React42.forwardRef(
3439
- ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx44(
3736
+ var PrintFooter = React44.forwardRef(
3737
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx46(
3440
3738
  "div",
3441
3739
  {
3442
3740
  ref,
@@ -3449,10 +3747,10 @@ var PrintFooter = React42.forwardRef(
3449
3747
  PrintFooter.displayName = "PrintFooter";
3450
3748
 
3451
3749
  // src/components/print/print-table.tsx
3452
- import * as React43 from "react";
3453
- import { jsx as jsx45 } from "react/jsx-runtime";
3454
- var PrintTable = React43.forwardRef(
3455
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
3750
+ import * as React45 from "react";
3751
+ import { jsx as jsx47 } from "react/jsx-runtime";
3752
+ var PrintTable = React45.forwardRef(
3753
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
3456
3754
  "table",
3457
3755
  {
3458
3756
  ref,
@@ -3462,20 +3760,20 @@ var PrintTable = React43.forwardRef(
3462
3760
  )
3463
3761
  );
3464
3762
  PrintTable.displayName = "PrintTable";
3465
- var PrintTableHeader = React43.forwardRef(
3466
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx45("thead", { ref, className: cn("", className), ...props })
3763
+ var PrintTableHeader = React45.forwardRef(
3764
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx47("thead", { ref, className: cn("", className), ...props })
3467
3765
  );
3468
3766
  PrintTableHeader.displayName = "PrintTableHeader";
3469
- var PrintTableBody = React43.forwardRef(
3470
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx45("tbody", { ref, className: cn("", className), ...props })
3767
+ var PrintTableBody = React45.forwardRef(
3768
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx47("tbody", { ref, className: cn("", className), ...props })
3471
3769
  );
3472
3770
  PrintTableBody.displayName = "PrintTableBody";
3473
- var PrintTableFooter = React43.forwardRef(
3474
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx45("tfoot", { ref, className: cn("", className), ...props })
3771
+ var PrintTableFooter = React45.forwardRef(
3772
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx47("tfoot", { ref, className: cn("", className), ...props })
3475
3773
  );
3476
3774
  PrintTableFooter.displayName = "PrintTableFooter";
3477
- var PrintTableRow = React43.forwardRef(
3478
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
3775
+ var PrintTableRow = React45.forwardRef(
3776
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
3479
3777
  "tr",
3480
3778
  {
3481
3779
  ref,
@@ -3485,8 +3783,8 @@ var PrintTableRow = React43.forwardRef(
3485
3783
  )
3486
3784
  );
3487
3785
  PrintTableRow.displayName = "PrintTableRow";
3488
- var PrintTableHead = React43.forwardRef(
3489
- ({ className, align = "left", ...props }, ref) => /* @__PURE__ */ jsx45(
3786
+ var PrintTableHead = React45.forwardRef(
3787
+ ({ className, align = "left", ...props }, ref) => /* @__PURE__ */ jsx47(
3490
3788
  "th",
3491
3789
  {
3492
3790
  ref,
@@ -3502,8 +3800,8 @@ var PrintTableHead = React43.forwardRef(
3502
3800
  )
3503
3801
  );
3504
3802
  PrintTableHead.displayName = "PrintTableHead";
3505
- var PrintTableCell = React43.forwardRef(
3506
- ({ className, align = "left", ...props }, ref) => /* @__PURE__ */ jsx45(
3803
+ var PrintTableCell = React45.forwardRef(
3804
+ ({ className, align = "left", ...props }, ref) => /* @__PURE__ */ jsx47(
3507
3805
  "td",
3508
3806
  {
3509
3807
  ref,
@@ -3521,17 +3819,17 @@ var PrintTableCell = React43.forwardRef(
3521
3819
  PrintTableCell.displayName = "PrintTableCell";
3522
3820
 
3523
3821
  // src/components/print/print-field.tsx
3524
- import * as React44 from "react";
3525
- import { cva as cva16 } from "class-variance-authority";
3526
- import { jsx as jsx46, jsxs as jsxs25 } from "react/jsx-runtime";
3527
- var PrintField = React44.forwardRef(
3528
- ({ className, label, value, children, ...props }, ref) => /* @__PURE__ */ jsxs25("div", { ref, className: cn("", className), ...props, children: [
3529
- /* @__PURE__ */ jsx46("dt", { className: "text-[8pt] font-medium text-neutral-500 mb-0.5", children: label }),
3530
- /* @__PURE__ */ jsx46("dd", { className: "text-[9pt] text-neutral-900", children: value ?? children })
3822
+ import * as React46 from "react";
3823
+ import { cva as cva18 } from "class-variance-authority";
3824
+ import { jsx as jsx48, jsxs as jsxs27 } from "react/jsx-runtime";
3825
+ var PrintField = React46.forwardRef(
3826
+ ({ className, label, value, children, ...props }, ref) => /* @__PURE__ */ jsxs27("div", { ref, className: cn("", className), ...props, children: [
3827
+ /* @__PURE__ */ jsx48("dt", { className: "text-[8pt] font-medium text-neutral-500 mb-0.5", children: label }),
3828
+ /* @__PURE__ */ jsx48("dd", { className: "text-[9pt] text-neutral-900", children: value ?? children })
3531
3829
  ] })
3532
3830
  );
3533
3831
  PrintField.displayName = "PrintField";
3534
- var printFieldGroupVariants = cva16("grid gap-x-6 gap-y-2", {
3832
+ var printFieldGroupVariants = cva18("grid gap-x-6 gap-y-2", {
3535
3833
  variants: {
3536
3834
  columns: {
3537
3835
  1: "grid-cols-1",
@@ -3544,8 +3842,8 @@ var printFieldGroupVariants = cva16("grid gap-x-6 gap-y-2", {
3544
3842
  columns: 2
3545
3843
  }
3546
3844
  });
3547
- var PrintFieldGroup = React44.forwardRef(
3548
- ({ className, columns, ...props }, ref) => /* @__PURE__ */ jsx46(
3845
+ var PrintFieldGroup = React46.forwardRef(
3846
+ ({ className, columns, ...props }, ref) => /* @__PURE__ */ jsx48(
3549
3847
  "dl",
3550
3848
  {
3551
3849
  ref,
@@ -3557,10 +3855,10 @@ var PrintFieldGroup = React44.forwardRef(
3557
3855
  PrintFieldGroup.displayName = "PrintFieldGroup";
3558
3856
 
3559
3857
  // src/components/print/print-divider.tsx
3560
- import * as React45 from "react";
3561
- import { jsx as jsx47 } from "react/jsx-runtime";
3562
- var PrintDivider = React45.forwardRef(
3563
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
3858
+ import * as React47 from "react";
3859
+ import { jsx as jsx49 } from "react/jsx-runtime";
3860
+ var PrintDivider = React47.forwardRef(
3861
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
3564
3862
  "hr",
3565
3863
  {
3566
3864
  ref,
@@ -3572,9 +3870,9 @@ var PrintDivider = React45.forwardRef(
3572
3870
  PrintDivider.displayName = "PrintDivider";
3573
3871
 
3574
3872
  // src/components/stat-card/stat-card.tsx
3575
- import * as React46 from "react";
3873
+ import * as React48 from "react";
3576
3874
  import { ChevronUp as ChevronUp2, ChevronDown as ChevronDown3 } from "lucide-react";
3577
- import { jsx as jsx48, jsxs as jsxs26 } from "react/jsx-runtime";
3875
+ import { jsx as jsx50, jsxs as jsxs28 } from "react/jsx-runtime";
3578
3876
  function inferDirection(trend) {
3579
3877
  if (!trend) return "neutral";
3580
3878
  if (trend.startsWith("+")) return "up";
@@ -3591,10 +3889,10 @@ var TREND_ICON_COMPONENTS = {
3591
3889
  down: ChevronDown3,
3592
3890
  neutral: null
3593
3891
  };
3594
- var StatCard = React46.forwardRef(
3892
+ var StatCard = React48.forwardRef(
3595
3893
  ({ className, label, value, trend, trendDirection, icon, ...props }, ref) => {
3596
3894
  const direction = trendDirection ?? inferDirection(trend);
3597
- return /* @__PURE__ */ jsxs26(
3895
+ return /* @__PURE__ */ jsxs28(
3598
3896
  "div",
3599
3897
  {
3600
3898
  ref,
@@ -3604,16 +3902,16 @@ var StatCard = React46.forwardRef(
3604
3902
  ),
3605
3903
  ...props,
3606
3904
  children: [
3607
- /* @__PURE__ */ jsxs26("div", { className: "flex items-center justify-between", children: [
3608
- /* @__PURE__ */ jsx48("p", { className: "text-xs font-medium text-[var(--color-on-surface-muted)] uppercase tracking-wider", children: label }),
3609
- icon && /* @__PURE__ */ jsx48("span", { className: "text-[var(--color-on-surface-muted)]", children: icon })
3905
+ /* @__PURE__ */ jsxs28("div", { className: "flex items-center justify-between", children: [
3906
+ /* @__PURE__ */ jsx50("p", { className: "text-xs font-medium text-[var(--color-on-surface-muted)] uppercase tracking-wider", children: label }),
3907
+ icon && /* @__PURE__ */ jsx50("span", { className: "text-[var(--color-on-surface-muted)]", children: icon })
3610
3908
  ] }),
3611
- /* @__PURE__ */ jsxs26("div", { className: "flex items-baseline gap-2 mt-2", children: [
3612
- /* @__PURE__ */ jsx48("span", { className: "text-xl sm:text-2xl font-bold tabular-nums", children: value }),
3613
- trend && /* @__PURE__ */ jsxs26("span", { className: cn("inline-flex items-center gap-0.5 text-xs font-medium", TREND_STYLES[direction]), children: [
3909
+ /* @__PURE__ */ jsxs28("div", { className: "flex items-baseline gap-2 mt-2", children: [
3910
+ /* @__PURE__ */ jsx50("span", { className: "text-xl sm:text-2xl font-bold tabular-nums", children: value }),
3911
+ trend && /* @__PURE__ */ jsxs28("span", { className: cn("inline-flex items-center gap-0.5 text-xs font-medium", TREND_STYLES[direction]), children: [
3614
3912
  (() => {
3615
3913
  const TrendIcon = TREND_ICON_COMPONENTS[direction];
3616
- return TrendIcon ? /* @__PURE__ */ jsx48(TrendIcon, { className: "h-3 w-3", strokeWidth: 2.5 }) : null;
3914
+ return TrendIcon ? /* @__PURE__ */ jsx50(TrendIcon, { className: "h-3 w-3", strokeWidth: 2.5 }) : null;
3617
3915
  })(),
3618
3916
  trend
3619
3917
  ] })
@@ -3626,10 +3924,10 @@ var StatCard = React46.forwardRef(
3626
3924
  StatCard.displayName = "StatCard";
3627
3925
 
3628
3926
  // src/components/chart-container/chart-container.tsx
3629
- import * as React47 from "react";
3630
- import { jsx as jsx49, jsxs as jsxs27 } from "react/jsx-runtime";
3631
- var ChartContainer = React47.forwardRef(
3632
- ({ className, title, description, actions, children, ...props }, ref) => /* @__PURE__ */ jsxs27(
3927
+ import * as React49 from "react";
3928
+ import { jsx as jsx51, jsxs as jsxs29 } from "react/jsx-runtime";
3929
+ var ChartContainer = React49.forwardRef(
3930
+ ({ className, title, description, actions, children, ...props }, ref) => /* @__PURE__ */ jsxs29(
3633
3931
  "div",
3634
3932
  {
3635
3933
  ref,
@@ -3639,14 +3937,14 @@ var ChartContainer = React47.forwardRef(
3639
3937
  ),
3640
3938
  ...props,
3641
3939
  children: [
3642
- /* @__PURE__ */ jsxs27("div", { className: "flex flex-col sm:flex-row sm:items-start sm:justify-between gap-2 sm:gap-4 p-4 sm:p-5 pb-0", children: [
3643
- /* @__PURE__ */ jsxs27("div", { children: [
3644
- /* @__PURE__ */ jsx49("h3", { className: "text-sm font-semibold leading-none tracking-tight", children: title }),
3645
- description && /* @__PURE__ */ jsx49("p", { className: "mt-1 text-xs text-[var(--color-on-surface-muted)]", children: description })
3940
+ /* @__PURE__ */ jsxs29("div", { className: "flex flex-col sm:flex-row sm:items-start sm:justify-between gap-2 sm:gap-4 p-4 sm:p-5 pb-0", children: [
3941
+ /* @__PURE__ */ jsxs29("div", { children: [
3942
+ /* @__PURE__ */ jsx51("h3", { className: "text-sm font-semibold leading-none tracking-tight", children: title }),
3943
+ description && /* @__PURE__ */ jsx51("p", { className: "mt-1 text-xs text-[var(--color-on-surface-muted)]", children: description })
3646
3944
  ] }),
3647
- actions && /* @__PURE__ */ jsx49("div", { className: "flex items-center gap-2 shrink-0", children: actions })
3945
+ actions && /* @__PURE__ */ jsx51("div", { className: "flex items-center gap-2 shrink-0", children: actions })
3648
3946
  ] }),
3649
- /* @__PURE__ */ jsx49("div", { className: "p-4 sm:p-5", children })
3947
+ /* @__PURE__ */ jsx51("div", { className: "p-4 sm:p-5", children })
3650
3948
  ]
3651
3949
  }
3652
3950
  )
@@ -3759,7 +4057,7 @@ function getChartTheme() {
3759
4057
  }
3760
4058
 
3761
4059
  // src/components/chart/chart-tooltip.tsx
3762
- import { jsx as jsx50, jsxs as jsxs28 } from "react/jsx-runtime";
4060
+ import { jsx as jsx52, jsxs as jsxs30 } from "react/jsx-runtime";
3763
4061
  var ChartTooltip = ({
3764
4062
  active,
3765
4063
  payload,
@@ -3770,7 +4068,7 @@ var ChartTooltip = ({
3770
4068
  }) => {
3771
4069
  if (!active || !payload?.length) return null;
3772
4070
  const displayLabel = labelFormatter ? labelFormatter(String(label)) : label;
3773
- return /* @__PURE__ */ jsxs28(
4071
+ return /* @__PURE__ */ jsxs30(
3774
4072
  "div",
3775
4073
  {
3776
4074
  className: cn(
@@ -3779,17 +4077,17 @@ var ChartTooltip = ({
3779
4077
  className
3780
4078
  ),
3781
4079
  children: [
3782
- displayLabel && /* @__PURE__ */ jsx50("p", { className: "font-medium text-[var(--color-on-surface)] mb-1", children: displayLabel }),
3783
- /* @__PURE__ */ jsx50("div", { className: "flex flex-col gap-0.5", children: payload.map((entry, i) => /* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-2", children: [
3784
- /* @__PURE__ */ jsx50(
4080
+ displayLabel && /* @__PURE__ */ jsx52("p", { className: "font-medium text-[var(--color-on-surface)] mb-1", children: displayLabel }),
4081
+ /* @__PURE__ */ jsx52("div", { className: "flex flex-col gap-0.5", children: payload.map((entry, i) => /* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-2", children: [
4082
+ /* @__PURE__ */ jsx52(
3785
4083
  "span",
3786
4084
  {
3787
4085
  className: "inline-block h-2.5 w-2.5 shrink-0 rounded-full",
3788
4086
  style: { backgroundColor: entry.color }
3789
4087
  }
3790
4088
  ),
3791
- /* @__PURE__ */ jsx50("span", { className: "text-[var(--color-on-surface-muted)]", children: entry.name }),
3792
- /* @__PURE__ */ jsx50("span", { className: "ml-auto font-medium tabular-nums text-[var(--color-on-surface)]", children: formatter ? formatter(entry.value, entry.name) : entry.value.toLocaleString() })
4089
+ /* @__PURE__ */ jsx52("span", { className: "text-[var(--color-on-surface-muted)]", children: entry.name }),
4090
+ /* @__PURE__ */ jsx52("span", { className: "ml-auto font-medium tabular-nums text-[var(--color-on-surface)]", children: formatter ? formatter(entry.value, entry.name) : entry.value.toLocaleString() })
3793
4091
  ] }, i)) })
3794
4092
  ]
3795
4093
  }
@@ -3798,21 +4096,21 @@ var ChartTooltip = ({
3798
4096
  ChartTooltip.displayName = "ChartTooltip";
3799
4097
 
3800
4098
  // src/components/chart/chart-legend.tsx
3801
- import { jsx as jsx51, jsxs as jsxs29 } from "react/jsx-runtime";
4099
+ import { jsx as jsx53, jsxs as jsxs31 } from "react/jsx-runtime";
3802
4100
  var ChartLegend = ({
3803
4101
  payload,
3804
4102
  className
3805
4103
  }) => {
3806
4104
  if (!payload?.length) return null;
3807
- return /* @__PURE__ */ jsx51("div", { className: cn("flex flex-wrap items-center justify-center gap-x-4 gap-y-1 pt-3", className), children: payload.map((entry, i) => /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-1.5 text-xs text-[var(--color-on-surface-muted)]", children: [
3808
- /* @__PURE__ */ jsx51(
4105
+ return /* @__PURE__ */ jsx53("div", { className: cn("flex flex-wrap items-center justify-center gap-x-4 gap-y-1 pt-3", className), children: payload.map((entry, i) => /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-1.5 text-xs text-[var(--color-on-surface-muted)]", children: [
4106
+ /* @__PURE__ */ jsx53(
3809
4107
  "span",
3810
4108
  {
3811
4109
  className: "inline-block h-2.5 w-2.5 shrink-0 rounded-full",
3812
4110
  style: { backgroundColor: entry.color }
3813
4111
  }
3814
4112
  ),
3815
- /* @__PURE__ */ jsx51("span", { children: entry.value })
4113
+ /* @__PURE__ */ jsx53("span", { children: entry.value })
3816
4114
  ] }, i)) });
3817
4115
  };
3818
4116
  ChartLegend.displayName = "ChartLegend";
@@ -3928,6 +4226,7 @@ export {
3928
4226
  PrintTableHead,
3929
4227
  PrintTableHeader,
3930
4228
  PrintTableRow,
4229
+ Progress,
3931
4230
  PullToRefresh,
3932
4231
  RadioGroup,
3933
4232
  RadioGroupItem,
@@ -3943,6 +4242,7 @@ export {
3943
4242
  Skeleton,
3944
4243
  Spinner,
3945
4244
  StatCard,
4245
+ Stepper,
3946
4246
  Switch,
3947
4247
  Table,
3948
4248
  TableBody,
@@ -3984,7 +4284,9 @@ export {
3984
4284
  inputVariants,
3985
4285
  printDocumentVariants,
3986
4286
  printFieldGroupVariants,
4287
+ progressVariants,
3987
4288
  spinnerVariants,
4289
+ stepIndicatorVariants,
3988
4290
  switchVariants,
3989
4291
  textareaVariants,
3990
4292
  toast,