@gv-tech/ui-native 2.20.0 → 2.21.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.
@@ -1,1450 +1,2058 @@
1
- import { jsx as r, jsxs as g, Fragment as W } from "react/jsx-runtime";
2
- import * as a from "react";
3
- import { Text as m, View as i, Pressable as $, StyleSheet as U, Platform as H, TextInput as ie, Modal as Se, Animated as P, AccessibilityInfo as ke, Linking as Ae, TouchableOpacity as le, ScrollView as De } from "react-native";
4
- import { clsx as Pe } from "clsx";
5
- import { twMerge as Oe } from "tailwind-merge";
6
- import * as T from "@rn-primitives/accordion";
7
- import { ChevronDown as Z, Check as de, X as ee, Circle as Ie, ChevronUp as Ve, ArrowUp as ze, Coffee as He, ExternalLink as Fe } from "lucide-react-native";
8
- import k, { useDerivedValue as je, withTiming as Y, useAnimatedStyle as ce, interpolate as Le, Extrapolation as Be, FadeOut as j, FadeIn as L, SlideOutRight as Ee, SlideInRight as Ge, useSharedValue as Me, withRepeat as Ue, withSequence as $e, Layout as Ye, FadeOutDown as qe, FadeInUp as We } from "react-native-reanimated";
9
- import { cva as B } from "class-variance-authority";
10
- import * as N from "@rn-primitives/alert-dialog";
11
- import * as E from "@rn-primitives/avatar";
12
- import * as J from "@rn-primitives/checkbox";
13
- import * as te from "@rn-primitives/collapsible";
14
- import * as u from "@rn-primitives/dialog";
15
- import * as K from "@rn-primitives/label";
16
- import * as G from "@rn-primitives/radio-group";
17
- import * as p from "@rn-primitives/select";
18
- import * as me from "@rn-primitives/separator";
19
- import * as Q from "@rn-primitives/switch";
20
- import * as F from "@rn-primitives/tabs";
21
- import { toggleVariants as ue } from "@gv-tech/ui-core";
22
- import { toggleVariants as So } from "@gv-tech/ui-core";
23
- import * as fe from "@rn-primitives/toggle";
24
- import * as X from "@rn-primitives/toggle-group";
25
- import * as M from "@rn-primitives/tooltip";
26
- import * as A from "@rn-primitives/toast";
27
- function _(t, e = m, o = {}) {
28
- return a.Children.map(t, (s) => typeof s == "string" || typeof s == "number" ? /* @__PURE__ */ r(e, { ...o, children: s }) : s);
1
+ import * as e from "react";
2
+ import { AccessibilityInfo as t, Animated as n, Linking as r, Modal as i, Platform as a, Pressable as o, ScrollView as s, StyleSheet as c, Text as l, TextInput as u, TouchableOpacity as d, View as f } from "react-native";
3
+ import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
4
+ import { clsx as g } from "clsx";
5
+ import { twMerge as _ } from "tailwind-merge";
6
+ import * as v from "@rn-primitives/accordion";
7
+ import { ArrowUp as ee, Check as y, ChevronDown as b, ChevronLeft as x, ChevronRight as S, ChevronUp as te, Circle as C, Coffee as ne, ExternalLink as re, MoreHorizontal as ie, X as ae } from "lucide-react-native";
8
+ import w, { Extrapolation as oe, FadeIn as T, FadeInUp as se, FadeOut as E, FadeOutDown as ce, Layout as le, SlideInDown as ue, SlideInRight as de, SlideOutDown as fe, SlideOutRight as pe, interpolate as me, useAnimatedStyle as he, useDerivedValue as ge, useSharedValue as _e, withRepeat as ve, withSequence as ye, withTiming as D } from "react-native-reanimated";
9
+ import { cva as O } from "class-variance-authority";
10
+ import * as k from "@rn-primitives/alert-dialog";
11
+ import * as be from "@rn-primitives/aspect-ratio";
12
+ import * as A from "@rn-primitives/avatar";
13
+ import { Slot as xe } from "@rn-primitives/slot";
14
+ import * as Se from "@rn-primitives/checkbox";
15
+ import * as Ce from "@rn-primitives/collapsible";
16
+ import * as j from "@rn-primitives/context-menu";
17
+ import * as M from "@rn-primitives/dialog";
18
+ import * as N from "@rn-primitives/dropdown-menu";
19
+ import * as P from "@rn-primitives/hover-card";
20
+ import * as we from "@rn-primitives/label";
21
+ import * as F from "@rn-primitives/menubar";
22
+ import * as I from "@rn-primitives/navigation-menu";
23
+ import * as L from "@rn-primitives/radio-group";
24
+ import * as R from "@rn-primitives/select";
25
+ import * as Te from "@rn-primitives/separator";
26
+ import * as z from "@rn-primitives/slider";
27
+ import * as Ee from "@rn-primitives/switch";
28
+ import * as B from "@rn-primitives/tabs";
29
+ import { toggleVariants as De } from "@gv-tech/ui-core";
30
+ import * as Oe from "@rn-primitives/toggle";
31
+ import * as V from "@rn-primitives/toggle-group";
32
+ import * as H from "@rn-primitives/tooltip";
33
+ import * as U from "@rn-primitives/toast";
34
+ //#region src/lib/render-native.tsx
35
+ function W(t, n = l, r = {}) {
36
+ return e.Children.map(t, (e) => typeof e == "string" || typeof e == "number" ? /* @__PURE__ */ m(n, {
37
+ ...r,
38
+ children: e
39
+ }) : e);
29
40
  }
30
- function n(...t) {
31
- return Oe(Pe(t));
41
+ //#endregion
42
+ //#region src/lib/utils.ts
43
+ function G(...e) {
44
+ return _(g(e));
32
45
  }
33
- function Xe(t) {
34
- return t.toString().toLowerCase().trim().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-");
46
+ function ke(e) {
47
+ return e.toString().toLowerCase().trim().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-");
35
48
  }
36
- const _e = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(T.Root, { ref: o, className: n("web:gap-0", t), ...e }));
37
- _e.displayName = T.Root?.displayName || "Accordion";
38
- const Je = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(T.Item, { ref: o, className: n("border-border overflow-hidden border-b", t), ...e }));
39
- Je.displayName = T.Item?.displayName || "AccordionItem";
40
- const Ke = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(T.Header, { ref: o, className: n("flex flex-row", t), ...e }));
41
- Ke.displayName = T.Header?.displayName || "AccordionHeader";
42
- const Qe = a.forwardRef(({ className: t, children: e, ...o }, s) => {
43
- const { isExpanded: l } = T.useItemContext(), d = je(
44
- () => l ? Y(1, { duration: 250 }) : Y(0, { duration: 200 })
45
- ), c = ce(() => ({
46
- transform: [{ rotate: `${d.value * 180}deg` }],
47
- opacity: Le(d.value, [0, 1], [1, 0.8], Be.CLAMP)
48
- }));
49
- return /* @__PURE__ */ r(T.Header, { className: "flex", children: /* @__PURE__ */ g(
50
- T.Trigger,
51
- {
52
- ref: s,
53
- className: n(
54
- "flex flex-row items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
55
- t
56
- ),
57
- ...o,
58
- children: [
59
- /* @__PURE__ */ r(W, { children: e }),
60
- /* @__PURE__ */ r(k.View, { style: c, children: /* @__PURE__ */ r(Z, { className: "text-muted-foreground h-4 w-4 shrink-0 transition-transform duration-200" }) })
61
- ]
62
- }
63
- ) });
49
+ //#endregion
50
+ //#region src/accordion.tsx
51
+ var Ae = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(v.Root, {
52
+ ref: n,
53
+ className: G("web:gap-0", e),
54
+ ...t
55
+ }));
56
+ Ae.displayName = v.Root?.displayName || "Accordion";
57
+ var je = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(v.Item, {
58
+ ref: n,
59
+ className: G("border-border overflow-hidden border-b", e),
60
+ ...t
61
+ }));
62
+ je.displayName = v.Item?.displayName || "AccordionItem";
63
+ var Me = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(v.Header, {
64
+ ref: n,
65
+ className: G("flex flex-row", e),
66
+ ...t
67
+ }));
68
+ Me.displayName = v.Header?.displayName || "AccordionHeader";
69
+ var Ne = e.forwardRef(({ className: e, children: t, ...n }, r) => {
70
+ let { isExpanded: i } = v.useItemContext(), a = ge(() => i ? D(1, { duration: 250 }) : D(0, { duration: 200 })), o = he(() => ({
71
+ transform: [{ rotate: `${a.value * 180}deg` }],
72
+ opacity: me(a.value, [0, 1], [1, .8], oe.CLAMP)
73
+ }));
74
+ return /* @__PURE__ */ m(v.Header, {
75
+ className: "flex",
76
+ children: /* @__PURE__ */ h(v.Trigger, {
77
+ ref: r,
78
+ className: G("flex flex-row items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180", e),
79
+ ...n,
80
+ children: [/* @__PURE__ */ m(p, { children: t }), /* @__PURE__ */ m(w.View, {
81
+ style: o,
82
+ children: /* @__PURE__ */ m(b, { className: "text-muted-foreground h-4 w-4 shrink-0 transition-transform duration-200" })
83
+ })]
84
+ })
85
+ });
64
86
  });
65
- Qe.displayName = T.Trigger?.displayName || "AccordionTrigger";
66
- const Ze = a.forwardRef(({ className: t, children: e, ...o }, s) => /* @__PURE__ */ r(
67
- T.Content,
68
- {
69
- ref: s,
70
- className: n(
71
- "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm transition-all",
72
- t
73
- ),
74
- ...o,
75
- children: /* @__PURE__ */ r(i, { className: n("pt-0 pb-4", t), children: e })
76
- }
77
- ));
78
- Ze.displayName = T.Content?.displayName || "AccordionContent";
79
- const et = B("relative w-full rounded-lg border p-4", {
80
- variants: {
81
- variant: {
82
- default: "bg-background border-border",
83
- destructive: "border-destructive/50 bg-destructive/10",
84
- warning: "border-amber-500/50 bg-amber-500/10",
85
- info: "border-blue-500/50 bg-blue-500/10"
86
- }
87
- },
88
- defaultVariants: {
89
- variant: "default"
90
- }
91
- }), tt = a.forwardRef(({ className: t, variant: e, children: o, ...s }, l) => /* @__PURE__ */ r(i, { ref: l, className: n(et({ variant: e }), t), ...s, children: _(o) }));
92
- tt.displayName = "Alert";
93
- const rt = a.forwardRef(
94
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(
95
- m,
96
- {
97
- ref: o,
98
- className: n("text-foreground mb-1 leading-none font-medium tracking-tight", t),
99
- ...e
100
- }
101
- )
102
- );
103
- rt.displayName = "AlertTitle";
104
- const ot = a.forwardRef(
105
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(m, { ref: o, className: n("text-muted-foreground text-sm leading-relaxed", t), ...e })
106
- );
107
- ot.displayName = "AlertDescription";
108
- const re = B(
109
- "flex-row items-center justify-center gap-2 rounded-md transition-colors active:opacity-80",
110
- {
111
- variants: {
112
- variant: {
113
- default: "bg-primary shadow-sm",
114
- destructive: "bg-destructive shadow-sm",
115
- outline: "border border-input bg-transparent shadow-sm",
116
- secondary: "bg-secondary shadow-sm",
117
- ghost: "bg-transparent",
118
- link: "bg-transparent"
119
- },
120
- size: {
121
- default: "h-10 px-4 py-2",
122
- sm: "h-9 px-3",
123
- lg: "h-12 px-8",
124
- icon: "h-10 w-10"
125
- }
126
- },
127
- defaultVariants: {
128
- variant: "default",
129
- size: "default"
130
- }
131
- }
132
- ), at = B("text-sm font-medium", {
133
- variants: {
134
- variant: {
135
- default: "text-primary-foreground",
136
- destructive: "text-destructive-foreground",
137
- outline: "text-foreground",
138
- secondary: "text-secondary-foreground",
139
- ghost: "text-foreground",
140
- link: "text-primary underline"
141
- }
142
- },
143
- defaultVariants: {
144
- variant: "default"
145
- }
146
- }), q = a.forwardRef(
147
- ({ className: t, variant: e, size: o, onPress: s, children: l, disabled: d, ...c }, f) => /* @__PURE__ */ r(
148
- $,
149
- {
150
- ref: f,
151
- onPress: s,
152
- disabled: d,
153
- className: n(re({ variant: e, size: o, className: t }), d && "opacity-50"),
154
- ...c,
155
- children: _(l, m, {
156
- className: n(at({ variant: e }))
157
- })
158
- }
159
- )
160
- );
87
+ Ne.displayName = v.Trigger?.displayName || "AccordionTrigger";
88
+ var Pe = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(v.Content, {
89
+ ref: r,
90
+ className: G("data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm transition-all", e),
91
+ ...n,
92
+ children: /* @__PURE__ */ m(f, {
93
+ className: G("pt-0 pb-4", e),
94
+ children: t
95
+ })
96
+ }));
97
+ Pe.displayName = v.Content?.displayName || "AccordionContent";
98
+ //#endregion
99
+ //#region src/alert.tsx
100
+ var Fe = O("relative w-full rounded-lg border p-4", {
101
+ variants: { variant: {
102
+ default: "bg-background border-border",
103
+ destructive: "border-destructive/50 bg-destructive/10",
104
+ warning: "border-amber-500/50 bg-amber-500/10",
105
+ info: "border-blue-500/50 bg-blue-500/10"
106
+ } },
107
+ defaultVariants: { variant: "default" }
108
+ }), Ie = e.forwardRef(({ className: e, variant: t, children: n, ...r }, i) => /* @__PURE__ */ m(f, {
109
+ ref: i,
110
+ className: G(Fe({ variant: t }), e),
111
+ ...r,
112
+ children: W(n)
113
+ }));
114
+ Ie.displayName = "Alert";
115
+ var Le = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(l, {
116
+ ref: n,
117
+ className: G("text-foreground mb-1 leading-none font-medium tracking-tight", e),
118
+ ...t
119
+ }));
120
+ Le.displayName = "AlertTitle";
121
+ var Re = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(l, {
122
+ ref: n,
123
+ className: G("text-muted-foreground text-sm leading-relaxed", e),
124
+ ...t
125
+ }));
126
+ Re.displayName = "AlertDescription";
127
+ //#endregion
128
+ //#region src/button.tsx
129
+ var K = O("flex-row items-center justify-center gap-2 rounded-md transition-colors active:opacity-80", {
130
+ variants: {
131
+ variant: {
132
+ default: "bg-primary shadow-sm",
133
+ destructive: "bg-destructive shadow-sm",
134
+ outline: "border border-input bg-transparent shadow-sm",
135
+ secondary: "bg-secondary shadow-sm",
136
+ ghost: "bg-transparent",
137
+ link: "bg-transparent"
138
+ },
139
+ size: {
140
+ default: "h-10 px-4 py-2",
141
+ sm: "h-9 px-3",
142
+ lg: "h-12 px-8",
143
+ icon: "h-10 w-10"
144
+ }
145
+ },
146
+ defaultVariants: {
147
+ variant: "default",
148
+ size: "default"
149
+ }
150
+ }), ze = O("text-sm font-medium", {
151
+ variants: { variant: {
152
+ default: "text-primary-foreground",
153
+ destructive: "text-destructive-foreground",
154
+ outline: "text-foreground",
155
+ secondary: "text-secondary-foreground",
156
+ ghost: "text-foreground",
157
+ link: "text-primary underline"
158
+ } },
159
+ defaultVariants: { variant: "default" }
160
+ }), q = e.forwardRef(({ className: e, variant: t, size: n, onPress: r, children: i, disabled: a, ...s }, c) => /* @__PURE__ */ m(o, {
161
+ ref: c,
162
+ onPress: r,
163
+ disabled: a,
164
+ className: G(K({
165
+ variant: t,
166
+ size: n,
167
+ className: e
168
+ }), a && "opacity-50"),
169
+ ...s,
170
+ children: W(i, l, { className: G(ze({ variant: t })) })
171
+ }));
161
172
  q.displayName = "Button";
162
- const zr = N.Root, Hr = N.Trigger, nt = N.Portal, pe = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(N.Overlay, { style: U.absoluteFill, asChild: !0, ref: o, ...e, children: /* @__PURE__ */ r(
163
- k.View,
164
- {
165
- entering: L.duration(150),
166
- exiting: j.duration(150),
167
- className: n("z-50 flex items-center justify-center bg-black/80 p-2", t)
168
- }
169
- ) }));
170
- pe.displayName = N.Overlay?.displayName || "AlertDialogOverlay";
171
- const st = a.forwardRef(({ className: t, portalHost: e, overlayClassName: o, overlayStyle: s, ...l }, d) => /* @__PURE__ */ g(nt, { hostName: e, children: [
172
- /* @__PURE__ */ r(pe, { className: o, style: s }),
173
- /* @__PURE__ */ r(N.Content, { ref: d, asChild: !0, ...l, children: /* @__PURE__ */ r(
174
- k.View,
175
- {
176
- entering: L.duration(150),
177
- exiting: j.duration(150),
178
- className: n(
179
- "border-border bg-background z-50 w-full max-w-lg gap-4 rounded-xl border p-6 shadow-lg sm:rounded-lg",
180
- t
181
- )
182
- }
183
- ) })
184
- ] }));
185
- st.displayName = N.Content?.displayName || "AlertDialogContent";
186
- const it = ({ className: t, ...e }) => /* @__PURE__ */ r(i, { className: n("flex flex-col gap-2 text-center sm:text-left", t), ...e });
187
- it.displayName = "AlertDialogHeader";
188
- const lt = ({ className: t, ...e }) => /* @__PURE__ */ r(i, { className: n("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", t), ...e });
189
- lt.displayName = "AlertDialogFooter";
190
- const dt = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
191
- N.Title,
192
- {
193
- ref: o,
194
- className: n("native:text-xl text-foreground text-lg font-semibold", t),
195
- ...e
196
- }
197
- ));
198
- dt.displayName = N.Title?.displayName || "AlertDialogTitle";
199
- const ct = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
200
- N.Description,
201
- {
202
- ref: o,
203
- className: n("native:text-base text-muted-foreground text-sm", t),
204
- ...e
205
- }
206
- ));
207
- ct.displayName = N.Description?.displayName || "AlertDialogDescription";
208
- const mt = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(N.Action, { ref: o, className: n(re(), t), ...e }));
209
- mt.displayName = N.Action?.displayName || "AlertDialogAction";
210
- const ut = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
211
- N.Cancel,
212
- {
213
- ref: o,
214
- className: n(re({ variant: "outline" }), "mt-2 sm:mt-0", t),
215
- ...e
216
- }
217
- ));
218
- ut.displayName = N.Cancel?.displayName || "AlertDialogCancel";
219
- const Fr = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "aspect-ratio is not yet implemented for React Native" }) }), ft = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
220
- E.Root,
221
- {
222
- ref: o,
223
- className: n("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", t),
224
- ...e
225
- }
226
- ));
227
- ft.displayName = E.Root?.displayName || "Avatar";
228
- const pt = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(E.Image, { ref: o, className: n("aspect-square h-full w-full", t), ...e }));
229
- pt.displayName = E.Image?.displayName || "AvatarImage";
230
- const gt = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
231
- E.Fallback,
232
- {
233
- ref: o,
234
- className: n("bg-muted flex h-full w-full items-center justify-center rounded-full", t),
235
- ...e
236
- }
237
- ));
238
- gt.displayName = E.Fallback?.displayName || "AvatarFallback";
239
- const bt = B("flex-row items-center rounded-md border px-2 py-0.5", {
240
- variants: {
241
- variant: {
242
- default: "border-transparent bg-primary",
243
- secondary: "border-transparent bg-secondary",
244
- destructive: "border-transparent bg-destructive",
245
- outline: "border-border bg-transparent"
246
- }
247
- },
248
- defaultVariants: {
249
- variant: "default"
250
- }
251
- }), ht = B("text-xs font-semibold", {
252
- variants: {
253
- variant: {
254
- default: "text-primary-foreground",
255
- secondary: "text-secondary-foreground",
256
- destructive: "text-destructive-foreground",
257
- outline: "text-foreground"
258
- }
259
- },
260
- defaultVariants: {
261
- variant: "default"
262
- }
173
+ //#endregion
174
+ //#region src/alert-dialog.tsx
175
+ var Be = k.Root, Ve = k.Trigger, He = k.Portal, Ue = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(k.Overlay, {
176
+ style: c.absoluteFill,
177
+ asChild: !0,
178
+ ref: n,
179
+ ...t,
180
+ children: /* @__PURE__ */ m(w.View, {
181
+ entering: T.duration(150),
182
+ exiting: E.duration(150),
183
+ className: G("z-50 flex items-center justify-center bg-black/80 p-2", e)
184
+ })
185
+ }));
186
+ Ue.displayName = k.Overlay?.displayName || "AlertDialogOverlay";
187
+ var We = e.forwardRef(({ className: e, portalHost: t, overlayClassName: n, overlayStyle: r, ...i }, a) => /* @__PURE__ */ h(He, {
188
+ hostName: t,
189
+ children: [/* @__PURE__ */ m(Ue, {
190
+ className: n,
191
+ style: r
192
+ }), /* @__PURE__ */ m(k.Content, {
193
+ ref: a,
194
+ asChild: !0,
195
+ ...i,
196
+ children: /* @__PURE__ */ m(w.View, {
197
+ entering: T.duration(150),
198
+ exiting: E.duration(150),
199
+ className: G("border-border bg-background z-50 w-full max-w-lg gap-4 rounded-xl border p-6 shadow-lg sm:rounded-lg", e)
200
+ })
201
+ })]
202
+ }));
203
+ We.displayName = k.Content?.displayName || "AlertDialogContent";
204
+ var Ge = ({ className: e, ...t }) => /* @__PURE__ */ m(f, {
205
+ className: G("flex flex-col gap-2 text-center sm:text-left", e),
206
+ ...t
263
207
  });
264
- function jr({ className: t, textClassName: e, variant: o, children: s, ...l }) {
265
- return /* @__PURE__ */ r(i, { className: n(bt({ variant: o }), t), ...l, children: _(s, m, {
266
- className: n(ht({ variant: o }), e)
267
- }) });
208
+ Ge.displayName = "AlertDialogHeader";
209
+ var Ke = ({ className: e, ...t }) => /* @__PURE__ */ m(f, {
210
+ className: G("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
211
+ ...t
212
+ });
213
+ Ke.displayName = "AlertDialogFooter";
214
+ var qe = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(k.Title, {
215
+ ref: n,
216
+ className: G("native:text-xl text-foreground text-lg font-semibold", e),
217
+ ...t
218
+ }));
219
+ qe.displayName = k.Title?.displayName || "AlertDialogTitle";
220
+ var Je = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(k.Description, {
221
+ ref: n,
222
+ className: G("native:text-base text-muted-foreground text-sm", e),
223
+ ...t
224
+ }));
225
+ Je.displayName = k.Description?.displayName || "AlertDialogDescription";
226
+ var Ye = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(k.Action, {
227
+ ref: n,
228
+ className: G(K(), e),
229
+ ...t
230
+ }));
231
+ Ye.displayName = k.Action?.displayName || "AlertDialogAction";
232
+ var Xe = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(k.Cancel, {
233
+ ref: n,
234
+ className: G(K({ variant: "outline" }), "mt-2 sm:mt-0", e),
235
+ ...t
236
+ }));
237
+ Xe.displayName = k.Cancel?.displayName || "AlertDialogCancel";
238
+ //#endregion
239
+ //#region src/aspect-ratio.tsx
240
+ var Ze = ({ children: e, className: t, ratio: n = 1 }) => /* @__PURE__ */ m(be.Root, {
241
+ ratio: n,
242
+ className: G("w-full", t),
243
+ children: e
244
+ });
245
+ Ze.displayName = "AspectRatio";
246
+ //#endregion
247
+ //#region src/avatar.tsx
248
+ var Qe = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(A.Root, {
249
+ ref: n,
250
+ className: G("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", e),
251
+ ...t
252
+ }));
253
+ Qe.displayName = A.Root?.displayName || "Avatar";
254
+ var $e = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(A.Image, {
255
+ ref: n,
256
+ className: G("aspect-square h-full w-full", e),
257
+ ...t
258
+ }));
259
+ $e.displayName = A.Image?.displayName || "AvatarImage";
260
+ var et = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(A.Fallback, {
261
+ ref: n,
262
+ className: G("bg-muted flex h-full w-full items-center justify-center rounded-full", e),
263
+ ...t
264
+ }));
265
+ et.displayName = A.Fallback?.displayName || "AvatarFallback";
266
+ //#endregion
267
+ //#region src/badge.tsx
268
+ var tt = O("flex-row items-center rounded-md border px-2 py-0.5", {
269
+ variants: { variant: {
270
+ default: "border-transparent bg-primary",
271
+ secondary: "border-transparent bg-secondary",
272
+ destructive: "border-transparent bg-destructive",
273
+ outline: "border-border bg-transparent"
274
+ } },
275
+ defaultVariants: { variant: "default" }
276
+ }), nt = O("text-xs font-semibold", {
277
+ variants: { variant: {
278
+ default: "text-primary-foreground",
279
+ secondary: "text-secondary-foreground",
280
+ destructive: "text-destructive-foreground",
281
+ outline: "text-foreground"
282
+ } },
283
+ defaultVariants: { variant: "default" }
284
+ });
285
+ function rt({ className: e, textClassName: t, variant: n, children: r, ...i }) {
286
+ return /* @__PURE__ */ m(f, {
287
+ className: G(tt({ variant: n }), e),
288
+ ...i,
289
+ children: W(r, l, { className: G(nt({ variant: n }), t) })
290
+ });
268
291
  }
269
- const Lr = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "breadcrumb is not yet implemented for React Native" }) }), Br = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "calendar is not yet implemented for React Native" }) }), yt = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(i, { ref: o, className: n("border-border bg-card rounded-xl border shadow-sm", t), ...e }));
270
- yt.displayName = "Card";
271
- const xt = a.forwardRef(
272
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(i, { ref: o, className: n("flex flex-col space-y-1.5 p-6", t), ...e })
273
- );
274
- xt.displayName = "CardHeader";
275
- const Nt = a.forwardRef(
276
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(
277
- m,
278
- {
279
- ref: o,
280
- className: n("text-card-foreground text-lg leading-none font-semibold tracking-tight", t),
281
- ...e
282
- }
283
- )
284
- );
285
- Nt.displayName = "CardTitle";
286
- const wt = a.forwardRef(
287
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(m, { ref: o, className: n("text-muted-foreground text-sm", t), ...e })
288
- );
289
- wt.displayName = "CardDescription";
290
- const vt = a.forwardRef(
291
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(i, { ref: o, className: n("p-6 pt-0", t), ...e, children: _(e.children, m, { className: "text-sm text-card-foreground" }) })
292
- );
292
+ //#endregion
293
+ //#region src/text.tsx
294
+ var it = e.createContext(void 0), at = O("text-foreground", {
295
+ variants: { variant: {
296
+ h1: "text-4xl font-extrabold tracking-tight",
297
+ h2: "text-3xl font-semibold tracking-tight",
298
+ h3: "text-2xl font-semibold tracking-tight",
299
+ h4: "text-xl font-semibold tracking-tight",
300
+ body: "text-base leading-7",
301
+ bodySmall: "text-sm leading-6",
302
+ caption: "text-xs text-muted-foreground",
303
+ label: "text-sm font-medium",
304
+ overline: "text-xs font-semibold uppercase tracking-widest text-muted-foreground"
305
+ } },
306
+ defaultVariants: { variant: "body" }
307
+ }), J = e.forwardRef(({ className: e, variant: t = "body", children: n, ...r }, i) => /* @__PURE__ */ m(l, {
308
+ ref: i,
309
+ className: G(at({
310
+ variant: t,
311
+ className: e
312
+ })),
313
+ ...r,
314
+ children: n
315
+ }));
316
+ J.displayName = "Text";
317
+ //#endregion
318
+ //#region src/breadcrumb.tsx
319
+ var ot = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(f, {
320
+ ref: r,
321
+ "aria-label": "breadcrumb",
322
+ className: G("flex flex-row", e),
323
+ ...n,
324
+ children: t
325
+ }));
326
+ ot.displayName = "Breadcrumb";
327
+ var st = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(f, {
328
+ ref: r,
329
+ className: G("text-muted-foreground flex flex-row flex-wrap items-center gap-1.5 break-words sm:gap-2.5", e),
330
+ ...n,
331
+ children: t
332
+ }));
333
+ st.displayName = "BreadcrumbList";
334
+ var ct = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(f, {
335
+ ref: r,
336
+ className: G("flex flex-row items-center gap-1.5", e),
337
+ ...n,
338
+ children: t
339
+ }));
340
+ ct.displayName = "BreadcrumbItem";
341
+ var lt = e.forwardRef(({ asChild: e, className: t, children: n, onPress: r, ...i }, a) => /* @__PURE__ */ m(e ? xe : o, {
342
+ ref: a,
343
+ onPress: r,
344
+ className: G("hover:text-foreground active:text-foreground flex flex-row items-center transition-colors", t),
345
+ ...i,
346
+ children: W(n, J, { className: "text-muted-foreground hover:text-foreground text-sm font-medium" })
347
+ }));
348
+ lt.displayName = "BreadcrumbLink";
349
+ var ut = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(f, {
350
+ ref: r,
351
+ role: "link",
352
+ "aria-disabled": !0,
353
+ "aria-current": "page",
354
+ className: G("flex flex-row items-center", e),
355
+ ...n,
356
+ children: W(t, J, { className: "text-foreground text-sm font-normal" })
357
+ }));
358
+ ut.displayName = "BreadcrumbPage";
359
+ var dt = ({ children: e, className: t, ...n }) => /* @__PURE__ */ m(f, {
360
+ role: "presentation",
361
+ "aria-hidden": !0,
362
+ className: G("flex flex-row items-center justify-center", t),
363
+ ...n,
364
+ children: e ?? /* @__PURE__ */ m(S, {
365
+ size: 14,
366
+ className: "text-muted-foreground"
367
+ })
368
+ });
369
+ dt.displayName = "BreadcrumbSeparator";
370
+ var ft = ({ className: e, children: t, ...n }) => /* @__PURE__ */ m(f, {
371
+ role: "presentation",
372
+ "aria-hidden": !0,
373
+ className: G("flex h-9 w-9 flex-row items-center justify-center", e),
374
+ ...n,
375
+ children: t ?? /* @__PURE__ */ m(ie, {
376
+ size: 14,
377
+ className: "text-muted-foreground"
378
+ })
379
+ });
380
+ ft.displayName = "BreadcrumbEllipsis";
381
+ //#endregion
382
+ //#region src/calendar.tsx
383
+ var pt = ({ className: e }) => /* @__PURE__ */ m(f, { className: e }), mt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(f, {
384
+ ref: n,
385
+ className: G("border-border bg-card rounded-xl border shadow-sm", e),
386
+ ...t
387
+ }));
388
+ mt.displayName = "Card";
389
+ var ht = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(f, {
390
+ ref: n,
391
+ className: G("flex flex-col space-y-1.5 p-6", e),
392
+ ...t
393
+ }));
394
+ ht.displayName = "CardHeader";
395
+ var gt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(l, {
396
+ ref: n,
397
+ className: G("text-card-foreground text-lg leading-none font-semibold tracking-tight", e),
398
+ ...t
399
+ }));
400
+ gt.displayName = "CardTitle";
401
+ var _t = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(l, {
402
+ ref: n,
403
+ className: G("text-muted-foreground text-sm", e),
404
+ ...t
405
+ }));
406
+ _t.displayName = "CardDescription";
407
+ var vt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(f, {
408
+ ref: n,
409
+ className: G("p-6 pt-0", e),
410
+ ...t,
411
+ children: W(t.children, l, { className: "text-sm text-card-foreground" })
412
+ }));
293
413
  vt.displayName = "CardContent";
294
- const Rt = a.forwardRef(
295
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(i, { ref: o, className: n("flex flex-row items-center p-6 pt-0", t), ...e })
296
- );
297
- Rt.displayName = "CardFooter";
298
- const Er = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "carousel is not yet implemented for React Native" }) }), Gr = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "chart is not yet implemented for React Native" }) }), Tt = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
299
- J.Root,
300
- {
301
- ref: o,
302
- className: n(
303
- "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",
304
- e.checked && "bg-primary",
305
- t
306
- ),
307
- ...e,
308
- children: /* @__PURE__ */ r(J.Indicator, { className: n("h-full w-full items-center justify-center"), children: /* @__PURE__ */ r(de, { size: 12, strokeWidth: H.OS === "web" ? 2.5 : 3.5, className: "text-primary-foreground" }) })
309
- }
310
- ));
311
- Tt.displayName = J.Root?.displayName || "Checkbox";
312
- const Mr = te.Root, Ur = te.Trigger, $r = te.Content, Yr = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "command is not yet implemented for React Native" }) }), qr = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "context-menu is not yet implemented for React Native" }) }), Ct = u.Root, Wr = u.Trigger, St = u.Portal, Xr = u.Close, ge = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(u.Overlay, { style: U.absoluteFill, asChild: !0, ref: o, ...e, children: /* @__PURE__ */ r(
313
- k.View,
314
- {
315
- entering: L.duration(150),
316
- exiting: j.duration(150),
317
- className: n("z-50 flex items-center justify-center bg-black/80 p-2", t)
318
- }
319
- ) }));
320
- ge.displayName = u.Overlay?.displayName || "DialogOverlay";
321
- const be = a.forwardRef(
322
- ({ className: t, children: e, portalHost: o, overlayClassName: s, overlayStyle: l, ...d }, c) => /* @__PURE__ */ g(St, { hostName: o, children: [
323
- /* @__PURE__ */ r(ge, { className: s, style: l }),
324
- /* @__PURE__ */ r(u.Content, { ref: c, asChild: !0, ...d, children: /* @__PURE__ */ g(
325
- k.View,
326
- {
327
- entering: L.duration(150),
328
- exiting: j.duration(150),
329
- className: n(
330
- "border-border bg-background z-50 w-full max-w-lg gap-4 rounded-xl border p-6 shadow-lg sm:rounded-lg",
331
- t
332
- ),
333
- children: [
334
- e,
335
- /* @__PURE__ */ g(
336
- u.Close,
337
- {
338
- 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",
339
- children: [
340
- /* @__PURE__ */ r(ee, { size: 18, className: "text-muted-foreground" }),
341
- /* @__PURE__ */ r(i, { className: "sr-only", children: /* @__PURE__ */ r(u.Title, { children: "Close" }) })
342
- ]
343
- }
344
- )
345
- ]
346
- }
347
- ) })
348
- ] })
349
- );
350
- be.displayName = u.Content?.displayName || "DialogContent";
351
- const he = ({ className: t, ...e }) => /* @__PURE__ */ r(i, { className: n("flex flex-col gap-1.5 text-center sm:text-left", t), ...e });
352
- he.displayName = "DialogHeader";
353
- const kt = ({ className: t, ...e }) => /* @__PURE__ */ r(i, { className: n("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", t), ...e });
354
- kt.displayName = "DialogFooter";
355
- const ye = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
356
- u.Title,
357
- {
358
- ref: o,
359
- className: n("native:text-xl text-foreground text-lg leading-none font-semibold tracking-tight", t),
360
- ...e
361
- }
362
- ));
363
- ye.displayName = u.Title?.displayName || "DialogTitle";
364
- const xe = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
365
- u.Description,
366
- {
367
- ref: o,
368
- className: n("native:text-base text-muted-foreground text-sm", t),
369
- ...e
370
- }
371
- ));
372
- xe.displayName = u.Description?.displayName || "DialogDescription";
373
- const _r = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "drawer is not yet implemented for React Native" }) }), Jr = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "dropdown-menu is not yet implemented for React Native" }) }), Kr = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "form is not yet implemented for React Native" }) }), Qr = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "hover-card is not yet implemented for React Native" }) }), At = a.forwardRef(
374
- ({ className: t, placeholderClassName: e, ...o }, s) => /* @__PURE__ */ r(
375
- ie,
376
- {
377
- ref: s,
378
- className: n(
379
- "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",
380
- t
381
- ),
382
- placeholderClassName: n("text-muted-foreground", e),
383
- ...o
384
- }
385
- )
386
- );
387
- At.displayName = "Input";
388
- const Dt = a.forwardRef(({ className: t, onPress: e, onLongPress: o, onPressIn: s, onPressOut: l, ...d }, c) => /* @__PURE__ */ r(
389
- K.Root,
390
- {
391
- className: "web:cursor-default",
392
- onPress: e,
393
- onLongPress: o,
394
- onPressIn: s,
395
- onPressOut: l,
396
- children: /* @__PURE__ */ r(
397
- K.Text,
398
- {
399
- ref: c,
400
- className: n(
401
- "text-foreground native:text-base web:peer-disabled:cursor-not-allowed web:peer-disabled:opacity-70 text-sm leading-none font-medium",
402
- t
403
- ),
404
- ...d
405
- }
406
- )
407
- }
408
- ));
409
- Dt.displayName = K.Root?.displayName || "Label";
410
- const Zr = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "menubar is not yet implemented for React Native" }) }), eo = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "navigation-menu is not yet implemented for React Native" }) }), to = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "pagination is not yet implemented for React Native" }) }), oe = a.createContext({
411
- open: !1,
412
- setOpen: () => {
413
- }
414
- }), Pt = a.forwardRef(({ children: t, open: e, onOpenChange: o, ...s }, l) => {
415
- const [d, c] = a.useState(!1), f = e !== void 0, y = f ? e : d, w = f ? o || (() => {
416
- }) : c;
417
- return /* @__PURE__ */ r(oe.Provider, { value: { open: y, setOpen: w }, children: /* @__PURE__ */ r(i, { ref: l, ...s, children: t }) });
414
+ var yt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(f, {
415
+ ref: n,
416
+ className: G("flex flex-row items-center p-6 pt-0", e),
417
+ ...t
418
+ }));
419
+ yt.displayName = "CardFooter";
420
+ //#endregion
421
+ //#region src/carousel.tsx
422
+ var bt = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
423
+ className: t,
424
+ children: e
425
+ }), xt = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
426
+ className: t,
427
+ children: e
428
+ }), St = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
429
+ className: t,
430
+ children: e
431
+ }), Ct = ({ className: e }) => /* @__PURE__ */ m(f, { className: e }), wt = ({ className: e }) => /* @__PURE__ */ m(f, { className: e }), Tt = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
432
+ className: t,
433
+ children: e
434
+ }), Et = ({ className: e }) => /* @__PURE__ */ m(f, { className: e }), Dt = ({ className: e }) => /* @__PURE__ */ m(f, { className: e }), Ot = ({ children: e }) => /* @__PURE__ */ m(p, { children: e }), kt = ({ children: e }) => /* @__PURE__ */ m(p, { children: e }), At = () => null, jt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(Se.Root, {
435
+ ref: n,
436
+ className: G("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", t.checked && "bg-primary", e),
437
+ ...t,
438
+ children: /* @__PURE__ */ m(Se.Indicator, {
439
+ className: G("h-full w-full items-center justify-center"),
440
+ children: /* @__PURE__ */ m(y, {
441
+ size: 12,
442
+ strokeWidth: a.OS === "web" ? 2.5 : 3.5,
443
+ className: "text-primary-foreground"
444
+ })
445
+ })
446
+ }));
447
+ jt.displayName = Se.Root?.displayName || "Checkbox";
448
+ //#endregion
449
+ //#region src/collapsible.tsx
450
+ var Mt = Ce.Root, Nt = Ce.Trigger, Pt = Ce.Content, Ft = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
451
+ className: t,
452
+ children: W(e)
453
+ }), It = ({ children: e }) => /* @__PURE__ */ m(p, { children: e }), Lt = ({ className: e }) => /* @__PURE__ */ m(f, { className: e }), Rt = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
454
+ className: t,
455
+ children: W(e)
456
+ }), zt = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
457
+ className: t,
458
+ children: W(e)
459
+ }), Bt = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
460
+ className: t,
461
+ children: W(e)
462
+ }), Vt = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
463
+ className: t,
464
+ children: W(e)
465
+ }), Ht = ({ className: e }) => /* @__PURE__ */ m(f, { className: e }), Ut = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
466
+ className: t,
467
+ children: W(e)
468
+ }), Wt = j.Root, Gt = j.Trigger, Kt = j.Portal, qt = j.Group, Jt = j.RadioGroup, Yt = j.Sub, Xt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(j.Overlay, {
469
+ style: a.OS === "web" ? void 0 : c.absoluteFill,
470
+ ref: n,
471
+ ...t,
472
+ children: /* @__PURE__ */ m(w.View, {
473
+ entering: T.duration(100),
474
+ exiting: E.duration(100),
475
+ className: G("absolute inset-0 z-50 bg-black/30", e)
476
+ })
477
+ }));
478
+ Xt.displayName = "ContextMenuOverlay";
479
+ var Zt = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ h(Kt, { children: [/* @__PURE__ */ m(Xt, {}), /* @__PURE__ */ m(j.Content, {
480
+ ref: r,
481
+ className: G("bg-popover border-border z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", e),
482
+ ...n,
483
+ children: t
484
+ })] }));
485
+ Zt.displayName = "ContextMenuContent";
486
+ var Qt = e.forwardRef(({ className: e, children: t, inset: n, ...r }, i) => /* @__PURE__ */ m(j.Item, {
487
+ ref: i,
488
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground relative flex flex-row items-center rounded-sm px-2 py-1.5 text-sm outline-none", n && "pl-8", e),
489
+ ...r,
490
+ children: W(t, J)
491
+ }));
492
+ Qt.displayName = "ContextMenuItem";
493
+ var $t = e.forwardRef(({ className: e, children: t, checked: n, onCheckedChange: r, ...i }, a) => /* @__PURE__ */ h(j.CheckboxItem, {
494
+ ref: a,
495
+ checked: !!n,
496
+ onCheckedChange: r || (() => {}),
497
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground relative flex flex-row items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none", e),
498
+ ...i,
499
+ children: [/* @__PURE__ */ m(f, {
500
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
501
+ children: /* @__PURE__ */ m(j.ItemIndicator, { children: /* @__PURE__ */ m(y, {
502
+ size: 14,
503
+ className: "text-foreground"
504
+ }) })
505
+ }), W(t, J)]
506
+ }));
507
+ $t.displayName = "ContextMenuCheckboxItem";
508
+ var en = e.forwardRef(({ className: e, children: t, value: n, ...r }, i) => /* @__PURE__ */ h(j.RadioItem, {
509
+ ref: i,
510
+ value: n,
511
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground relative flex flex-row items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none", e),
512
+ ...r,
513
+ children: [/* @__PURE__ */ m(f, {
514
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
515
+ children: /* @__PURE__ */ m(j.ItemIndicator, { children: /* @__PURE__ */ m(C, {
516
+ size: 8,
517
+ className: "text-foreground fill-current"
518
+ }) })
519
+ }), W(t, J)]
520
+ }));
521
+ en.displayName = "ContextMenuRadioItem";
522
+ var tn = e.forwardRef(({ className: e, children: t, inset: n, ...r }, i) => /* @__PURE__ */ m(j.Label, {
523
+ ref: i,
524
+ className: G("text-foreground px-2 py-1.5 text-sm font-semibold", n && "pl-8", e),
525
+ ...r,
526
+ children: W(t, J)
527
+ }));
528
+ tn.displayName = "ContextMenuLabel";
529
+ var nn = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(j.Separator, {
530
+ ref: n,
531
+ className: G("bg-border -mx-1 my-1 h-px", e),
532
+ ...t
533
+ }));
534
+ nn.displayName = "ContextMenuSeparator";
535
+ var rn = ({ className: e, children: t, ...n }) => /* @__PURE__ */ m(J, {
536
+ className: G("text-muted-foreground ml-auto text-xs tracking-widest", e),
537
+ ...n,
538
+ children: t
539
+ });
540
+ rn.displayName = "ContextMenuShortcut";
541
+ var an = e.forwardRef(({ className: e, children: t, inset: n, ...r }, i) => /* @__PURE__ */ h(j.SubTrigger, {
542
+ ref: i,
543
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground flex flex-row items-center rounded-sm px-2 py-1.5 text-sm outline-none", n && "pl-8", e),
544
+ ...r,
545
+ children: [/* @__PURE__ */ m(f, {
546
+ className: "flex flex-row items-center gap-1.5",
547
+ children: W(t, J)
548
+ }), /* @__PURE__ */ m(S, {
549
+ size: 14,
550
+ className: "text-foreground ml-auto"
551
+ })]
552
+ }));
553
+ an.displayName = "ContextMenuSubTrigger";
554
+ var on = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(j.SubContent, {
555
+ ref: r,
556
+ className: G("bg-popover border-border z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", e),
557
+ ...n,
558
+ children: t
559
+ }));
560
+ on.displayName = "ContextMenuSubContent";
561
+ //#endregion
562
+ //#region src/dialog.tsx
563
+ var sn = M.Root, cn = M.Trigger, ln = M.Portal, un = M.Close, dn = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(M.Overlay, {
564
+ style: c.absoluteFill,
565
+ asChild: !0,
566
+ ref: n,
567
+ ...t,
568
+ children: /* @__PURE__ */ m(w.View, {
569
+ entering: T.duration(150),
570
+ exiting: E.duration(150),
571
+ className: G("z-50 flex items-center justify-center bg-black/80 p-2", e)
572
+ })
573
+ }));
574
+ dn.displayName = M.Overlay?.displayName || "DialogOverlay";
575
+ var fn = e.forwardRef(({ className: e, children: t, portalHost: n, overlayClassName: r, overlayStyle: i, ...a }, o) => /* @__PURE__ */ h(ln, {
576
+ hostName: n,
577
+ children: [/* @__PURE__ */ m(dn, {
578
+ className: r,
579
+ style: i
580
+ }), /* @__PURE__ */ m(M.Content, {
581
+ ref: o,
582
+ asChild: !0,
583
+ ...a,
584
+ children: /* @__PURE__ */ h(w.View, {
585
+ entering: T.duration(150),
586
+ exiting: E.duration(150),
587
+ className: G("border-border bg-background z-50 w-full max-w-lg gap-4 rounded-xl border p-6 shadow-lg sm:rounded-lg", e),
588
+ children: [t, /* @__PURE__ */ h(M.Close, {
589
+ 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",
590
+ children: [/* @__PURE__ */ m(ae, {
591
+ size: 18,
592
+ className: "text-muted-foreground"
593
+ }), /* @__PURE__ */ m(f, {
594
+ className: "sr-only",
595
+ children: /* @__PURE__ */ m(M.Title, { children: "Close" })
596
+ })]
597
+ })]
598
+ })
599
+ })]
600
+ }));
601
+ fn.displayName = M.Content?.displayName || "DialogContent";
602
+ var pn = ({ className: e, ...t }) => /* @__PURE__ */ m(f, {
603
+ className: G("flex flex-col gap-1.5 text-center sm:text-left", e),
604
+ ...t
605
+ });
606
+ pn.displayName = "DialogHeader";
607
+ var mn = ({ className: e, ...t }) => /* @__PURE__ */ m(f, {
608
+ className: G("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
609
+ ...t
610
+ });
611
+ mn.displayName = "DialogFooter";
612
+ var hn = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(M.Title, {
613
+ ref: n,
614
+ className: G("native:text-xl text-foreground text-lg leading-none font-semibold tracking-tight", e),
615
+ ...t
616
+ }));
617
+ hn.displayName = M.Title?.displayName || "DialogTitle";
618
+ var gn = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(M.Description, {
619
+ ref: n,
620
+ className: G("native:text-base text-muted-foreground text-sm", e),
621
+ ...t
622
+ }));
623
+ gn.displayName = M.Description?.displayName || "DialogDescription";
624
+ //#endregion
625
+ //#region src/drawer.tsx
626
+ var _n = ({ children: e }) => /* @__PURE__ */ m(M.Root, { children: e });
627
+ _n.displayName = "Drawer";
628
+ var vn = e.forwardRef(({ children: e, className: t, ...n }, r) => /* @__PURE__ */ m(M.Trigger, {
629
+ ref: r,
630
+ className: t,
631
+ ...n,
632
+ children: W(e)
633
+ }));
634
+ vn.displayName = "DrawerTrigger";
635
+ var yn = M.Portal, bn = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(M.Overlay, {
636
+ style: c.absoluteFill,
637
+ asChild: !0,
638
+ ref: n,
639
+ ...t,
640
+ children: /* @__PURE__ */ m(w.View, {
641
+ entering: T.duration(150),
642
+ exiting: E.duration(150),
643
+ className: G("z-50 bg-black/80", e)
644
+ })
645
+ }));
646
+ bn.displayName = "DrawerOverlay";
647
+ var xn = e.forwardRef(({ className: e, children: t, portalHost: n, overlayClassName: r, overlayStyle: i, ...a }, o) => /* @__PURE__ */ h(yn, {
648
+ hostName: n,
649
+ children: [/* @__PURE__ */ m(bn, {
650
+ className: r,
651
+ style: i
652
+ }), /* @__PURE__ */ m(M.Content, {
653
+ ref: o,
654
+ asChild: !0,
655
+ ...a,
656
+ children: /* @__PURE__ */ h(w.View, {
657
+ entering: ue.duration(200),
658
+ exiting: fe.duration(200),
659
+ className: G("border-border bg-background fixed inset-x-0 bottom-0 z-50 flex h-auto flex-col rounded-t-xl border p-6 pb-10 shadow-lg", e),
660
+ children: [/* @__PURE__ */ m(f, { className: "bg-muted mx-auto mb-4 h-1.5 w-12 rounded-full" }), t]
661
+ })
662
+ })]
663
+ }));
664
+ xn.displayName = "DrawerContent";
665
+ var Sn = ({ className: e, children: t, ...n }) => /* @__PURE__ */ m(f, {
666
+ className: G("flex flex-col gap-1.5 text-center sm:text-left", e),
667
+ ...n,
668
+ children: W(t)
669
+ });
670
+ Sn.displayName = "DrawerHeader";
671
+ var Cn = ({ className: e, children: t, ...n }) => /* @__PURE__ */ m(f, {
672
+ className: G("mt-auto flex flex-col gap-2", e),
673
+ ...n,
674
+ children: W(t)
675
+ });
676
+ Cn.displayName = "DrawerFooter";
677
+ var wn = e.forwardRef(({ children: e, className: t, ...n }, r) => /* @__PURE__ */ m(M.Close, {
678
+ ref: r,
679
+ className: t,
680
+ ...n,
681
+ children: W(e)
682
+ }));
683
+ wn.displayName = "DrawerClose";
684
+ var Tn = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(M.Title, {
685
+ ref: r,
686
+ className: G("text-foreground text-lg leading-none font-semibold tracking-tight", e),
687
+ ...n,
688
+ children: W(t)
689
+ }));
690
+ Tn.displayName = "DrawerTitle";
691
+ var En = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(M.Description, {
692
+ ref: r,
693
+ className: G("text-muted-foreground text-sm", e),
694
+ ...n,
695
+ children: W(t)
696
+ }));
697
+ En.displayName = "DrawerDescription";
698
+ //#endregion
699
+ //#region src/dropdown-menu.tsx
700
+ var Dn = N.Root, On = N.Trigger, kn = N.Portal, An = N.Group, jn = N.RadioGroup, Mn = N.Sub, Nn = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(N.Overlay, {
701
+ style: a.OS === "web" ? void 0 : c.absoluteFill,
702
+ ref: n,
703
+ ...t,
704
+ children: /* @__PURE__ */ m(w.View, {
705
+ entering: T.duration(100),
706
+ exiting: E.duration(100),
707
+ className: G("absolute inset-0 z-50 bg-black/30", e)
708
+ })
709
+ }));
710
+ Nn.displayName = "DropdownMenuOverlay";
711
+ var Pn = e.forwardRef(({ className: e, children: t, side: n, ...r }, i) => {
712
+ let a = n === "left" || n === "right" ? "bottom" : n;
713
+ return /* @__PURE__ */ h(kn, { children: [/* @__PURE__ */ m(Nn, {}), /* @__PURE__ */ m(N.Content, {
714
+ ref: i,
715
+ side: a,
716
+ className: G("bg-popover border-border z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", e),
717
+ ...r,
718
+ children: t
719
+ })] });
720
+ });
721
+ Pn.displayName = "DropdownMenuContent";
722
+ var Fn = e.forwardRef(({ className: e, children: t, inset: n, ...r }, i) => /* @__PURE__ */ m(N.Item, {
723
+ ref: i,
724
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground relative flex flex-row items-center rounded-sm px-2 py-1.5 text-sm outline-none", n && "pl-8", e),
725
+ ...r,
726
+ children: W(t, J)
727
+ }));
728
+ Fn.displayName = "DropdownMenuItem";
729
+ var In = e.forwardRef(({ className: e, children: t, checked: n, onCheckedChange: r, ...i }, a) => /* @__PURE__ */ h(N.CheckboxItem, {
730
+ ref: a,
731
+ checked: !!n,
732
+ onCheckedChange: r || (() => {}),
733
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground relative flex flex-row items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none", e),
734
+ ...i,
735
+ children: [/* @__PURE__ */ m(f, {
736
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
737
+ children: /* @__PURE__ */ m(N.ItemIndicator, { children: /* @__PURE__ */ m(y, {
738
+ size: 14,
739
+ className: "text-foreground"
740
+ }) })
741
+ }), W(t, J)]
742
+ }));
743
+ In.displayName = "DropdownMenuCheckboxItem";
744
+ var Ln = e.forwardRef(({ className: e, children: t, value: n, ...r }, i) => /* @__PURE__ */ h(N.RadioItem, {
745
+ ref: i,
746
+ value: n,
747
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground relative flex flex-row items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none", e),
748
+ ...r,
749
+ children: [/* @__PURE__ */ m(f, {
750
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
751
+ children: /* @__PURE__ */ m(N.ItemIndicator, { children: /* @__PURE__ */ m(C, {
752
+ size: 8,
753
+ className: "text-foreground fill-current"
754
+ }) })
755
+ }), W(t, J)]
756
+ }));
757
+ Ln.displayName = "DropdownMenuRadioItem";
758
+ var Rn = e.forwardRef(({ className: e, children: t, inset: n, ...r }, i) => /* @__PURE__ */ m(N.Label, {
759
+ ref: i,
760
+ className: G("text-foreground px-2 py-1.5 text-sm font-semibold", n && "pl-8", e),
761
+ ...r,
762
+ children: W(t, J)
763
+ }));
764
+ Rn.displayName = "DropdownMenuLabel";
765
+ var zn = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(N.Separator, {
766
+ ref: n,
767
+ className: G("bg-border -mx-1 my-1 h-px", e),
768
+ ...t
769
+ }));
770
+ zn.displayName = "DropdownMenuSeparator";
771
+ var Bn = ({ className: e, children: t, ...n }) => /* @__PURE__ */ m(J, {
772
+ className: G("text-muted-foreground ml-auto text-xs tracking-widest", e),
773
+ ...n,
774
+ children: t
775
+ });
776
+ Bn.displayName = "DropdownMenuShortcut";
777
+ var Vn = e.forwardRef(({ className: e, children: t, inset: n, ...r }, i) => /* @__PURE__ */ h(N.SubTrigger, {
778
+ ref: i,
779
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground flex flex-row items-center rounded-sm px-2 py-1.5 text-sm outline-none", n && "pl-8", e),
780
+ ...r,
781
+ children: [/* @__PURE__ */ m(f, {
782
+ className: "flex flex-row items-center gap-1.5",
783
+ children: W(t, J)
784
+ }), /* @__PURE__ */ m(S, {
785
+ size: 14,
786
+ className: "text-foreground ml-auto"
787
+ })]
788
+ }));
789
+ Vn.displayName = "DropdownMenuSubTrigger";
790
+ var Hn = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(N.SubContent, {
791
+ ref: r,
792
+ className: G("bg-popover border-border z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", e),
793
+ ...n,
794
+ children: t
795
+ }));
796
+ Hn.displayName = "DropdownMenuSubContent";
797
+ //#endregion
798
+ //#region src/form.tsx
799
+ var Un = () => /* @__PURE__ */ m(f, { children: /* @__PURE__ */ m(l, { children: "form is not yet implemented for React Native" }) }), Wn = P.Root, Gn = P.Trigger, Kn = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(P.Portal, { children: /* @__PURE__ */ m(P.Content, {
800
+ ref: r,
801
+ className: G("bg-popover text-popover-foreground border-border z-50 w-64 rounded-md border p-4 shadow-md", e),
802
+ ...n,
803
+ children: t
804
+ }) }));
805
+ Kn.displayName = P.Content?.displayName || "HoverCardContent";
806
+ //#endregion
807
+ //#region src/input.tsx
808
+ var qn = e.forwardRef(({ className: e, placeholderClassName: t, ...n }, r) => /* @__PURE__ */ m(u, {
809
+ ref: r,
810
+ className: G("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", e),
811
+ placeholderClassName: G("text-muted-foreground", t),
812
+ ...n
813
+ }));
814
+ qn.displayName = "Input";
815
+ //#endregion
816
+ //#region src/label.tsx
817
+ var Jn = e.forwardRef(({ className: e, onPress: t, onLongPress: n, onPressIn: r, onPressOut: i, ...a }, o) => /* @__PURE__ */ m(we.Root, {
818
+ className: "web:cursor-default",
819
+ onPress: t,
820
+ onLongPress: n,
821
+ onPressIn: r,
822
+ onPressOut: i,
823
+ children: /* @__PURE__ */ m(we.Text, {
824
+ ref: o,
825
+ className: G("text-foreground native:text-base web:peer-disabled:cursor-not-allowed web:peer-disabled:opacity-70 text-sm leading-none font-medium", e),
826
+ ...a
827
+ })
828
+ }));
829
+ Jn.displayName = we.Root?.displayName || "Label";
830
+ //#endregion
831
+ //#region src/menubar.tsx
832
+ var Yn = e.forwardRef(({ className: t, children: n, value: r, onValueChange: i, ...a }, o) => {
833
+ let [s, c] = e.useState(r || ""), l = r === void 0 ? s : r;
834
+ return /* @__PURE__ */ m(F.Root, {
835
+ ref: o,
836
+ value: l,
837
+ onValueChange: (e) => {
838
+ c(e), i?.(e || "");
839
+ },
840
+ className: G("bg-background border-border flex flex-row items-center space-x-1 rounded-md border p-1 shadow-sm", t),
841
+ ...a,
842
+ children: n
843
+ });
844
+ });
845
+ Yn.displayName = "Menubar";
846
+ var Xn = F.Menu, Zn = F.Portal, Qn = F.Group, $n = F.RadioGroup, er = F.Sub, tr = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(F.Overlay, {
847
+ style: a.OS === "web" ? void 0 : c.absoluteFill,
848
+ ref: n,
849
+ ...t,
850
+ children: /* @__PURE__ */ m(w.View, {
851
+ entering: T.duration(100),
852
+ exiting: E.duration(100),
853
+ className: G("absolute inset-0 z-50 bg-black/30", e)
854
+ })
855
+ }));
856
+ tr.displayName = "MenubarOverlay";
857
+ var nr = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(F.Trigger, {
858
+ ref: r,
859
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground flex flex-row items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none", e),
860
+ ...n,
861
+ children: W(t, J)
862
+ }));
863
+ nr.displayName = "MenubarTrigger";
864
+ var rr = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ h(Zn, { children: [/* @__PURE__ */ m(tr, {}), /* @__PURE__ */ m(F.Content, {
865
+ ref: r,
866
+ className: G("bg-popover border-border z-50 min-w-[12rem] overflow-hidden rounded-md border p-1 shadow-md", e),
867
+ ...n,
868
+ children: t
869
+ })] }));
870
+ rr.displayName = "MenubarContent";
871
+ var ir = e.forwardRef(({ className: e, children: t, inset: n, ...r }, i) => /* @__PURE__ */ m(F.Item, {
872
+ ref: i,
873
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground relative flex flex-row items-center rounded-sm px-2 py-1.5 text-sm outline-none", n && "pl-8", e),
874
+ ...r,
875
+ children: W(t, J)
876
+ }));
877
+ ir.displayName = "MenubarItem";
878
+ var ar = e.forwardRef(({ className: e, children: t, checked: n, onCheckedChange: r, ...i }, a) => /* @__PURE__ */ h(F.CheckboxItem, {
879
+ ref: a,
880
+ checked: !!n,
881
+ onCheckedChange: r || (() => {}),
882
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground relative flex flex-row items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none", e),
883
+ ...i,
884
+ children: [/* @__PURE__ */ m(f, {
885
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
886
+ children: /* @__PURE__ */ m(F.ItemIndicator, { children: /* @__PURE__ */ m(y, {
887
+ size: 14,
888
+ className: "text-foreground"
889
+ }) })
890
+ }), W(t, J)]
891
+ }));
892
+ ar.displayName = "MenubarCheckboxItem";
893
+ var or = e.forwardRef(({ className: e, children: t, value: n, ...r }, i) => /* @__PURE__ */ h(F.RadioItem, {
894
+ ref: i,
895
+ value: n,
896
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground relative flex flex-row items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none", e),
897
+ ...r,
898
+ children: [/* @__PURE__ */ m(f, {
899
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
900
+ children: /* @__PURE__ */ m(F.ItemIndicator, { children: /* @__PURE__ */ m(C, {
901
+ size: 8,
902
+ className: "text-foreground fill-current"
903
+ }) })
904
+ }), W(t, J)]
905
+ }));
906
+ or.displayName = "MenubarRadioItem";
907
+ var sr = e.forwardRef(({ className: e, children: t, inset: n, ...r }, i) => /* @__PURE__ */ m(F.Label, {
908
+ ref: i,
909
+ className: G("text-foreground px-2 py-1.5 text-sm font-semibold", n && "pl-8", e),
910
+ ...r,
911
+ children: W(t, J)
912
+ }));
913
+ sr.displayName = "MenubarLabel";
914
+ var cr = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(F.Separator, {
915
+ ref: n,
916
+ className: G("bg-border -mx-1 my-1 h-px", e),
917
+ ...t
918
+ }));
919
+ cr.displayName = "MenubarSeparator";
920
+ var lr = ({ className: e, children: t, ...n }) => /* @__PURE__ */ m(J, {
921
+ className: G("text-muted-foreground ml-auto text-xs tracking-widest", e),
922
+ ...n,
923
+ children: t
924
+ });
925
+ lr.displayName = "MenubarShortcut";
926
+ var ur = e.forwardRef(({ className: e, children: t, inset: n, ...r }, i) => /* @__PURE__ */ h(F.SubTrigger, {
927
+ ref: i,
928
+ className: G("focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground flex flex-row items-center rounded-sm px-2 py-1.5 text-sm outline-none", n && "pl-8", e),
929
+ ...r,
930
+ children: [/* @__PURE__ */ m(f, {
931
+ className: "flex flex-row items-center gap-1.5",
932
+ children: W(t, J)
933
+ }), /* @__PURE__ */ m(S, {
934
+ size: 14,
935
+ className: "text-foreground ml-auto"
936
+ })]
937
+ }));
938
+ ur.displayName = "MenubarSubTrigger";
939
+ var dr = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(F.SubContent, {
940
+ ref: r,
941
+ className: G("bg-popover border-border z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", e),
942
+ ...n,
943
+ children: t
944
+ }));
945
+ dr.displayName = "MenubarSubContent";
946
+ //#endregion
947
+ //#region src/navigation-menu.tsx
948
+ var fr = e.forwardRef(({ className: e, children: t, value: n, onValueChange: r, dir: i, orientation: a, delayDuration: o, skipDelayDuration: s, ...c }, l) => /* @__PURE__ */ m(I.Root, {
949
+ ref: l,
950
+ value: n,
951
+ onValueChange: r ? (e) => r(e || "") : () => {},
952
+ delayDuration: o,
953
+ skipDelayDuration: s,
954
+ className: G("relative z-10 flex flex-row items-center justify-center", e),
955
+ ...c,
956
+ children: t
957
+ }));
958
+ fr.displayName = "NavigationMenu";
959
+ var pr = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(I.List, {
960
+ ref: r,
961
+ className: G("group flex flex-1 list-none flex-row items-center justify-center gap-1", e),
962
+ ...n,
963
+ children: t
964
+ }));
965
+ pr.displayName = "NavigationMenuList";
966
+ var mr = e.forwardRef(({ className: e, children: t, value: n, ...r }, i) => /* @__PURE__ */ m(I.Item, {
967
+ ref: i,
968
+ value: n || "",
969
+ className: G("relative", e),
970
+ ...r,
971
+ children: t
972
+ }));
973
+ mr.displayName = "NavigationMenuItem";
974
+ var hr = e.forwardRef(({ className: e, children: t, disabled: n, ...r }, i) => /* @__PURE__ */ h(I.Trigger, {
975
+ ref: i,
976
+ disabled: n,
977
+ className: G("group bg-background hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground active:bg-accent active:text-accent-foreground flex flex-row items-center justify-center gap-1 rounded-md px-4 py-2 text-sm font-medium transition-colors disabled:opacity-50", e),
978
+ ...r,
979
+ children: [/* @__PURE__ */ m(p, { children: t }), /* @__PURE__ */ m(b, {
980
+ size: 12,
981
+ className: "text-muted-foreground transition-transform duration-200 group-data-[state=open]:rotate-180"
982
+ })]
983
+ }));
984
+ hr.displayName = "NavigationMenuTrigger";
985
+ var gr = e.forwardRef(({ className: e, children: t, forceMount: n, ...r }, i) => /* @__PURE__ */ m(I.Portal, { children: /* @__PURE__ */ m(I.Content, {
986
+ ref: i,
987
+ ...r,
988
+ children: /* @__PURE__ */ m(w.View, {
989
+ entering: T.duration(150),
990
+ exiting: E.duration(150),
991
+ className: G("bg-popover border-border z-50 overflow-hidden rounded-md border p-4 shadow-md", e),
992
+ children: t
993
+ })
994
+ }) }));
995
+ gr.displayName = "NavigationMenuContent";
996
+ var _r = e.forwardRef(({ className: e, children: t, active: n, onSelect: r, onPress: i, href: a, ...o }, s) => /* @__PURE__ */ m(I.Link, {
997
+ ref: s,
998
+ active: n,
999
+ onPress: (e) => {
1000
+ i && i(), r && r(e);
1001
+ },
1002
+ className: G("hover:bg-accent hover:text-accent-foreground active:bg-accent active:text-accent-foreground rounded-md px-3 py-2 text-sm font-medium transition-colors", n && "bg-accent text-accent-foreground", e),
1003
+ ...o,
1004
+ children: t
1005
+ }));
1006
+ _r.displayName = "NavigationMenuLink";
1007
+ var vr = e.forwardRef(({ className: e, forceMount: t, ...n }, r) => /* @__PURE__ */ m(f, {
1008
+ className: "absolute top-full left-0 flex justify-center",
1009
+ children: /* @__PURE__ */ m(I.Viewport, {
1010
+ ref: r,
1011
+ className: G("origin-top-center bg-popover text-popover-foreground border-border relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow-lg md:w-[var(--radix-navigation-menu-viewport-width)]", e),
1012
+ ...n
1013
+ })
1014
+ }));
1015
+ vr.displayName = "NavigationMenuViewport";
1016
+ var yr = e.forwardRef(({ className: e, forceMount: t, ...n }, r) => /* @__PURE__ */ m(I.Indicator, {
1017
+ ref: r,
1018
+ className: G("z-10 flex h-1.5 items-end justify-center overflow-hidden transition-all duration-200", e),
1019
+ ...n,
1020
+ children: /* @__PURE__ */ m(f, { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
1021
+ }));
1022
+ yr.displayName = "NavigationMenuIndicator";
1023
+ //#endregion
1024
+ //#region src/pagination.tsx
1025
+ var br = ({ className: e, children: t, ...n }) => /* @__PURE__ */ m(f, {
1026
+ role: "navigation",
1027
+ "aria-label": "pagination",
1028
+ className: G("mx-auto flex w-full flex-row justify-center", e),
1029
+ ...n,
1030
+ children: t
1031
+ });
1032
+ br.displayName = "Pagination";
1033
+ var xr = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(f, {
1034
+ ref: r,
1035
+ className: G("flex flex-row items-center gap-1", e),
1036
+ ...n,
1037
+ children: t
1038
+ }));
1039
+ xr.displayName = "PaginationContent";
1040
+ var Sr = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ m(f, {
1041
+ ref: r,
1042
+ className: G("", e),
1043
+ ...n,
1044
+ children: t
1045
+ }));
1046
+ Sr.displayName = "PaginationItem";
1047
+ var Y = ({ className: e, isActive: t, size: n = "icon", children: r, onPress: i, ...a }) => /* @__PURE__ */ m(q, {
1048
+ variant: t ? "outline" : "ghost",
1049
+ size: n,
1050
+ onPress: i,
1051
+ className: e,
1052
+ ...a,
1053
+ children: r
1054
+ });
1055
+ Y.displayName = "PaginationLink";
1056
+ var Cr = ({ className: e, children: t, onPress: n, ...r }) => /* @__PURE__ */ h(Y, {
1057
+ "aria-label": "Go to previous page",
1058
+ size: "default",
1059
+ className: G("flex flex-row items-center gap-1 pl-2.5", e),
1060
+ onPress: n,
1061
+ ...r,
1062
+ children: [/* @__PURE__ */ m(x, {
1063
+ size: 16,
1064
+ className: "text-foreground"
1065
+ }), /* @__PURE__ */ m(J, {
1066
+ className: "text-sm font-medium",
1067
+ children: "Previous"
1068
+ })]
418
1069
  });
419
- Pt.displayName = "Popover";
420
- const Ot = a.forwardRef(({ children: t, ...e }, o) => {
421
- const { setOpen: s } = a.useContext(oe);
422
- return /* @__PURE__ */ r($, { ref: o, onPress: () => s(!0), ...e, children: t });
1070
+ Cr.displayName = "PaginationPrevious";
1071
+ var wr = ({ className: e, children: t, onPress: n, ...r }) => /* @__PURE__ */ h(Y, {
1072
+ "aria-label": "Go to next page",
1073
+ size: "default",
1074
+ className: G("flex flex-row items-center gap-1 pr-2.5", e),
1075
+ onPress: n,
1076
+ ...r,
1077
+ children: [/* @__PURE__ */ m(J, {
1078
+ className: "text-sm font-medium",
1079
+ children: "Next"
1080
+ }), /* @__PURE__ */ m(S, {
1081
+ size: 16,
1082
+ className: "text-foreground"
1083
+ })]
423
1084
  });
424
- Ot.displayName = "PopoverTrigger";
425
- const It = a.forwardRef(({ ...t }, e) => /* @__PURE__ */ r(i, { ref: e, ...t }));
426
- It.displayName = "PopoverAnchor";
427
- const Vt = a.forwardRef(({ className: t, children: e, ...o }, s) => {
428
- const { open: l, setOpen: d } = a.useContext(oe);
429
- return /* @__PURE__ */ r(Se, { visible: l, transparent: !0, animationType: "fade", onRequestClose: () => d(!1), children: /* @__PURE__ */ r($, { className: "flex-1", onPress: () => d(!1), children: /* @__PURE__ */ r(i, { className: "flex-1 items-center justify-center bg-black/50", children: /* @__PURE__ */ r($, { onPress: () => {
430
- }, children: /* @__PURE__ */ r(
431
- i,
432
- {
433
- ref: s,
434
- className: n("bg-popover border-border mx-4 w-full max-w-sm rounded-md border p-4 shadow-lg", t),
435
- ...o,
436
- children: e
437
- }
438
- ) }) }) }) });
1085
+ wr.displayName = "PaginationNext";
1086
+ var Tr = ({ className: e, ...t }) => /* @__PURE__ */ m(f, {
1087
+ "aria-hidden": !0,
1088
+ className: G("flex h-9 w-9 flex-row items-center justify-center", e),
1089
+ ...t,
1090
+ children: /* @__PURE__ */ m(ie, {
1091
+ size: 16,
1092
+ className: "text-foreground"
1093
+ })
439
1094
  });
440
- Vt.displayName = "PopoverContent";
441
- const zt = a.forwardRef(({ className: t, value: e, ...o }, s) => /* @__PURE__ */ r(
442
- i,
443
- {
444
- ref: s,
445
- className: n("bg-muted relative h-2 w-full overflow-hidden rounded-full", t),
446
- accessibilityRole: "progressbar",
447
- role: "progressbar",
448
- ...o,
449
- children: /* @__PURE__ */ r(i, { className: "bg-primary h-full rounded-full", style: { width: `${e || 0}%` } })
450
- }
451
- ));
452
- zt.displayName = "Progress";
453
- const Ht = a.forwardRef(
454
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(G.Root, { className: n("web:grid gap-2", t), ...e, ref: o })
455
- );
456
- Ht.displayName = G.Root?.displayName || "RadioGroup";
457
- const Ft = a.forwardRef(
458
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(
459
- G.Item,
460
- {
461
- ref: o,
462
- className: n(
463
- "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",
464
- e.disabled && "web:cursor-not-allowed opacity-50",
465
- t
466
- ),
467
- ...e,
468
- children: /* @__PURE__ */ r(G.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ r(Ie, { className: "h-2.5 w-2.5 fill-current text-current" }) })
469
- }
470
- )
471
- );
472
- Ft.displayName = G.Item?.displayName || "RadioGroupItem";
473
- const ro = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "ResizablePanelGroup is not yet implemented for React Native" }) }), oo = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "ResizablePanel is not yet implemented for React Native" }) }), ao = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "ResizableHandle is not yet implemented for React Native" }) }), no = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "scroll-area is not yet implemented for React Native" }) }), so = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "Search is not yet implemented for React Native" }) }), io = p.Root, lo = p.Group, co = p.Value, jt = a.forwardRef(
474
- ({ className: t, children: e, ...o }, s) => /* @__PURE__ */ g(
475
- p.Trigger,
476
- {
477
- ref: s,
478
- className: n(
479
- "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",
480
- o.disabled && "web:cursor-not-allowed opacity-50",
481
- t
482
- ),
483
- ...o,
484
- children: [
485
- /* @__PURE__ */ r(W, { children: e }),
486
- /* @__PURE__ */ r(Z, { size: 16, "aria-hidden": !0, className: "text-foreground opacity-50" })
487
- ]
488
- }
489
- )
490
- );
491
- jt.displayName = p.Trigger?.displayName || "SelectTrigger";
492
- const Ne = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
493
- p.ScrollUpButton,
494
- {
495
- ref: o,
496
- className: n("flex cursor-default items-center justify-center py-1", t),
497
- ...e,
498
- children: /* @__PURE__ */ r(Ve, { size: 14, className: "text-foreground" })
499
- }
500
- ));
501
- Ne.displayName = p.ScrollUpButton?.displayName || "SelectScrollUpButton";
502
- const we = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
503
- p.ScrollDownButton,
504
- {
505
- ref: o,
506
- className: n("flex cursor-default items-center justify-center py-1", t),
507
- ...e,
508
- children: /* @__PURE__ */ r(Z, { size: 14, className: "text-foreground" })
509
- }
510
- ));
511
- we.displayName = p.ScrollDownButton?.displayName || "SelectScrollDownButton";
512
- const Lt = a.forwardRef(
513
- ({ className: t, children: e, position: o = "popper", portalHost: s, overlayClassName: l, overlayStyle: d, ...c }, f) => {
514
- const { open: y } = p.useRootContext();
515
- return /* @__PURE__ */ g(p.Portal, { hostName: s, children: [
516
- /* @__PURE__ */ r(p.Overlay, { style: H.OS !== "web" ? U.absoluteFill : void 0, asChild: !0, children: /* @__PURE__ */ r(k.View, { className: l, style: d }) }),
517
- /* @__PURE__ */ g(
518
- p.Content,
519
- {
520
- ref: f,
521
- className: n(
522
- "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",
523
- o === "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",
524
- y ? "web:zoom-in-95 web:animate-in web:fade-in-0" : "web:zoom-out-95 web:animate-out web:fade-out-0",
525
- t
526
- ),
527
- position: o,
528
- ...c,
529
- children: [
530
- /* @__PURE__ */ r(Ne, {}),
531
- /* @__PURE__ */ r(
532
- p.Viewport,
533
- {
534
- className: n(
535
- "p-1",
536
- o === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
537
- ),
538
- children: e
539
- }
540
- ),
541
- /* @__PURE__ */ r(we, {})
542
- ]
543
- }
544
- )
545
- ] });
546
- }
547
- );
548
- Lt.displayName = p.Content?.displayName || "SelectContent";
549
- const Bt = a.forwardRef(
550
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(
551
- p.Label,
552
- {
553
- ref: o,
554
- className: n("text-popover-foreground py-1.5 pr-2 pl-8 text-sm font-semibold", t),
555
- ...e
556
- }
557
- )
558
- );
559
- Bt.displayName = p.Label?.displayName || "SelectLabel";
560
- const Et = a.forwardRef(
561
- ({ className: t, children: e, label: o, ...s }, l) => {
562
- const d = o || (typeof e == "string" ? e : "");
563
- return /* @__PURE__ */ g(
564
- p.Item,
565
- {
566
- ref: l,
567
- label: d,
568
- className: n(
569
- "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",
570
- s.disabled && "web:pointer-events-none",
571
- t
572
- ),
573
- ...s,
574
- children: [
575
- /* @__PURE__ */ r(
576
- i,
577
- {
578
- className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
579
- children: /* @__PURE__ */ r(p.ItemIndicator, { children: /* @__PURE__ */ r(de, { size: 14, strokeWidth: 3, className: "text-popover-foreground" }) })
580
- }
581
- ),
582
- /* @__PURE__ */ r(p.ItemText, { className: "text-popover-foreground native:text-base text-sm", children: e })
583
- ]
584
- }
585
- );
586
- }
587
- );
588
- Et.displayName = p.Item?.displayName || "SelectItem";
589
- const Gt = a.forwardRef(
590
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(
591
- p.Separator,
592
- {
593
- ref: o,
594
- className: n("bg-muted -mx-1 my-1 h-px", t),
595
- ...e
596
- }
597
- )
598
- );
599
- Gt.displayName = p.Separator?.displayName || "SelectSeparator";
600
- const Mt = a.forwardRef(
601
- ({
602
- threshold: t = 240,
603
- exitDuration: e = 450,
604
- behavior: o,
605
- // Native uses 'smooth' or just scrolls
606
- label: s = "Scroll to top",
607
- className: l,
608
- scrollRef: d,
609
- animationDuration: c = 300,
610
- ...f
611
- }, y) => {
612
- const [w, O] = a.useState(!1), [I, V] = a.useState(!1), b = a.useRef(new P.Value(0)).current, h = a.useRef(new P.Value(20)).current, v = () => {
613
- P.parallel([
614
- P.timing(b, {
615
- toValue: 1,
616
- duration: c,
617
- useNativeDriver: !0
618
- }),
619
- P.timing(h, {
620
- toValue: 0,
621
- duration: c,
622
- useNativeDriver: !0
623
- })
624
- ]).start();
625
- }, R = () => {
626
- P.parallel([
627
- P.timing(b, {
628
- toValue: 0,
629
- duration: c,
630
- useNativeDriver: !0
631
- }),
632
- P.timing(h, {
633
- toValue: 20,
634
- duration: c,
635
- useNativeDriver: !0
636
- })
637
- ]).start(() => {
638
- I || O(!1);
639
- });
640
- }, D = (C) => {
641
- const x = C.nativeEvent.contentOffset.y;
642
- if (I) {
643
- x <= t && (O(!1), V(!1));
644
- return;
645
- }
646
- x > t && !w ? (O(!0), v()) : x <= t && w && R();
647
- }, z = () => {
648
- V(!0), R(), setTimeout(() => {
649
- if (d?.current) {
650
- const C = d.current;
651
- "scrollToOffset" in C && typeof C.scrollToOffset == "function" ? C.scrollToOffset({ offset: 0, animated: o !== "auto" }) : "scrollTo" in C && typeof C.scrollTo == "function" && C.scrollTo({ y: 0, animated: o !== "auto" });
652
- }
653
- (H.OS === "ios" || H.OS === "android") && ke.announceForAccessibility("Scrolled to top");
654
- }, e);
655
- };
656
- return a.useImperativeHandle(y, () => ({
657
- handleScroll: D,
658
- scrollToTop: z
659
- })), !w && !I ? null : /* @__PURE__ */ r(
660
- i,
661
- {
662
- pointerEvents: "box-none",
663
- style: {
664
- position: "absolute",
665
- bottom: 24,
666
- right: 24,
667
- zIndex: 50
668
- },
669
- children: /* @__PURE__ */ r(
670
- P.View,
671
- {
672
- style: {
673
- opacity: b,
674
- transform: [{ translateY: h }]
675
- },
676
- children: /* @__PURE__ */ r(
677
- q,
678
- {
679
- variant: "outline",
680
- size: "icon",
681
- className: n("bg-background/80 h-12 w-12 rounded-full border-2 shadow-lg", l),
682
- onPress: z,
683
- "aria-label": s,
684
- ...f,
685
- children: /* @__PURE__ */ r(ze, { size: 24, className: "text-foreground" })
686
- }
687
- )
688
- }
689
- )
690
- }
691
- );
692
- }
693
- );
694
- Mt.displayName = "ScrollToTop";
695
- const ae = a.createContext(void 0), Ut = B("text-foreground", {
696
- variants: {
697
- variant: {
698
- h1: "text-4xl font-extrabold tracking-tight",
699
- h2: "text-3xl font-semibold tracking-tight",
700
- h3: "text-2xl font-semibold tracking-tight",
701
- h4: "text-xl font-semibold tracking-tight",
702
- body: "text-base leading-7",
703
- bodySmall: "text-sm leading-6",
704
- caption: "text-xs text-muted-foreground",
705
- label: "text-sm font-medium",
706
- overline: "text-xs font-semibold uppercase tracking-widest text-muted-foreground"
707
- }
708
- },
709
- defaultVariants: {
710
- variant: "body"
711
- }
712
- }), S = a.forwardRef(
713
- ({ className: t, variant: e = "body", children: o, ...s }, l) => /* @__PURE__ */ r(m, { ref: l, className: n(Ut({ variant: e, className: t })), ...s, children: o })
714
- );
715
- S.displayName = "Text";
716
- const $t = (t) => {
717
- const e = t.trim();
718
- return e.endsWith("/") ? e.slice(0, -1) : e;
719
- }, Yt = (t) => t.trim().replace(/^@+/, ""), qt = (t, e) => {
720
- const o = $t(t), s = encodeURIComponent(Yt(e));
721
- return `${o}/${s}`;
1095
+ Tr.displayName = "PaginationEllipsis";
1096
+ //#endregion
1097
+ //#region src/popover.tsx
1098
+ var Er = e.createContext({
1099
+ open: !1,
1100
+ setOpen: () => {}
1101
+ }), Dr = e.forwardRef(({ children: t, open: n, onOpenChange: r, ...i }, a) => {
1102
+ let [o, s] = e.useState(!1), c = n !== void 0, l = c ? n : o, u = c ? r || (() => {}) : s;
1103
+ return /* @__PURE__ */ m(Er.Provider, {
1104
+ value: {
1105
+ open: l,
1106
+ setOpen: u
1107
+ },
1108
+ children: /* @__PURE__ */ m(f, {
1109
+ ref: a,
1110
+ ...i,
1111
+ children: t
1112
+ })
1113
+ });
1114
+ });
1115
+ Dr.displayName = "Popover";
1116
+ var Or = e.forwardRef(({ children: t, ...n }, r) => {
1117
+ let { setOpen: i } = e.useContext(Er);
1118
+ return /* @__PURE__ */ m(o, {
1119
+ ref: r,
1120
+ onPress: () => i(!0),
1121
+ ...n,
1122
+ children: t
1123
+ });
1124
+ });
1125
+ Or.displayName = "PopoverTrigger";
1126
+ var kr = e.forwardRef(({ ...e }, t) => /* @__PURE__ */ m(f, {
1127
+ ref: t,
1128
+ ...e
1129
+ }));
1130
+ kr.displayName = "PopoverAnchor";
1131
+ var Ar = e.forwardRef(({ className: t, children: n, ...r }, a) => {
1132
+ let { open: s, setOpen: c } = e.useContext(Er);
1133
+ return /* @__PURE__ */ m(i, {
1134
+ visible: s,
1135
+ transparent: !0,
1136
+ animationType: "fade",
1137
+ onRequestClose: () => c(!1),
1138
+ children: /* @__PURE__ */ m(o, {
1139
+ className: "flex-1",
1140
+ onPress: () => c(!1),
1141
+ children: /* @__PURE__ */ m(f, {
1142
+ className: "flex-1 items-center justify-center bg-black/50",
1143
+ children: /* @__PURE__ */ m(o, {
1144
+ onPress: () => {},
1145
+ children: /* @__PURE__ */ m(f, {
1146
+ ref: a,
1147
+ className: G("bg-popover border-border mx-4 w-full max-w-sm rounded-md border p-4 shadow-lg", t),
1148
+ ...r,
1149
+ children: n
1150
+ })
1151
+ })
1152
+ })
1153
+ })
1154
+ });
1155
+ });
1156
+ Ar.displayName = "PopoverContent";
1157
+ //#endregion
1158
+ //#region src/progress.tsx
1159
+ var jr = e.forwardRef(({ className: e, value: t, ...n }, r) => /* @__PURE__ */ m(f, {
1160
+ ref: r,
1161
+ className: G("bg-muted relative h-2 w-full overflow-hidden rounded-full", e),
1162
+ accessibilityRole: "progressbar",
1163
+ role: "progressbar",
1164
+ ...n,
1165
+ children: /* @__PURE__ */ m(f, {
1166
+ className: "bg-primary h-full rounded-full",
1167
+ style: { width: `${t || 0}%` }
1168
+ })
1169
+ }));
1170
+ jr.displayName = "Progress";
1171
+ //#endregion
1172
+ //#region src/radio-group.tsx
1173
+ var Mr = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(L.Root, {
1174
+ className: G("web:grid gap-2", e),
1175
+ ...t,
1176
+ ref: n
1177
+ }));
1178
+ Mr.displayName = L.Root?.displayName || "RadioGroup";
1179
+ var Nr = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(L.Item, {
1180
+ ref: n,
1181
+ className: G("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", t.disabled && "web:cursor-not-allowed opacity-50", e),
1182
+ ...t,
1183
+ children: /* @__PURE__ */ m(L.Indicator, {
1184
+ className: "flex items-center justify-center",
1185
+ children: /* @__PURE__ */ m(C, { className: "h-2.5 w-2.5 fill-current text-current" })
1186
+ })
1187
+ }));
1188
+ Nr.displayName = L.Item?.displayName || "RadioGroupItem";
1189
+ //#endregion
1190
+ //#region src/resizable.tsx
1191
+ var Pr = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
1192
+ className: t,
1193
+ children: e
1194
+ }), Fr = ({ children: e, className: t }) => /* @__PURE__ */ m(f, {
1195
+ className: t,
1196
+ children: e
1197
+ }), Ir = ({ className: e }) => /* @__PURE__ */ m(f, { className: e }), Lr = e.forwardRef(({ children: e, className: t, ...n }, r) => /* @__PURE__ */ m(s, {
1198
+ ref: r,
1199
+ className: G("flex-1", t),
1200
+ showsVerticalScrollIndicator: !1,
1201
+ showsHorizontalScrollIndicator: !1,
1202
+ ...n,
1203
+ children: /* @__PURE__ */ m(f, { children: e })
1204
+ }));
1205
+ Lr.displayName = "ScrollArea";
1206
+ var Rr = () => null;
1207
+ Rr.displayName = "ScrollBar";
1208
+ //#endregion
1209
+ //#region src/search.tsx
1210
+ var zr = () => /* @__PURE__ */ m(f, { children: /* @__PURE__ */ m(l, { children: "Search is not yet implemented for React Native" }) }), Br = R.Root, Vr = R.Group, Hr = R.Value, Ur = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ h(R.Trigger, {
1211
+ ref: r,
1212
+ className: G("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", n.disabled && "web:cursor-not-allowed opacity-50", e),
1213
+ ...n,
1214
+ children: [/* @__PURE__ */ m(p, { children: t }), /* @__PURE__ */ m(b, {
1215
+ size: 16,
1216
+ "aria-hidden": !0,
1217
+ className: "text-foreground opacity-50"
1218
+ })]
1219
+ }));
1220
+ Ur.displayName = R.Trigger?.displayName || "SelectTrigger";
1221
+ var Wr = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(R.ScrollUpButton, {
1222
+ ref: n,
1223
+ className: G("flex cursor-default items-center justify-center py-1", e),
1224
+ ...t,
1225
+ children: /* @__PURE__ */ m(te, {
1226
+ size: 14,
1227
+ className: "text-foreground"
1228
+ })
1229
+ }));
1230
+ Wr.displayName = R.ScrollUpButton?.displayName || "SelectScrollUpButton";
1231
+ var Gr = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(R.ScrollDownButton, {
1232
+ ref: n,
1233
+ className: G("flex cursor-default items-center justify-center py-1", e),
1234
+ ...t,
1235
+ children: /* @__PURE__ */ m(b, {
1236
+ size: 14,
1237
+ className: "text-foreground"
1238
+ })
1239
+ }));
1240
+ Gr.displayName = R.ScrollDownButton?.displayName || "SelectScrollDownButton";
1241
+ var Kr = e.forwardRef(({ className: e, children: t, position: n = "popper", portalHost: r, overlayClassName: i, overlayStyle: o, ...s }, l) => {
1242
+ let { open: u } = R.useRootContext();
1243
+ return /* @__PURE__ */ h(R.Portal, {
1244
+ hostName: r,
1245
+ children: [/* @__PURE__ */ m(R.Overlay, {
1246
+ style: a.OS === "web" ? void 0 : c.absoluteFill,
1247
+ asChild: !0,
1248
+ children: /* @__PURE__ */ m(w.View, {
1249
+ className: i,
1250
+ style: o
1251
+ })
1252
+ }), /* @__PURE__ */ h(R.Content, {
1253
+ ref: l,
1254
+ className: G("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", n === "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", u ? "web:zoom-in-95 web:animate-in web:fade-in-0" : "web:zoom-out-95 web:animate-out web:fade-out-0", e),
1255
+ position: n,
1256
+ ...s,
1257
+ children: [
1258
+ /* @__PURE__ */ m(Wr, {}),
1259
+ /* @__PURE__ */ m(R.Viewport, {
1260
+ className: G("p-1", n === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),
1261
+ children: t
1262
+ }),
1263
+ /* @__PURE__ */ m(Gr, {})
1264
+ ]
1265
+ })]
1266
+ });
1267
+ });
1268
+ Kr.displayName = R.Content?.displayName || "SelectContent";
1269
+ var qr = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(R.Label, {
1270
+ ref: n,
1271
+ className: G("text-popover-foreground py-1.5 pr-2 pl-8 text-sm font-semibold", e),
1272
+ ...t
1273
+ }));
1274
+ qr.displayName = R.Label?.displayName || "SelectLabel";
1275
+ var Jr = e.forwardRef(({ className: e, children: t, label: n, ...r }, i) => {
1276
+ let a = n || (typeof t == "string" ? t : "");
1277
+ return /* @__PURE__ */ h(R.Item, {
1278
+ ref: i,
1279
+ label: a,
1280
+ className: G("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", r.disabled && "web:pointer-events-none", e),
1281
+ ...r,
1282
+ children: [/* @__PURE__ */ m(f, {
1283
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
1284
+ children: /* @__PURE__ */ m(R.ItemIndicator, { children: /* @__PURE__ */ m(y, {
1285
+ size: 14,
1286
+ strokeWidth: 3,
1287
+ className: "text-popover-foreground"
1288
+ }) })
1289
+ }), /* @__PURE__ */ m(R.ItemText, {
1290
+ className: "text-popover-foreground native:text-base text-sm",
1291
+ children: t
1292
+ })]
1293
+ });
1294
+ });
1295
+ Jr.displayName = R.Item?.displayName || "SelectItem";
1296
+ var Yr = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(R.Separator, {
1297
+ ref: n,
1298
+ className: G("bg-muted -mx-1 my-1 h-px", e),
1299
+ ...t
1300
+ }));
1301
+ Yr.displayName = R.Separator?.displayName || "SelectSeparator";
1302
+ //#endregion
1303
+ //#region src/scroll-to-top.tsx
1304
+ var Xr = e.forwardRef(({ threshold: r = 240, exitDuration: i = 450, behavior: o, label: s = "Scroll to top", className: c, scrollRef: l, animationDuration: u = 300, ...d }, p) => {
1305
+ let [h, g] = e.useState(!1), [_, v] = e.useState(!1), y = e.useRef(new n.Value(0)).current, b = e.useRef(new n.Value(20)).current, x = () => {
1306
+ n.parallel([n.timing(y, {
1307
+ toValue: 1,
1308
+ duration: u,
1309
+ useNativeDriver: !0
1310
+ }), n.timing(b, {
1311
+ toValue: 0,
1312
+ duration: u,
1313
+ useNativeDriver: !0
1314
+ })]).start();
1315
+ }, S = () => {
1316
+ n.parallel([n.timing(y, {
1317
+ toValue: 0,
1318
+ duration: u,
1319
+ useNativeDriver: !0
1320
+ }), n.timing(b, {
1321
+ toValue: 20,
1322
+ duration: u,
1323
+ useNativeDriver: !0
1324
+ })]).start(() => {
1325
+ _ || g(!1);
1326
+ });
1327
+ }, te = (e) => {
1328
+ let t = e.nativeEvent.contentOffset.y;
1329
+ if (_) {
1330
+ t <= r && (g(!1), v(!1));
1331
+ return;
1332
+ }
1333
+ t > r && !h ? (g(!0), x()) : t <= r && h && S();
1334
+ }, C = () => {
1335
+ v(!0), S(), setTimeout(() => {
1336
+ if (l?.current) {
1337
+ let e = l.current;
1338
+ "scrollToOffset" in e && typeof e.scrollToOffset == "function" ? e.scrollToOffset({
1339
+ offset: 0,
1340
+ animated: o !== "auto"
1341
+ }) : "scrollTo" in e && typeof e.scrollTo == "function" && e.scrollTo({
1342
+ y: 0,
1343
+ animated: o !== "auto"
1344
+ });
1345
+ }
1346
+ (a.OS === "ios" || a.OS === "android") && t.announceForAccessibility("Scrolled to top");
1347
+ }, i);
1348
+ };
1349
+ return e.useImperativeHandle(p, () => ({
1350
+ handleScroll: te,
1351
+ scrollToTop: C
1352
+ })), !h && !_ ? null : /* @__PURE__ */ m(f, {
1353
+ pointerEvents: "box-none",
1354
+ style: {
1355
+ position: "absolute",
1356
+ bottom: 24,
1357
+ right: 24,
1358
+ zIndex: 50
1359
+ },
1360
+ children: /* @__PURE__ */ m(n.View, {
1361
+ style: {
1362
+ opacity: y,
1363
+ transform: [{ translateY: b }]
1364
+ },
1365
+ children: /* @__PURE__ */ m(q, {
1366
+ variant: "outline",
1367
+ size: "icon",
1368
+ className: G("bg-background/80 h-12 w-12 rounded-full border-2 shadow-lg", c),
1369
+ onPress: C,
1370
+ "aria-label": s,
1371
+ ...d,
1372
+ children: /* @__PURE__ */ m(ee, {
1373
+ size: 24,
1374
+ className: "text-foreground"
1375
+ })
1376
+ })
1377
+ })
1378
+ });
1379
+ });
1380
+ Xr.displayName = "ScrollToTop";
1381
+ //#endregion
1382
+ //#region src/support-fab.tsx
1383
+ var Zr = (e) => {
1384
+ let t = e.trim();
1385
+ return t.endsWith("/") ? t.slice(0, -1) : t;
1386
+ }, Qr = (e) => e.trim().replace(/^@+/, ""), $r = (e, t) => `${Zr(e)}/${encodeURIComponent(Qr(t))}`;
1387
+ function ei({ supportUrl: t = "https://www.buymeacoffee.com", creatorId: n, title: i = "Buy me a coffee", description: a = "Support the project directly from this panel.", open: o, defaultOpen: s = !1, onOpenChange: c, positionClassName: l, buttonClassName: u, panelClassName: d, className: g, ..._ }) {
1388
+ let v = o !== void 0, [ee, y] = e.useState(s), b = v ? o : ee, x = e.useCallback((e) => {
1389
+ v || y(e), c?.(e);
1390
+ }, [v, c]), S = e.useMemo(() => $r(t, n), [n, t]), te = e.useCallback(async () => {
1391
+ try {
1392
+ await r.openURL(S);
1393
+ } catch (e) {
1394
+ console.warn("Failed to open external link:", e);
1395
+ }
1396
+ }, [S]);
1397
+ return /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ m(f, {
1398
+ style: {
1399
+ position: "absolute",
1400
+ bottom: 24,
1401
+ right: 24,
1402
+ zIndex: 50
1403
+ },
1404
+ className: l,
1405
+ children: /* @__PURE__ */ m(q, {
1406
+ variant: "outline",
1407
+ size: "icon",
1408
+ className: G("h-14 w-14 rounded-full border border-black/15 bg-[#ffdd00] shadow-lg", u, g),
1409
+ onPress: () => x(!0),
1410
+ "aria-label": "Support this project",
1411
+ ..._,
1412
+ children: /* @__PURE__ */ m(ne, {
1413
+ size: 24,
1414
+ className: "text-black"
1415
+ })
1416
+ })
1417
+ }), /* @__PURE__ */ m(sn, {
1418
+ open: b,
1419
+ onOpenChange: x,
1420
+ children: /* @__PURE__ */ h(fn, {
1421
+ className: G("max-w-sm", d),
1422
+ children: [/* @__PURE__ */ h(pn, { children: [/* @__PURE__ */ m(hn, { children: i }), /* @__PURE__ */ m(gn, { children: a })] }), /* @__PURE__ */ h(f, {
1423
+ className: "flex flex-col gap-4",
1424
+ children: [/* @__PURE__ */ m(f, {
1425
+ className: "overflow-hidden rounded-md border",
1426
+ children: /* @__PURE__ */ m(f, {
1427
+ className: "bg-muted flex h-48 items-center justify-center",
1428
+ children: /* @__PURE__ */ h(J, {
1429
+ className: "text-muted-foreground text-center text-sm",
1430
+ children: [
1431
+ "Embedded support form would appear here on web.",
1432
+ "\n",
1433
+ "On mobile, this opens the external support page."
1434
+ ]
1435
+ })
1436
+ })
1437
+ }), /* @__PURE__ */ h(f, {
1438
+ className: "text-muted-foreground flex items-center justify-between gap-2 text-xs",
1439
+ children: [/* @__PURE__ */ m(J, {
1440
+ className: "text-muted-foreground flex-1 text-xs",
1441
+ children: "If the embedded checkout is unavailable, open the support page directly."
1442
+ }), /* @__PURE__ */ h(q, {
1443
+ variant: "outline",
1444
+ size: "sm",
1445
+ onPress: te,
1446
+ className: "flex flex-row items-center gap-1",
1447
+ children: [/* @__PURE__ */ m(J, {
1448
+ className: "text-xs",
1449
+ children: "Open Buy Me a Coffee"
1450
+ }), /* @__PURE__ */ m(re, {
1451
+ size: 12,
1452
+ className: "text-muted-foreground"
1453
+ })]
1454
+ })]
1455
+ })]
1456
+ })]
1457
+ })
1458
+ })] });
1459
+ }
1460
+ //#endregion
1461
+ //#region src/separator.tsx
1462
+ var ti = e.forwardRef(({ className: e, orientation: t = "horizontal", decorative: n = !0, ...r }, i) => /* @__PURE__ */ m(Te.Root, {
1463
+ ref: i,
1464
+ decorative: n,
1465
+ orientation: t,
1466
+ className: G("bg-border shrink-0", t === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", e),
1467
+ ...r
1468
+ }));
1469
+ ti.displayName = Te.Root?.displayName || "Separator";
1470
+ //#endregion
1471
+ //#region src/sheet.tsx
1472
+ var ni = M.Root, ri = M.Trigger, ii = M.Close, ai = M.Portal, oi = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(M.Overlay, {
1473
+ style: a.OS === "web" ? void 0 : c.absoluteFill,
1474
+ asChild: !0,
1475
+ ref: n,
1476
+ ...t,
1477
+ children: /* @__PURE__ */ m(w.View, {
1478
+ entering: T.duration(150),
1479
+ exiting: E.duration(150),
1480
+ className: G("web:cursor-default absolute inset-0 z-50 bg-black/80", e)
1481
+ })
1482
+ }));
1483
+ oi.displayName = M.Overlay?.displayName || "SheetOverlay";
1484
+ var si = e.forwardRef(({ className: e, children: t, side: n = "right", overlayClassName: r, overlayStyle: i, ...o }, s) => {
1485
+ let c = a.OS === "web", l = c ? void 0 : de, u = c ? void 0 : pe;
1486
+ return /* @__PURE__ */ h(ai, { children: [/* @__PURE__ */ m(oi, {
1487
+ className: r,
1488
+ style: i
1489
+ }), /* @__PURE__ */ m(M.Content, {
1490
+ ref: s,
1491
+ asChild: !0,
1492
+ ...o,
1493
+ children: /* @__PURE__ */ h(w.View, {
1494
+ entering: l,
1495
+ exiting: u,
1496
+ className: G("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", n === "right" && "border-border data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right top-0 right-0 border-l", n === "left" && "border-border data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left top-0 left-0 border-r", n === "top" && "border-border data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top top-0 w-full border-b", n === "bottom" && "border-border data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom bottom-0 w-full border-t", e),
1497
+ children: [t, /* @__PURE__ */ h(M.Close, {
1498
+ className: G("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", "web:absolute web:right-4 web:top-4"),
1499
+ children: [/* @__PURE__ */ m(ae, {
1500
+ size: 24,
1501
+ className: "text-muted-foreground"
1502
+ }), /* @__PURE__ */ m(J, {
1503
+ className: "sr-only",
1504
+ children: "Close"
1505
+ })]
1506
+ })]
1507
+ })
1508
+ })] });
1509
+ });
1510
+ si.displayName = M.Content?.displayName || "SheetContent";
1511
+ var ci = ({ className: e, ...t }) => /* @__PURE__ */ m(f, {
1512
+ className: G("flex flex-col space-y-2 text-center sm:text-left", e),
1513
+ ...t
1514
+ });
1515
+ ci.displayName = "SheetHeader";
1516
+ var li = ({ className: e, ...t }) => /* @__PURE__ */ m(f, {
1517
+ className: G("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e),
1518
+ ...t
1519
+ });
1520
+ li.displayName = "SheetFooter";
1521
+ var ui = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(M.Title, {
1522
+ ref: n,
1523
+ className: G("text-foreground text-lg font-semibold", e),
1524
+ ...t
1525
+ }));
1526
+ ui.displayName = M.Title?.displayName || "SheetTitle";
1527
+ var di = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(M.Description, {
1528
+ ref: n,
1529
+ className: G("text-muted-foreground text-sm", e),
1530
+ ...t
1531
+ }));
1532
+ di.displayName = M.Description?.displayName || "SheetDescription";
1533
+ //#endregion
1534
+ //#region src/skeleton.tsx
1535
+ function fi({ className: t, ...n }) {
1536
+ let r = _e(.5);
1537
+ e.useEffect(() => {
1538
+ r.value = ve(ye(D(.2, { duration: 500 }), D(.5, { duration: 500 })), -1, !0);
1539
+ }, []);
1540
+ let i = he(() => ({ opacity: r.value }));
1541
+ return /* @__PURE__ */ m(w.View, {
1542
+ className: G("bg-muted rounded-md", t),
1543
+ style: i,
1544
+ ...n
1545
+ });
1546
+ }
1547
+ //#endregion
1548
+ //#region src/slider.tsx
1549
+ var pi = ({ className: e, value: t, onValueChange: n, defaultValue: r, min: i = 0, max: a = 100, step: o = 1, disabled: s = !1, ...c }) => {
1550
+ let l = t === void 0 ? i : t[0];
1551
+ return /* @__PURE__ */ h(z.Root, {
1552
+ value: l,
1553
+ onValueChange: (e) => {
1554
+ n && n(Array.isArray(e) ? e : [e]);
1555
+ },
1556
+ min: i,
1557
+ max: a,
1558
+ step: o,
1559
+ disabled: s,
1560
+ className: G("relative flex w-full touch-none items-center select-none", s && "opacity-50", e),
1561
+ ...c,
1562
+ children: [/* @__PURE__ */ m(z.Track, {
1563
+ className: "bg-secondary relative h-2 w-full grow rounded-full",
1564
+ children: /* @__PURE__ */ m(z.Range, { className: "bg-primary absolute h-full rounded-full" })
1565
+ }), /* @__PURE__ */ m(z.Thumb, { className: "border-primary bg-background focus-visible:ring-ring block h-5 w-5 rounded-full border-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none" })]
1566
+ });
722
1567
  };
723
- function mo({
724
- supportUrl: t = "https://www.buymeacoffee.com",
725
- creatorId: e,
726
- title: o = "Buy me a coffee",
727
- description: s = "Support the project directly from this panel.",
728
- open: l,
729
- defaultOpen: d = !1,
730
- onOpenChange: c,
731
- positionClassName: f,
732
- buttonClassName: y,
733
- panelClassName: w,
734
- className: O,
735
- ...I
736
- }) {
737
- const V = l !== void 0, [b, h] = a.useState(d), v = V ? l : b, R = a.useCallback(
738
- (x) => {
739
- V || h(x), c?.(x);
740
- },
741
- [V, c]
742
- ), D = a.useMemo(() => qt(t, e), [e, t]), z = a.useCallback(async () => {
743
- try {
744
- await Ae.openURL(D);
745
- } catch (x) {
746
- console.warn("Failed to open external link:", x);
747
- }
748
- }, [D]), C = /* @__PURE__ */ r(
749
- i,
750
- {
751
- style: {
752
- position: "absolute",
753
- bottom: 24,
754
- right: 24,
755
- zIndex: 50
756
- },
757
- className: f,
758
- children: /* @__PURE__ */ r(
759
- q,
760
- {
761
- variant: "outline",
762
- size: "icon",
763
- className: n(
764
- "h-14 w-14 rounded-full border border-black/15 bg-[#ffdd00] shadow-lg",
765
- y,
766
- O
767
- ),
768
- onPress: () => R(!0),
769
- "aria-label": "Support this project",
770
- ...I,
771
- children: /* @__PURE__ */ r(He, { size: 24, className: "text-black" })
772
- }
773
- )
774
- }
775
- );
776
- return /* @__PURE__ */ g(W, { children: [
777
- C,
778
- /* @__PURE__ */ r(Ct, { open: v, onOpenChange: R, children: /* @__PURE__ */ g(be, { className: n("max-w-sm", w), children: [
779
- /* @__PURE__ */ g(he, { children: [
780
- /* @__PURE__ */ r(ye, { children: o }),
781
- /* @__PURE__ */ r(xe, { children: s })
782
- ] }),
783
- /* @__PURE__ */ g(i, { className: "flex flex-col gap-4", children: [
784
- /* @__PURE__ */ r(i, { className: "overflow-hidden rounded-md border", children: /* @__PURE__ */ r(i, { className: "bg-muted flex h-48 items-center justify-center", children: /* @__PURE__ */ g(S, { className: "text-muted-foreground text-center text-sm", children: [
785
- "Embedded support form would appear here on web.",
786
- `
787
- `,
788
- "On mobile, this opens the external support page."
789
- ] }) }) }),
790
- /* @__PURE__ */ g(i, { className: "text-muted-foreground flex items-center justify-between gap-2 text-xs", children: [
791
- /* @__PURE__ */ r(S, { className: "text-muted-foreground flex-1 text-xs", children: "If the embedded checkout is unavailable, open the support page directly." }),
792
- /* @__PURE__ */ g(
793
- q,
794
- {
795
- variant: "outline",
796
- size: "sm",
797
- onPress: z,
798
- className: "flex flex-row items-center gap-1",
799
- children: [
800
- /* @__PURE__ */ r(S, { className: "text-xs", children: "Open Buy Me a Coffee" }),
801
- /* @__PURE__ */ r(Fe, { size: 12, className: "text-muted-foreground" })
802
- ]
803
- }
804
- )
805
- ] })
806
- ] })
807
- ] }) })
808
- ] });
1568
+ pi.displayName = "Slider";
1569
+ //#endregion
1570
+ //#region src/sonner.tsx
1571
+ var mi = ({ className: e }) => /* @__PURE__ */ m(f, { className: e }), hi = e.forwardRef(({ className: e, checked: t, onCheckedChange: n, ...r }, i) => /* @__PURE__ */ m(Ee.Root, {
1572
+ className: G("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", e),
1573
+ ...r,
1574
+ checked: t ?? !1,
1575
+ onCheckedChange: n || (() => {}),
1576
+ ref: i,
1577
+ children: /* @__PURE__ */ m(Ee.Thumb, { className: G("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") })
1578
+ }));
1579
+ hi.displayName = Ee.Root?.displayName || "Switch";
1580
+ //#endregion
1581
+ //#region src/table.tsx
1582
+ var gi = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(f, {
1583
+ ref: n,
1584
+ className: G("w-full caption-bottom text-sm", e),
1585
+ ...t
1586
+ }));
1587
+ gi.displayName = "Table";
1588
+ var _i = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(f, {
1589
+ ref: n,
1590
+ className: G("border-border border-b", e),
1591
+ ...t
1592
+ }));
1593
+ _i.displayName = "TableHeader";
1594
+ var vi = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(f, {
1595
+ ref: n,
1596
+ className: G("flex-1", e),
1597
+ ...t
1598
+ }));
1599
+ vi.displayName = "TableBody";
1600
+ var yi = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(f, {
1601
+ ref: n,
1602
+ className: G("bg-muted/50 font-medium [&>tr]:last:border-b-0", e),
1603
+ ...t
1604
+ }));
1605
+ yi.displayName = "TableFooter";
1606
+ var bi = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(f, {
1607
+ ref: n,
1608
+ className: G("border-border hover:bg-muted/50 data-[state=selected]:bg-muted flex-row border-b transition-colors", e),
1609
+ ...t
1610
+ }));
1611
+ bi.displayName = "TableRow";
1612
+ var xi = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(J, {
1613
+ ref: n,
1614
+ className: G("text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0", e),
1615
+ ...t
1616
+ }));
1617
+ xi.displayName = "TableHead";
1618
+ var Si = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(J, {
1619
+ ref: n,
1620
+ className: G("p-4 align-middle [&:has([role=checkbox])]:pr-0", e),
1621
+ ...t
1622
+ }));
1623
+ Si.displayName = "TableCell";
1624
+ var Ci = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(J, {
1625
+ ref: n,
1626
+ className: G("text-muted-foreground mt-4 text-sm", e),
1627
+ ...t
1628
+ }));
1629
+ Ci.displayName = "TableCaption";
1630
+ //#endregion
1631
+ //#region src/tabs.tsx
1632
+ var wi = e.forwardRef((e, t) => /* @__PURE__ */ m(B.Root, {
1633
+ ref: t,
1634
+ ...e
1635
+ }));
1636
+ wi.displayName = "Tabs";
1637
+ var Ti = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(B.List, {
1638
+ ref: n,
1639
+ className: G("bg-muted text-muted-foreground inline-flex h-10 flex-row items-center justify-center rounded-md p-1", e),
1640
+ ...t
1641
+ }));
1642
+ Ti.displayName = B.List?.displayName || "TabsList";
1643
+ var Ei = e.forwardRef(({ className: e, ...t }, n) => {
1644
+ let { value: r } = B.useRootContext();
1645
+ return /* @__PURE__ */ m(it.Provider, {
1646
+ value: G("text-sm native:text-base font-medium text-muted-foreground web:transition-all", r === t.value && "text-foreground"),
1647
+ children: /* @__PURE__ */ m(B.Trigger, {
1648
+ ref: n,
1649
+ className: G("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", t.disabled && "opacity-50", r === t.value && "bg-background shadow-foreground/10 shadow-sm", e),
1650
+ ...t
1651
+ })
1652
+ });
1653
+ });
1654
+ Ei.displayName = B.Trigger?.displayName || "TabsTrigger";
1655
+ var Di = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(B.Content, {
1656
+ ref: n,
1657
+ className: G("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none", e),
1658
+ ...t
1659
+ }));
1660
+ Di.displayName = B.Content?.displayName || "TabsContent";
1661
+ //#endregion
1662
+ //#region src/textarea.tsx
1663
+ var Oi = e.forwardRef(({ className: e, placeholderClassName: t, ...n }, r) => /* @__PURE__ */ m(u, {
1664
+ ref: r,
1665
+ multiline: !0,
1666
+ numberOfLines: n.numberOfLines || 3,
1667
+ className: G("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", e),
1668
+ placeholderClassName: G("text-muted-foreground", t),
1669
+ textAlignVertical: "top",
1670
+ ...n
1671
+ }));
1672
+ Oi.displayName = "Textarea";
1673
+ //#endregion
1674
+ //#region src/toggle.tsx
1675
+ var ki = e.forwardRef(({ className: e, variant: t, size: n, ...r }, i) => /* @__PURE__ */ m(it.Provider, {
1676
+ value: G("text-sm native:text-base text-foreground font-medium", r.pressed && "text-accent-foreground", e),
1677
+ children: /* @__PURE__ */ m(Oe.Root, {
1678
+ ref: i,
1679
+ className: G(De({
1680
+ variant: t,
1681
+ size: n,
1682
+ className: e
1683
+ })),
1684
+ ...r,
1685
+ pressed: r.pressed || !1,
1686
+ onPressedChange: r.onPressedChange || (() => {})
1687
+ })
1688
+ }));
1689
+ ki.displayName = Oe.Root?.displayName || "Toggle";
1690
+ //#endregion
1691
+ //#region src/toggle-group.tsx
1692
+ var Ai = e.createContext({
1693
+ size: "default",
1694
+ variant: "default"
1695
+ }), ji = e.forwardRef(({ className: e, variant: t, size: n, children: r, type: i, value: a, onValueChange: o, ...s }, c) => /* @__PURE__ */ m(V.Root, {
1696
+ ref: c,
1697
+ type: i,
1698
+ value: a,
1699
+ onValueChange: o,
1700
+ className: G("flex flex-row items-center justify-center gap-1", e),
1701
+ ...s,
1702
+ children: /* @__PURE__ */ m(Ai.Provider, {
1703
+ value: {
1704
+ variant: t,
1705
+ size: n
1706
+ },
1707
+ children: r
1708
+ })
1709
+ }));
1710
+ ji.displayName = V.Root?.displayName || "ToggleGroup";
1711
+ var Mi = e.forwardRef(({ className: t, children: n, variant: r, size: i, value: a, ...o }, s) => {
1712
+ let c = e.useContext(Ai);
1713
+ return /* @__PURE__ */ m(it.Provider, {
1714
+ value: G("text-sm native:text-base text-foreground font-medium", o.disabled && "web:cursor-not-allowed opacity-50", a === "" && "text-accent-foreground", t),
1715
+ children: /* @__PURE__ */ m(V.Item, {
1716
+ ref: s,
1717
+ value: a,
1718
+ className: G(De({
1719
+ variant: c.variant || r,
1720
+ size: c.size || i
1721
+ }), t),
1722
+ ...o,
1723
+ children: n
1724
+ })
1725
+ });
1726
+ });
1727
+ Mi.displayName = V.Item?.displayName || "ToggleGroupItem";
1728
+ //#endregion
1729
+ //#region src/tooltip.tsx
1730
+ var Ni = H.Root, Pi = H.Trigger, Fi = e.forwardRef(({ className: e, portalHost: t, ...n }, r) => /* @__PURE__ */ m(H.Portal, {
1731
+ hostName: t,
1732
+ children: /* @__PURE__ */ m(H.Overlay, {
1733
+ style: a.OS === "web" ? void 0 : c.absoluteFill,
1734
+ children: /* @__PURE__ */ m(w.View, {
1735
+ entering: T,
1736
+ exiting: E,
1737
+ className: G("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", e),
1738
+ children: /* @__PURE__ */ m(J, {
1739
+ className: "text-popover-foreground native:text-base text-sm",
1740
+ children: n.children
1741
+ })
1742
+ })
1743
+ })
1744
+ }));
1745
+ Fi.displayName = H.Content?.displayName || "TooltipContent";
1746
+ var Ii = ({ children: e }) => /* @__PURE__ */ m(p, { children: e }), Li = 5, Ri = 1e6, X = {
1747
+ ADD_TOAST: "ADD_TOAST",
1748
+ UPDATE_TOAST: "UPDATE_TOAST",
1749
+ DISMISS_TOAST: "DISMISS_TOAST",
1750
+ REMOVE_TOAST: "REMOVE_TOAST"
1751
+ }, zi = 0;
1752
+ function Bi() {
1753
+ return zi = (zi + 1) % (2 ** 53 - 1), zi.toString();
809
1754
  }
810
- const Wt = a.forwardRef(({ className: t, orientation: e = "horizontal", decorative: o = !0, ...s }, l) => /* @__PURE__ */ r(
811
- me.Root,
812
- {
813
- ref: l,
814
- decorative: o,
815
- orientation: e,
816
- className: n("bg-border shrink-0", e === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", t),
817
- ...s
818
- }
819
- ));
820
- Wt.displayName = me.Root?.displayName || "Separator";
821
- const uo = u.Root, fo = u.Trigger, po = u.Close, Xt = u.Portal, ve = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
822
- u.Overlay,
823
- {
824
- style: H.OS !== "web" ? U.absoluteFill : void 0,
825
- asChild: !0,
826
- ref: o,
827
- ...e,
828
- children: /* @__PURE__ */ r(
829
- k.View,
830
- {
831
- entering: L.duration(150),
832
- exiting: j.duration(150),
833
- className: n("web:cursor-default absolute inset-0 z-50 bg-black/80", t)
834
- }
835
- )
836
- }
837
- ));
838
- ve.displayName = u.Overlay?.displayName || "SheetOverlay";
839
- const _t = a.forwardRef(
840
- ({ className: t, children: e, side: o = "right", overlayClassName: s, overlayStyle: l, ...d }, c) => {
841
- const f = H.OS === "web", y = f ? void 0 : Ge, w = f ? void 0 : Ee;
842
- return /* @__PURE__ */ g(Xt, { children: [
843
- /* @__PURE__ */ r(ve, { className: s, style: l }),
844
- /* @__PURE__ */ r(u.Content, { ref: c, asChild: !0, ...d, children: /* @__PURE__ */ g(
845
- k.View,
846
- {
847
- entering: y,
848
- exiting: w,
849
- className: n(
850
- "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",
851
- o === "right" && "border-border data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right top-0 right-0 border-l",
852
- o === "left" && "border-border data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left top-0 left-0 border-r",
853
- o === "top" && "border-border data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top top-0 w-full border-b",
854
- o === "bottom" && "border-border data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom bottom-0 w-full border-t",
855
- t
856
- ),
857
- children: [
858
- e,
859
- /* @__PURE__ */ g(
860
- u.Close,
861
- {
862
- className: n(
863
- "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",
864
- "web:absolute web:right-4 web:top-4"
865
- ),
866
- children: [
867
- /* @__PURE__ */ r(ee, { size: 24, className: "text-muted-foreground" }),
868
- /* @__PURE__ */ r(S, { className: "sr-only", children: "Close" })
869
- ]
870
- }
871
- )
872
- ]
873
- }
874
- ) })
875
- ] });
876
- }
877
- );
878
- _t.displayName = u.Content?.displayName || "SheetContent";
879
- const Jt = ({ className: t, ...e }) => /* @__PURE__ */ r(i, { className: n("flex flex-col space-y-2 text-center sm:text-left", t), ...e });
880
- Jt.displayName = "SheetHeader";
881
- const Kt = ({ className: t, ...e }) => /* @__PURE__ */ r(i, { className: n("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", t), ...e });
882
- Kt.displayName = "SheetFooter";
883
- const Qt = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(u.Title, { ref: o, className: n("text-foreground text-lg font-semibold", t), ...e }));
884
- Qt.displayName = u.Title?.displayName || "SheetTitle";
885
- const Zt = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(u.Description, { ref: o, className: n("text-muted-foreground text-sm", t), ...e }));
886
- Zt.displayName = u.Description?.displayName || "SheetDescription";
887
- function go({ className: t, ...e }) {
888
- const o = Me(0.5);
889
- a.useEffect(() => {
890
- o.value = Ue(
891
- $e(Y(0.2, { duration: 500 }), Y(0.5, { duration: 500 })),
892
- -1,
893
- !0
894
- );
895
- }, []);
896
- const s = ce(() => ({
897
- opacity: o.value
898
- }));
899
- return /* @__PURE__ */ r(k.View, { className: n("bg-muted rounded-md", t), style: s, ...e });
1755
+ var Vi = /* @__PURE__ */ new Map(), Hi = (e) => {
1756
+ if (Vi.has(e)) return;
1757
+ let t = setTimeout(() => {
1758
+ Vi.delete(e), $({
1759
+ type: "REMOVE_TOAST",
1760
+ toastId: e
1761
+ });
1762
+ }, Ri);
1763
+ Vi.set(e, t);
1764
+ }, Ui = (e, t) => {
1765
+ switch (t.type) {
1766
+ case X.ADD_TOAST: return {
1767
+ ...e,
1768
+ toasts: [t.toast, ...e.toasts].slice(0, Li)
1769
+ };
1770
+ case X.UPDATE_TOAST: return {
1771
+ ...e,
1772
+ toasts: e.toasts.map((e) => e.id === t.toast.id ? {
1773
+ ...e,
1774
+ ...t.toast
1775
+ } : e)
1776
+ };
1777
+ case X.DISMISS_TOAST: {
1778
+ let { toastId: n } = t;
1779
+ return n ? Hi(n) : e.toasts.forEach((e) => {
1780
+ Hi(e.id);
1781
+ }), {
1782
+ ...e,
1783
+ toasts: e.toasts.map((e) => e.id === n || n === void 0 ? {
1784
+ ...e,
1785
+ open: !1
1786
+ } : e)
1787
+ };
1788
+ }
1789
+ case X.REMOVE_TOAST: return t.toastId === void 0 ? {
1790
+ ...e,
1791
+ toasts: []
1792
+ } : {
1793
+ ...e,
1794
+ toasts: e.toasts.filter((e) => e.id !== t.toastId)
1795
+ };
1796
+ }
1797
+ }, Z = [], Q = { toasts: [] };
1798
+ function $(e) {
1799
+ Q = Ui(Q, e), Z.forEach((e) => {
1800
+ e(Q);
1801
+ });
900
1802
  }
901
- const bo = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "slider is not yet implemented for React Native" }) }), ho = () => /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "Toaster (Sonner) is not yet implemented for React Native" }) }), er = a.forwardRef(
902
- ({ className: t, checked: e, onCheckedChange: o, ...s }, l) => /* @__PURE__ */ r(
903
- Q.Root,
904
- {
905
- className: n(
906
- "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",
907
- t
908
- ),
909
- ...s,
910
- checked: e ?? !1,
911
- onCheckedChange: o || (() => {
912
- }),
913
- ref: l,
914
- children: /* @__PURE__ */ r(
915
- Q.Thumb,
916
- {
917
- className: n(
918
- "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"
919
- )
920
- }
921
- )
922
- }
923
- )
924
- );
925
- er.displayName = Q.Root?.displayName || "Switch";
926
- const tr = a.forwardRef(
927
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(i, { ref: o, className: n("w-full caption-bottom text-sm", t), ...e })
928
- );
929
- tr.displayName = "Table";
930
- const rr = a.forwardRef(
931
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(i, { ref: o, className: n("border-border border-b", t), ...e })
932
- );
933
- rr.displayName = "TableHeader";
934
- const or = a.forwardRef(
935
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(i, { ref: o, className: n("flex-1", t), ...e })
936
- );
937
- or.displayName = "TableBody";
938
- const ar = a.forwardRef(
939
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(i, { ref: o, className: n("bg-muted/50 font-medium [&>tr]:last:border-b-0", t), ...e })
940
- );
941
- ar.displayName = "TableFooter";
942
- const nr = a.forwardRef(
943
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(
944
- i,
945
- {
946
- ref: o,
947
- className: n(
948
- "border-border hover:bg-muted/50 data-[state=selected]:bg-muted flex-row border-b transition-colors",
949
- t
950
- ),
951
- ...e
952
- }
953
- )
954
- );
955
- nr.displayName = "TableRow";
956
- const sr = a.forwardRef(
957
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(
958
- S,
959
- {
960
- ref: o,
961
- className: n(
962
- "text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0",
963
- t
964
- ),
965
- ...e
966
- }
967
- )
968
- );
969
- sr.displayName = "TableHead";
970
- const ir = a.forwardRef(
971
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(S, { ref: o, className: n("p-4 align-middle [&:has([role=checkbox])]:pr-0", t), ...e })
972
- );
973
- ir.displayName = "TableCell";
974
- const lr = a.forwardRef(
975
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(S, { ref: o, className: n("text-muted-foreground mt-4 text-sm", t), ...e })
976
- );
977
- lr.displayName = "TableCaption";
978
- const dr = a.forwardRef((t, e) => /* @__PURE__ */ r(F.Root, { ref: e, ...t }));
979
- dr.displayName = "Tabs";
980
- const cr = a.forwardRef(
981
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(
982
- F.List,
983
- {
984
- ref: o,
985
- className: n(
986
- "bg-muted text-muted-foreground inline-flex h-10 flex-row items-center justify-center rounded-md p-1",
987
- t
988
- ),
989
- ...e
990
- }
991
- )
992
- );
993
- cr.displayName = F.List?.displayName || "TabsList";
994
- const mr = a.forwardRef(
995
- ({ className: t, ...e }, o) => {
996
- const { value: s } = F.useRootContext();
997
- return /* @__PURE__ */ r(
998
- ae.Provider,
999
- {
1000
- value: n(
1001
- "text-sm native:text-base font-medium text-muted-foreground web:transition-all",
1002
- s === e.value && "text-foreground"
1003
- ),
1004
- children: /* @__PURE__ */ r(
1005
- F.Trigger,
1006
- {
1007
- ref: o,
1008
- className: n(
1009
- "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",
1010
- e.disabled && "opacity-50",
1011
- s === e.value && "bg-background shadow-foreground/10 shadow-sm",
1012
- t
1013
- ),
1014
- ...e
1015
- }
1016
- )
1017
- }
1018
- );
1019
- }
1020
- );
1021
- mr.displayName = F.Trigger?.displayName || "TabsTrigger";
1022
- const ur = a.forwardRef(
1023
- ({ className: t, ...e }, o) => /* @__PURE__ */ r(
1024
- F.Content,
1025
- {
1026
- ref: o,
1027
- className: n(
1028
- "ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",
1029
- t
1030
- ),
1031
- ...e
1032
- }
1033
- )
1034
- );
1035
- ur.displayName = F.Content?.displayName || "TabsContent";
1036
- const fr = a.forwardRef(
1037
- ({ className: t, placeholderClassName: e, ...o }, s) => /* @__PURE__ */ r(
1038
- ie,
1039
- {
1040
- ref: s,
1041
- multiline: !0,
1042
- numberOfLines: o.numberOfLines || 3,
1043
- className: n(
1044
- "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",
1045
- t
1046
- ),
1047
- placeholderClassName: n("text-muted-foreground", e),
1048
- textAlignVertical: "top",
1049
- ...o
1050
- }
1051
- )
1052
- );
1053
- fr.displayName = "Textarea";
1054
- const pr = a.forwardRef(
1055
- ({ className: t, variant: e, size: o, ...s }, l) => /* @__PURE__ */ r(
1056
- ae.Provider,
1057
- {
1058
- value: n(
1059
- "text-sm native:text-base text-foreground font-medium",
1060
- s.pressed && "text-accent-foreground",
1061
- t
1062
- ),
1063
- children: /* @__PURE__ */ r(
1064
- fe.Root,
1065
- {
1066
- ref: l,
1067
- className: n(ue({ variant: e, size: o, className: t })),
1068
- ...s,
1069
- pressed: s.pressed || !1,
1070
- onPressedChange: s.onPressedChange || (() => {
1071
- })
1072
- }
1073
- )
1074
- }
1075
- )
1076
- );
1077
- pr.displayName = fe.Root?.displayName || "Toggle";
1078
- const Re = a.createContext({
1079
- size: "default",
1080
- variant: "default"
1081
- }), gr = a.forwardRef(
1082
- ({ className: t, variant: e, size: o, children: s, type: l, value: d, onValueChange: c, ...f }, y) => /* @__PURE__ */ r(
1083
- X.Root,
1084
- {
1085
- ref: y,
1086
- type: l,
1087
- value: d,
1088
- onValueChange: c,
1089
- className: n("flex flex-row items-center justify-center gap-1", t),
1090
- ...f,
1091
- children: /* @__PURE__ */ r(Re.Provider, { value: { variant: e, size: o }, children: s })
1092
- }
1093
- )
1094
- );
1095
- gr.displayName = X.Root?.displayName || "ToggleGroup";
1096
- const br = a.forwardRef(
1097
- ({ className: t, children: e, variant: o, size: s, value: l, ...d }, c) => {
1098
- const f = a.useContext(Re);
1099
- return /* @__PURE__ */ r(
1100
- ae.Provider,
1101
- {
1102
- value: n(
1103
- "text-sm native:text-base text-foreground font-medium",
1104
- d.disabled && "web:cursor-not-allowed opacity-50",
1105
- l === "" && "text-accent-foreground",
1106
- t
1107
- ),
1108
- children: /* @__PURE__ */ r(
1109
- X.Item,
1110
- {
1111
- ref: c,
1112
- value: l,
1113
- className: n(
1114
- ue({
1115
- variant: f.variant || o,
1116
- size: f.size || s
1117
- }),
1118
- t
1119
- ),
1120
- ...d,
1121
- children: e
1122
- }
1123
- )
1124
- }
1125
- );
1126
- }
1127
- );
1128
- br.displayName = X.Item?.displayName || "ToggleGroupItem";
1129
- const yo = M.Root, xo = M.Trigger, hr = a.forwardRef(({ className: t, portalHost: e, ...o }, s) => /* @__PURE__ */ r(M.Portal, { hostName: e, children: /* @__PURE__ */ r(M.Overlay, { style: H.OS !== "web" ? U.absoluteFill : void 0, children: /* @__PURE__ */ r(
1130
- k.View,
1131
- {
1132
- entering: L,
1133
- exiting: j,
1134
- className: n(
1135
- "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",
1136
- t
1137
- ),
1138
- children: /* @__PURE__ */ r(S, { className: "text-popover-foreground native:text-base text-sm", children: o.children })
1139
- }
1140
- ) }) }));
1141
- hr.displayName = M.Content?.displayName || "TooltipContent";
1142
- const No = ({ children: t }) => /* @__PURE__ */ r(W, { children: t }), yr = a.forwardRef(({ className: t, variant: e = "default", ...o }, s) => /* @__PURE__ */ r(
1143
- A.Root,
1144
- {
1145
- ref: s,
1146
- className: n(
1147
- "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",
1148
- e === "default" ? "border-border bg-background" : "border-destructive bg-destructive",
1149
- t
1150
- ),
1151
- ...o,
1152
- children: /* @__PURE__ */ r(k.View, { entering: We, exiting: qe, layout: Ye, className: "w-full flex-row items-center", children: o.children })
1153
- }
1154
- ));
1155
- yr.displayName = A.Root?.displayName || "Toast";
1156
- const xr = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(A.Title, { ref: o, className: n("text-foreground text-sm font-semibold", t), ...e }));
1157
- xr.displayName = A.Title?.displayName || "ToastTitle";
1158
- const Nr = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
1159
- A.Description,
1160
- {
1161
- ref: o,
1162
- className: n("text-muted-foreground text-sm opacity-90", t),
1163
- ...e
1164
- }
1165
- ));
1166
- Nr.displayName = A.Description?.displayName || "ToastDescription";
1167
- const wr = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
1168
- A.Close,
1169
- {
1170
- ref: o,
1171
- className: n(
1172
- "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",
1173
- t
1174
- ),
1175
- ...e,
1176
- children: /* @__PURE__ */ r(ee, { size: 16, className: "text-muted-foreground" })
1177
- }
1178
- ));
1179
- wr.displayName = A.Close?.displayName || "ToastClose";
1180
- const vr = a.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ r(
1181
- A.Action,
1182
- {
1183
- ref: o,
1184
- className: n(
1185
- "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",
1186
- t
1187
- ),
1188
- ...e
1189
- }
1190
- ));
1191
- vr.displayName = A.Action?.displayName || "ToastAction";
1192
- function wo({ children: t }) {
1193
- return /* @__PURE__ */ r(i, { style: { flex: 1 }, children: t });
1803
+ function Wi({ ...e }) {
1804
+ let t = Bi(), n = (e) => $({
1805
+ type: "UPDATE_TOAST",
1806
+ toast: {
1807
+ ...e,
1808
+ id: t
1809
+ }
1810
+ }), r = () => $({
1811
+ type: "DISMISS_TOAST",
1812
+ toastId: t
1813
+ });
1814
+ return $({
1815
+ type: "ADD_TOAST",
1816
+ toast: {
1817
+ ...e,
1818
+ id: t,
1819
+ open: !0,
1820
+ onOpenChange: (e) => {
1821
+ e || r();
1822
+ }
1823
+ }
1824
+ }), {
1825
+ id: t,
1826
+ dismiss: r,
1827
+ update: n
1828
+ };
1194
1829
  }
1195
- function vo() {
1196
- return /* @__PURE__ */ r(le, { onPress: () => {
1197
- }, children: /* @__PURE__ */ r(i, { style: { padding: 10, backgroundColor: "#eee", borderRadius: 5 }, children: /* @__PURE__ */ r(m, { children: "Toggle Theme" }) }) });
1830
+ function Gi() {
1831
+ let [t, n] = e.useState(Q);
1832
+ return e.useEffect(() => (Z.push(n), () => {
1833
+ let e = Z.indexOf(n);
1834
+ e > -1 && Z.splice(e, 1);
1835
+ }), []), {
1836
+ ...t,
1837
+ toast: Wi,
1838
+ dismiss: (e) => $({
1839
+ type: "DISMISS_TOAST",
1840
+ toastId: e
1841
+ })
1842
+ };
1198
1843
  }
1199
- function Ro() {
1200
- return /* @__PURE__ */ r(i, { children: /* @__PURE__ */ r(m, { children: "Toaster is not yet implemented for React Native" }) });
1844
+ //#endregion
1845
+ //#region src/toast.tsx
1846
+ var Ki = ({ children: e }) => /* @__PURE__ */ m(p, { children: e }), qi = e.forwardRef(({ className: e, variant: t = "default", ...n }, r) => /* @__PURE__ */ m(U.Root, {
1847
+ ref: r,
1848
+ className: G("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", t === "default" ? "border-border bg-background" : "border-destructive bg-destructive", e),
1849
+ ...n,
1850
+ children: /* @__PURE__ */ m(w.View, {
1851
+ entering: se,
1852
+ exiting: ce,
1853
+ layout: le,
1854
+ className: "w-full flex-row items-center",
1855
+ children: n.children
1856
+ })
1857
+ }));
1858
+ qi.displayName = U.Root?.displayName || "Toast";
1859
+ var Ji = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(U.Title, {
1860
+ ref: n,
1861
+ className: G("text-foreground text-sm font-semibold", e),
1862
+ ...t
1863
+ }));
1864
+ Ji.displayName = U.Title?.displayName || "ToastTitle";
1865
+ var Yi = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(U.Description, {
1866
+ ref: n,
1867
+ className: G("text-muted-foreground text-sm opacity-90", e),
1868
+ ...t
1869
+ }));
1870
+ Yi.displayName = U.Description?.displayName || "ToastDescription";
1871
+ var Xi = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(U.Close, {
1872
+ ref: n,
1873
+ className: G("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", e),
1874
+ ...t,
1875
+ children: /* @__PURE__ */ m(ae, {
1876
+ size: 16,
1877
+ className: "text-muted-foreground"
1878
+ })
1879
+ }));
1880
+ Xi.displayName = U.Close?.displayName || "ToastClose";
1881
+ var Zi = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ m(U.Action, {
1882
+ ref: n,
1883
+ className: G("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", e),
1884
+ ...t
1885
+ }));
1886
+ Zi.displayName = U.Action?.displayName || "ToastAction";
1887
+ //#endregion
1888
+ //#region src/theme-provider.tsx
1889
+ function Qi({ children: e }) {
1890
+ return /* @__PURE__ */ m(f, {
1891
+ style: { flex: 1 },
1892
+ children: e
1893
+ });
1201
1894
  }
1202
- const Te = a.createContext(void 0);
1203
- function ne() {
1204
- const t = a.useContext(Te);
1205
- if (!t)
1206
- throw new Error("useTOC must be used within a TableOfContents provider");
1207
- return t;
1895
+ //#endregion
1896
+ //#region src/theme-toggle.tsx
1897
+ function $i() {
1898
+ return /* @__PURE__ */ m(d, {
1899
+ onPress: () => {},
1900
+ children: /* @__PURE__ */ m(f, {
1901
+ style: {
1902
+ padding: 10,
1903
+ backgroundColor: "#eee",
1904
+ borderRadius: 5
1905
+ },
1906
+ children: /* @__PURE__ */ m(l, { children: "Toggle Theme" })
1907
+ })
1908
+ });
1208
1909
  }
1209
- function se({ children: t, activeId: e }) {
1210
- const [o, s] = a.useState([]), [l, d] = a.useState(null), c = a.useRef(null), f = a.useMemo(() => {
1211
- const b = e || l;
1212
- return o.find((h) => h.id === b)?.text || null;
1213
- }, [o, l, e]), y = a.useCallback((b, h, v, R) => {
1214
- s((D) => {
1215
- const z = D.find((x) => x.id === b);
1216
- return z && Math.abs(z.pageY - R) < 1 ? D : (z ? D.map((x) => x.id === b ? { id: b, text: h, level: v, pageY: R } : x) : [...D, { id: b, text: h, level: v, pageY: R }]).sort((x, Ce) => x.pageY - Ce.pageY);
1217
- });
1218
- }, []), w = a.useCallback((b) => {
1219
- s((h) => h.filter((v) => v.id !== b));
1220
- }, []), O = a.useCallback(
1221
- (b) => {
1222
- const h = o.find((v) => v.id === b);
1223
- h && c.current && c.current.scrollTo({ y: h.pageY - 20, animated: !0 });
1224
- },
1225
- [o]
1226
- ), I = a.useCallback(
1227
- (b) => {
1228
- const h = b.nativeEvent.contentOffset.y;
1229
- let v = null;
1230
- for (let R = o.length - 1; R >= 0; R--)
1231
- if (h >= o[R].pageY - 100) {
1232
- v = o[R].id;
1233
- break;
1234
- }
1235
- v !== l && d(v);
1236
- },
1237
- [o, l]
1238
- ), V = a.useMemo(
1239
- () => ({
1240
- headings: o,
1241
- activeId: e || l,
1242
- activeHeadingText: f,
1243
- registerHeading: y,
1244
- unregisterHeading: w,
1245
- scrollToHeading: O,
1246
- onScroll: I,
1247
- scrollViewRef: c
1248
- }),
1249
- [
1250
- o,
1251
- l,
1252
- e,
1253
- f,
1254
- y,
1255
- w,
1256
- O,
1257
- I
1258
- ]
1259
- );
1260
- return /* @__PURE__ */ r(Te.Provider, { value: V, children: /* @__PURE__ */ r(i, { className: "flex-1", children: t }) });
1910
+ //#endregion
1911
+ //#region src/toaster.tsx
1912
+ var ea = () => {
1913
+ let { toasts: e } = Gi();
1914
+ return /* @__PURE__ */ m(Ki, { children: /* @__PURE__ */ m(f, {
1915
+ className: "pointer-events-none absolute right-6 bottom-6 left-6 z-50 flex flex-col gap-2",
1916
+ children: e.map(({ id: e, title: t, description: n, action: r, ...i }) => /* @__PURE__ */ h(qi, {
1917
+ ...i,
1918
+ className: "pointer-events-auto",
1919
+ children: [
1920
+ /* @__PURE__ */ h(f, {
1921
+ className: "flex flex-1 flex-col gap-1",
1922
+ children: [t && /* @__PURE__ */ m(Ji, { children: t }), n && /* @__PURE__ */ m(Yi, { children: n })]
1923
+ }),
1924
+ r,
1925
+ /* @__PURE__ */ m(Xi, {})
1926
+ ]
1927
+ }, e))
1928
+ }) });
1929
+ }, ta = e.createContext(void 0);
1930
+ function na() {
1931
+ let t = e.useContext(ta);
1932
+ if (!t) throw Error("useTOC must be used within a TableOfContents provider");
1933
+ return t;
1261
1934
  }
1262
- function Rr({
1263
- children: t,
1264
- level: e = 2,
1265
- id: o,
1266
- className: s
1267
- }) {
1268
- const { registerHeading: l, unregisterHeading: d } = ne(), c = o || Xe(t), f = a.useCallback(
1269
- (y) => {
1270
- const { y: w } = y.nativeEvent.layout;
1271
- l(c, t, e, w);
1272
- },
1273
- [c, t, e, l]
1274
- );
1275
- return a.useEffect(() => () => d(c), [c, d]), /* @__PURE__ */ r(i, { onLayout: f, children: /* @__PURE__ */ r(S, { variant: e === 1 ? "h1" : e === 2 ? "h2" : e === 3 ? "h3" : "h4", className: s, children: t }) });
1935
+ function ra({ children: t, activeId: n }) {
1936
+ let [r, i] = e.useState([]), [a, o] = e.useState(null), s = e.useRef(null), c = e.useMemo(() => {
1937
+ let e = n || a;
1938
+ return r.find((t) => t.id === e)?.text || null;
1939
+ }, [
1940
+ r,
1941
+ a,
1942
+ n
1943
+ ]), l = e.useCallback((e, t, n, r) => {
1944
+ i((i) => {
1945
+ let a = i.find((t) => t.id === e);
1946
+ return a && Math.abs(a.pageY - r) < 1 ? i : (a ? i.map((i) => i.id === e ? {
1947
+ id: e,
1948
+ text: t,
1949
+ level: n,
1950
+ pageY: r
1951
+ } : i) : [...i, {
1952
+ id: e,
1953
+ text: t,
1954
+ level: n,
1955
+ pageY: r
1956
+ }]).sort((e, t) => e.pageY - t.pageY);
1957
+ });
1958
+ }, []), u = e.useCallback((e) => {
1959
+ i((t) => t.filter((t) => t.id !== e));
1960
+ }, []), d = e.useCallback((e) => {
1961
+ let t = r.find((t) => t.id === e);
1962
+ t && s.current && s.current.scrollTo({
1963
+ y: t.pageY - 20,
1964
+ animated: !0
1965
+ });
1966
+ }, [r]), p = e.useCallback((e) => {
1967
+ let t = e.nativeEvent.contentOffset.y, n = null;
1968
+ for (let e = r.length - 1; e >= 0; e--) if (t >= r[e].pageY - 100) {
1969
+ n = r[e].id;
1970
+ break;
1971
+ }
1972
+ n !== a && o(n);
1973
+ }, [r, a]), h = e.useMemo(() => ({
1974
+ headings: r,
1975
+ activeId: n || a,
1976
+ activeHeadingText: c,
1977
+ registerHeading: l,
1978
+ unregisterHeading: u,
1979
+ scrollToHeading: d,
1980
+ onScroll: p,
1981
+ scrollViewRef: s
1982
+ }), [
1983
+ r,
1984
+ a,
1985
+ n,
1986
+ c,
1987
+ l,
1988
+ u,
1989
+ d,
1990
+ p
1991
+ ]);
1992
+ return /* @__PURE__ */ m(ta.Provider, {
1993
+ value: h,
1994
+ children: /* @__PURE__ */ m(f, {
1995
+ className: "flex-1",
1996
+ children: t
1997
+ })
1998
+ });
1276
1999
  }
1277
- function Tr({ className: t }) {
1278
- const { headings: e, activeId: o, scrollToHeading: s } = ne();
1279
- if (e.length === 0)
1280
- return null;
1281
- const l = Math.min(...e.map((d) => d.level));
1282
- return /* @__PURE__ */ g(i, { className: n("space-y-2 p-4", t), children: [
1283
- /* @__PURE__ */ r(S, { variant: "overline", className: "mb-2 font-bold", children: "On this page" }),
1284
- e.map((d) => {
1285
- const c = o === d.id, f = (d.level - l) * 16;
1286
- return /* @__PURE__ */ r(
1287
- le,
1288
- {
1289
- onPress: () => s(d.id),
1290
- style: { paddingLeft: f },
1291
- className: "py-1",
1292
- children: /* @__PURE__ */ r(m, { className: n("text-sm", c ? "text-primary font-bold" : "text-muted-foreground"), children: d.text })
1293
- },
1294
- d.id
1295
- );
1296
- })
1297
- ] });
2000
+ function ia({ children: t, level: n = 2, id: r, className: i }) {
2001
+ let { registerHeading: a, unregisterHeading: o } = na(), s = r || ke(t), c = e.useCallback((e) => {
2002
+ let { y: r } = e.nativeEvent.layout;
2003
+ a(s, t, n, r);
2004
+ }, [
2005
+ s,
2006
+ t,
2007
+ n,
2008
+ a
2009
+ ]);
2010
+ return e.useEffect(() => () => o(s), [s, o]), /* @__PURE__ */ m(f, {
2011
+ onLayout: c,
2012
+ children: /* @__PURE__ */ m(J, {
2013
+ variant: n === 1 ? "h1" : n === 2 ? "h2" : n === 3 ? "h3" : "h4",
2014
+ className: i,
2015
+ children: t
2016
+ })
2017
+ });
1298
2018
  }
1299
- function Cr({ children: t, className: e }) {
1300
- const { scrollViewRef: o, onScroll: s } = ne();
1301
- return /* @__PURE__ */ r(
1302
- De,
1303
- {
1304
- ref: o,
1305
- onScroll: s,
1306
- className: n("flex-1", e),
1307
- ...H.OS !== "web" && {
1308
- scrollEventThrottle: 16,
1309
- contentContainerStyle: { padding: 16 }
1310
- },
1311
- children: t
1312
- }
1313
- );
2019
+ function aa({ className: e }) {
2020
+ let { headings: t, activeId: n, scrollToHeading: r } = na();
2021
+ if (t.length === 0) return null;
2022
+ let i = Math.min(...t.map((e) => e.level));
2023
+ return /* @__PURE__ */ h(f, {
2024
+ className: G("space-y-2 p-4", e),
2025
+ children: [/* @__PURE__ */ m(J, {
2026
+ variant: "overline",
2027
+ className: "mb-2 font-bold",
2028
+ children: "On this page"
2029
+ }), t.map((e) => {
2030
+ let t = n === e.id;
2031
+ return /* @__PURE__ */ m(d, {
2032
+ onPress: () => r(e.id),
2033
+ style: { paddingLeft: (e.level - i) * 16 },
2034
+ className: "py-1",
2035
+ children: /* @__PURE__ */ m(l, {
2036
+ className: G("text-sm", t ? "text-primary font-bold" : "text-muted-foreground"),
2037
+ children: e.text
2038
+ })
2039
+ }, e.id);
2040
+ })]
2041
+ });
1314
2042
  }
1315
- se.List = Tr;
1316
- se.Content = Cr;
1317
- se.Heading = Rr;
1318
- export {
1319
- _e as Accordion,
1320
- Ze as AccordionContent,
1321
- Je as AccordionItem,
1322
- Qe as AccordionTrigger,
1323
- tt as Alert,
1324
- ot as AlertDescription,
1325
- zr as AlertDialog,
1326
- mt as AlertDialogAction,
1327
- ut as AlertDialogCancel,
1328
- st as AlertDialogContent,
1329
- ct as AlertDialogDescription,
1330
- lt as AlertDialogFooter,
1331
- it as AlertDialogHeader,
1332
- pe as AlertDialogOverlay,
1333
- nt as AlertDialogPortal,
1334
- dt as AlertDialogTitle,
1335
- Hr as AlertDialogTrigger,
1336
- rt as AlertTitle,
1337
- Fr as AspectRatio,
1338
- ft as Avatar,
1339
- gt as AvatarFallback,
1340
- pt as AvatarImage,
1341
- jr as Badge,
1342
- Lr as Breadcrumb,
1343
- q as Button,
1344
- Br as Calendar,
1345
- yt as Card,
1346
- vt as CardContent,
1347
- wt as CardDescription,
1348
- Rt as CardFooter,
1349
- xt as CardHeader,
1350
- Nt as CardTitle,
1351
- Er as Carousel,
1352
- Gr as Chart,
1353
- Tt as Checkbox,
1354
- Mr as Collapsible,
1355
- $r as CollapsibleContent,
1356
- Ur as CollapsibleTrigger,
1357
- Yr as Command,
1358
- qr as ContextMenu,
1359
- Ct as Dialog,
1360
- Xr as DialogClose,
1361
- be as DialogContent,
1362
- xe as DialogDescription,
1363
- kt as DialogFooter,
1364
- he as DialogHeader,
1365
- ye as DialogTitle,
1366
- Wr as DialogTrigger,
1367
- _r as Drawer,
1368
- Jr as DropdownMenu,
1369
- Kr as Form,
1370
- Qr as HoverCard,
1371
- At as Input,
1372
- Dt as Label,
1373
- Zr as Menubar,
1374
- eo as NavigationMenu,
1375
- to as Pagination,
1376
- Pt as Popover,
1377
- It as PopoverAnchor,
1378
- Vt as PopoverContent,
1379
- Ot as PopoverTrigger,
1380
- zt as Progress,
1381
- Ht as RadioGroup,
1382
- Ft as RadioGroupItem,
1383
- ao as ResizableHandle,
1384
- oo as ResizablePanel,
1385
- ro as ResizablePanelGroup,
1386
- no as ScrollArea,
1387
- Mt as ScrollToTop,
1388
- so as Search,
1389
- io as Select,
1390
- Lt as SelectContent,
1391
- lo as SelectGroup,
1392
- Et as SelectItem,
1393
- Bt as SelectLabel,
1394
- we as SelectScrollDownButton,
1395
- Ne as SelectScrollUpButton,
1396
- Gt as SelectSeparator,
1397
- jt as SelectTrigger,
1398
- co as SelectValue,
1399
- Wt as Separator,
1400
- uo as Sheet,
1401
- po as SheetClose,
1402
- _t as SheetContent,
1403
- Zt as SheetDescription,
1404
- Kt as SheetFooter,
1405
- Jt as SheetHeader,
1406
- ve as SheetOverlay,
1407
- Xt as SheetPortal,
1408
- Qt as SheetTitle,
1409
- fo as SheetTrigger,
1410
- go as Skeleton,
1411
- bo as Slider,
1412
- ho as Sonner,
1413
- mo as SupportFab,
1414
- er as Switch,
1415
- tr as Table,
1416
- or as TableBody,
1417
- lr as TableCaption,
1418
- ir as TableCell,
1419
- ar as TableFooter,
1420
- sr as TableHead,
1421
- rr as TableHeader,
1422
- se as TableOfContents,
1423
- Cr as TableOfContentsContent,
1424
- Rr as TableOfContentsHeading,
1425
- Tr as TableOfContentsList,
1426
- nr as TableRow,
1427
- dr as Tabs,
1428
- ur as TabsContent,
1429
- cr as TabsList,
1430
- mr as TabsTrigger,
1431
- S as Text,
1432
- fr as Textarea,
1433
- wo as ThemeProvider,
1434
- vo as ThemeToggle,
1435
- yr as Toast,
1436
- Ro as Toaster,
1437
- pr as Toggle,
1438
- gr as ToggleGroup,
1439
- br as ToggleGroupItem,
1440
- yo as Tooltip,
1441
- hr as TooltipContent,
1442
- No as TooltipProvider,
1443
- xo as TooltipTrigger,
1444
- bt as badgeVariants,
1445
- re as buttonVariants,
1446
- n as cn,
1447
- Ut as textVariants,
1448
- So as toggleVariants,
1449
- _ as wrapTextChildren
1450
- };
2043
+ function oa({ children: e, className: t }) {
2044
+ let { scrollViewRef: n, onScroll: r } = na();
2045
+ return /* @__PURE__ */ m(s, {
2046
+ ref: n,
2047
+ onScroll: r,
2048
+ className: G("flex-1", t),
2049
+ ...a.OS !== "web" && {
2050
+ scrollEventThrottle: 16,
2051
+ contentContainerStyle: { padding: 16 }
2052
+ },
2053
+ children: e
2054
+ });
2055
+ }
2056
+ ra.List = aa, ra.Content = oa, ra.Heading = ia;
2057
+ //#endregion
2058
+ export { Ae as Accordion, Pe as AccordionContent, je as AccordionItem, Ne as AccordionTrigger, Ie as Alert, Re as AlertDescription, Be as AlertDialog, Ye as AlertDialogAction, Xe as AlertDialogCancel, We as AlertDialogContent, Je as AlertDialogDescription, Ke as AlertDialogFooter, Ge as AlertDialogHeader, Ue as AlertDialogOverlay, He as AlertDialogPortal, qe as AlertDialogTitle, Ve as AlertDialogTrigger, Le as AlertTitle, Ze as AspectRatio, Qe as Avatar, et as AvatarFallback, $e as AvatarImage, rt as Badge, ot as Breadcrumb, ft as BreadcrumbEllipsis, ct as BreadcrumbItem, lt as BreadcrumbLink, st as BreadcrumbList, ut as BreadcrumbPage, dt as BreadcrumbSeparator, q as Button, pt as Calendar, mt as Card, vt as CardContent, _t as CardDescription, yt as CardFooter, ht as CardHeader, gt as CardTitle, bt as Carousel, xt as CarouselContent, St as CarouselItem, wt as CarouselNext, Ct as CarouselPrevious, Tt as ChartContainer, kt as ChartLegend, Dt as ChartLegendContent, At as ChartStyle, Ot as ChartTooltip, Et as ChartTooltipContent, jt as Checkbox, Mt as Collapsible, Pt as CollapsibleContent, Nt as CollapsibleTrigger, Ft as Command, It as CommandDialog, zt as CommandEmpty, Bt as CommandGroup, Lt as CommandInput, Vt as CommandItem, Rt as CommandList, Ht as CommandSeparator, Ut as CommandShortcut, Wt as ContextMenu, $t as ContextMenuCheckboxItem, Zt as ContextMenuContent, qt as ContextMenuGroup, Qt as ContextMenuItem, tn as ContextMenuLabel, Kt as ContextMenuPortal, Jt as ContextMenuRadioGroup, en as ContextMenuRadioItem, nn as ContextMenuSeparator, rn as ContextMenuShortcut, Yt as ContextMenuSub, on as ContextMenuSubContent, an as ContextMenuSubTrigger, Gt as ContextMenuTrigger, sn as Dialog, un as DialogClose, fn as DialogContent, gn as DialogDescription, mn as DialogFooter, pn as DialogHeader, hn as DialogTitle, cn as DialogTrigger, _n as Drawer, wn as DrawerClose, xn as DrawerContent, En as DrawerDescription, Cn as DrawerFooter, Sn as DrawerHeader, bn as DrawerOverlay, yn as DrawerPortal, Tn as DrawerTitle, vn as DrawerTrigger, Dn as DropdownMenu, In as DropdownMenuCheckboxItem, Pn as DropdownMenuContent, An as DropdownMenuGroup, Fn as DropdownMenuItem, Rn as DropdownMenuLabel, kn as DropdownMenuPortal, jn as DropdownMenuRadioGroup, Ln as DropdownMenuRadioItem, zn as DropdownMenuSeparator, Bn as DropdownMenuShortcut, Mn as DropdownMenuSub, Hn as DropdownMenuSubContent, Vn as DropdownMenuSubTrigger, On as DropdownMenuTrigger, Un as Form, Wn as HoverCard, Kn as HoverCardContent, Gn as HoverCardTrigger, qn as Input, Jn as Label, Yn as Menubar, ar as MenubarCheckboxItem, rr as MenubarContent, Qn as MenubarGroup, ir as MenubarItem, sr as MenubarLabel, Xn as MenubarMenu, Zn as MenubarPortal, $n as MenubarRadioGroup, or as MenubarRadioItem, cr as MenubarSeparator, lr as MenubarShortcut, er as MenubarSub, dr as MenubarSubContent, ur as MenubarSubTrigger, nr as MenubarTrigger, fr as NavigationMenu, gr as NavigationMenuContent, yr as NavigationMenuIndicator, mr as NavigationMenuItem, _r as NavigationMenuLink, pr as NavigationMenuList, hr as NavigationMenuTrigger, vr as NavigationMenuViewport, br as Pagination, xr as PaginationContent, Tr as PaginationEllipsis, Sr as PaginationItem, Y as PaginationLink, wr as PaginationNext, Cr as PaginationPrevious, Dr as Popover, kr as PopoverAnchor, Ar as PopoverContent, Or as PopoverTrigger, jr as Progress, Mr as RadioGroup, Nr as RadioGroupItem, Ir as ResizableHandle, Fr as ResizablePanel, Pr as ResizablePanelGroup, Lr as ScrollArea, Xr as ScrollToTop, zr as Search, Br as Select, Kr as SelectContent, Vr as SelectGroup, Jr as SelectItem, qr as SelectLabel, Gr as SelectScrollDownButton, Wr as SelectScrollUpButton, Yr as SelectSeparator, Ur as SelectTrigger, Hr as SelectValue, ti as Separator, ni as Sheet, ii as SheetClose, si as SheetContent, di as SheetDescription, li as SheetFooter, ci as SheetHeader, oi as SheetOverlay, ai as SheetPortal, ui as SheetTitle, ri as SheetTrigger, fi as Skeleton, pi as Slider, mi as Sonner, ei as SupportFab, hi as Switch, gi as Table, vi as TableBody, Ci as TableCaption, Si as TableCell, yi as TableFooter, xi as TableHead, _i as TableHeader, ra as TableOfContents, oa as TableOfContentsContent, ia as TableOfContentsHeading, aa as TableOfContentsList, bi as TableRow, wi as Tabs, Di as TabsContent, Ti as TabsList, Ei as TabsTrigger, J as Text, Oi as Textarea, Qi as ThemeProvider, $i as ThemeToggle, qi as Toast, ea as Toaster, ki as Toggle, ji as ToggleGroup, Mi as ToggleGroupItem, Ni as Tooltip, Fi as TooltipContent, Ii as TooltipProvider, Pi as TooltipTrigger, tt as badgeVariants, K as buttonVariants, G as cn, at as textVariants, Wi as toast, De as toggleVariants, Gi as useToast, W as wrapTextChildren };