@gv-tech/ui-native 2.9.1 → 2.11.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.
@@ -0,0 +1,1090 @@
1
+ import { jsx as e, jsxs as g, Fragment as H } from "react/jsx-runtime";
2
+ import * as i from "react";
3
+ import { Text as l, View as s, Pressable as re, StyleSheet as A, Platform as P, TextInput as q, TouchableOpacity as ae } from "react-native";
4
+ import { clsx as oe } from "clsx";
5
+ import { twMerge as ie } from "tailwind-merge";
6
+ import * as b from "@rn-primitives/accordion";
7
+ import { ChevronDown as L, Check as E, X as G, Circle as ne, ChevronUp as se } from "lucide-react-native";
8
+ import y, { useDerivedValue as le, withTiming as z, useAnimatedStyle as W, interpolate as de, Extrapolation as ce, FadeOut as w, FadeIn as v, SlideOutRight as me, SlideInRight as fe, useSharedValue as ue, withRepeat as pe, withSequence as ge, Layout as be, FadeOutDown as he, FadeInUp as ye } from "react-native-reanimated";
9
+ import { cva as R } from "class-variance-authority";
10
+ import * as p from "@rn-primitives/alert-dialog";
11
+ import * as T from "@rn-primitives/avatar";
12
+ import * as F from "@rn-primitives/checkbox";
13
+ import * as B from "@rn-primitives/collapsible";
14
+ import * as c from "@rn-primitives/dialog";
15
+ import * as O from "@rn-primitives/label";
16
+ import * as D from "@rn-primitives/radio-group";
17
+ import * as m from "@rn-primitives/select";
18
+ import * as $ from "@rn-primitives/separator";
19
+ import * as j from "@rn-primitives/switch";
20
+ import * as N from "@rn-primitives/tabs";
21
+ import { toggleVariants as X } from "@gv-tech/ui-core";
22
+ import { toggleVariants as qr } from "@gv-tech/ui-core";
23
+ import * as _ from "@rn-primitives/toggle";
24
+ import * as I from "@rn-primitives/toggle-group";
25
+ import * as k from "@rn-primitives/tooltip";
26
+ import * as x from "@rn-primitives/toast";
27
+ function V(r, t = l, a = {}) {
28
+ return i.Children.map(r, (n) => typeof n == "string" || typeof n == "number" ? /* @__PURE__ */ e(t, { ...a, children: n }) : n);
29
+ }
30
+ function o(...r) {
31
+ return ie(oe(r));
32
+ }
33
+ const xe = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(b.Root, { ref: a, className: o("web:gap-0", r), ...t }));
34
+ xe.displayName = b.Root?.displayName || "Accordion";
35
+ const Ne = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(b.Item, { ref: a, className: o("border-border overflow-hidden border-b", r), ...t }));
36
+ Ne.displayName = b.Item?.displayName || "AccordionItem";
37
+ const we = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(b.Header, { ref: a, className: o("flex flex-row", r), ...t }));
38
+ we.displayName = b.Header?.displayName || "AccordionHeader";
39
+ const ve = i.forwardRef(({ className: r, children: t, ...a }, n) => {
40
+ const { isExpanded: d } = b.useItemContext(), f = le(
41
+ () => d ? z(1, { duration: 250 }) : z(0, { duration: 200 })
42
+ ), u = W(() => ({
43
+ transform: [{ rotate: `${f.value * 180}deg` }],
44
+ opacity: de(f.value, [0, 1], [1, 0.8], ce.CLAMP)
45
+ }));
46
+ return /* @__PURE__ */ e(b.Header, { className: "flex", children: /* @__PURE__ */ g(
47
+ b.Trigger,
48
+ {
49
+ ref: n,
50
+ className: o(
51
+ "flex flex-row items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
52
+ r
53
+ ),
54
+ ...a,
55
+ children: [
56
+ /* @__PURE__ */ e(H, { children: t }),
57
+ /* @__PURE__ */ e(y.View, { style: u, children: /* @__PURE__ */ e(L, { className: "text-muted-foreground h-4 w-4 shrink-0 transition-transform duration-200" }) })
58
+ ]
59
+ }
60
+ ) });
61
+ });
62
+ ve.displayName = b.Trigger?.displayName || "AccordionTrigger";
63
+ const Re = i.forwardRef(({ className: r, children: t, ...a }, n) => /* @__PURE__ */ e(
64
+ b.Content,
65
+ {
66
+ ref: n,
67
+ className: o(
68
+ "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm transition-all",
69
+ r
70
+ ),
71
+ ...a,
72
+ children: /* @__PURE__ */ e(s, { className: o("pt-0 pb-4", r), children: t })
73
+ }
74
+ ));
75
+ Re.displayName = b.Content?.displayName || "AccordionContent";
76
+ const Te = R("relative w-full rounded-lg border p-4", {
77
+ variants: {
78
+ variant: {
79
+ default: "bg-background border-border",
80
+ destructive: "border-destructive/50 bg-destructive/10",
81
+ warning: "border-amber-500/50 bg-amber-500/10",
82
+ info: "border-blue-500/50 bg-blue-500/10"
83
+ }
84
+ },
85
+ defaultVariants: {
86
+ variant: "default"
87
+ }
88
+ }), Ce = i.forwardRef(({ className: r, variant: t, children: a, ...n }, d) => /* @__PURE__ */ e(s, { ref: d, className: o(Te({ variant: t }), r), ...n, children: V(a) }));
89
+ Ce.displayName = "Alert";
90
+ const Se = i.forwardRef(
91
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(
92
+ l,
93
+ {
94
+ ref: a,
95
+ className: o("text-foreground mb-1 leading-none font-medium tracking-tight", r),
96
+ ...t
97
+ }
98
+ )
99
+ );
100
+ Se.displayName = "AlertTitle";
101
+ const De = i.forwardRef(
102
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(l, { ref: a, className: o("text-muted-foreground text-sm leading-relaxed", r), ...t })
103
+ );
104
+ De.displayName = "AlertDescription";
105
+ const M = R(
106
+ "flex-row items-center justify-center gap-2 rounded-md transition-colors active:opacity-80",
107
+ {
108
+ variants: {
109
+ variant: {
110
+ default: "bg-primary shadow-sm",
111
+ destructive: "bg-destructive shadow-sm",
112
+ outline: "border border-input bg-transparent shadow-sm",
113
+ secondary: "bg-secondary shadow-sm",
114
+ ghost: "bg-transparent",
115
+ link: "bg-transparent"
116
+ },
117
+ size: {
118
+ default: "h-10 px-4 py-2",
119
+ sm: "h-9 px-3",
120
+ lg: "h-12 px-8",
121
+ icon: "h-10 w-10"
122
+ }
123
+ },
124
+ defaultVariants: {
125
+ variant: "default",
126
+ size: "default"
127
+ }
128
+ }
129
+ ), ke = R("text-sm font-medium", {
130
+ variants: {
131
+ variant: {
132
+ default: "text-primary-foreground",
133
+ destructive: "text-destructive-foreground",
134
+ outline: "text-foreground",
135
+ secondary: "text-secondary-foreground",
136
+ ghost: "text-foreground",
137
+ link: "text-primary underline"
138
+ }
139
+ },
140
+ defaultVariants: {
141
+ variant: "default"
142
+ }
143
+ }), Ae = i.forwardRef(
144
+ ({ className: r, variant: t, size: a, onPress: n, children: d, disabled: f, ...u }, h) => /* @__PURE__ */ e(
145
+ re,
146
+ {
147
+ ref: h,
148
+ onPress: n,
149
+ disabled: f,
150
+ className: o(M({ variant: t, size: a, className: r }), f && "opacity-50"),
151
+ ...u,
152
+ children: V(d, l, {
153
+ className: o(ke({ variant: t }))
154
+ })
155
+ }
156
+ )
157
+ );
158
+ Ae.displayName = "Button";
159
+ const Jt = p.Root, Kt = p.Trigger, Pe = p.Portal, J = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(p.Overlay, { style: A.absoluteFill, asChild: !0, ref: a, ...t, children: /* @__PURE__ */ e(
160
+ y.View,
161
+ {
162
+ entering: v.duration(150),
163
+ exiting: w.duration(150),
164
+ className: o("z-50 flex items-center justify-center bg-black/80 p-2", r)
165
+ }
166
+ ) }));
167
+ J.displayName = p.Overlay?.displayName || "AlertDialogOverlay";
168
+ const ze = i.forwardRef(({ className: r, portalHost: t, overlayClassName: a, overlayStyle: n, ...d }, f) => /* @__PURE__ */ g(Pe, { hostName: t, children: [
169
+ /* @__PURE__ */ e(J, { className: a, style: n }),
170
+ /* @__PURE__ */ e(p.Content, { ref: f, asChild: !0, ...d, children: /* @__PURE__ */ e(
171
+ y.View,
172
+ {
173
+ entering: v.duration(150),
174
+ exiting: w.duration(150),
175
+ className: o(
176
+ "border-border bg-background z-50 w-full max-w-lg gap-4 rounded-xl border p-6 shadow-lg sm:rounded-lg",
177
+ r
178
+ )
179
+ }
180
+ ) })
181
+ ] }));
182
+ ze.displayName = p.Content?.displayName || "AlertDialogContent";
183
+ const Ie = ({ className: r, ...t }) => /* @__PURE__ */ e(s, { className: o("flex flex-col gap-2 text-center sm:text-left", r), ...t });
184
+ Ie.displayName = "AlertDialogHeader";
185
+ const Ve = ({ className: r, ...t }) => /* @__PURE__ */ e(s, { className: o("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", r), ...t });
186
+ Ve.displayName = "AlertDialogFooter";
187
+ const Fe = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
188
+ p.Title,
189
+ {
190
+ ref: a,
191
+ className: o("native:text-xl text-foreground text-lg font-semibold", r),
192
+ ...t
193
+ }
194
+ ));
195
+ Fe.displayName = p.Title?.displayName || "AlertDialogTitle";
196
+ const Oe = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
197
+ p.Description,
198
+ {
199
+ ref: a,
200
+ className: o("native:text-base text-muted-foreground text-sm", r),
201
+ ...t
202
+ }
203
+ ));
204
+ Oe.displayName = p.Description?.displayName || "AlertDialogDescription";
205
+ const je = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(p.Action, { ref: a, className: o(M(), r), ...t }));
206
+ je.displayName = p.Action?.displayName || "AlertDialogAction";
207
+ const He = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
208
+ p.Cancel,
209
+ {
210
+ ref: a,
211
+ className: o(M({ variant: "outline" }), "mt-2 sm:mt-0", r),
212
+ ...t
213
+ }
214
+ ));
215
+ He.displayName = p.Cancel?.displayName || "AlertDialogCancel";
216
+ const Qt = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "aspect-ratio is not yet implemented for React Native" }) }), Le = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
217
+ T.Root,
218
+ {
219
+ ref: a,
220
+ className: o("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", r),
221
+ ...t
222
+ }
223
+ ));
224
+ Le.displayName = T.Root?.displayName || "Avatar";
225
+ const Ge = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(T.Image, { ref: a, className: o("aspect-square h-full w-full", r), ...t }));
226
+ Ge.displayName = T.Image?.displayName || "AvatarImage";
227
+ const Be = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
228
+ T.Fallback,
229
+ {
230
+ ref: a,
231
+ className: o("bg-muted flex h-full w-full items-center justify-center rounded-full", r),
232
+ ...t
233
+ }
234
+ ));
235
+ Be.displayName = T.Fallback?.displayName || "AvatarFallback";
236
+ const Me = R("flex-row items-center rounded-md border px-2 py-0.5", {
237
+ variants: {
238
+ variant: {
239
+ default: "border-transparent bg-primary",
240
+ secondary: "border-transparent bg-secondary",
241
+ destructive: "border-transparent bg-destructive",
242
+ outline: "border-border bg-transparent"
243
+ }
244
+ },
245
+ defaultVariants: {
246
+ variant: "default"
247
+ }
248
+ }), Ue = R("text-xs font-semibold", {
249
+ variants: {
250
+ variant: {
251
+ default: "text-primary-foreground",
252
+ secondary: "text-secondary-foreground",
253
+ destructive: "text-destructive-foreground",
254
+ outline: "text-foreground"
255
+ }
256
+ },
257
+ defaultVariants: {
258
+ variant: "default"
259
+ }
260
+ });
261
+ function Yt({ className: r, textClassName: t, variant: a, children: n, ...d }) {
262
+ return /* @__PURE__ */ e(s, { className: o(Me({ variant: a }), r), ...d, children: V(n, l, {
263
+ className: o(Ue({ variant: a }), t)
264
+ }) });
265
+ }
266
+ const Zt = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "breadcrumb is not yet implemented for React Native" }) }), er = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "calendar is not yet implemented for React Native" }) }), qe = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(s, { ref: a, className: o("border-border bg-card rounded-xl border shadow-sm", r), ...t }));
267
+ qe.displayName = "Card";
268
+ const Ee = i.forwardRef(
269
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(s, { ref: a, className: o("flex flex-col space-y-1.5 p-6", r), ...t })
270
+ );
271
+ Ee.displayName = "CardHeader";
272
+ const We = i.forwardRef(
273
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(
274
+ l,
275
+ {
276
+ ref: a,
277
+ className: o("text-card-foreground text-lg leading-none font-semibold tracking-tight", r),
278
+ ...t
279
+ }
280
+ )
281
+ );
282
+ We.displayName = "CardTitle";
283
+ const $e = i.forwardRef(
284
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(l, { ref: a, className: o("text-muted-foreground text-sm", r), ...t })
285
+ );
286
+ $e.displayName = "CardDescription";
287
+ const Xe = i.forwardRef(
288
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(s, { ref: a, className: o("p-6 pt-0", r), ...t, children: V(t.children, l, { className: "text-sm text-card-foreground" }) })
289
+ );
290
+ Xe.displayName = "CardContent";
291
+ const _e = i.forwardRef(
292
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(s, { ref: a, className: o("flex flex-row items-center p-6 pt-0", r), ...t })
293
+ );
294
+ _e.displayName = "CardFooter";
295
+ const tr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "carousel is not yet implemented for React Native" }) }), rr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "chart is not yet implemented for React Native" }) }), Je = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
296
+ F.Root,
297
+ {
298
+ ref: a,
299
+ className: o(
300
+ "web:peer native:h-[20] native:w-[20] native:rounded border-primary web:ring-offset-background web:focus-visible:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 h-4 w-4 shrink-0 rounded-sm border disabled:cursor-not-allowed disabled:opacity-50",
301
+ t.checked && "bg-primary",
302
+ r
303
+ ),
304
+ ...t,
305
+ children: /* @__PURE__ */ e(F.Indicator, { className: o("h-full w-full items-center justify-center"), children: /* @__PURE__ */ e(E, { size: 12, strokeWidth: P.OS === "web" ? 2.5 : 3.5, className: "text-primary-foreground" }) })
306
+ }
307
+ ));
308
+ Je.displayName = F.Root?.displayName || "Checkbox";
309
+ const ar = B.Root, or = B.Trigger, ir = B.Content, nr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "command is not yet implemented for React Native" }) }), sr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "context-menu is not yet implemented for React Native" }) }), lr = c.Root, dr = c.Trigger, Ke = c.Portal, cr = c.Close, K = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(c.Overlay, { style: A.absoluteFill, asChild: !0, ref: a, ...t, children: /* @__PURE__ */ e(
310
+ y.View,
311
+ {
312
+ entering: v.duration(150),
313
+ exiting: w.duration(150),
314
+ className: o("z-50 flex items-center justify-center bg-black/80 p-2", r)
315
+ }
316
+ ) }));
317
+ K.displayName = c.Overlay?.displayName || "DialogOverlay";
318
+ const Qe = i.forwardRef(
319
+ ({ className: r, children: t, portalHost: a, overlayClassName: n, overlayStyle: d, ...f }, u) => /* @__PURE__ */ g(Ke, { hostName: a, children: [
320
+ /* @__PURE__ */ e(K, { className: n, style: d }),
321
+ /* @__PURE__ */ e(c.Content, { ref: u, asChild: !0, ...f, children: /* @__PURE__ */ g(
322
+ y.View,
323
+ {
324
+ entering: v.duration(150),
325
+ exiting: w.duration(150),
326
+ className: o(
327
+ "border-border bg-background z-50 w-full max-w-lg gap-4 rounded-xl border p-6 shadow-lg sm:rounded-lg",
328
+ r
329
+ ),
330
+ children: [
331
+ t,
332
+ /* @__PURE__ */ g(
333
+ c.Close,
334
+ {
335
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",
336
+ children: [
337
+ /* @__PURE__ */ e(G, { size: 18, className: "text-muted-foreground" }),
338
+ /* @__PURE__ */ e(s, { className: "sr-only", children: /* @__PURE__ */ e(c.Title, { children: "Close" }) })
339
+ ]
340
+ }
341
+ )
342
+ ]
343
+ }
344
+ ) })
345
+ ] })
346
+ );
347
+ Qe.displayName = c.Content?.displayName || "DialogContent";
348
+ const Ye = ({ className: r, ...t }) => /* @__PURE__ */ e(s, { className: o("flex flex-col gap-1.5 text-center sm:text-left", r), ...t });
349
+ Ye.displayName = "DialogHeader";
350
+ const Ze = ({ className: r, ...t }) => /* @__PURE__ */ e(s, { className: o("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", r), ...t });
351
+ Ze.displayName = "DialogFooter";
352
+ const et = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
353
+ c.Title,
354
+ {
355
+ ref: a,
356
+ className: o("native:text-xl text-foreground text-lg leading-none font-semibold tracking-tight", r),
357
+ ...t
358
+ }
359
+ ));
360
+ et.displayName = c.Title?.displayName || "DialogTitle";
361
+ const tt = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
362
+ c.Description,
363
+ {
364
+ ref: a,
365
+ className: o("native:text-base text-muted-foreground text-sm", r),
366
+ ...t
367
+ }
368
+ ));
369
+ tt.displayName = c.Description?.displayName || "DialogDescription";
370
+ const mr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "drawer is not yet implemented for React Native" }) }), fr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "dropdown-menu is not yet implemented for React Native" }) }), ur = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "form is not yet implemented for React Native" }) }), pr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "hover-card is not yet implemented for React Native" }) }), rt = i.forwardRef(
371
+ ({ className: r, placeholderClassName: t, ...a }, n) => /* @__PURE__ */ e(
372
+ q,
373
+ {
374
+ ref: n,
375
+ className: o(
376
+ "border-input text-foreground placeholder:text-muted-foreground focus:border-ring flex h-10 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-sm transition-colors disabled:opacity-50",
377
+ r
378
+ ),
379
+ placeholderClassName: o("text-muted-foreground", t),
380
+ ...a
381
+ }
382
+ )
383
+ );
384
+ rt.displayName = "Input";
385
+ const at = i.forwardRef(({ className: r, onPress: t, onLongPress: a, onPressIn: n, onPressOut: d, ...f }, u) => /* @__PURE__ */ e(
386
+ O.Root,
387
+ {
388
+ className: "web:cursor-default",
389
+ onPress: t,
390
+ onLongPress: a,
391
+ onPressIn: n,
392
+ onPressOut: d,
393
+ children: /* @__PURE__ */ e(
394
+ O.Text,
395
+ {
396
+ ref: u,
397
+ className: o(
398
+ "text-foreground native:text-base web:peer-disabled:cursor-not-allowed web:peer-disabled:opacity-70 text-sm leading-none font-medium",
399
+ r
400
+ ),
401
+ ...f
402
+ }
403
+ )
404
+ }
405
+ ));
406
+ at.displayName = O.Root?.displayName || "Label";
407
+ const gr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "menubar is not yet implemented for React Native" }) }), br = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "navigation-menu is not yet implemented for React Native" }) }), hr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "pagination is not yet implemented for React Native" }) }), yr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "popover is not yet implemented for React Native" }) }), xr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "progress is not yet implemented for React Native" }) }), ot = i.forwardRef(
408
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(D.Root, { className: o("web:grid gap-2", r), ...t, ref: a })
409
+ );
410
+ ot.displayName = D.Root?.displayName || "RadioGroup";
411
+ const it = i.forwardRef(
412
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(
413
+ D.Item,
414
+ {
415
+ ref: a,
416
+ className: o(
417
+ "native:h-5 native:w-5 border-primary text-primary web:ring-offset-background web:focus:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 aspect-square h-4 w-4 rounded-full border",
418
+ t.disabled && "web:cursor-not-allowed opacity-50",
419
+ r
420
+ ),
421
+ ...t,
422
+ children: /* @__PURE__ */ e(D.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ e(ne, { className: "h-2.5 w-2.5 fill-current text-current" }) })
423
+ }
424
+ )
425
+ );
426
+ it.displayName = D.Item?.displayName || "RadioGroupItem";
427
+ const Nr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "ResizablePanelGroup is not yet implemented for React Native" }) }), wr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "ResizablePanel is not yet implemented for React Native" }) }), vr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "ResizableHandle is not yet implemented for React Native" }) }), Rr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "scroll-area is not yet implemented for React Native" }) }), Tr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "Search is not yet implemented for React Native" }) }), Cr = m.Root, Sr = m.Group, Dr = m.Value, nt = i.forwardRef(
428
+ ({ className: r, children: t, ...a }, n) => /* @__PURE__ */ g(
429
+ m.Trigger,
430
+ {
431
+ ref: n,
432
+ className: o(
433
+ "native:h-12 border-input bg-background text-muted-foreground web:ring-offset-background web:focus:outline-none web:focus:ring-2 web:focus:ring-ring web:focus:ring-offset-2 flex h-10 flex-row items-center justify-between rounded-md border px-3 py-2 text-sm [&>span]:line-clamp-1",
434
+ a.disabled && "web:cursor-not-allowed opacity-50",
435
+ r
436
+ ),
437
+ ...a,
438
+ children: [
439
+ /* @__PURE__ */ e(H, { children: t }),
440
+ /* @__PURE__ */ e(L, { size: 16, "aria-hidden": !0, className: "text-foreground opacity-50" })
441
+ ]
442
+ }
443
+ )
444
+ );
445
+ nt.displayName = m.Trigger?.displayName || "SelectTrigger";
446
+ const Q = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
447
+ m.ScrollUpButton,
448
+ {
449
+ ref: a,
450
+ className: o("flex cursor-default items-center justify-center py-1", r),
451
+ ...t,
452
+ children: /* @__PURE__ */ e(se, { size: 14, className: "text-foreground" })
453
+ }
454
+ ));
455
+ Q.displayName = m.ScrollUpButton?.displayName || "SelectScrollUpButton";
456
+ const Y = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
457
+ m.ScrollDownButton,
458
+ {
459
+ ref: a,
460
+ className: o("flex cursor-default items-center justify-center py-1", r),
461
+ ...t,
462
+ children: /* @__PURE__ */ e(L, { size: 14, className: "text-foreground" })
463
+ }
464
+ ));
465
+ Y.displayName = m.ScrollDownButton?.displayName || "SelectScrollDownButton";
466
+ const st = i.forwardRef(
467
+ ({ className: r, children: t, position: a = "popper", portalHost: n, overlayClassName: d, overlayStyle: f, ...u }, h) => {
468
+ const { open: S } = m.useRootContext();
469
+ return /* @__PURE__ */ g(m.Portal, { hostName: n, children: [
470
+ /* @__PURE__ */ e(m.Overlay, { style: P.OS !== "web" ? A.absoluteFill : void 0, asChild: !0, children: /* @__PURE__ */ e(y.View, { className: d, style: f }) }),
471
+ /* @__PURE__ */ g(
472
+ m.Content,
473
+ {
474
+ ref: h,
475
+ className: o(
476
+ "border-border bg-popover data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] rounded-md border shadow-md",
477
+ a === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
478
+ S ? "web:zoom-in-95 web:animate-in web:fade-in-0" : "web:zoom-out-95 web:animate-out web:fade-out-0",
479
+ r
480
+ ),
481
+ position: a,
482
+ ...u,
483
+ children: [
484
+ /* @__PURE__ */ e(Q, {}),
485
+ /* @__PURE__ */ e(
486
+ m.Viewport,
487
+ {
488
+ className: o(
489
+ "p-1",
490
+ a === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
491
+ ),
492
+ children: t
493
+ }
494
+ ),
495
+ /* @__PURE__ */ e(Y, {})
496
+ ]
497
+ }
498
+ )
499
+ ] });
500
+ }
501
+ );
502
+ st.displayName = m.Content?.displayName || "SelectContent";
503
+ const lt = i.forwardRef(
504
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(
505
+ m.Label,
506
+ {
507
+ ref: a,
508
+ className: o("text-popover-foreground py-1.5 pr-2 pl-8 text-sm font-semibold", r),
509
+ ...t
510
+ }
511
+ )
512
+ );
513
+ lt.displayName = m.Label?.displayName || "SelectLabel";
514
+ const dt = i.forwardRef(
515
+ ({ className: r, children: t, label: a, ...n }, d) => {
516
+ const f = a || (typeof t == "string" ? t : "");
517
+ return /* @__PURE__ */ g(
518
+ m.Item,
519
+ {
520
+ ref: d,
521
+ label: f,
522
+ className: o(
523
+ "web:hover:bg-accent/50 web:focus:bg-accent web:focus:text-accent-foreground web:hover:text-accent-foreground relative flex w-full cursor-default flex-row items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:opacity-50",
524
+ n.disabled && "web:pointer-events-none",
525
+ r
526
+ ),
527
+ ...n,
528
+ children: [
529
+ /* @__PURE__ */ e(
530
+ s,
531
+ {
532
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
533
+ children: /* @__PURE__ */ e(m.ItemIndicator, { children: /* @__PURE__ */ e(E, { size: 14, strokeWidth: 3, className: "text-popover-foreground" }) })
534
+ }
535
+ ),
536
+ /* @__PURE__ */ e(m.ItemText, { className: "text-popover-foreground native:text-base text-sm", children: t })
537
+ ]
538
+ }
539
+ );
540
+ }
541
+ );
542
+ dt.displayName = m.Item?.displayName || "SelectItem";
543
+ const ct = i.forwardRef(
544
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(
545
+ m.Separator,
546
+ {
547
+ ref: a,
548
+ className: o("bg-muted -mx-1 my-1 h-px", r),
549
+ ...t
550
+ }
551
+ )
552
+ );
553
+ ct.displayName = m.Separator?.displayName || "SelectSeparator";
554
+ const mt = i.forwardRef(({ className: r, orientation: t = "horizontal", decorative: a = !0, ...n }, d) => /* @__PURE__ */ e(
555
+ $.Root,
556
+ {
557
+ ref: d,
558
+ decorative: a,
559
+ orientation: t,
560
+ className: o("bg-border shrink-0", t === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", r),
561
+ ...n
562
+ }
563
+ ));
564
+ mt.displayName = $.Root?.displayName || "Separator";
565
+ const U = i.createContext(void 0), ft = R("text-foreground", {
566
+ variants: {
567
+ variant: {
568
+ h1: "text-4xl font-extrabold tracking-tight",
569
+ h2: "text-3xl font-semibold tracking-tight",
570
+ h3: "text-2xl font-semibold tracking-tight",
571
+ h4: "text-xl font-semibold tracking-tight",
572
+ body: "text-base leading-7",
573
+ bodySmall: "text-sm leading-6",
574
+ caption: "text-xs text-muted-foreground",
575
+ label: "text-sm font-medium",
576
+ overline: "text-xs font-semibold uppercase tracking-widest text-muted-foreground"
577
+ }
578
+ },
579
+ defaultVariants: {
580
+ variant: "body"
581
+ }
582
+ }), C = i.forwardRef(
583
+ ({ className: r, variant: t = "body", children: a, ...n }, d) => /* @__PURE__ */ e(l, { ref: d, className: o(ft({ variant: t, className: r })), ...n, children: a })
584
+ );
585
+ C.displayName = "Text";
586
+ const kr = c.Root, Ar = c.Trigger, Pr = c.Close, ut = c.Portal, Z = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
587
+ c.Overlay,
588
+ {
589
+ style: P.OS !== "web" ? A.absoluteFill : void 0,
590
+ asChild: !0,
591
+ ref: a,
592
+ ...t,
593
+ children: /* @__PURE__ */ e(
594
+ y.View,
595
+ {
596
+ entering: v.duration(150),
597
+ exiting: w.duration(150),
598
+ className: o("web:cursor-default absolute inset-0 z-50 bg-black/80", r)
599
+ }
600
+ )
601
+ }
602
+ ));
603
+ Z.displayName = c.Overlay?.displayName || "SheetOverlay";
604
+ const pt = i.forwardRef(
605
+ ({ className: r, children: t, side: a = "right", overlayClassName: n, overlayStyle: d, ...f }, u) => {
606
+ const h = P.OS === "web", S = h ? void 0 : fe, te = h ? void 0 : me;
607
+ return /* @__PURE__ */ g(ut, { children: [
608
+ /* @__PURE__ */ e(Z, { className: n, style: d }),
609
+ /* @__PURE__ */ e(c.Content, { ref: u, asChild: !0, ...f, children: /* @__PURE__ */ g(
610
+ y.View,
611
+ {
612
+ entering: S,
613
+ exiting: te,
614
+ className: o(
615
+ "bg-background web:cursor-default web:duration-200 web:ease-in-out absolute z-50 h-full w-3/4 gap-4 p-6 shadow-lg",
616
+ a === "right" && "border-border data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right top-0 right-0 border-l",
617
+ a === "left" && "border-border data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left top-0 left-0 border-r",
618
+ a === "top" && "border-border data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top top-0 w-full border-b",
619
+ a === "bottom" && "border-border data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom bottom-0 w-full border-t",
620
+ r
621
+ ),
622
+ children: [
623
+ t,
624
+ /* @__PURE__ */ g(
625
+ c.Close,
626
+ {
627
+ className: o(
628
+ "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",
629
+ "web:absolute web:right-4 web:top-4"
630
+ ),
631
+ children: [
632
+ /* @__PURE__ */ e(G, { size: 24, className: "text-muted-foreground" }),
633
+ /* @__PURE__ */ e(C, { className: "sr-only", children: "Close" })
634
+ ]
635
+ }
636
+ )
637
+ ]
638
+ }
639
+ ) })
640
+ ] });
641
+ }
642
+ );
643
+ pt.displayName = c.Content?.displayName || "SheetContent";
644
+ const gt = ({ className: r, ...t }) => /* @__PURE__ */ e(s, { className: o("flex flex-col space-y-2 text-center sm:text-left", r), ...t });
645
+ gt.displayName = "SheetHeader";
646
+ const bt = ({ className: r, ...t }) => /* @__PURE__ */ e(s, { className: o("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", r), ...t });
647
+ bt.displayName = "SheetFooter";
648
+ const ht = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(c.Title, { ref: a, className: o("text-foreground text-lg font-semibold", r), ...t }));
649
+ ht.displayName = c.Title?.displayName || "SheetTitle";
650
+ const yt = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(c.Description, { ref: a, className: o("text-muted-foreground text-sm", r), ...t }));
651
+ yt.displayName = c.Description?.displayName || "SheetDescription";
652
+ function zr({ className: r, ...t }) {
653
+ const a = ue(0.5);
654
+ i.useEffect(() => {
655
+ a.value = pe(
656
+ ge(z(0.2, { duration: 500 }), z(0.5, { duration: 500 })),
657
+ -1,
658
+ !0
659
+ );
660
+ }, []);
661
+ const n = W(() => ({
662
+ opacity: a.value
663
+ }));
664
+ return /* @__PURE__ */ e(y.View, { className: o("bg-muted rounded-md", r), style: n, ...t });
665
+ }
666
+ const Ir = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "slider is not yet implemented for React Native" }) }), Vr = () => /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "Toaster (Sonner) is not yet implemented for React Native" }) }), xt = i.forwardRef(
667
+ ({ className: r, checked: t, onCheckedChange: a, ...n }, d) => /* @__PURE__ */ e(
668
+ j.Root,
669
+ {
670
+ className: o(
671
+ "peer focus-visible:ring-ring focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-input inline-flex h-6 w-11 shrink-0 cursor-pointer flex-row items-center rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
672
+ r
673
+ ),
674
+ ...n,
675
+ checked: t ?? !1,
676
+ onCheckedChange: a || (() => {
677
+ }),
678
+ ref: d,
679
+ children: /* @__PURE__ */ e(
680
+ j.Thumb,
681
+ {
682
+ className: o(
683
+ "bg-background pointer-events-none block h-5 w-5 rounded-full shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
684
+ )
685
+ }
686
+ )
687
+ }
688
+ )
689
+ );
690
+ xt.displayName = j.Root?.displayName || "Switch";
691
+ const Nt = i.forwardRef(
692
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(s, { ref: a, className: o("w-full caption-bottom text-sm", r), ...t })
693
+ );
694
+ Nt.displayName = "Table";
695
+ const wt = i.forwardRef(
696
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(s, { ref: a, className: o("border-border border-b", r), ...t })
697
+ );
698
+ wt.displayName = "TableHeader";
699
+ const vt = i.forwardRef(
700
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(s, { ref: a, className: o("flex-1", r), ...t })
701
+ );
702
+ vt.displayName = "TableBody";
703
+ const Rt = i.forwardRef(
704
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(s, { ref: a, className: o("bg-muted/50 font-medium [&>tr]:last:border-b-0", r), ...t })
705
+ );
706
+ Rt.displayName = "TableFooter";
707
+ const Tt = i.forwardRef(
708
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(
709
+ s,
710
+ {
711
+ ref: a,
712
+ className: o(
713
+ "border-border hover:bg-muted/50 data-[state=selected]:bg-muted flex-row border-b transition-colors",
714
+ r
715
+ ),
716
+ ...t
717
+ }
718
+ )
719
+ );
720
+ Tt.displayName = "TableRow";
721
+ const Ct = i.forwardRef(
722
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(
723
+ C,
724
+ {
725
+ ref: a,
726
+ className: o(
727
+ "text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0",
728
+ r
729
+ ),
730
+ ...t
731
+ }
732
+ )
733
+ );
734
+ Ct.displayName = "TableHead";
735
+ const St = i.forwardRef(
736
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(C, { ref: a, className: o("p-4 align-middle [&:has([role=checkbox])]:pr-0", r), ...t })
737
+ );
738
+ St.displayName = "TableCell";
739
+ const Dt = i.forwardRef(
740
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(C, { ref: a, className: o("text-muted-foreground mt-4 text-sm", r), ...t })
741
+ );
742
+ Dt.displayName = "TableCaption";
743
+ const Fr = N.Root, kt = i.forwardRef(
744
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(
745
+ N.List,
746
+ {
747
+ ref: a,
748
+ className: o(
749
+ "bg-muted text-muted-foreground inline-flex h-10 flex-row items-center justify-center rounded-md p-1",
750
+ r
751
+ ),
752
+ ...t
753
+ }
754
+ )
755
+ );
756
+ kt.displayName = N.List?.displayName || "TabsList";
757
+ const At = i.forwardRef(
758
+ ({ className: r, ...t }, a) => {
759
+ const { value: n } = N.useRootContext();
760
+ return /* @__PURE__ */ e(
761
+ U.Provider,
762
+ {
763
+ value: o(
764
+ "text-sm native:text-base font-medium text-muted-foreground web:transition-all",
765
+ n === t.value && "text-foreground"
766
+ ),
767
+ children: /* @__PURE__ */ e(
768
+ N.Trigger,
769
+ {
770
+ ref: a,
771
+ className: o(
772
+ "ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center rounded-sm px-3 py-1.5 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50",
773
+ t.disabled && "opacity-50",
774
+ n === t.value && "bg-background shadow-foreground/10 shadow-sm",
775
+ r
776
+ ),
777
+ ...t
778
+ }
779
+ )
780
+ }
781
+ );
782
+ }
783
+ );
784
+ At.displayName = N.Trigger?.displayName || "TabsTrigger";
785
+ const Pt = i.forwardRef(
786
+ ({ className: r, ...t }, a) => /* @__PURE__ */ e(
787
+ N.Content,
788
+ {
789
+ ref: a,
790
+ className: o(
791
+ "ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",
792
+ r
793
+ ),
794
+ ...t
795
+ }
796
+ )
797
+ );
798
+ Pt.displayName = N.Content?.displayName || "TabsContent";
799
+ const zt = i.forwardRef(
800
+ ({ className: r, placeholderClassName: t, ...a }, n) => /* @__PURE__ */ e(
801
+ q,
802
+ {
803
+ ref: n,
804
+ multiline: !0,
805
+ numberOfLines: a.numberOfLines || 3,
806
+ className: o(
807
+ "border-input bg-background text-foreground placeholder:text-muted-foreground focus:border-ring flex min-h-[80px] w-full rounded-md border px-3 py-2 text-base shadow-sm transition-colors disabled:opacity-50",
808
+ r
809
+ ),
810
+ placeholderClassName: o("text-muted-foreground", t),
811
+ textAlignVertical: "top",
812
+ ...a
813
+ }
814
+ )
815
+ );
816
+ zt.displayName = "Textarea";
817
+ const It = i.forwardRef(
818
+ ({ className: r, variant: t, size: a, ...n }, d) => /* @__PURE__ */ e(
819
+ U.Provider,
820
+ {
821
+ value: o(
822
+ "text-sm native:text-base text-foreground font-medium",
823
+ n.pressed && "text-accent-foreground",
824
+ r
825
+ ),
826
+ children: /* @__PURE__ */ e(
827
+ _.Root,
828
+ {
829
+ ref: d,
830
+ className: o(X({ variant: t, size: a, className: r })),
831
+ ...n,
832
+ pressed: n.pressed || !1,
833
+ onPressedChange: n.onPressedChange || (() => {
834
+ })
835
+ }
836
+ )
837
+ }
838
+ )
839
+ );
840
+ It.displayName = _.Root?.displayName || "Toggle";
841
+ const ee = i.createContext({
842
+ size: "default",
843
+ variant: "default"
844
+ }), Vt = i.forwardRef(
845
+ ({ className: r, variant: t, size: a, children: n, type: d, value: f, onValueChange: u, ...h }, S) => /* @__PURE__ */ e(
846
+ I.Root,
847
+ {
848
+ ref: S,
849
+ type: d,
850
+ value: f,
851
+ onValueChange: u,
852
+ className: o("flex flex-row items-center justify-center gap-1", r),
853
+ ...h,
854
+ children: /* @__PURE__ */ e(ee.Provider, { value: { variant: t, size: a }, children: n })
855
+ }
856
+ )
857
+ );
858
+ Vt.displayName = I.Root?.displayName || "ToggleGroup";
859
+ const Ft = i.forwardRef(
860
+ ({ className: r, children: t, variant: a, size: n, value: d, ...f }, u) => {
861
+ const h = i.useContext(ee);
862
+ return /* @__PURE__ */ e(
863
+ U.Provider,
864
+ {
865
+ value: o(
866
+ "text-sm native:text-base text-foreground font-medium",
867
+ f.disabled && "web:cursor-not-allowed opacity-50",
868
+ d === "" && "text-accent-foreground",
869
+ r
870
+ ),
871
+ children: /* @__PURE__ */ e(
872
+ I.Item,
873
+ {
874
+ ref: u,
875
+ value: d,
876
+ className: o(
877
+ X({
878
+ variant: h.variant || a,
879
+ size: h.size || n
880
+ }),
881
+ r
882
+ ),
883
+ ...f,
884
+ children: t
885
+ }
886
+ )
887
+ }
888
+ );
889
+ }
890
+ );
891
+ Ft.displayName = I.Item?.displayName || "ToggleGroupItem";
892
+ const Or = k.Root, jr = k.Trigger, Ot = i.forwardRef(
893
+ ({ className: r, portalHost: t, ...a }, n) => /* @__PURE__ */ e(k.Portal, { hostName: t, children: /* @__PURE__ */ e(k.Overlay, { style: P.OS !== "web" ? A.absoluteFill : void 0, children: /* @__PURE__ */ e(
894
+ y.View,
895
+ {
896
+ entering: v,
897
+ exiting: w,
898
+ className: o(
899
+ "border-border bg-popover web:animate-in web:fade-in-0 web:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border px-3 py-1.5 shadow-md",
900
+ r
901
+ ),
902
+ children: /* @__PURE__ */ e(C, { className: "text-popover-foreground native:text-base text-sm", children: a.children })
903
+ }
904
+ ) }) })
905
+ );
906
+ Ot.displayName = k.Content?.displayName || "TooltipContent";
907
+ const Hr = ({ children: r }) => /* @__PURE__ */ e(H, { children: r }), jt = i.forwardRef(({ className: r, variant: t = "default", ...a }, n) => /* @__PURE__ */ e(
908
+ x.Root,
909
+ {
910
+ ref: n,
911
+ className: o(
912
+ "group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg",
913
+ t === "default" ? "border-border bg-background" : "border-destructive bg-destructive",
914
+ r
915
+ ),
916
+ ...a,
917
+ children: /* @__PURE__ */ e(y.View, { entering: ye, exiting: he, layout: be, className: "w-full flex-row items-center", children: a.children })
918
+ }
919
+ ));
920
+ jt.displayName = x.Root.displayName;
921
+ const Ht = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(x.Title, { ref: a, className: o("text-foreground text-sm font-semibold", r), ...t }));
922
+ Ht.displayName = x.Title.displayName;
923
+ const Lt = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
924
+ x.Description,
925
+ {
926
+ ref: a,
927
+ className: o("text-muted-foreground text-sm opacity-90", r),
928
+ ...t
929
+ }
930
+ ));
931
+ Lt.displayName = x.Description.displayName;
932
+ const Gt = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
933
+ x.Close,
934
+ {
935
+ ref: a,
936
+ className: o(
937
+ "text-foreground/50 hover:text-foreground absolute top-1 right-1 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 focus:opacity-100 focus:ring-1 focus:outline-none",
938
+ r
939
+ ),
940
+ ...t,
941
+ children: /* @__PURE__ */ e(G, { size: 16, className: "text-muted-foreground" })
942
+ }
943
+ ));
944
+ Gt.displayName = x.Close.displayName;
945
+ const Bt = i.forwardRef(({ className: r, ...t }, a) => /* @__PURE__ */ e(
946
+ x.Action,
947
+ {
948
+ ref: a,
949
+ className: o(
950
+ "hover:bg-secondary focus:ring-ring inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors focus:ring-1 focus:outline-none disabled:pointer-events-none disabled:opacity-50",
951
+ r
952
+ ),
953
+ ...t
954
+ }
955
+ ));
956
+ Bt.displayName = x.Action.displayName;
957
+ function Lr({ children: r }) {
958
+ return /* @__PURE__ */ e(s, { style: { flex: 1 }, children: r });
959
+ }
960
+ function Gr() {
961
+ return /* @__PURE__ */ e(ae, { onPress: () => {
962
+ }, children: /* @__PURE__ */ e(s, { style: { padding: 10, backgroundColor: "#eee", borderRadius: 5 }, children: /* @__PURE__ */ e(l, { children: "Toggle Theme" }) }) });
963
+ }
964
+ function Br() {
965
+ return /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { children: "Toaster is not yet implemented for React Native" }) });
966
+ }
967
+ export {
968
+ xe as Accordion,
969
+ Re as AccordionContent,
970
+ Ne as AccordionItem,
971
+ ve as AccordionTrigger,
972
+ Ce as Alert,
973
+ De as AlertDescription,
974
+ Jt as AlertDialog,
975
+ je as AlertDialogAction,
976
+ He as AlertDialogCancel,
977
+ ze as AlertDialogContent,
978
+ Oe as AlertDialogDescription,
979
+ Ve as AlertDialogFooter,
980
+ Ie as AlertDialogHeader,
981
+ J as AlertDialogOverlay,
982
+ Pe as AlertDialogPortal,
983
+ Fe as AlertDialogTitle,
984
+ Kt as AlertDialogTrigger,
985
+ Se as AlertTitle,
986
+ Qt as AspectRatio,
987
+ Le as Avatar,
988
+ Be as AvatarFallback,
989
+ Ge as AvatarImage,
990
+ Yt as Badge,
991
+ Zt as Breadcrumb,
992
+ Ae as Button,
993
+ er as Calendar,
994
+ qe as Card,
995
+ Xe as CardContent,
996
+ $e as CardDescription,
997
+ _e as CardFooter,
998
+ Ee as CardHeader,
999
+ We as CardTitle,
1000
+ tr as Carousel,
1001
+ rr as Chart,
1002
+ Je as Checkbox,
1003
+ ar as Collapsible,
1004
+ ir as CollapsibleContent,
1005
+ or as CollapsibleTrigger,
1006
+ nr as Command,
1007
+ sr as ContextMenu,
1008
+ lr as Dialog,
1009
+ cr as DialogClose,
1010
+ Qe as DialogContent,
1011
+ tt as DialogDescription,
1012
+ Ze as DialogFooter,
1013
+ Ye as DialogHeader,
1014
+ et as DialogTitle,
1015
+ dr as DialogTrigger,
1016
+ mr as Drawer,
1017
+ fr as DropdownMenu,
1018
+ ur as Form,
1019
+ pr as HoverCard,
1020
+ rt as Input,
1021
+ at as Label,
1022
+ gr as Menubar,
1023
+ br as NavigationMenu,
1024
+ hr as Pagination,
1025
+ yr as Popover,
1026
+ xr as Progress,
1027
+ ot as RadioGroup,
1028
+ it as RadioGroupItem,
1029
+ vr as ResizableHandle,
1030
+ wr as ResizablePanel,
1031
+ Nr as ResizablePanelGroup,
1032
+ Rr as ScrollArea,
1033
+ Tr as Search,
1034
+ Cr as Select,
1035
+ st as SelectContent,
1036
+ Sr as SelectGroup,
1037
+ dt as SelectItem,
1038
+ lt as SelectLabel,
1039
+ Y as SelectScrollDownButton,
1040
+ Q as SelectScrollUpButton,
1041
+ ct as SelectSeparator,
1042
+ nt as SelectTrigger,
1043
+ Dr as SelectValue,
1044
+ mt as Separator,
1045
+ kr as Sheet,
1046
+ Pr as SheetClose,
1047
+ pt as SheetContent,
1048
+ yt as SheetDescription,
1049
+ bt as SheetFooter,
1050
+ gt as SheetHeader,
1051
+ Z as SheetOverlay,
1052
+ ut as SheetPortal,
1053
+ ht as SheetTitle,
1054
+ Ar as SheetTrigger,
1055
+ zr as Skeleton,
1056
+ Ir as Slider,
1057
+ Vr as Sonner,
1058
+ xt as Switch,
1059
+ Nt as Table,
1060
+ vt as TableBody,
1061
+ Dt as TableCaption,
1062
+ St as TableCell,
1063
+ Rt as TableFooter,
1064
+ Ct as TableHead,
1065
+ wt as TableHeader,
1066
+ Tt as TableRow,
1067
+ Fr as Tabs,
1068
+ Pt as TabsContent,
1069
+ kt as TabsList,
1070
+ At as TabsTrigger,
1071
+ C as Text,
1072
+ zt as Textarea,
1073
+ Lr as ThemeProvider,
1074
+ Gr as ThemeToggle,
1075
+ jt as Toast,
1076
+ Br as Toaster,
1077
+ It as Toggle,
1078
+ Vt as ToggleGroup,
1079
+ Ft as ToggleGroupItem,
1080
+ Or as Tooltip,
1081
+ Ot as TooltipContent,
1082
+ Hr as TooltipProvider,
1083
+ jr as TooltipTrigger,
1084
+ Me as badgeVariants,
1085
+ M as buttonVariants,
1086
+ o as cn,
1087
+ ft as textVariants,
1088
+ qr as toggleVariants,
1089
+ V as wrapTextChildren
1090
+ };