@snksergio/design-system 0.35.0 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +58 -12
  2. package/dist-lib/chunks/avatar-CIHTveDJ.mjs +1177 -0
  3. package/dist-lib/chunks/avatar-CIHTveDJ.mjs.map +1 -0
  4. package/dist-lib/chunks/avatar-YpqQgJnh.cjs +1196 -0
  5. package/dist-lib/chunks/avatar-YpqQgJnh.cjs.map +1 -0
  6. package/dist-lib/chunks/{input-CizzMZ20.cjs → input-CJnonz-G.cjs} +3 -3
  7. package/dist-lib/chunks/{input-CizzMZ20.cjs.map → input-CJnonz-G.cjs.map} +1 -1
  8. package/dist-lib/chunks/{input-Cym0k4ZI.mjs → input-jLoO8t0I.mjs} +2 -2
  9. package/dist-lib/chunks/{input-Cym0k4ZI.mjs.map → input-jLoO8t0I.mjs.map} +1 -1
  10. package/dist-lib/chunks/{kpi-delta-FhfuIg27.mjs → kpi-delta-D0g2YzDy.mjs} +3 -2
  11. package/dist-lib/chunks/{kpi-delta-FhfuIg27.mjs.map → kpi-delta-D0g2YzDy.mjs.map} +1 -1
  12. package/dist-lib/chunks/{kpi-delta-DrSJPMCY.cjs → kpi-delta-D6cLnCqW.cjs} +8 -7
  13. package/dist-lib/chunks/{kpi-delta-DrSJPMCY.cjs.map → kpi-delta-D6cLnCqW.cjs.map} +1 -1
  14. package/dist-lib/chunks/{page-header-BMzUloFi.cjs → page-header-DSTprenz.cjs} +4 -4
  15. package/dist-lib/chunks/{page-header-BMzUloFi.cjs.map → page-header-DSTprenz.cjs.map} +1 -1
  16. package/dist-lib/chunks/{page-header-Buh6YlQM.mjs → page-header-Deb1excS.mjs} +2 -2
  17. package/dist-lib/chunks/{page-header-Buh6YlQM.mjs.map → page-header-Deb1excS.mjs.map} +1 -1
  18. package/dist-lib/chunks/{panel-Cdl0GPVE.mjs → panel-Cid3m9zb.mjs} +370 -9823
  19. package/dist-lib/chunks/panel-Cid3m9zb.mjs.map +1 -0
  20. package/dist-lib/chunks/{panel-DlyaLunw.cjs → panel-DLcD8LhW.cjs} +595 -10052
  21. package/dist-lib/chunks/panel-DLcD8LhW.cjs.map +1 -0
  22. package/dist-lib/chunks/textarea-BDJRaL5h.mjs +781 -0
  23. package/dist-lib/chunks/textarea-BDJRaL5h.mjs.map +1 -0
  24. package/dist-lib/chunks/textarea-Bxl9Voe8.cjs +802 -0
  25. package/dist-lib/chunks/textarea-Bxl9Voe8.cjs.map +1 -0
  26. package/dist-lib/chunks/tooltip-DGI3hDFM.mjs +1452 -0
  27. package/dist-lib/chunks/tooltip-DGI3hDFM.mjs.map +1 -0
  28. package/dist-lib/chunks/tooltip-vLUyJ0h5.cjs +1484 -0
  29. package/dist-lib/chunks/tooltip-vLUyJ0h5.cjs.map +1 -0
  30. package/dist-lib/chunks/{useTheme-D4alxxGV.cjs → useTheme-DQ7FaHdv.cjs} +170 -1282
  31. package/dist-lib/chunks/useTheme-DQ7FaHdv.cjs.map +1 -0
  32. package/dist-lib/chunks/{useTheme-DF2xbSdI.mjs → useTheme-UrerJ3i-.mjs} +26 -1134
  33. package/dist-lib/chunks/useTheme-UrerJ3i-.mjs.map +1 -0
  34. package/dist-lib/index.cjs +1258 -311
  35. package/dist-lib/index.cjs.map +1 -1
  36. package/dist-lib/index.mjs +1631 -679
  37. package/dist-lib/index.mjs.map +1 -1
  38. package/dist-lib/preview/chat.cjs +45 -44
  39. package/dist-lib/preview/chat.cjs.map +1 -1
  40. package/dist-lib/preview/chat.mjs +3 -2
  41. package/dist-lib/preview/chat.mjs.map +1 -1
  42. package/dist-lib/preview/clientes.cjs +22 -20
  43. package/dist-lib/preview/clientes.cjs.map +1 -1
  44. package/dist-lib/preview/clientes.mjs +6 -4
  45. package/dist-lib/preview/clientes.mjs.map +1 -1
  46. package/dist-lib/preview/dashboard.cjs +40 -39
  47. package/dist-lib/preview/dashboard.cjs.map +1 -1
  48. package/dist-lib/preview/dashboard.mjs +4 -3
  49. package/dist-lib/preview/dashboard.mjs.map +1 -1
  50. package/dist-lib/shadcn.cjs +293 -0
  51. package/dist-lib/shadcn.cjs.map +1 -0
  52. package/dist-lib/shadcn.d.ts +2 -0
  53. package/dist-lib/shadcn.mjs +276 -0
  54. package/dist-lib/shadcn.mjs.map +1 -0
  55. package/dist-lib/src/components/index.d.ts +10 -0
  56. package/dist-lib/src/components/index.d.ts.map +1 -1
  57. package/dist-lib/src/components/shadcn/command.d.ts.map +1 -1
  58. package/dist-lib/src/components/shadcn/index.d.ts +60 -6
  59. package/dist-lib/src/components/shadcn/index.d.ts.map +1 -1
  60. package/dist-lib/src/hooks/useBrand.d.ts +1 -1
  61. package/dist-lib/theme/brand-blue.css +110 -110
  62. package/dist-lib/theme/brand-green.css +110 -110
  63. package/dist-lib/theme/brand-pay.css +189 -189
  64. package/dist-lib/theme/brand-vibrant.css +148 -148
  65. package/dist-lib/theme.css +10 -6
  66. package/dist-lib/tokens/brands/blue/semantic/color-dark.d.ts +4 -0
  67. package/dist-lib/tokens/brands/blue/semantic/color-dark.d.ts.map +1 -1
  68. package/dist-lib/tokens/brands/blue/semantic/color-light.d.ts +4 -0
  69. package/dist-lib/tokens/brands/blue/semantic/color-light.d.ts.map +1 -1
  70. package/dist-lib/tokens/brands/default/semantic/color-dark.d.ts +4 -0
  71. package/dist-lib/tokens/brands/default/semantic/color-dark.d.ts.map +1 -1
  72. package/dist-lib/tokens/brands/default/semantic/color-light.d.ts +4 -0
  73. package/dist-lib/tokens/brands/default/semantic/color-light.d.ts.map +1 -1
  74. package/dist-lib/tokens/brands/green/semantic/color-dark.d.ts +4 -0
  75. package/dist-lib/tokens/brands/green/semantic/color-dark.d.ts.map +1 -1
  76. package/dist-lib/tokens/brands/green/semantic/color-light.d.ts +4 -0
  77. package/dist-lib/tokens/brands/green/semantic/color-light.d.ts.map +1 -1
  78. package/dist-lib/tokens/brands/pay/semantic/color-dark.d.ts +4 -0
  79. package/dist-lib/tokens/brands/pay/semantic/color-dark.d.ts.map +1 -1
  80. package/dist-lib/tokens/brands/pay/semantic/color-light.d.ts +4 -0
  81. package/dist-lib/tokens/brands/pay/semantic/color-light.d.ts.map +1 -1
  82. package/dist-lib/tokens/brands/vibrant/semantic/color-dark.d.ts +4 -0
  83. package/dist-lib/tokens/brands/vibrant/semantic/color-dark.d.ts.map +1 -1
  84. package/dist-lib/tokens/brands/vibrant/semantic/color-light.d.ts +4 -0
  85. package/dist-lib/tokens/brands/vibrant/semantic/color-light.d.ts.map +1 -1
  86. package/dist-lib/tokens.cjs +12 -0
  87. package/dist-lib/tokens.cjs.map +1 -1
  88. package/dist-lib/tokens.mjs +12 -0
  89. package/dist-lib/tokens.mjs.map +1 -1
  90. package/package.json +11 -3
  91. package/dist-lib/chunks/panel-Cdl0GPVE.mjs.map +0 -1
  92. package/dist-lib/chunks/panel-DlyaLunw.cjs.map +0 -1
  93. package/dist-lib/chunks/useTheme-D4alxxGV.cjs.map +0 -1
  94. package/dist-lib/chunks/useTheme-DF2xbSdI.mjs.map +0 -1
@@ -0,0 +1,1484 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const React = require("react");
4
+ const SeparatorPrimitive = require("@radix-ui/react-separator");
5
+ const avatar = require("./avatar-YpqQgJnh.cjs");
6
+ const AccordionPrimitive = require("@radix-ui/react-accordion");
7
+ const lucideReact = require("lucide-react");
8
+ const classVarianceAuthority = require("class-variance-authority");
9
+ const reactSlot = require("@radix-ui/react-slot");
10
+ const useEmblaCarousel = require("embla-carousel-react");
11
+ const CollapsiblePrimitive = require("@radix-ui/react-collapsible");
12
+ const ContextMenuPrimitive = require("@radix-ui/react-context-menu");
13
+ const vaul = require("vaul");
14
+ const HoverCardPrimitive = require("@radix-ui/react-hover-card");
15
+ const inputOtp = require("input-otp");
16
+ const LabelPrimitive = require("@radix-ui/react-label");
17
+ const MenubarPrimitive = require("@radix-ui/react-menubar");
18
+ const NavigationMenuPrimitive = require("@radix-ui/react-navigation-menu");
19
+ const ProgressPrimitive = require("@radix-ui/react-progress");
20
+ const RadioGroupPrimitive = require("@radix-ui/react-radio-group");
21
+ const ScrollAreaPrimitive = require("@radix-ui/react-scroll-area");
22
+ const SliderPrimitive = require("@radix-ui/react-slider");
23
+ const TabsPrimitive = require("@radix-ui/react-tabs");
24
+ const ToggleGroupPrimitive = require("@radix-ui/react-toggle-group");
25
+ const TogglePrimitive = require("@radix-ui/react-toggle");
26
+ const TooltipPrimitive = require("@radix-ui/react-tooltip");
27
+ function _interopNamespaceDefault(e) {
28
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
29
+ if (e) {
30
+ for (const k in e) {
31
+ if (k !== "default") {
32
+ const d = Object.getOwnPropertyDescriptor(e, k);
33
+ Object.defineProperty(n, k, d.get ? d : {
34
+ enumerable: true,
35
+ get: () => e[k]
36
+ });
37
+ }
38
+ }
39
+ }
40
+ n.default = e;
41
+ return Object.freeze(n);
42
+ }
43
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
44
+ const SeparatorPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(SeparatorPrimitive);
45
+ const AccordionPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(AccordionPrimitive);
46
+ const CollapsiblePrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(CollapsiblePrimitive);
47
+ const ContextMenuPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(ContextMenuPrimitive);
48
+ const HoverCardPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(HoverCardPrimitive);
49
+ const LabelPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(LabelPrimitive);
50
+ const MenubarPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(MenubarPrimitive);
51
+ const NavigationMenuPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(NavigationMenuPrimitive);
52
+ const ProgressPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(ProgressPrimitive);
53
+ const RadioGroupPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(RadioGroupPrimitive);
54
+ const ScrollAreaPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(ScrollAreaPrimitive);
55
+ const SliderPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(SliderPrimitive);
56
+ const TabsPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(TabsPrimitive);
57
+ const ToggleGroupPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(ToggleGroupPrimitive);
58
+ const TogglePrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(TogglePrimitive);
59
+ const TooltipPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(TooltipPrimitive);
60
+ const Separator = React__namespace.forwardRef(
61
+ ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
62
+ SeparatorPrimitive__namespace.Root,
63
+ {
64
+ ref,
65
+ decorative,
66
+ orientation,
67
+ className: avatar.cn(
68
+ "shrink-0 bg-border",
69
+ orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
70
+ className
71
+ ),
72
+ ...props
73
+ }
74
+ )
75
+ );
76
+ Separator.displayName = SeparatorPrimitive__namespace.Root.displayName;
77
+ const Accordion = AccordionPrimitive__namespace.Root;
78
+ const AccordionItem = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
79
+ AccordionPrimitive__namespace.Item,
80
+ {
81
+ ref,
82
+ className: avatar.cn("border-b border-border-subtle", className),
83
+ ...props
84
+ }
85
+ ));
86
+ AccordionItem.displayName = "AccordionItem";
87
+ const AccordionTrigger = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
88
+ AccordionPrimitive__namespace.Trigger,
89
+ {
90
+ ref,
91
+ className: avatar.cn(
92
+ "flex flex-1 items-center justify-between py-pad-2xl text-body-md font-medium text-fg-default transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
93
+ className
94
+ ),
95
+ ...props,
96
+ children: [
97
+ children,
98
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 shrink-0 text-fg-muted transition-transform duration-200" })
99
+ ]
100
+ }
101
+ ) }));
102
+ AccordionTrigger.displayName = AccordionPrimitive__namespace.Trigger.displayName;
103
+ const AccordionContent = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
104
+ AccordionPrimitive__namespace.Content,
105
+ {
106
+ ref,
107
+ className: "overflow-hidden text-body-md text-fg-muted transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
108
+ ...props,
109
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: avatar.cn("pb-pad-2xl pt-0", className), children })
110
+ }
111
+ ));
112
+ AccordionContent.displayName = AccordionPrimitive__namespace.Content.displayName;
113
+ const alertVariants = classVarianceAuthority.cva(
114
+ "relative w-full rounded-radius-2xl border px-pad-2xl py-pad-xl text-body-md [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-fg-default",
115
+ {
116
+ variants: {
117
+ variant: {
118
+ default: "bg-bg-surface text-fg-default border-border-subtle",
119
+ destructive: "border-border-danger-muted/50 text-fg-danger [&>svg]:text-fg-danger"
120
+ }
121
+ },
122
+ defaultVariants: {
123
+ variant: "default"
124
+ }
125
+ }
126
+ );
127
+ const Alert = React__namespace.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
128
+ "div",
129
+ {
130
+ ref,
131
+ role: "alert",
132
+ className: avatar.cn(alertVariants({ variant }), className),
133
+ ...props
134
+ }
135
+ ));
136
+ Alert.displayName = "Alert";
137
+ const AlertTitle = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
138
+ "h5",
139
+ {
140
+ ref,
141
+ className: avatar.cn("text-body-md font-medium text-fg-default mb-sp-xs leading-none tracking-tight", className),
142
+ ...props
143
+ }
144
+ ));
145
+ AlertTitle.displayName = "AlertTitle";
146
+ const AlertDescription = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
147
+ "div",
148
+ {
149
+ ref,
150
+ className: avatar.cn("text-body-md text-fg-muted [&_p]:leading-relaxed", className),
151
+ ...props
152
+ }
153
+ ));
154
+ AlertDescription.displayName = "AlertDescription";
155
+ const badgeVariants = avatar.tv({
156
+ base: [
157
+ "inline-flex items-center justify-center",
158
+ "border border-transparent",
159
+ "font-semibold leading-none whitespace-nowrap",
160
+ "transition-colors",
161
+ "focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary",
162
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0"
163
+ ],
164
+ variants: {
165
+ color: {
166
+ primary: "",
167
+ secondary: "",
168
+ critical: "",
169
+ success: "",
170
+ warning: "",
171
+ info: ""
172
+ },
173
+ variant: {
174
+ solid: "",
175
+ soft: "",
176
+ outline: "bg-transparent",
177
+ ghost: "bg-transparent border-transparent"
178
+ },
179
+ size: {
180
+ sm: "h-comp-2xs px-pad-sm text-caption-xs gap-gp-2xs [&_svg]:size-3",
181
+ // 20px / 6 / 10
182
+ md: "h-comp-xs px-pad-md text-body-xs gap-gp-xs [&_svg]:size-3.5",
183
+ // 24px / 8 / 12 (default)
184
+ lg: "h-comp-sm px-pad-lg text-body-sm font-normal gap-gp-sm [&_svg]:size-4"
185
+ // 28px / 10 / 13
186
+ },
187
+ shape: {
188
+ default: "rounded-radius-sm",
189
+ // 6px — counter, value tags
190
+ pill: "rounded-radius-full"
191
+ // pill — status chips
192
+ }
193
+ },
194
+ compoundVariants: [
195
+ /* ── Primary (brand) ─────────────────────────────────────────────── */
196
+ { color: "primary", variant: "solid", class: "bg-bg-brand text-fg-on-brand" },
197
+ { color: "primary", variant: "soft", class: "bg-bg-brand-subtle text-fg-brand" },
198
+ { color: "primary", variant: "outline", class: "border-border-brand text-fg-brand" },
199
+ { color: "primary", variant: "ghost", class: "text-fg-brand" },
200
+ /* ── Secondary (neutral) ─────────────────────────────────────────── */
201
+ { color: "secondary", variant: "solid", class: "bg-bg-emphasis text-fg-default" },
202
+ { color: "secondary", variant: "soft", class: "bg-bg-muted text-fg-muted" },
203
+ { color: "secondary", variant: "outline", class: "border-border-default text-fg-default" },
204
+ { color: "secondary", variant: "ghost", class: "text-fg-muted" },
205
+ /* ── Critical (danger) ───────────────────────────────────────────── */
206
+ { color: "critical", variant: "solid", class: "bg-bg-danger text-fg-on-danger" },
207
+ { color: "critical", variant: "soft", class: "bg-bg-danger-muted text-fg-danger" },
208
+ { color: "critical", variant: "outline", class: "border-border-danger-muted text-fg-danger" },
209
+ { color: "critical", variant: "ghost", class: "text-fg-danger" },
210
+ /* ── Success ─────────────────────────────────────────────────────── */
211
+ { color: "success", variant: "solid", class: "bg-bg-success text-fg-on-success" },
212
+ { color: "success", variant: "soft", class: "bg-bg-success-muted text-fg-success" },
213
+ { color: "success", variant: "outline", class: "border-border-success-muted text-fg-success" },
214
+ { color: "success", variant: "ghost", class: "text-fg-success" },
215
+ /* ── Warning ─────────────────────────────────────────────────────── */
216
+ { color: "warning", variant: "solid", class: "bg-bg-warning text-fg-on-warning" },
217
+ { color: "warning", variant: "soft", class: "bg-bg-warning-muted text-fg-warning" },
218
+ { color: "warning", variant: "outline", class: "border-border-warning-muted text-fg-warning" },
219
+ { color: "warning", variant: "ghost", class: "text-fg-warning" },
220
+ /* ── Info ────────────────────────────────────────────────────────── */
221
+ { color: "info", variant: "solid", class: "bg-bg-info text-fg-on-info" },
222
+ { color: "info", variant: "soft", class: "bg-bg-info-muted text-fg-info" },
223
+ { color: "info", variant: "outline", class: "border-border-info-muted text-fg-info" },
224
+ { color: "info", variant: "ghost", class: "text-fg-info" }
225
+ ],
226
+ defaultVariants: {
227
+ color: "secondary",
228
+ variant: "soft",
229
+ size: "md",
230
+ shape: "default"
231
+ }
232
+ });
233
+ function Badge({ className, color, variant, size, shape, ...props }) {
234
+ return /* @__PURE__ */ jsxRuntime.jsx(
235
+ "span",
236
+ {
237
+ className: badgeVariants({ color, variant, size, shape, className }),
238
+ ...props
239
+ }
240
+ );
241
+ }
242
+ const Breadcrumb = React__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("nav", { ref, "aria-label": "breadcrumb", ...props }));
243
+ Breadcrumb.displayName = "Breadcrumb";
244
+ const BreadcrumbList = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
245
+ "ol",
246
+ {
247
+ ref,
248
+ className: avatar.cn(
249
+ "flex flex-wrap items-center gap-gp-sm break-words text-body-md text-fg-muted sm:gap-gp-lg",
250
+ className
251
+ ),
252
+ ...props
253
+ }
254
+ ));
255
+ BreadcrumbList.displayName = "BreadcrumbList";
256
+ const BreadcrumbItem = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
257
+ "li",
258
+ {
259
+ ref,
260
+ className: avatar.cn("inline-flex items-center gap-gp-sm", className),
261
+ ...props
262
+ }
263
+ ));
264
+ BreadcrumbItem.displayName = "BreadcrumbItem";
265
+ const BreadcrumbLink = React__namespace.forwardRef(({ asChild, className, ...props }, ref) => {
266
+ const Comp = asChild ? reactSlot.Slot : "a";
267
+ return /* @__PURE__ */ jsxRuntime.jsx(
268
+ Comp,
269
+ {
270
+ ref,
271
+ className: avatar.cn("transition-colors hover:text-fg-default", className),
272
+ ...props
273
+ }
274
+ );
275
+ });
276
+ BreadcrumbLink.displayName = "BreadcrumbLink";
277
+ const BreadcrumbPage = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
278
+ "span",
279
+ {
280
+ ref,
281
+ role: "link",
282
+ "aria-disabled": "true",
283
+ "aria-current": "page",
284
+ className: avatar.cn("font-normal text-fg-default", className),
285
+ ...props
286
+ }
287
+ ));
288
+ BreadcrumbPage.displayName = "BreadcrumbPage";
289
+ const BreadcrumbSeparator = ({
290
+ children,
291
+ className,
292
+ ...props
293
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
294
+ "li",
295
+ {
296
+ role: "presentation",
297
+ "aria-hidden": "true",
298
+ className: avatar.cn("[&>svg]:w-3.5 [&>svg]:h-3.5 text-fg-subtle", className),
299
+ ...props,
300
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, {})
301
+ }
302
+ );
303
+ BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
304
+ const BreadcrumbEllipsis = ({
305
+ className,
306
+ ...props
307
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(
308
+ "span",
309
+ {
310
+ role: "presentation",
311
+ "aria-hidden": "true",
312
+ className: avatar.cn("flex h-9 w-9 items-center justify-center text-fg-subtle", className),
313
+ ...props,
314
+ children: [
315
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "h-4 w-4" }),
316
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "More" })
317
+ ]
318
+ }
319
+ );
320
+ BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
321
+ const Card = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
322
+ "div",
323
+ {
324
+ ref,
325
+ className: avatar.cn(
326
+ "flex flex-col gap-gp-4xl rounded-radius-base bg-bg-surface py-pad-4xl text-body-md text-fg-default shadow-sh-lg ring-1 ring-foreground/5 dark:ring-foreground/10",
327
+ className
328
+ ),
329
+ ...props
330
+ }
331
+ ));
332
+ Card.displayName = "Card";
333
+ const CardHeader = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
334
+ "div",
335
+ {
336
+ ref,
337
+ className: avatar.cn(
338
+ "grid auto-rows-min items-start gap-gp-sm px-pad-4xl",
339
+ className
340
+ ),
341
+ ...props
342
+ }
343
+ ));
344
+ CardHeader.displayName = "CardHeader";
345
+ const CardTitle = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
346
+ "div",
347
+ {
348
+ ref,
349
+ className: avatar.cn("text-title-md font-medium text-fg-default", className),
350
+ ...props
351
+ }
352
+ ));
353
+ CardTitle.displayName = "CardTitle";
354
+ const CardDescription = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
355
+ "div",
356
+ {
357
+ ref,
358
+ className: avatar.cn("text-body-md text-fg-muted", className),
359
+ ...props
360
+ }
361
+ ));
362
+ CardDescription.displayName = "CardDescription";
363
+ const CardContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: avatar.cn("px-pad-4xl", className), ...props }));
364
+ CardContent.displayName = "CardContent";
365
+ const CardFooter = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
366
+ "div",
367
+ {
368
+ ref,
369
+ className: avatar.cn("flex items-center px-pad-4xl", className),
370
+ ...props
371
+ }
372
+ ));
373
+ CardFooter.displayName = "CardFooter";
374
+ const CarouselContext = React__namespace.createContext(null);
375
+ function useCarousel() {
376
+ const context = React__namespace.useContext(CarouselContext);
377
+ if (!context) {
378
+ throw new Error("useCarousel must be used within a <Carousel />");
379
+ }
380
+ return context;
381
+ }
382
+ const Carousel = React__namespace.forwardRef(
383
+ ({
384
+ orientation = "horizontal",
385
+ opts,
386
+ setApi,
387
+ plugins,
388
+ className,
389
+ children,
390
+ ...props
391
+ }, ref) => {
392
+ const [carouselRef, api] = useEmblaCarousel(
393
+ {
394
+ ...opts,
395
+ axis: orientation === "horizontal" ? "x" : "y"
396
+ },
397
+ plugins
398
+ );
399
+ const [canScrollPrev, setCanScrollPrev] = React__namespace.useState(false);
400
+ const [canScrollNext, setCanScrollNext] = React__namespace.useState(false);
401
+ const onSelect = React__namespace.useCallback((api2) => {
402
+ if (!api2) {
403
+ return;
404
+ }
405
+ setCanScrollPrev(api2.canScrollPrev());
406
+ setCanScrollNext(api2.canScrollNext());
407
+ }, []);
408
+ const scrollPrev = React__namespace.useCallback(() => {
409
+ api?.scrollPrev();
410
+ }, [api]);
411
+ const scrollNext = React__namespace.useCallback(() => {
412
+ api?.scrollNext();
413
+ }, [api]);
414
+ const handleKeyDown = React__namespace.useCallback(
415
+ (event) => {
416
+ if (event.key === "ArrowLeft") {
417
+ event.preventDefault();
418
+ scrollPrev();
419
+ } else if (event.key === "ArrowRight") {
420
+ event.preventDefault();
421
+ scrollNext();
422
+ }
423
+ },
424
+ [scrollPrev, scrollNext]
425
+ );
426
+ React__namespace.useEffect(() => {
427
+ if (!api || !setApi) {
428
+ return;
429
+ }
430
+ setApi(api);
431
+ }, [api, setApi]);
432
+ React__namespace.useEffect(() => {
433
+ if (!api) {
434
+ return;
435
+ }
436
+ onSelect(api);
437
+ api.on("reInit", onSelect);
438
+ api.on("select", onSelect);
439
+ return () => {
440
+ api?.off("select", onSelect);
441
+ };
442
+ }, [api, onSelect]);
443
+ return /* @__PURE__ */ jsxRuntime.jsx(
444
+ CarouselContext.Provider,
445
+ {
446
+ value: {
447
+ carouselRef,
448
+ api,
449
+ opts,
450
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
451
+ scrollPrev,
452
+ scrollNext,
453
+ canScrollPrev,
454
+ canScrollNext
455
+ },
456
+ children: /* @__PURE__ */ jsxRuntime.jsx(
457
+ "div",
458
+ {
459
+ ref,
460
+ onKeyDownCapture: handleKeyDown,
461
+ className: avatar.cn("relative", className),
462
+ role: "region",
463
+ "aria-roledescription": "carousel",
464
+ ...props,
465
+ children
466
+ }
467
+ )
468
+ }
469
+ );
470
+ }
471
+ );
472
+ Carousel.displayName = "Carousel";
473
+ const CarouselContent = React__namespace.forwardRef(({ className, ...props }, ref) => {
474
+ const { carouselRef, orientation } = useCarousel();
475
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
476
+ "div",
477
+ {
478
+ ref,
479
+ className: avatar.cn(
480
+ "flex",
481
+ orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
482
+ className
483
+ ),
484
+ ...props
485
+ }
486
+ ) });
487
+ });
488
+ CarouselContent.displayName = "CarouselContent";
489
+ const CarouselItem = React__namespace.forwardRef(({ className, ...props }, ref) => {
490
+ const { orientation } = useCarousel();
491
+ return /* @__PURE__ */ jsxRuntime.jsx(
492
+ "div",
493
+ {
494
+ ref,
495
+ role: "group",
496
+ "aria-roledescription": "slide",
497
+ className: avatar.cn(
498
+ "min-w-0 shrink-0 grow-0 basis-full",
499
+ orientation === "horizontal" ? "pl-4" : "pt-4",
500
+ className
501
+ ),
502
+ ...props
503
+ }
504
+ );
505
+ });
506
+ CarouselItem.displayName = "CarouselItem";
507
+ const CarouselPrevious = React__namespace.forwardRef(({ className, ...props }, ref) => {
508
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
509
+ return /* @__PURE__ */ jsxRuntime.jsxs(
510
+ avatar.Button,
511
+ {
512
+ ref,
513
+ color: "secondary",
514
+ variant: "outline",
515
+ size: "icon-xs",
516
+ className: avatar.cn(
517
+ "absolute rounded-radius-full",
518
+ orientation === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
519
+ className
520
+ ),
521
+ disabled: !canScrollPrev,
522
+ onClick: scrollPrev,
523
+ ...props,
524
+ children: [
525
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, {}),
526
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Previous slide" })
527
+ ]
528
+ }
529
+ );
530
+ });
531
+ CarouselPrevious.displayName = "CarouselPrevious";
532
+ const CarouselNext = React__namespace.forwardRef(({ className, ...props }, ref) => {
533
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
534
+ return /* @__PURE__ */ jsxRuntime.jsxs(
535
+ avatar.Button,
536
+ {
537
+ ref,
538
+ color: "secondary",
539
+ variant: "outline",
540
+ size: "icon-xs",
541
+ className: avatar.cn(
542
+ "absolute rounded-radius-full",
543
+ orientation === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
544
+ className
545
+ ),
546
+ disabled: !canScrollNext,
547
+ onClick: scrollNext,
548
+ ...props,
549
+ children: [
550
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, {}),
551
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Next slide" })
552
+ ]
553
+ }
554
+ );
555
+ });
556
+ CarouselNext.displayName = "CarouselNext";
557
+ const Collapsible = CollapsiblePrimitive__namespace.Root;
558
+ const CollapsibleTrigger = CollapsiblePrimitive__namespace.CollapsibleTrigger;
559
+ const CollapsibleContent = CollapsiblePrimitive__namespace.CollapsibleContent;
560
+ const ContextMenu = ContextMenuPrimitive__namespace.Root;
561
+ const ContextMenuTrigger = ContextMenuPrimitive__namespace.Trigger;
562
+ const ContextMenuGroup = ContextMenuPrimitive__namespace.Group;
563
+ const ContextMenuPortal = ContextMenuPrimitive__namespace.Portal;
564
+ const ContextMenuSub = ContextMenuPrimitive__namespace.Sub;
565
+ const ContextMenuRadioGroup = ContextMenuPrimitive__namespace.RadioGroup;
566
+ const ContextMenuSubTrigger = React__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
567
+ ContextMenuPrimitive__namespace.SubTrigger,
568
+ {
569
+ ref,
570
+ className: avatar.cn(
571
+ "flex cursor-default select-none items-center rounded-radius-sm px-pad-lg py-pad-md text-body-sm text-fg-muted outline-none transition-colors focus:bg-bg-muted focus:text-fg-default [&_svg]:text-fg-muted focus:[&_svg]:text-fg-default data-[state=open]:bg-bg-muted data-[state=open]:text-fg-default",
572
+ inset && "pl-8",
573
+ className
574
+ ),
575
+ ...props,
576
+ children: [
577
+ children,
578
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto h-4 w-4" })
579
+ ]
580
+ }
581
+ ));
582
+ ContextMenuSubTrigger.displayName = ContextMenuPrimitive__namespace.SubTrigger.displayName;
583
+ const ContextMenuSubContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
584
+ ContextMenuPrimitive__namespace.SubContent,
585
+ {
586
+ ref,
587
+ className: avatar.cn(
588
+ "z-50 min-w-[8rem] overflow-hidden relative rounded-[12px] border border-border-default bg-bg-dropdown p-pad-sm text-fg-muted shadow-sh-lg outline-float before:pointer-events-none before:absolute before:inset-0 before:-z-10 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",
589
+ className
590
+ ),
591
+ ...props
592
+ }
593
+ ));
594
+ ContextMenuSubContent.displayName = ContextMenuPrimitive__namespace.SubContent.displayName;
595
+ const ContextMenuContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
596
+ ContextMenuPrimitive__namespace.Content,
597
+ {
598
+ ref,
599
+ className: avatar.cn(
600
+ "z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden relative rounded-[12px] border border-border-default bg-bg-dropdown p-pad-sm text-fg-muted shadow-sh-lg outline-float before:pointer-events-none before:absolute before:inset-0 before:-z-10 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",
601
+ className
602
+ ),
603
+ ...props
604
+ }
605
+ ) }));
606
+ ContextMenuContent.displayName = ContextMenuPrimitive__namespace.Content.displayName;
607
+ const ContextMenuItem = React__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
608
+ ContextMenuPrimitive__namespace.Item,
609
+ {
610
+ ref,
611
+ className: avatar.cn(
612
+ "relative flex cursor-default select-none items-center rounded-radius-sm px-pad-lg py-pad-md text-body-sm text-fg-muted outline-none transition-colors focus:bg-bg-muted focus:text-fg-default [&_svg]:text-fg-muted focus:[&_svg]:text-fg-default data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
613
+ inset && "pl-8",
614
+ className
615
+ ),
616
+ ...props
617
+ }
618
+ ));
619
+ ContextMenuItem.displayName = ContextMenuPrimitive__namespace.Item.displayName;
620
+ const ContextMenuCheckboxItem = React__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
621
+ ContextMenuPrimitive__namespace.CheckboxItem,
622
+ {
623
+ ref,
624
+ className: avatar.cn(
625
+ "relative flex cursor-default select-none items-center rounded-radius-sm py-pad-md pl-8 pr-2 text-body-sm text-fg-muted outline-none transition-colors focus:bg-bg-muted focus:text-fg-default [&_svg]:text-fg-muted focus:[&_svg]:text-fg-default data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
626
+ className
627
+ ),
628
+ checked,
629
+ ...props,
630
+ children: [
631
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
632
+ children
633
+ ]
634
+ }
635
+ ));
636
+ ContextMenuCheckboxItem.displayName = ContextMenuPrimitive__namespace.CheckboxItem.displayName;
637
+ const ContextMenuRadioItem = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
638
+ ContextMenuPrimitive__namespace.RadioItem,
639
+ {
640
+ ref,
641
+ className: avatar.cn(
642
+ "relative flex cursor-default select-none items-center rounded-radius-sm py-pad-md pl-8 pr-2 text-body-sm text-fg-muted outline-none transition-colors focus:bg-bg-muted focus:text-fg-default [&_svg]:text-fg-muted focus:[&_svg]:text-fg-default data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
643
+ className
644
+ ),
645
+ ...props,
646
+ children: [
647
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-2 w-2 fill-current" }) }) }),
648
+ children
649
+ ]
650
+ }
651
+ ));
652
+ ContextMenuRadioItem.displayName = ContextMenuPrimitive__namespace.RadioItem.displayName;
653
+ const ContextMenuLabel = React__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
654
+ ContextMenuPrimitive__namespace.Label,
655
+ {
656
+ ref,
657
+ className: avatar.cn(
658
+ "px-pad-lg py-pad-sm text-caption-sm font-semibold uppercase tracking-wider text-fg-subtle",
659
+ inset && "pl-8",
660
+ className
661
+ ),
662
+ ...props
663
+ }
664
+ ));
665
+ ContextMenuLabel.displayName = ContextMenuPrimitive__namespace.Label.displayName;
666
+ const ContextMenuSeparator = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
667
+ ContextMenuPrimitive__namespace.Separator,
668
+ {
669
+ ref,
670
+ className: avatar.cn("mx-pad-xs my-pad-xs h-px bg-border-default", className),
671
+ ...props
672
+ }
673
+ ));
674
+ ContextMenuSeparator.displayName = ContextMenuPrimitive__namespace.Separator.displayName;
675
+ const ContextMenuShortcut = ({
676
+ className,
677
+ ...props
678
+ }) => {
679
+ return /* @__PURE__ */ jsxRuntime.jsx(
680
+ "span",
681
+ {
682
+ className: avatar.cn(
683
+ "ml-auto text-caption-sm tracking-wider text-fg-subtle",
684
+ className
685
+ ),
686
+ ...props
687
+ }
688
+ );
689
+ };
690
+ ContextMenuShortcut.displayName = "ContextMenuShortcut";
691
+ const Drawer = ({
692
+ shouldScaleBackground = true,
693
+ ...props
694
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
695
+ vaul.Drawer.Root,
696
+ {
697
+ shouldScaleBackground,
698
+ ...props
699
+ }
700
+ );
701
+ Drawer.displayName = "Drawer";
702
+ const DrawerTrigger = vaul.Drawer.Trigger;
703
+ const DrawerPortal = vaul.Drawer.Portal;
704
+ const DrawerClose = vaul.Drawer.Close;
705
+ const DrawerOverlay = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
706
+ vaul.Drawer.Overlay,
707
+ {
708
+ ref,
709
+ className: avatar.cn("fixed inset-0 z-50 bg-black/80", className),
710
+ ...props
711
+ }
712
+ ));
713
+ DrawerOverlay.displayName = vaul.Drawer.Overlay.displayName;
714
+ const DrawerContent = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DrawerPortal, { children: [
715
+ /* @__PURE__ */ jsxRuntime.jsx(DrawerOverlay, {}),
716
+ /* @__PURE__ */ jsxRuntime.jsxs(
717
+ vaul.Drawer.Content,
718
+ {
719
+ ref,
720
+ className: avatar.cn(
721
+ "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border border-border-default bg-background",
722
+ className
723
+ ),
724
+ ...props,
725
+ children: [
726
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
727
+ children
728
+ ]
729
+ }
730
+ )
731
+ ] }));
732
+ DrawerContent.displayName = "DrawerContent";
733
+ const DrawerHeader = ({
734
+ className,
735
+ ...props
736
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
737
+ "div",
738
+ {
739
+ className: avatar.cn("grid gap-1.5 p-4 text-center sm:text-left", className),
740
+ ...props
741
+ }
742
+ );
743
+ DrawerHeader.displayName = "DrawerHeader";
744
+ const DrawerFooter = ({
745
+ className,
746
+ ...props
747
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
748
+ "div",
749
+ {
750
+ className: avatar.cn("mt-auto flex flex-col gap-2 p-4", className),
751
+ ...props
752
+ }
753
+ );
754
+ DrawerFooter.displayName = "DrawerFooter";
755
+ const DrawerTitle = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
756
+ vaul.Drawer.Title,
757
+ {
758
+ ref,
759
+ className: avatar.cn(
760
+ "text-lg font-semibold leading-none tracking-tight",
761
+ className
762
+ ),
763
+ ...props
764
+ }
765
+ ));
766
+ DrawerTitle.displayName = vaul.Drawer.Title.displayName;
767
+ const DrawerDescription = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
768
+ vaul.Drawer.Description,
769
+ {
770
+ ref,
771
+ className: avatar.cn("text-sm text-muted-foreground", className),
772
+ ...props
773
+ }
774
+ ));
775
+ DrawerDescription.displayName = vaul.Drawer.Description.displayName;
776
+ const HoverCard = ({
777
+ openDelay = 200,
778
+ closeDelay = 100,
779
+ ...props
780
+ }) => /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitive__namespace.Root, { openDelay, closeDelay, ...props });
781
+ const HoverCardTrigger = HoverCardPrimitive__namespace.Trigger;
782
+ const HoverCardContent = React__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
783
+ HoverCardPrimitive__namespace.Content,
784
+ {
785
+ ref,
786
+ align,
787
+ sideOffset,
788
+ className: avatar.cn(
789
+ "z-50 w-64 relative rounded-[12px] border border-border-default bg-bg-dropdown p-pad-card-base text-fg-default shadow-sh-lg outline-float outline-none before:pointer-events-none before:absolute before:inset-0 before:-z-10 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",
790
+ className
791
+ ),
792
+ ...props
793
+ }
794
+ ));
795
+ HoverCardContent.displayName = HoverCardPrimitive__namespace.Content.displayName;
796
+ const InputOTP = React__namespace.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
797
+ inputOtp.OTPInput,
798
+ {
799
+ ref,
800
+ containerClassName: avatar.cn(
801
+ "flex items-center gap-gp-xs has-[:disabled]:opacity-50",
802
+ containerClassName
803
+ ),
804
+ className: avatar.cn("disabled:cursor-not-allowed", className),
805
+ ...props
806
+ }
807
+ ));
808
+ InputOTP.displayName = "InputOTP";
809
+ const InputOTPGroup = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: avatar.cn("flex items-center", className), ...props }));
810
+ InputOTPGroup.displayName = "InputOTPGroup";
811
+ const InputOTPSlot = React__namespace.forwardRef(({ index, className, ...props }, ref) => {
812
+ const inputOTPContext = React__namespace.useContext(inputOtp.OTPInputContext);
813
+ const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
814
+ return /* @__PURE__ */ jsxRuntime.jsxs(
815
+ "div",
816
+ {
817
+ ref,
818
+ className: avatar.cn(
819
+ "relative flex size-form-lg items-center justify-center border-y border-r border-border-default text-body-md text-fg-default transition-all first:rounded-l-radius-md first:border-l last:rounded-r-radius-md",
820
+ isActive && "z-10 ring-4 ring-ring-brand",
821
+ className
822
+ ),
823
+ ...props,
824
+ children: [
825
+ char,
826
+ hasFakeCaret && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-px animate-caret-blink bg-fg-default duration-1000" }) })
827
+ ]
828
+ }
829
+ );
830
+ });
831
+ InputOTPSlot.displayName = "InputOTPSlot";
832
+ const InputOTPSeparator = React__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, role: "separator", className: "text-fg-muted", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Dot, {}) }));
833
+ InputOTPSeparator.displayName = "InputOTPSeparator";
834
+ const labelVariants = classVarianceAuthority.cva(
835
+ "text-body-sm font-semibold tracking-[0.01em] text-fg-default dark:text-fg-muted leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
836
+ );
837
+ const Label = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
838
+ LabelPrimitive__namespace.Root,
839
+ {
840
+ ref,
841
+ className: avatar.cn(labelVariants(), className),
842
+ ...props
843
+ }
844
+ ));
845
+ Label.displayName = LabelPrimitive__namespace.Root.displayName;
846
+ function MenubarMenu({
847
+ ...props
848
+ }) {
849
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Menu, { ...props });
850
+ }
851
+ function MenubarGroup({
852
+ ...props
853
+ }) {
854
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Group, { ...props });
855
+ }
856
+ function MenubarPortal({
857
+ ...props
858
+ }) {
859
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Portal, { ...props });
860
+ }
861
+ function MenubarRadioGroup({
862
+ ...props
863
+ }) {
864
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.RadioGroup, { ...props });
865
+ }
866
+ function MenubarSub({
867
+ ...props
868
+ }) {
869
+ return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Sub, { "data-slot": "menubar-sub", ...props });
870
+ }
871
+ const Menubar = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
872
+ MenubarPrimitive__namespace.Root,
873
+ {
874
+ ref,
875
+ className: avatar.cn(
876
+ "flex h-10 items-center space-x-1 rounded-radius-lg border border-border-default bg-bg-surface p-pad-xs",
877
+ className
878
+ ),
879
+ ...props
880
+ }
881
+ ));
882
+ Menubar.displayName = MenubarPrimitive__namespace.Root.displayName;
883
+ const MenubarTrigger = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
884
+ MenubarPrimitive__namespace.Trigger,
885
+ {
886
+ ref,
887
+ className: avatar.cn(
888
+ "flex cursor-default select-none items-center rounded-radius-sm px-pad-lg py-pad-md text-body-sm font-semibold outline-none focus:bg-bg-muted focus:text-fg-default data-[state=open]:bg-bg-muted data-[state=open]:text-fg-default",
889
+ className
890
+ ),
891
+ ...props
892
+ }
893
+ ));
894
+ MenubarTrigger.displayName = MenubarPrimitive__namespace.Trigger.displayName;
895
+ const MenubarSubTrigger = React__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
896
+ MenubarPrimitive__namespace.SubTrigger,
897
+ {
898
+ ref,
899
+ className: avatar.cn(
900
+ "flex cursor-default select-none items-center rounded-radius-sm px-pad-lg py-pad-md text-body-sm text-fg-muted outline-none transition-colors focus:bg-bg-muted focus:text-fg-default [&_svg]:text-fg-muted focus:[&_svg]:text-fg-default data-[state=open]:bg-bg-muted data-[state=open]:text-fg-default",
901
+ inset && "pl-8",
902
+ className
903
+ ),
904
+ ...props,
905
+ children: [
906
+ children,
907
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto h-4 w-4" })
908
+ ]
909
+ }
910
+ ));
911
+ MenubarSubTrigger.displayName = MenubarPrimitive__namespace.SubTrigger.displayName;
912
+ const MenubarSubContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
913
+ MenubarPrimitive__namespace.SubContent,
914
+ {
915
+ ref,
916
+ className: avatar.cn(
917
+ "z-50 min-w-[8rem] overflow-hidden relative rounded-[12px] border border-border-default bg-bg-dropdown p-pad-sm text-fg-muted shadow-sh-lg outline-float before:pointer-events-none before:absolute before:inset-0 before:-z-10 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin]",
918
+ className
919
+ ),
920
+ ...props
921
+ }
922
+ ));
923
+ MenubarSubContent.displayName = MenubarPrimitive__namespace.SubContent.displayName;
924
+ const MenubarContent = React__namespace.forwardRef(
925
+ ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
926
+ MenubarPrimitive__namespace.Content,
927
+ {
928
+ ref,
929
+ align,
930
+ alignOffset,
931
+ sideOffset,
932
+ className: avatar.cn(
933
+ "z-50 min-w-[12rem] overflow-hidden relative rounded-[12px] border border-border-default bg-bg-dropdown p-pad-sm text-fg-muted shadow-sh-lg outline-float before:pointer-events-none before:absolute before:inset-0 before:-z-10 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin]",
934
+ className
935
+ ),
936
+ ...props
937
+ }
938
+ ) })
939
+ );
940
+ MenubarContent.displayName = MenubarPrimitive__namespace.Content.displayName;
941
+ const MenubarItem = React__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
942
+ MenubarPrimitive__namespace.Item,
943
+ {
944
+ ref,
945
+ className: avatar.cn(
946
+ "relative flex cursor-default select-none items-center rounded-radius-sm px-pad-lg py-pad-md text-body-sm text-fg-muted outline-none transition-colors focus:bg-bg-muted focus:text-fg-default [&_svg]:text-fg-muted focus:[&_svg]:text-fg-default data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
947
+ inset && "pl-8",
948
+ className
949
+ ),
950
+ ...props
951
+ }
952
+ ));
953
+ MenubarItem.displayName = MenubarPrimitive__namespace.Item.displayName;
954
+ const MenubarCheckboxItem = React__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
955
+ MenubarPrimitive__namespace.CheckboxItem,
956
+ {
957
+ ref,
958
+ className: avatar.cn(
959
+ "relative flex cursor-default select-none items-center rounded-radius-sm py-pad-md pl-8 pr-2 text-body-sm text-fg-muted outline-none transition-colors focus:bg-bg-muted focus:text-fg-default [&_svg]:text-fg-muted focus:[&_svg]:text-fg-default data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
960
+ className
961
+ ),
962
+ checked,
963
+ ...props,
964
+ children: [
965
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
966
+ children
967
+ ]
968
+ }
969
+ ));
970
+ MenubarCheckboxItem.displayName = MenubarPrimitive__namespace.CheckboxItem.displayName;
971
+ const MenubarRadioItem = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
972
+ MenubarPrimitive__namespace.RadioItem,
973
+ {
974
+ ref,
975
+ className: avatar.cn(
976
+ "relative flex cursor-default select-none items-center rounded-radius-sm py-pad-md pl-8 pr-2 text-body-sm text-fg-muted outline-none transition-colors focus:bg-bg-muted focus:text-fg-default [&_svg]:text-fg-muted focus:[&_svg]:text-fg-default data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
977
+ className
978
+ ),
979
+ ...props,
980
+ children: [
981
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-2 w-2 fill-current" }) }) }),
982
+ children
983
+ ]
984
+ }
985
+ ));
986
+ MenubarRadioItem.displayName = MenubarPrimitive__namespace.RadioItem.displayName;
987
+ const MenubarLabel = React__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
988
+ MenubarPrimitive__namespace.Label,
989
+ {
990
+ ref,
991
+ className: avatar.cn(
992
+ "px-pad-lg py-pad-md text-sm font-semibold",
993
+ inset && "pl-8",
994
+ className
995
+ ),
996
+ ...props
997
+ }
998
+ ));
999
+ MenubarLabel.displayName = MenubarPrimitive__namespace.Label.displayName;
1000
+ const MenubarSeparator = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1001
+ MenubarPrimitive__namespace.Separator,
1002
+ {
1003
+ ref,
1004
+ className: avatar.cn("-mx-1 my-1 h-px bg-muted", className),
1005
+ ...props
1006
+ }
1007
+ ));
1008
+ MenubarSeparator.displayName = MenubarPrimitive__namespace.Separator.displayName;
1009
+ const MenubarShortcut = ({
1010
+ className,
1011
+ ...props
1012
+ }) => {
1013
+ return /* @__PURE__ */ jsxRuntime.jsx(
1014
+ "span",
1015
+ {
1016
+ className: avatar.cn(
1017
+ "ml-auto text-caption-sm tracking-wider text-fg-subtle",
1018
+ className
1019
+ ),
1020
+ ...props
1021
+ }
1022
+ );
1023
+ };
1024
+ MenubarShortcut.displayname = "MenubarShortcut";
1025
+ const NavigationMenu = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1026
+ NavigationMenuPrimitive__namespace.Root,
1027
+ {
1028
+ ref,
1029
+ className: avatar.cn(
1030
+ "relative z-10 flex max-w-max flex-1 items-center justify-center",
1031
+ className
1032
+ ),
1033
+ ...props,
1034
+ children: [
1035
+ children,
1036
+ /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuViewport, {})
1037
+ ]
1038
+ }
1039
+ ));
1040
+ NavigationMenu.displayName = NavigationMenuPrimitive__namespace.Root.displayName;
1041
+ const NavigationMenuList = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1042
+ NavigationMenuPrimitive__namespace.List,
1043
+ {
1044
+ ref,
1045
+ className: avatar.cn(
1046
+ "group flex flex-1 list-none items-center justify-center space-x-1",
1047
+ className
1048
+ ),
1049
+ ...props
1050
+ }
1051
+ ));
1052
+ NavigationMenuList.displayName = NavigationMenuPrimitive__namespace.List.displayName;
1053
+ const NavigationMenuItem = NavigationMenuPrimitive__namespace.Item;
1054
+ const navigationMenuTriggerStyle = classVarianceAuthority.cva(
1055
+ "group inline-flex min-h-form-lg w-max items-center justify-center rounded-radius-md bg-transparent px-pad-lg py-pad-md text-body-sm font-semibold text-fg-muted transition-colors hover:bg-bg-muted hover:text-fg-default focus:bg-bg-muted focus:text-fg-default focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-bg-muted data-[state=open]:text-fg-default"
1056
+ );
1057
+ const NavigationMenuTrigger = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1058
+ NavigationMenuPrimitive__namespace.Trigger,
1059
+ {
1060
+ ref,
1061
+ className: avatar.cn(navigationMenuTriggerStyle(), "group", className),
1062
+ ...props,
1063
+ children: [
1064
+ children,
1065
+ " ",
1066
+ /* @__PURE__ */ jsxRuntime.jsx(
1067
+ lucideReact.ChevronDown,
1068
+ {
1069
+ className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
1070
+ "aria-hidden": "true"
1071
+ }
1072
+ )
1073
+ ]
1074
+ }
1075
+ ));
1076
+ NavigationMenuTrigger.displayName = NavigationMenuPrimitive__namespace.Trigger.displayName;
1077
+ const NavigationMenuContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1078
+ NavigationMenuPrimitive__namespace.Content,
1079
+ {
1080
+ ref,
1081
+ className: avatar.cn(
1082
+ "left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",
1083
+ className
1084
+ ),
1085
+ ...props
1086
+ }
1087
+ ));
1088
+ NavigationMenuContent.displayName = NavigationMenuPrimitive__namespace.Content.displayName;
1089
+ const NavigationMenuLink = NavigationMenuPrimitive__namespace.Link;
1090
+ const NavigationMenuViewport = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: avatar.cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
1091
+ NavigationMenuPrimitive__namespace.Viewport,
1092
+ {
1093
+ className: avatar.cn(
1094
+ "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden relative rounded-[12px] border border-border-default bg-bg-dropdown text-fg-default shadow-sh-lg outline-float before:pointer-events-none before:absolute before:inset-0 before:-z-10 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
1095
+ className
1096
+ ),
1097
+ ref,
1098
+ ...props
1099
+ }
1100
+ ) }));
1101
+ NavigationMenuViewport.displayName = NavigationMenuPrimitive__namespace.Viewport.displayName;
1102
+ const NavigationMenuIndicator = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1103
+ NavigationMenuPrimitive__namespace.Indicator,
1104
+ {
1105
+ ref,
1106
+ className: avatar.cn(
1107
+ "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
1108
+ className
1109
+ ),
1110
+ ...props,
1111
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-bg-surface border border-border-default shadow-sh-md" })
1112
+ }
1113
+ ));
1114
+ NavigationMenuIndicator.displayName = NavigationMenuPrimitive__namespace.Indicator.displayName;
1115
+ const Progress = React__namespace.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1116
+ ProgressPrimitive__namespace.Root,
1117
+ {
1118
+ ref,
1119
+ className: avatar.cn(
1120
+ "relative flex h-3 w-full items-center overflow-hidden rounded-radius-full",
1121
+ "bg-bg-emphasis dark:bg-bg-accent",
1122
+ className
1123
+ ),
1124
+ ...props,
1125
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1126
+ ProgressPrimitive__namespace.Indicator,
1127
+ {
1128
+ className: "size-full flex-1 bg-bg-brand transition-all",
1129
+ style: { transform: `translateX(-${100 - (value || 0)}%)` }
1130
+ }
1131
+ )
1132
+ }
1133
+ ));
1134
+ Progress.displayName = ProgressPrimitive__namespace.Root.displayName;
1135
+ const RadioGroup = React__namespace.forwardRef(({ className, ...props }, ref) => {
1136
+ return /* @__PURE__ */ jsxRuntime.jsx(
1137
+ RadioGroupPrimitive__namespace.Root,
1138
+ {
1139
+ className: avatar.cn("grid w-full gap-gp-xl", className),
1140
+ ...props,
1141
+ ref
1142
+ }
1143
+ );
1144
+ });
1145
+ RadioGroup.displayName = RadioGroupPrimitive__namespace.Root.displayName;
1146
+ const RadioGroupItem = React__namespace.forwardRef(({ className, ...props }, ref) => {
1147
+ return /* @__PURE__ */ jsxRuntime.jsx(
1148
+ RadioGroupPrimitive__namespace.Item,
1149
+ {
1150
+ ref,
1151
+ className: avatar.cn(
1152
+ "peer relative flex aspect-square size-4 shrink-0 cursor-pointer",
1153
+ "rounded-radius-full",
1154
+ "bg-bg-input dark:bg-bg-muted",
1155
+ "border-[1.5px] border-border-input",
1156
+ "transition-[background-color,border-color,box-shadow] outline-none",
1157
+ "hover:border-border-default",
1158
+ "focus-visible:shadow-sh-ring",
1159
+ "disabled:cursor-not-allowed disabled:opacity-50",
1160
+ "data-[state=checked]:bg-bg-brand data-[state=checked]:border-border-brand",
1161
+ className
1162
+ ),
1163
+ ...props,
1164
+ children: /* @__PURE__ */ jsxRuntime.jsx(RadioGroupPrimitive__namespace.Indicator, { className: "flex size-full items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "size-[6px] rounded-radius-full bg-fg-on-brand" }) })
1165
+ }
1166
+ );
1167
+ });
1168
+ RadioGroupItem.displayName = RadioGroupPrimitive__namespace.Item.displayName;
1169
+ const ScrollArea = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1170
+ ScrollAreaPrimitive__namespace.Root,
1171
+ {
1172
+ ref,
1173
+ className: avatar.cn("relative overflow-hidden", className),
1174
+ ...props,
1175
+ children: [
1176
+ /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
1177
+ /* @__PURE__ */ jsxRuntime.jsx(ScrollBar, {}),
1178
+ /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.Corner, {})
1179
+ ]
1180
+ }
1181
+ ));
1182
+ ScrollArea.displayName = ScrollAreaPrimitive__namespace.Root.displayName;
1183
+ const ScrollBar = React__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1184
+ ScrollAreaPrimitive__namespace.ScrollAreaScrollbar,
1185
+ {
1186
+ ref,
1187
+ orientation,
1188
+ className: avatar.cn(
1189
+ "flex touch-none select-none transition-colors",
1190
+ orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]",
1191
+ orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-[1px]",
1192
+ className
1193
+ ),
1194
+ ...props,
1195
+ children: /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border-default" })
1196
+ }
1197
+ ));
1198
+ ScrollBar.displayName = ScrollAreaPrimitive__namespace.ScrollAreaScrollbar.displayName;
1199
+ const THUMB_CLASS = avatar.cn(
1200
+ "block h-4 w-6 shrink-0 rounded-radius-full bg-white",
1201
+ "shadow-sh-md",
1202
+ "transition-[box-shadow] select-none outline-none",
1203
+ "hover:shadow-sh-ring",
1204
+ "focus-visible:shadow-sh-ring",
1205
+ "disabled:pointer-events-none disabled:opacity-50"
1206
+ );
1207
+ const Slider = React__namespace.forwardRef(({ className, defaultValue, value, ...props }, ref) => {
1208
+ const thumbCount = (value ?? defaultValue ?? [0]).length;
1209
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1210
+ SliderPrimitive__namespace.Root,
1211
+ {
1212
+ ref,
1213
+ defaultValue,
1214
+ value,
1215
+ className: avatar.cn(
1216
+ "relative flex w-full touch-none select-none items-center",
1217
+ className
1218
+ ),
1219
+ ...props,
1220
+ children: [
1221
+ /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-radius-full bg-bg-emphasis dark:bg-bg-accent", children: /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Range, { className: "absolute h-full bg-bg-brand" }) }),
1222
+ Array.from({ length: thumbCount }, (_, i) => /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Thumb, { className: THUMB_CLASS }, i))
1223
+ ]
1224
+ }
1225
+ );
1226
+ });
1227
+ Slider.displayName = SliderPrimitive__namespace.Root.displayName;
1228
+ const TabsVariantContext = React__namespace.createContext("segmented");
1229
+ const Tabs = React__namespace.forwardRef(({ variant = "segmented", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TabsVariantContext.Provider, { value: variant, children: /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.Root, { ref, ...props }) }));
1230
+ Tabs.displayName = "Tabs";
1231
+ const TabsList = React__namespace.forwardRef(({ className, ...props }, ref) => {
1232
+ const variant = React__namespace.useContext(TabsVariantContext);
1233
+ return /* @__PURE__ */ jsxRuntime.jsx(
1234
+ TabsPrimitive__namespace.List,
1235
+ {
1236
+ ref,
1237
+ className: avatar.cn(
1238
+ variant === "line" ? "inline-flex w-fit items-center gap-gp-xl border-b border-border-subtle" : "inline-flex h-form-lg w-fit items-center bg-bg-muted p-[3px] gap-gp-2xs rounded-radius-lg",
1239
+ className
1240
+ ),
1241
+ ...props
1242
+ }
1243
+ );
1244
+ });
1245
+ TabsList.displayName = TabsPrimitive__namespace.List.displayName;
1246
+ const TabsTrigger = React__namespace.forwardRef(({ className, ...props }, ref) => {
1247
+ const variant = React__namespace.useContext(TabsVariantContext);
1248
+ return /* @__PURE__ */ jsxRuntime.jsx(
1249
+ TabsPrimitive__namespace.Trigger,
1250
+ {
1251
+ ref,
1252
+ className: avatar.cn(
1253
+ "inline-flex items-center justify-center gap-gp-sm whitespace-nowrap text-body-sm font-medium text-fg-muted transition-colors",
1254
+ "focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary",
1255
+ "hover:text-fg-default",
1256
+ "disabled:pointer-events-none disabled:opacity-50",
1257
+ variant === "line" ? "-mb-px h-[38px] px-[2px] pb-[8px] border-b-2 border-transparent data-[state=active]:border-border-brand data-[state=active]:text-fg-default data-[state=active]:font-semibold" : "h-[34px] px-[14px] rounded-radius-md data-[state=active]:bg-bg-accent data-[state=active]:text-fg-default data-[state=active]:font-semibold data-[state=active]:shadow-sh-sm",
1258
+ className
1259
+ ),
1260
+ ...props
1261
+ }
1262
+ );
1263
+ });
1264
+ TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
1265
+ const TabsContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1266
+ TabsPrimitive__namespace.Content,
1267
+ {
1268
+ ref,
1269
+ className: avatar.cn(
1270
+ "mt-sp-md flex-1 text-body-md outline-none",
1271
+ className
1272
+ ),
1273
+ ...props
1274
+ }
1275
+ ));
1276
+ TabsContent.displayName = TabsPrimitive__namespace.Content.displayName;
1277
+ const toggleVariants = classVarianceAuthority.cva(
1278
+ "inline-flex items-center justify-center gap-gp-xs rounded-radius-md border border-transparent text-body-sm font-semibold transition-colors hover:bg-bg-muted hover:text-fg-muted focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-brand disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-bg-brand-subtle data-[state=on]:text-fg-brand [&_svg]:pointer-events-none [&_svg]:size-icon-sm [&_svg]:shrink-0",
1279
+ {
1280
+ variants: {
1281
+ variant: {
1282
+ default: "bg-transparent",
1283
+ outline: "border-border-default bg-transparent hover:bg-bg-muted hover:text-fg-default"
1284
+ },
1285
+ size: {
1286
+ default: "min-h-form-lg px-pad-lg min-w-form-lg",
1287
+ sm: "min-h-form-md px-pad-md min-w-form-md",
1288
+ lg: "min-h-form-xl px-pad-xl min-w-form-xl"
1289
+ }
1290
+ },
1291
+ defaultVariants: {
1292
+ variant: "default",
1293
+ size: "default"
1294
+ }
1295
+ }
1296
+ );
1297
+ const Toggle = React__namespace.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1298
+ TogglePrimitive__namespace.Root,
1299
+ {
1300
+ ref,
1301
+ className: avatar.cn(toggleVariants({ variant, size, className })),
1302
+ ...props
1303
+ }
1304
+ ));
1305
+ Toggle.displayName = TogglePrimitive__namespace.Root.displayName;
1306
+ const ToggleGroupContext = React__namespace.createContext({
1307
+ size: "default",
1308
+ variant: "default"
1309
+ });
1310
+ const ToggleGroup = React__namespace.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1311
+ ToggleGroupPrimitive__namespace.Root,
1312
+ {
1313
+ ref,
1314
+ className: avatar.cn("flex items-center justify-center gap-gp-xs", className),
1315
+ ...props,
1316
+ children: /* @__PURE__ */ jsxRuntime.jsx(ToggleGroupContext.Provider, { value: { variant, size }, children })
1317
+ }
1318
+ ));
1319
+ ToggleGroup.displayName = ToggleGroupPrimitive__namespace.Root.displayName;
1320
+ const ToggleGroupItem = React__namespace.forwardRef(({ className, children, variant, size, ...props }, ref) => {
1321
+ const context = React__namespace.useContext(ToggleGroupContext);
1322
+ return /* @__PURE__ */ jsxRuntime.jsx(
1323
+ ToggleGroupPrimitive__namespace.Item,
1324
+ {
1325
+ ref,
1326
+ className: avatar.cn(
1327
+ toggleVariants({
1328
+ variant: context.variant || variant,
1329
+ size: context.size || size
1330
+ }),
1331
+ className
1332
+ ),
1333
+ ...props,
1334
+ children
1335
+ }
1336
+ );
1337
+ });
1338
+ ToggleGroupItem.displayName = ToggleGroupPrimitive__namespace.Item.displayName;
1339
+ const TooltipProvider = TooltipPrimitive__namespace.Provider;
1340
+ const TooltipTrigger = TooltipPrimitive__namespace.Trigger;
1341
+ const Tooltip = ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Root, { ...props, children }) });
1342
+ Tooltip.displayName = "Tooltip";
1343
+ const TooltipContent = React__namespace.forwardRef(({ className, sideOffset = 6, showArrow = true, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
1344
+ TooltipPrimitive__namespace.Content,
1345
+ {
1346
+ ref,
1347
+ sideOffset,
1348
+ className: avatar.cn(
1349
+ "z-50 max-w-[16rem] select-none",
1350
+ "bg-bg-emphasis text-fg-default",
1351
+ "rounded-radius-md px-pad-lg py-pad-xs",
1352
+ "text-caption-sm",
1353
+ "shadow-sh-md",
1354
+ "origin-[--radix-tooltip-content-transform-origin]",
1355
+ "data-[state=delayed-open]:animate-in data-[state=instant-open]:animate-in data-[state=closed]:animate-out",
1356
+ "data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[state=instant-open]:fade-in-0",
1357
+ "data-[state=closed]:zoom-out-95 data-[state=delayed-open]:zoom-in-95 data-[state=instant-open]:zoom-in-95",
1358
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
1359
+ "data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1360
+ className
1361
+ ),
1362
+ ...props,
1363
+ children: [
1364
+ children,
1365
+ showArrow && /* @__PURE__ */ jsxRuntime.jsx(
1366
+ TooltipPrimitive__namespace.Arrow,
1367
+ {
1368
+ width: 11,
1369
+ height: 5,
1370
+ className: "fill-bg-emphasis"
1371
+ }
1372
+ )
1373
+ ]
1374
+ }
1375
+ ) }));
1376
+ TooltipContent.displayName = TooltipPrimitive__namespace.Content.displayName;
1377
+ exports.Accordion = Accordion;
1378
+ exports.AccordionContent = AccordionContent;
1379
+ exports.AccordionItem = AccordionItem;
1380
+ exports.AccordionTrigger = AccordionTrigger;
1381
+ exports.Alert = Alert;
1382
+ exports.AlertDescription = AlertDescription;
1383
+ exports.AlertTitle = AlertTitle;
1384
+ exports.Badge = Badge;
1385
+ exports.Breadcrumb = Breadcrumb;
1386
+ exports.BreadcrumbEllipsis = BreadcrumbEllipsis;
1387
+ exports.BreadcrumbItem = BreadcrumbItem;
1388
+ exports.BreadcrumbLink = BreadcrumbLink;
1389
+ exports.BreadcrumbList = BreadcrumbList;
1390
+ exports.BreadcrumbPage = BreadcrumbPage;
1391
+ exports.BreadcrumbSeparator = BreadcrumbSeparator;
1392
+ exports.Card = Card;
1393
+ exports.CardContent = CardContent;
1394
+ exports.CardDescription = CardDescription;
1395
+ exports.CardFooter = CardFooter;
1396
+ exports.CardHeader = CardHeader;
1397
+ exports.CardTitle = CardTitle;
1398
+ exports.Carousel = Carousel;
1399
+ exports.CarouselContent = CarouselContent;
1400
+ exports.CarouselItem = CarouselItem;
1401
+ exports.CarouselNext = CarouselNext;
1402
+ exports.CarouselPrevious = CarouselPrevious;
1403
+ exports.Collapsible = Collapsible;
1404
+ exports.CollapsibleContent = CollapsibleContent;
1405
+ exports.CollapsibleTrigger = CollapsibleTrigger;
1406
+ exports.ContextMenu = ContextMenu;
1407
+ exports.ContextMenuCheckboxItem = ContextMenuCheckboxItem;
1408
+ exports.ContextMenuContent = ContextMenuContent;
1409
+ exports.ContextMenuGroup = ContextMenuGroup;
1410
+ exports.ContextMenuItem = ContextMenuItem;
1411
+ exports.ContextMenuLabel = ContextMenuLabel;
1412
+ exports.ContextMenuPortal = ContextMenuPortal;
1413
+ exports.ContextMenuRadioGroup = ContextMenuRadioGroup;
1414
+ exports.ContextMenuRadioItem = ContextMenuRadioItem;
1415
+ exports.ContextMenuSeparator = ContextMenuSeparator;
1416
+ exports.ContextMenuShortcut = ContextMenuShortcut;
1417
+ exports.ContextMenuSub = ContextMenuSub;
1418
+ exports.ContextMenuSubContent = ContextMenuSubContent;
1419
+ exports.ContextMenuSubTrigger = ContextMenuSubTrigger;
1420
+ exports.ContextMenuTrigger = ContextMenuTrigger;
1421
+ exports.Drawer = Drawer;
1422
+ exports.DrawerClose = DrawerClose;
1423
+ exports.DrawerContent = DrawerContent;
1424
+ exports.DrawerDescription = DrawerDescription;
1425
+ exports.DrawerFooter = DrawerFooter;
1426
+ exports.DrawerHeader = DrawerHeader;
1427
+ exports.DrawerOverlay = DrawerOverlay;
1428
+ exports.DrawerPortal = DrawerPortal;
1429
+ exports.DrawerTitle = DrawerTitle;
1430
+ exports.DrawerTrigger = DrawerTrigger;
1431
+ exports.HoverCard = HoverCard;
1432
+ exports.HoverCardContent = HoverCardContent;
1433
+ exports.HoverCardTrigger = HoverCardTrigger;
1434
+ exports.InputOTP = InputOTP;
1435
+ exports.InputOTPGroup = InputOTPGroup;
1436
+ exports.InputOTPSeparator = InputOTPSeparator;
1437
+ exports.InputOTPSlot = InputOTPSlot;
1438
+ exports.Label = Label;
1439
+ exports.Menubar = Menubar;
1440
+ exports.MenubarCheckboxItem = MenubarCheckboxItem;
1441
+ exports.MenubarContent = MenubarContent;
1442
+ exports.MenubarGroup = MenubarGroup;
1443
+ exports.MenubarItem = MenubarItem;
1444
+ exports.MenubarLabel = MenubarLabel;
1445
+ exports.MenubarMenu = MenubarMenu;
1446
+ exports.MenubarPortal = MenubarPortal;
1447
+ exports.MenubarRadioGroup = MenubarRadioGroup;
1448
+ exports.MenubarRadioItem = MenubarRadioItem;
1449
+ exports.MenubarSeparator = MenubarSeparator;
1450
+ exports.MenubarShortcut = MenubarShortcut;
1451
+ exports.MenubarSub = MenubarSub;
1452
+ exports.MenubarSubContent = MenubarSubContent;
1453
+ exports.MenubarSubTrigger = MenubarSubTrigger;
1454
+ exports.MenubarTrigger = MenubarTrigger;
1455
+ exports.NavigationMenu = NavigationMenu;
1456
+ exports.NavigationMenuContent = NavigationMenuContent;
1457
+ exports.NavigationMenuIndicator = NavigationMenuIndicator;
1458
+ exports.NavigationMenuItem = NavigationMenuItem;
1459
+ exports.NavigationMenuLink = NavigationMenuLink;
1460
+ exports.NavigationMenuList = NavigationMenuList;
1461
+ exports.NavigationMenuTrigger = NavigationMenuTrigger;
1462
+ exports.NavigationMenuViewport = NavigationMenuViewport;
1463
+ exports.Progress = Progress;
1464
+ exports.RadioGroup = RadioGroup;
1465
+ exports.RadioGroupItem = RadioGroupItem;
1466
+ exports.ScrollArea = ScrollArea;
1467
+ exports.ScrollBar = ScrollBar;
1468
+ exports.Separator = Separator;
1469
+ exports.Slider = Slider;
1470
+ exports.Tabs = Tabs;
1471
+ exports.TabsContent = TabsContent;
1472
+ exports.TabsList = TabsList;
1473
+ exports.TabsTrigger = TabsTrigger;
1474
+ exports.Toggle = Toggle;
1475
+ exports.ToggleGroup = ToggleGroup;
1476
+ exports.ToggleGroupItem = ToggleGroupItem;
1477
+ exports.Tooltip = Tooltip;
1478
+ exports.TooltipContent = TooltipContent;
1479
+ exports.TooltipProvider = TooltipProvider;
1480
+ exports.TooltipTrigger = TooltipTrigger;
1481
+ exports.badgeVariants = badgeVariants;
1482
+ exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle;
1483
+ exports.toggleVariants = toggleVariants;
1484
+ //# sourceMappingURL=tooltip-vLUyJ0h5.cjs.map