@fanfare-io/fanfare-sdk-react 0.9.0 → 0.10.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.
- package/dist/components/compositions/error-view.d.ts +1 -1
- package/dist/index.js +858 -844
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as t, Fragment as Me, jsxs as u } from "react/jsx-runtime";
|
|
3
|
-
import
|
|
3
|
+
import cr from "@fanfare-io/fanfare-sdk-core";
|
|
4
4
|
import * as s from "react";
|
|
5
|
-
import { createContext as
|
|
6
|
-
import { getLocaleMessages as
|
|
7
|
-
import { RTL_LOCALES as
|
|
8
|
-
import { ensureFanfareError as mt, toDisplay as ra, classify as
|
|
9
|
-
import { getGates as xa, getParticipation as
|
|
5
|
+
import { createContext as jt, useMemo as X, useContext as zt, useState as ve, useRef as bt, useEffect as $e, useCallback as B, useSyncExternalStore as dr, forwardRef as kt, useLayoutEffect as ur } from "react";
|
|
6
|
+
import { getLocaleMessages as pr, mergeTranslations as aa, createTranslateFunction as ba, isRTLLocale as gr, en as mr, resolveLocaleMapValue as hr, normalizeLocale as wr } from "@fanfare-io/fanfare-sdk-i18n";
|
|
7
|
+
import { RTL_LOCALES as Yo, isRTLLocale as Go } from "@fanfare-io/fanfare-sdk-i18n";
|
|
8
|
+
import { ensureFanfareError as mt, toDisplay as ra, classify as vr } from "@fanfare-io/fanfare-sdk-core/errors";
|
|
9
|
+
import { getGates as xa, getParticipation as br, getDistribution as xr, getSequenceId as yr, getSequencePhase as kr } from "@fanfare-io/fanfare-sdk-core/internals";
|
|
10
10
|
import * as ht from "valibot";
|
|
11
|
-
import { clsx as
|
|
12
|
-
import { extendTailwindMerge as
|
|
13
|
-
import { cva as
|
|
14
|
-
import { AnimatePresence as _t, motion as
|
|
15
|
-
import { mergeBrandTheme as
|
|
16
|
-
import
|
|
11
|
+
import { clsx as _r } from "clsx";
|
|
12
|
+
import { extendTailwindMerge as Nr } from "tailwind-merge";
|
|
13
|
+
import { cva as ae } from "class-variance-authority";
|
|
14
|
+
import { AnimatePresence as _t, motion as W } from "motion/react";
|
|
15
|
+
import { mergeBrandTheme as Sr, DefaultBrandTheme as Cr } from "@fanfare-io/fanfare-sdk-core/theme";
|
|
16
|
+
import Dr from "canvas-confetti";
|
|
17
17
|
import { atom as qe } from "nanostores";
|
|
18
|
-
import { bucketFromEtaSeconds as
|
|
19
|
-
import { createPortal as
|
|
20
|
-
const ya =
|
|
18
|
+
import { bucketFromEtaSeconds as Vr, bucketI18nKey as Er } from "@fanfare-io/fanfare-sdk-core/queues";
|
|
19
|
+
import { createPortal as Mr } from "react-dom";
|
|
20
|
+
const ya = jt(null), ka = mr, Tr = ba(ka, "en"), Rr = {
|
|
21
21
|
locale: "en",
|
|
22
22
|
messages: ka,
|
|
23
23
|
isRoot: !0,
|
|
24
|
-
t:
|
|
24
|
+
t: Tr,
|
|
25
25
|
dir: "ltr",
|
|
26
26
|
experienceTranslations: null,
|
|
27
27
|
setExperienceTranslations: () => {
|
|
28
28
|
}
|
|
29
|
-
}, _a =
|
|
29
|
+
}, _a = jt(Rr);
|
|
30
30
|
function Ft() {
|
|
31
|
-
return
|
|
31
|
+
return zt(_a);
|
|
32
32
|
}
|
|
33
33
|
function K() {
|
|
34
34
|
const { t: e, locale: a, dir: r } = Ft();
|
|
35
35
|
return { t: e, locale: a, dir: r };
|
|
36
36
|
}
|
|
37
|
-
function
|
|
37
|
+
function Lr(e, a, r, n) {
|
|
38
38
|
const o = Ft();
|
|
39
39
|
return X(() => {
|
|
40
|
-
const i = e ?? o.locale, f = e && e !== o.locale ?
|
|
40
|
+
const i = e ?? o.locale, f = e && e !== o.locale ? pr(e) : o.messages, l = aa(
|
|
41
41
|
f,
|
|
42
42
|
r ?? o.experienceTranslations ?? void 0
|
|
43
|
-
), g = aa(
|
|
43
|
+
), g = aa(l, a), d = ba(g, i), b = gr(i) ? "rtl" : "ltr";
|
|
44
44
|
return {
|
|
45
45
|
locale: i,
|
|
46
46
|
messages: g,
|
|
@@ -53,7 +53,7 @@ function Rr(e, a, r, n) {
|
|
|
53
53
|
}, [o, e, a, r, n]);
|
|
54
54
|
}
|
|
55
55
|
function Na({ locale: e, translations: a, children: r }) {
|
|
56
|
-
const [n, o] = ve(null), i =
|
|
56
|
+
const [n, o] = ve(null), i = Lr(e, a, n, o);
|
|
57
57
|
return /* @__PURE__ */ t(_a.Provider, { value: i, children: r });
|
|
58
58
|
}
|
|
59
59
|
let na = Promise.resolve();
|
|
@@ -66,7 +66,7 @@ function oa(e) {
|
|
|
66
66
|
}
|
|
67
67
|
), a;
|
|
68
68
|
}
|
|
69
|
-
function
|
|
69
|
+
function qo({
|
|
70
70
|
children: e,
|
|
71
71
|
autoRestore: a = !0,
|
|
72
72
|
autoResume: r = !0,
|
|
@@ -74,32 +74,32 @@ function $o({
|
|
|
74
74
|
locale: o,
|
|
75
75
|
translations: i,
|
|
76
76
|
organizationId: f,
|
|
77
|
-
publishableKey:
|
|
77
|
+
publishableKey: l,
|
|
78
78
|
environment: g,
|
|
79
79
|
apiUrl: d,
|
|
80
80
|
credentials: b,
|
|
81
81
|
debug: m,
|
|
82
82
|
auth: v,
|
|
83
|
-
logging:
|
|
84
|
-
sync:
|
|
83
|
+
logging: h,
|
|
84
|
+
sync: x,
|
|
85
85
|
features: C,
|
|
86
|
-
beacon:
|
|
86
|
+
beacon: c
|
|
87
87
|
}) {
|
|
88
|
-
const [
|
|
88
|
+
const [w, p] = ve(null), [D, V] = ve(!0), T = bt(null), y = X(
|
|
89
89
|
() => ({
|
|
90
90
|
organizationId: f,
|
|
91
|
-
publishableKey:
|
|
91
|
+
publishableKey: l,
|
|
92
92
|
environment: g,
|
|
93
93
|
apiUrl: d,
|
|
94
94
|
credentials: b,
|
|
95
95
|
debug: m,
|
|
96
96
|
auth: v,
|
|
97
|
-
logging:
|
|
98
|
-
sync:
|
|
97
|
+
logging: h,
|
|
98
|
+
sync: x,
|
|
99
99
|
features: C,
|
|
100
|
-
beacon:
|
|
100
|
+
beacon: c
|
|
101
101
|
}),
|
|
102
|
-
[f,
|
|
102
|
+
[f, l, g, d, b, m, v, h, x, C, c]
|
|
103
103
|
);
|
|
104
104
|
return $e(() => {
|
|
105
105
|
let N = !0;
|
|
@@ -107,7 +107,7 @@ function $o({
|
|
|
107
107
|
async function S() {
|
|
108
108
|
if (N)
|
|
109
109
|
try {
|
|
110
|
-
const M = await
|
|
110
|
+
const M = await cr({ ...y, autoResume: a && r });
|
|
111
111
|
if (!N) {
|
|
112
112
|
await M.destroy();
|
|
113
113
|
return;
|
|
@@ -122,34 +122,34 @@ function $o({
|
|
|
122
122
|
const M = T.current;
|
|
123
123
|
T.current = null, M && oa(() => M.destroy());
|
|
124
124
|
};
|
|
125
|
-
}, [
|
|
125
|
+
}, [y, a, r]), D ? /* @__PURE__ */ t(Me, { children: n }) : w ? /* @__PURE__ */ t(ya.Provider, { value: w, children: /* @__PURE__ */ t(Na, { locale: o, translations: i, children: e }) }) : (console.error("Fanfare SDK failed to initialize"), null);
|
|
126
126
|
}
|
|
127
127
|
function Nt() {
|
|
128
|
-
const e =
|
|
128
|
+
const e = zt(ya);
|
|
129
129
|
if (!e)
|
|
130
130
|
throw new Error(
|
|
131
131
|
"useFanfare must be used within a FanfareProvider. Make sure your component is wrapped with <FanfareProvider>"
|
|
132
132
|
);
|
|
133
133
|
return e;
|
|
134
134
|
}
|
|
135
|
-
function
|
|
135
|
+
function Uo() {
|
|
136
136
|
const e = Nt(), [a, r] = ve(e.auth.check());
|
|
137
137
|
$e(() => {
|
|
138
|
-
const
|
|
138
|
+
const l = e.on("auth:authenticated", () => {
|
|
139
139
|
r(e.auth.check());
|
|
140
140
|
}), g = e.on("auth:logout", () => {
|
|
141
141
|
r(e.auth.check());
|
|
142
142
|
});
|
|
143
143
|
return () => {
|
|
144
|
-
|
|
144
|
+
l(), g();
|
|
145
145
|
};
|
|
146
146
|
}, [e]);
|
|
147
147
|
const n = B(async () => {
|
|
148
|
-
const
|
|
149
|
-
return r(e.auth.check()),
|
|
150
|
-
}, [e]), o = B((
|
|
151
|
-
async (
|
|
152
|
-
const g = await e.auth.verifyOtp(
|
|
148
|
+
const l = await e.auth.guest();
|
|
149
|
+
return r(e.auth.check()), l;
|
|
150
|
+
}, [e]), o = B((l) => e.auth.requestOtp(l), [e]), i = B(
|
|
151
|
+
async (l) => {
|
|
152
|
+
const g = await e.auth.verifyOtp(l);
|
|
153
153
|
return r(e.auth.check()), g;
|
|
154
154
|
},
|
|
155
155
|
[e]
|
|
@@ -165,12 +165,12 @@ function qo() {
|
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
167
|
function Sa(e, a) {
|
|
168
|
-
const r = Nt(), { locale: n, setExperienceTranslations: o } = Ft(), i = bt(null), f = bt(a), [
|
|
168
|
+
const r = Nt(), { locale: n, setExperienceTranslations: o } = Ft(), i = bt(null), f = bt(a), [l, g] = ve(null), [d, b] = ve(null), [m, v] = ve(null), [h, x] = ve(null), [C, c] = ve(null);
|
|
169
169
|
$e(() => {
|
|
170
170
|
f.current = a;
|
|
171
171
|
}, [a]), $e(() => {
|
|
172
172
|
if (!e) {
|
|
173
|
-
i.current = null, g(null), b(null), v(null),
|
|
173
|
+
i.current = null, g(null), b(null), v(null), x(null), c(null);
|
|
174
174
|
return;
|
|
175
175
|
}
|
|
176
176
|
const p = r.journeys.get(e);
|
|
@@ -191,138 +191,138 @@ function Sa(e, a) {
|
|
|
191
191
|
let p = !1;
|
|
192
192
|
const D = d?.experience?.experience?.i18n;
|
|
193
193
|
if (D) {
|
|
194
|
-
const V =
|
|
194
|
+
const V = hr(D, n);
|
|
195
195
|
o(V ?? null);
|
|
196
196
|
} else p || o(null);
|
|
197
197
|
return () => {
|
|
198
198
|
p = !0, o(null);
|
|
199
199
|
};
|
|
200
200
|
}, [e, d?.experience?.experience?.i18n, n, o]);
|
|
201
|
-
const
|
|
201
|
+
const w = B(
|
|
202
202
|
async (p) => {
|
|
203
203
|
if (!e)
|
|
204
204
|
throw new Error("experienceId is required to start an experience journey");
|
|
205
205
|
const D = i.current ?? r.journeys.get(e);
|
|
206
|
-
i.current = D, g(D),
|
|
206
|
+
i.current = D, g(D), x(null), c(null);
|
|
207
207
|
const V = f.current, T = {
|
|
208
208
|
accessCode: p?.accessCode ?? V?.accessCode,
|
|
209
209
|
autoEnterWaitlist: p?.autoEnterWaitlist ?? V?.autoEnterWaitlist
|
|
210
210
|
};
|
|
211
211
|
try {
|
|
212
|
-
const
|
|
213
|
-
if (
|
|
212
|
+
const y = D.view$.get();
|
|
213
|
+
if (y.journeyStage === "ready") {
|
|
214
214
|
const N = T.accessCode ? { accessCode: T.accessCode } : void 0;
|
|
215
|
-
await
|
|
215
|
+
await y.start(N);
|
|
216
216
|
}
|
|
217
217
|
if (T.autoEnterWaitlist) {
|
|
218
218
|
const N = D.view$.get();
|
|
219
|
-
N.journeyStage === "routed" && N.sequence.phase === "scheduled" && N.
|
|
219
|
+
N.journeyStage === "routed" && N.sequence.phase === "scheduled" && N.waitlist?.status === "not_waitlisted" && await N.waitlist.join();
|
|
220
220
|
}
|
|
221
221
|
return D.view$.get();
|
|
222
|
-
} catch (
|
|
223
|
-
throw y
|
|
222
|
+
} catch (y) {
|
|
223
|
+
throw x(y instanceof Error ? y.message : "Unknown error"), c(mt(y)), y;
|
|
224
224
|
}
|
|
225
225
|
},
|
|
226
226
|
[e, r]
|
|
227
227
|
);
|
|
228
228
|
return $e(() => {
|
|
229
|
-
a?.autoStart && e &&
|
|
230
|
-
}, [a?.autoStart, e,
|
|
231
|
-
journey:
|
|
229
|
+
a?.autoStart && e && w();
|
|
230
|
+
}, [a?.autoStart, e, w]), {
|
|
231
|
+
journey: l,
|
|
232
232
|
view: m,
|
|
233
233
|
snapshot: d,
|
|
234
|
-
error:
|
|
234
|
+
error: h,
|
|
235
235
|
fanfareError: C,
|
|
236
|
-
start:
|
|
236
|
+
start: w
|
|
237
237
|
};
|
|
238
238
|
}
|
|
239
|
-
function
|
|
239
|
+
function je(e) {
|
|
240
240
|
const a = B((n) => e.listen(n), [e]), r = B(() => e.get(), [e]);
|
|
241
|
-
return
|
|
241
|
+
return dr(a, r, r);
|
|
242
242
|
}
|
|
243
243
|
function Wo(e) {
|
|
244
|
-
return
|
|
244
|
+
return je(e.snapshot$);
|
|
245
245
|
}
|
|
246
|
-
function
|
|
246
|
+
function Ar({ experienceId: e, autoStart: a, children: r }) {
|
|
247
247
|
const n = Sa(e, {
|
|
248
248
|
autoStart: a
|
|
249
249
|
});
|
|
250
250
|
return /* @__PURE__ */ t(Me, { children: r(n) });
|
|
251
251
|
}
|
|
252
|
-
function
|
|
253
|
-
return /* @__PURE__ */ t(
|
|
252
|
+
function Ho({ experienceId: e, autoStart: a, renderHeader: r }) {
|
|
253
|
+
return /* @__PURE__ */ t(Ar, { experienceId: e, autoStart: a, children: ({ journey: n, view: o, snapshot: i, error: f, start: l }) => {
|
|
254
254
|
const g = [], d = [];
|
|
255
255
|
if (o?.journeyStage === "ready" && g.push("start"), o?.journeyStage === "gated" && g.push("reroute", "retry"), o?.journeyStage === "routed") {
|
|
256
256
|
g.push("reroute", "retry");
|
|
257
257
|
const v = o.sequence;
|
|
258
|
-
v.phase === "scheduled" &&
|
|
258
|
+
v.phase === "scheduled" && o.waitlist?.status === "not_waitlisted" && d.push("joinAttachment"), v.phase === "scheduled" && o.waitlist && o.waitlist.status !== "not_waitlisted" && d.push("leaveAttachment"), v.phase === "enterable" && d.push("enter"), v.phase === "participating" && "leave" in v && d.push("leave"), v.phase === "participating" && "complete" in v && d.push("complete"), "bid" in v && d.push("bid"), "book" in v && d.push("book"), "cancel" in v && d.push("cancel"), "reschedule" in v && d.push("reschedule"), "claim" in v && d.push("claim");
|
|
259
259
|
}
|
|
260
260
|
const b = i ? {
|
|
261
261
|
experienceId: i.experienceId,
|
|
262
262
|
accessCode: i.accessCode,
|
|
263
|
-
sequenceId:
|
|
264
|
-
distribution:
|
|
265
|
-
participation:
|
|
263
|
+
sequenceId: yr(i),
|
|
264
|
+
distribution: xr(i),
|
|
265
|
+
participation: br(i),
|
|
266
266
|
gates: xa(i)
|
|
267
267
|
} : null, m = (v) => {
|
|
268
268
|
if (!n) return;
|
|
269
|
-
const
|
|
270
|
-
if (
|
|
271
|
-
|
|
272
|
-
const
|
|
273
|
-
if (
|
|
274
|
-
const
|
|
275
|
-
|
|
269
|
+
const h = n.view$.get(), x = {};
|
|
270
|
+
if (h.journeyStage === "ready" && (x.start = () => h.start()), h.journeyStage === "gated" && (x.reroute = () => h.reroute(), x.retry = () => h.retry()), h.journeyStage === "routed") {
|
|
271
|
+
x.reroute = () => h.reroute(), x.retry = () => h.retry();
|
|
272
|
+
const c = h.sequence;
|
|
273
|
+
if (c.phase === "scheduled" && h.waitlist?.status === "not_waitlisted") {
|
|
274
|
+
const w = h.waitlist.join;
|
|
275
|
+
x.joinAttachment = () => w();
|
|
276
276
|
}
|
|
277
|
-
if (
|
|
278
|
-
const
|
|
279
|
-
|
|
277
|
+
if (c.phase === "scheduled" && h.waitlist && h.waitlist.status !== "not_waitlisted") {
|
|
278
|
+
const w = h.waitlist.leave;
|
|
279
|
+
x.leaveAttachment = () => w();
|
|
280
280
|
}
|
|
281
|
-
if (
|
|
282
|
-
const
|
|
283
|
-
|
|
281
|
+
if (c.phase === "enterable" && "enter" in c) {
|
|
282
|
+
const w = c.enter;
|
|
283
|
+
x.enter = () => w();
|
|
284
284
|
}
|
|
285
|
-
if (
|
|
286
|
-
const
|
|
287
|
-
|
|
285
|
+
if (c.phase === "participating" && "leave" in c) {
|
|
286
|
+
const w = c.leave;
|
|
287
|
+
x.leave = () => w();
|
|
288
288
|
}
|
|
289
|
-
if (
|
|
290
|
-
const
|
|
291
|
-
|
|
289
|
+
if (c.phase === "participating" && "complete" in c) {
|
|
290
|
+
const w = c.complete;
|
|
291
|
+
x.complete = () => w();
|
|
292
292
|
}
|
|
293
|
-
if ("bid" in
|
|
294
|
-
const
|
|
295
|
-
|
|
293
|
+
if ("bid" in c) {
|
|
294
|
+
const w = c.bid;
|
|
295
|
+
x.bid = async () => {
|
|
296
296
|
const p = globalThis.window?.prompt?.("Bid amount");
|
|
297
|
-
p && await
|
|
297
|
+
p && await w(p);
|
|
298
298
|
};
|
|
299
299
|
}
|
|
300
|
-
if ("book" in
|
|
301
|
-
const
|
|
302
|
-
|
|
300
|
+
if ("book" in c) {
|
|
301
|
+
const w = c.book;
|
|
302
|
+
x.book = async () => {
|
|
303
303
|
const p = globalThis.window?.prompt?.("Slot ID");
|
|
304
|
-
p && await
|
|
304
|
+
p && await w(p);
|
|
305
305
|
};
|
|
306
306
|
}
|
|
307
|
-
if ("cancel" in
|
|
308
|
-
const
|
|
309
|
-
|
|
307
|
+
if ("cancel" in c) {
|
|
308
|
+
const w = c.cancel;
|
|
309
|
+
x.cancel = () => w();
|
|
310
310
|
}
|
|
311
|
-
if ("reschedule" in
|
|
312
|
-
const
|
|
313
|
-
|
|
311
|
+
if ("reschedule" in c) {
|
|
312
|
+
const w = c.reschedule;
|
|
313
|
+
x.reschedule = async () => {
|
|
314
314
|
const p = globalThis.window?.prompt?.("New slot ID");
|
|
315
|
-
p && await
|
|
315
|
+
p && await w(p);
|
|
316
316
|
};
|
|
317
317
|
}
|
|
318
|
-
if ("claim" in
|
|
319
|
-
const
|
|
320
|
-
|
|
321
|
-
|
|
318
|
+
if ("claim" in c) {
|
|
319
|
+
const w = c.claim;
|
|
320
|
+
x.claim = async () => {
|
|
321
|
+
w();
|
|
322
322
|
};
|
|
323
323
|
}
|
|
324
324
|
}
|
|
325
|
-
const C =
|
|
325
|
+
const C = x[v];
|
|
326
326
|
C && C();
|
|
327
327
|
};
|
|
328
328
|
return /* @__PURE__ */ u("div", { children: [
|
|
@@ -341,7 +341,7 @@ function Uo({ experienceId: e, autoStart: a, renderHeader: r }) {
|
|
|
341
341
|
] }),
|
|
342
342
|
/* @__PURE__ */ u("div", { children: [
|
|
343
343
|
"Sequence phase: ",
|
|
344
|
-
|
|
344
|
+
kr(i)
|
|
345
345
|
] }),
|
|
346
346
|
/* @__PURE__ */ u("div", { children: [
|
|
347
347
|
"Journey actions: ",
|
|
@@ -358,7 +358,7 @@ function Uo({ experienceId: e, autoStart: a, renderHeader: r }) {
|
|
|
358
358
|
type: "button",
|
|
359
359
|
disabled: !n,
|
|
360
360
|
onClick: () => {
|
|
361
|
-
|
|
361
|
+
l();
|
|
362
362
|
},
|
|
363
363
|
children: "Start"
|
|
364
364
|
}
|
|
@@ -404,16 +404,16 @@ function Dt(e) {
|
|
|
404
404
|
const r = a.replace(/\D/g, "").slice(0, 10);
|
|
405
405
|
return r.length === 0 ? "" : r.length <= 3 ? `(${r}` : r.length <= 6 ? `(${r.slice(0, 3)}) ${r.slice(3)}` : `(${r.slice(0, 3)}) ${r.slice(3, 6)}-${r.slice(6, 10)}`;
|
|
406
406
|
}
|
|
407
|
-
function
|
|
407
|
+
function Ir(e) {
|
|
408
408
|
if (!e) return null;
|
|
409
409
|
const a = Pt(e), r = a.replace(/\D/g, "");
|
|
410
410
|
return a.startsWith("+") ? r.length < 10 || r.length > 15 ? null : `+${r}` : r.length === 10 ? `+1${r}` : null;
|
|
411
411
|
}
|
|
412
|
-
function
|
|
412
|
+
function jr(e) {
|
|
413
413
|
const a = e.replace(/\D/g, "");
|
|
414
414
|
return e.startsWith("+") ? a.length >= 10 && a.length <= 15 : a.length === 10;
|
|
415
415
|
}
|
|
416
|
-
const zr =
|
|
416
|
+
const zr = Nr({
|
|
417
417
|
extend: {
|
|
418
418
|
classGroups: {
|
|
419
419
|
"font-size": ["text-xxs"]
|
|
@@ -421,14 +421,14 @@ const zr = _r({
|
|
|
421
421
|
}
|
|
422
422
|
});
|
|
423
423
|
function E(...e) {
|
|
424
|
-
return zr(
|
|
424
|
+
return zr(_r(e));
|
|
425
425
|
}
|
|
426
426
|
function fa(e, a) {
|
|
427
427
|
if (typeof e == "function")
|
|
428
428
|
return e(a);
|
|
429
429
|
e != null && (e.current = a);
|
|
430
430
|
}
|
|
431
|
-
function
|
|
431
|
+
function Fr(...e) {
|
|
432
432
|
return (a) => {
|
|
433
433
|
let r = !1;
|
|
434
434
|
const n = e.map((o) => {
|
|
@@ -444,56 +444,56 @@ function jr(...e) {
|
|
|
444
444
|
};
|
|
445
445
|
};
|
|
446
446
|
}
|
|
447
|
-
var
|
|
448
|
-
function
|
|
447
|
+
var Pr = /* @__PURE__ */ Symbol.for("react.lazy"), xt = s[" use ".trim().toString()];
|
|
448
|
+
function Br(e) {
|
|
449
449
|
return typeof e == "object" && e !== null && "then" in e;
|
|
450
450
|
}
|
|
451
451
|
function Ca(e) {
|
|
452
|
-
return e != null && typeof e == "object" && "$$typeof" in e && e.$$typeof ===
|
|
452
|
+
return e != null && typeof e == "object" && "$$typeof" in e && e.$$typeof === Pr && "_payload" in e && Br(e._payload);
|
|
453
453
|
}
|
|
454
454
|
// @__NO_SIDE_EFFECTS__
|
|
455
|
-
function
|
|
456
|
-
const a = /* @__PURE__ */
|
|
455
|
+
function Or(e) {
|
|
456
|
+
const a = /* @__PURE__ */ qr(e), r = s.forwardRef((n, o) => {
|
|
457
457
|
let { children: i, ...f } = n;
|
|
458
458
|
Ca(i) && typeof xt == "function" && (i = xt(i._payload));
|
|
459
|
-
const
|
|
459
|
+
const l = s.Children.toArray(i), g = l.find(Wr);
|
|
460
460
|
if (g) {
|
|
461
|
-
const d = g.props.children, b =
|
|
461
|
+
const d = g.props.children, b = l.map((m) => m === g ? s.Children.count(d) > 1 ? s.Children.only(null) : s.isValidElement(d) ? d.props.children : null : m);
|
|
462
462
|
return /* @__PURE__ */ t(a, { ...f, ref: o, children: s.isValidElement(d) ? s.cloneElement(d, void 0, b) : null });
|
|
463
463
|
}
|
|
464
464
|
return /* @__PURE__ */ t(a, { ...f, ref: o, children: i });
|
|
465
465
|
});
|
|
466
466
|
return r.displayName = `${e}.Slot`, r;
|
|
467
467
|
}
|
|
468
|
-
var
|
|
468
|
+
var $r = /* @__PURE__ */ Or("Slot");
|
|
469
469
|
// @__NO_SIDE_EFFECTS__
|
|
470
|
-
function
|
|
470
|
+
function qr(e) {
|
|
471
471
|
const a = s.forwardRef((r, n) => {
|
|
472
472
|
let { children: o, ...i } = r;
|
|
473
473
|
if (Ca(o) && typeof xt == "function" && (o = xt(o._payload)), s.isValidElement(o)) {
|
|
474
|
-
const f =
|
|
475
|
-
return o.type !== s.Fragment && (
|
|
474
|
+
const f = Kr(o), l = Hr(i, o.props);
|
|
475
|
+
return o.type !== s.Fragment && (l.ref = n ? Fr(n, f) : f), s.cloneElement(o, l);
|
|
476
476
|
}
|
|
477
477
|
return s.Children.count(o) > 1 ? s.Children.only(null) : null;
|
|
478
478
|
});
|
|
479
479
|
return a.displayName = `${e}.SlotClone`, a;
|
|
480
480
|
}
|
|
481
|
-
var
|
|
481
|
+
var Ur = /* @__PURE__ */ Symbol("radix.slottable");
|
|
482
482
|
function Wr(e) {
|
|
483
|
-
return s.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId ===
|
|
483
|
+
return s.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === Ur;
|
|
484
484
|
}
|
|
485
|
-
function
|
|
485
|
+
function Hr(e, a) {
|
|
486
486
|
const r = { ...a };
|
|
487
487
|
for (const n in a) {
|
|
488
488
|
const o = e[n], i = a[n];
|
|
489
|
-
/^on[A-Z]/.test(n) ? o && i ? r[n] = (...
|
|
490
|
-
const g = i(...
|
|
491
|
-
return o(...
|
|
489
|
+
/^on[A-Z]/.test(n) ? o && i ? r[n] = (...l) => {
|
|
490
|
+
const g = i(...l);
|
|
491
|
+
return o(...l), g;
|
|
492
492
|
} : o && (r[n] = o) : n === "style" ? r[n] = { ...o, ...i } : n === "className" && (r[n] = [o, i].filter(Boolean).join(" "));
|
|
493
493
|
}
|
|
494
494
|
return { ...e, ...r };
|
|
495
495
|
}
|
|
496
|
-
function
|
|
496
|
+
function Kr(e) {
|
|
497
497
|
let a = Object.getOwnPropertyDescriptor(e.props, "ref")?.get, r = a && "isReactWarning" in a && a.isReactWarning;
|
|
498
498
|
return r ? e.ref : (a = Object.getOwnPropertyDescriptor(e, "ref")?.get, r = a && "isReactWarning" in a && a.isReactWarning, r ? e.props.ref : e.props.ref || e.ref);
|
|
499
499
|
}
|
|
@@ -502,15 +502,15 @@ const ot = () => typeof window > "u" ? !1 : window.matchMedia("(prefers-reduced-
|
|
|
502
502
|
animate: { opacity: 1 },
|
|
503
503
|
exit: { opacity: 0 },
|
|
504
504
|
transition: { duration: 0.2 }
|
|
505
|
-
},
|
|
505
|
+
}, Zr = {
|
|
506
506
|
initial: { opacity: 0 },
|
|
507
507
|
animate: { opacity: 1 },
|
|
508
508
|
transition: { duration: 0.25, ease: "easeOut" }
|
|
509
|
-
},
|
|
509
|
+
}, Yr = {
|
|
510
510
|
initial: { opacity: 1 },
|
|
511
511
|
animate: { opacity: 1 },
|
|
512
512
|
transition: { duration: 0 }
|
|
513
|
-
}, we = () => ot() ?
|
|
513
|
+
}, we = () => ot() ? Yr : Zr, re = {
|
|
514
514
|
// Core colors
|
|
515
515
|
primary: "--ff-color-primary",
|
|
516
516
|
primaryForeground: "--ff-color-primary-foreground",
|
|
@@ -532,18 +532,18 @@ const ot = () => typeof window > "u" ? !1 : window.matchMedia("(prefers-reduced-
|
|
|
532
532
|
// Typography
|
|
533
533
|
fontFamily: "--ff-font-sans",
|
|
534
534
|
fontHeading: "--ff-font-heading"
|
|
535
|
-
},
|
|
536
|
-
theme:
|
|
535
|
+
}, Gr = {
|
|
536
|
+
theme: Cr,
|
|
537
537
|
variant: "default",
|
|
538
538
|
isRoot: !0
|
|
539
|
-
}, Tt =
|
|
539
|
+
}, Tt = jt(Gr);
|
|
540
540
|
function ft() {
|
|
541
|
-
return
|
|
541
|
+
return zt(Tt);
|
|
542
542
|
}
|
|
543
|
-
function
|
|
543
|
+
function Jr(e, a) {
|
|
544
544
|
const r = ft();
|
|
545
545
|
return X(() => ({
|
|
546
|
-
theme: e ?
|
|
546
|
+
theme: e ? Sr({ ...r.theme, ...e }) : r.theme,
|
|
547
547
|
variant: a ?? r.variant,
|
|
548
548
|
isRoot: !1
|
|
549
549
|
}), [r, e, a]);
|
|
@@ -586,12 +586,12 @@ function Da(e) {
|
|
|
586
586
|
return e.fontFamily !== void 0 && (a[re.fontFamily] = e.fontFamily, e.fontHeading === void 0 && (a[re.fontHeading] = e.fontFamily)), e.fontHeading !== void 0 && (a[re.fontHeading] = e.fontHeading), a;
|
|
587
587
|
}
|
|
588
588
|
function Rt({ theme: e, variant: a, as: r = "div", className: n, children: o }) {
|
|
589
|
-
const i = ft(), f =
|
|
589
|
+
const i = ft(), f = Jr(e, a), l = X(() => Da(e ?? {}), [e]);
|
|
590
590
|
return e !== void 0 || a !== void 0 || i.isRoot ? /* @__PURE__ */ t(Tt.Provider, { value: f, children: /* @__PURE__ */ t(
|
|
591
591
|
r,
|
|
592
592
|
{
|
|
593
593
|
className: E("fanfare-themed", n),
|
|
594
|
-
style:
|
|
594
|
+
style: l,
|
|
595
595
|
"data-fanfare-themed": !0,
|
|
596
596
|
"data-fanfare-variant": f.variant,
|
|
597
597
|
children: o
|
|
@@ -601,7 +601,7 @@ function Rt({ theme: e, variant: a, as: r = "div", className: n, children: o })
|
|
|
601
601
|
function ge() {
|
|
602
602
|
return ft().variant;
|
|
603
603
|
}
|
|
604
|
-
const
|
|
604
|
+
const Qr = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "m4.5 12.75l6 6l9-13.5" }) }), Xr = kt(Qr), en = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M6 18L18 6M6 6l12 12" }) }), tn = kt(en), an = ae("ff:animate-spin ff:text-current", {
|
|
605
605
|
variants: {
|
|
606
606
|
size: {
|
|
607
607
|
sm: "ff:size-4",
|
|
@@ -627,7 +627,7 @@ const Jr = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.
|
|
|
627
627
|
ref: n,
|
|
628
628
|
viewBox: "0 0 24 24",
|
|
629
629
|
xmlns: "http://www.w3.org/2000/svg",
|
|
630
|
-
className: E(
|
|
630
|
+
className: E(an({ size: a, styleVariant: o }), e),
|
|
631
631
|
"data-slot": "spinner",
|
|
632
632
|
"data-size": a,
|
|
633
633
|
"aria-hidden": "true",
|
|
@@ -668,7 +668,7 @@ const Jr = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.
|
|
|
668
668
|
);
|
|
669
669
|
});
|
|
670
670
|
Te.displayName = "Spinner";
|
|
671
|
-
const
|
|
671
|
+
const rn = ae(
|
|
672
672
|
[
|
|
673
673
|
"ff:relative ff:inline-flex ff:items-center ff:justify-center",
|
|
674
674
|
"ff:whitespace-nowrap ff:font-medium",
|
|
@@ -799,21 +799,21 @@ const an = te(
|
|
|
799
799
|
asChild: o = !1,
|
|
800
800
|
statusRef: i,
|
|
801
801
|
contentClassName: f,
|
|
802
|
-
disabled:
|
|
802
|
+
disabled: l,
|
|
803
803
|
children: g,
|
|
804
804
|
...d
|
|
805
805
|
}, b) => {
|
|
806
|
-
const m = o ?
|
|
806
|
+
const m = o ? $r : "button", v = ge(), [h, x] = s.useState(void 0);
|
|
807
807
|
s.useImperativeHandle(i, () => ({
|
|
808
|
-
success: () =>
|
|
809
|
-
failure: () =>
|
|
808
|
+
success: () => x("success"),
|
|
809
|
+
failure: () => x("failure")
|
|
810
810
|
})), s.useEffect(() => {
|
|
811
|
-
if (
|
|
812
|
-
const
|
|
813
|
-
return () => clearTimeout(
|
|
811
|
+
if (h === "success" || h === "failure") {
|
|
812
|
+
const c = setTimeout(() => x(void 0), 1500);
|
|
813
|
+
return () => clearTimeout(c);
|
|
814
814
|
}
|
|
815
|
-
}, [
|
|
816
|
-
const C =
|
|
815
|
+
}, [h]);
|
|
816
|
+
const C = l || n || !!h;
|
|
817
817
|
return /* @__PURE__ */ u(
|
|
818
818
|
m,
|
|
819
819
|
{
|
|
@@ -822,20 +822,20 @@ const an = te(
|
|
|
822
822
|
"data-variant": a,
|
|
823
823
|
"data-size": r,
|
|
824
824
|
"data-loading": n || void 0,
|
|
825
|
-
"data-status":
|
|
825
|
+
"data-status": h || void 0,
|
|
826
826
|
"aria-busy": n || void 0,
|
|
827
827
|
"aria-disabled": C || void 0,
|
|
828
|
-
className: E(
|
|
828
|
+
className: E(rn({ variant: a, size: r, styleVariant: v, className: e })),
|
|
829
829
|
disabled: C,
|
|
830
830
|
...d,
|
|
831
831
|
children: [
|
|
832
|
-
n && !
|
|
833
|
-
|
|
832
|
+
n && !h && /* @__PURE__ */ t(Te, { size: "sm", className: "ff:absolute", "data-slot": "button-spinner" }),
|
|
833
|
+
h && /* @__PURE__ */ t(
|
|
834
834
|
"span",
|
|
835
835
|
{
|
|
836
836
|
"data-slot": "button-status",
|
|
837
837
|
className: "ff:pointer-events-none ff:absolute ff:inset-0 ff:flex ff:items-center ff:justify-center",
|
|
838
|
-
children: /* @__PURE__ */ t(_t, { children:
|
|
838
|
+
children: /* @__PURE__ */ t(_t, { children: h === "success" ? /* @__PURE__ */ t(W.span, { ...ia, className: "ff:flex", children: /* @__PURE__ */ t(Xr, { className: "ff:size-5" }) }, "success") : /* @__PURE__ */ t(W.span, { ...ia, className: "ff:flex", children: /* @__PURE__ */ t(tn, { className: "ff:size-5" }) }, "failure") })
|
|
839
839
|
}
|
|
840
840
|
),
|
|
841
841
|
/* @__PURE__ */ t(
|
|
@@ -844,7 +844,7 @@ const an = te(
|
|
|
844
844
|
"data-slot": "button-content",
|
|
845
845
|
className: E(
|
|
846
846
|
"ff:gap-inherit ff:flex ff:items-center",
|
|
847
|
-
(n ||
|
|
847
|
+
(n || h) && "ff:opacity-0",
|
|
848
848
|
f
|
|
849
849
|
),
|
|
850
850
|
children: g
|
|
@@ -856,7 +856,7 @@ const an = te(
|
|
|
856
856
|
}
|
|
857
857
|
);
|
|
858
858
|
j.displayName = "Button";
|
|
859
|
-
const sa = ["default", "rounded"],
|
|
859
|
+
const sa = ["default", "rounded"], nn = ae(
|
|
860
860
|
[
|
|
861
861
|
"ff:flex ff:w-full ff:rounded-md ff:px-3 ff:py-2",
|
|
862
862
|
"ff:text-foreground ff:text-sm",
|
|
@@ -906,7 +906,7 @@ const sa = ["default", "rounded"], rn = te(
|
|
|
906
906
|
styleVariant: "default"
|
|
907
907
|
}
|
|
908
908
|
}
|
|
909
|
-
), la =
|
|
909
|
+
), la = ae([], {
|
|
910
910
|
variants: {
|
|
911
911
|
styleVariant: {
|
|
912
912
|
default: "",
|
|
@@ -919,19 +919,19 @@ const sa = ["default", "rounded"], rn = te(
|
|
|
919
919
|
styleVariant: "default"
|
|
920
920
|
}
|
|
921
921
|
}), yt = s.forwardRef(
|
|
922
|
-
({ className: e, type: a = "text", label: r, error: n, hasError: o, inlineLabel: i, inlineError: f, ...
|
|
923
|
-
const { variant: d } = ft(), b = ge(), m =
|
|
924
|
-
|
|
925
|
-
|
|
922
|
+
({ className: e, type: a = "text", label: r, error: n, hasError: o, inlineLabel: i, inlineError: f, ...l }, g) => {
|
|
923
|
+
const { variant: d } = ft(), b = ge(), m = l.id || l.name, v = i ?? sa.includes(d), h = f ?? sa.includes(d), x = o || !!n, C = !!n && !o, c = v && r, w = !v && r, p = h && C, D = !h && C, V = E(
|
|
924
|
+
nn({ styleVariant: b }),
|
|
925
|
+
x && "ff:border-danger ff:focus:border-danger ff:focus:ring-danger",
|
|
926
926
|
// Extra padding for floating label
|
|
927
|
-
|
|
927
|
+
c && "ff:pt-5 ff:pb-1",
|
|
928
928
|
e
|
|
929
929
|
);
|
|
930
|
-
return
|
|
930
|
+
return c ? /* @__PURE__ */ u(
|
|
931
931
|
"div",
|
|
932
932
|
{
|
|
933
933
|
"data-slot": "input-wrapper",
|
|
934
|
-
"data-error":
|
|
934
|
+
"data-error": x || void 0,
|
|
935
935
|
"data-inline-label": "true",
|
|
936
936
|
className: "ff:group ff:relative",
|
|
937
937
|
children: [
|
|
@@ -942,16 +942,16 @@ const sa = ["default", "rounded"], rn = te(
|
|
|
942
942
|
type: a,
|
|
943
943
|
id: m,
|
|
944
944
|
"data-slot": "input-field",
|
|
945
|
-
"aria-invalid":
|
|
945
|
+
"aria-invalid": x,
|
|
946
946
|
"aria-describedby": C ? `${m}-error` : void 0,
|
|
947
|
-
placeholder:
|
|
947
|
+
placeholder: l.placeholder || " ",
|
|
948
948
|
className: E(
|
|
949
949
|
V,
|
|
950
950
|
// Placeholder shown state for label positioning
|
|
951
951
|
"ff:peer ff:placeholder:opacity-0 ff:placeholder:transition-opacity ff:placeholder:duration-200",
|
|
952
952
|
"ff:focus:placeholder:opacity-100"
|
|
953
953
|
),
|
|
954
|
-
...
|
|
954
|
+
...l
|
|
955
955
|
}
|
|
956
956
|
),
|
|
957
957
|
/* @__PURE__ */ t(
|
|
@@ -972,7 +972,7 @@ const sa = ["default", "rounded"], rn = te(
|
|
|
972
972
|
// Disabled state
|
|
973
973
|
"ff:peer-disabled:text-muted ff:peer-disabled:opacity-50",
|
|
974
974
|
// Error state
|
|
975
|
-
|
|
975
|
+
x && "ff:text-danger ff:peer-focus:text-danger",
|
|
976
976
|
// Style variant
|
|
977
977
|
la({ styleVariant: b })
|
|
978
978
|
),
|
|
@@ -1002,7 +1002,7 @@ const sa = ["default", "rounded"], rn = te(
|
|
|
1002
1002
|
]
|
|
1003
1003
|
}
|
|
1004
1004
|
) : /* @__PURE__ */ u("div", { "data-slot": "input-wrapper", "data-error": !!n || void 0, className: "ff:relative", children: [
|
|
1005
|
-
|
|
1005
|
+
w && /* @__PURE__ */ t(
|
|
1006
1006
|
"label",
|
|
1007
1007
|
{
|
|
1008
1008
|
htmlFor: m,
|
|
@@ -1022,10 +1022,10 @@ const sa = ["default", "rounded"], rn = te(
|
|
|
1022
1022
|
type: a,
|
|
1023
1023
|
id: m,
|
|
1024
1024
|
"data-slot": "input-field",
|
|
1025
|
-
"aria-invalid":
|
|
1025
|
+
"aria-invalid": x,
|
|
1026
1026
|
"aria-describedby": C ? `${m}-error` : void 0,
|
|
1027
1027
|
className: V,
|
|
1028
|
-
...
|
|
1028
|
+
...l
|
|
1029
1029
|
}
|
|
1030
1030
|
),
|
|
1031
1031
|
p && /* @__PURE__ */ t(
|
|
@@ -1044,7 +1044,7 @@ const sa = ["default", "rounded"], rn = te(
|
|
|
1044
1044
|
}
|
|
1045
1045
|
);
|
|
1046
1046
|
yt.displayName = "Input";
|
|
1047
|
-
const
|
|
1047
|
+
const on = ht.pipe(ht.string(), ht.email());
|
|
1048
1048
|
function Va(e) {
|
|
1049
1049
|
if (!e) return "email";
|
|
1050
1050
|
const r = Pt(e).replace(/\D/g, "");
|
|
@@ -1059,49 +1059,49 @@ const Ea = s.forwardRef(
|
|
|
1059
1059
|
onSubmit: o,
|
|
1060
1060
|
type: i = "auto",
|
|
1061
1061
|
error: f,
|
|
1062
|
-
hasError:
|
|
1062
|
+
hasError: l,
|
|
1063
1063
|
label: g,
|
|
1064
1064
|
disabled: d,
|
|
1065
1065
|
...b
|
|
1066
1066
|
}, m) => {
|
|
1067
|
-
const { t: v } = K(), [
|
|
1068
|
-
() =>
|
|
1067
|
+
const { t: v } = K(), [h, x] = s.useState(() => i === "auto" ? Va(a) : i), [C, c] = s.useState(!1), [w, p] = s.useState(null), [D, V] = s.useState(!1), [T, y] = s.useState(
|
|
1068
|
+
() => h === "phone" ? Dt(a) : a
|
|
1069
1069
|
), N = i === "auto";
|
|
1070
1070
|
s.useEffect(() => {
|
|
1071
|
-
N ||
|
|
1071
|
+
N || x(i);
|
|
1072
1072
|
}, [i, N]), s.useEffect(() => {
|
|
1073
|
-
|
|
1074
|
-
}, [a,
|
|
1073
|
+
y(h === "phone" ? Dt(a) : a);
|
|
1074
|
+
}, [a, h]);
|
|
1075
1075
|
const S = s.useCallback(
|
|
1076
1076
|
(L, J) => {
|
|
1077
1077
|
if (!L) {
|
|
1078
1078
|
p(null), V(!1), n?.(!1);
|
|
1079
1079
|
return;
|
|
1080
1080
|
}
|
|
1081
|
-
J === "email" ? ht.safeParse(
|
|
1081
|
+
J === "email" ? ht.safeParse(on, L).success ? (p(null), V(!0), n?.(!0)) : (p(v("auth.invalidEmail")), V(!1), n?.(!1)) : jr(L) ? (p(null), V(!0), n?.(!0)) : (p(v("auth.invalidPhone")), V(!1), n?.(!1));
|
|
1082
1082
|
},
|
|
1083
1083
|
[n]
|
|
1084
1084
|
);
|
|
1085
1085
|
s.useEffect(() => {
|
|
1086
|
-
S(a,
|
|
1087
|
-
}, [a,
|
|
1086
|
+
S(a, h);
|
|
1087
|
+
}, [a, h, S]);
|
|
1088
1088
|
const M = (L) => {
|
|
1089
1089
|
const J = L.target.value;
|
|
1090
|
-
if (
|
|
1090
|
+
if (h === "phone") {
|
|
1091
1091
|
const ne = Dt(J);
|
|
1092
|
-
|
|
1093
|
-
const se =
|
|
1094
|
-
r(se || J,
|
|
1092
|
+
y(ne);
|
|
1093
|
+
const se = Ir(J);
|
|
1094
|
+
r(se || J, h);
|
|
1095
1095
|
} else
|
|
1096
|
-
|
|
1096
|
+
y(J), r(J, h);
|
|
1097
1097
|
}, A = (L) => {
|
|
1098
|
-
|
|
1098
|
+
c(!0), b.onBlur?.(L);
|
|
1099
1099
|
}, I = (L) => {
|
|
1100
1100
|
L.key === "Enter" && o && (L.preventDefault(), o()), b.onKeyDown?.(L);
|
|
1101
1101
|
}, O = () => {
|
|
1102
|
-
const L =
|
|
1103
|
-
|
|
1104
|
-
}, $ = f || (C && !D ?
|
|
1102
|
+
const L = h === "email" ? "phone" : "email";
|
|
1103
|
+
x(L), y(""), p(null), c(!1), V(!1), r("", L), n?.(!1);
|
|
1104
|
+
}, $ = f || (C && !D ? w : null), fe = b.placeholder || v(h === "email" ? "auth.emailPlaceholder" : "auth.phonePlaceholder"), ce = N && /* @__PURE__ */ t(
|
|
1105
1105
|
j,
|
|
1106
1106
|
{
|
|
1107
1107
|
type: "button",
|
|
@@ -1110,7 +1110,7 @@ const Ea = s.forwardRef(
|
|
|
1110
1110
|
"data-slot": "auth-input-toggle",
|
|
1111
1111
|
onClick: O,
|
|
1112
1112
|
disabled: d,
|
|
1113
|
-
children: v(
|
|
1113
|
+
children: v(h === "email" ? "auth.usePhone" : "auth.useEmail")
|
|
1114
1114
|
}
|
|
1115
1115
|
);
|
|
1116
1116
|
return N ? /* @__PURE__ */ u(
|
|
@@ -1118,7 +1118,7 @@ const Ea = s.forwardRef(
|
|
|
1118
1118
|
{
|
|
1119
1119
|
className: E("fanfare-auth-input", e),
|
|
1120
1120
|
"data-slot": "auth-input",
|
|
1121
|
-
"data-mode":
|
|
1121
|
+
"data-mode": h,
|
|
1122
1122
|
"data-valid": D || void 0,
|
|
1123
1123
|
children: [
|
|
1124
1124
|
/* @__PURE__ */ u("div", { "data-slot": "auth-input-header", className: "ff:mb-1.5 ff:flex ff:items-center ff:justify-between", children: [
|
|
@@ -1129,9 +1129,9 @@ const Ea = s.forwardRef(
|
|
|
1129
1129
|
yt,
|
|
1130
1130
|
{
|
|
1131
1131
|
ref: m,
|
|
1132
|
-
type:
|
|
1133
|
-
inputMode:
|
|
1134
|
-
autoComplete:
|
|
1132
|
+
type: h === "email" ? "email" : "tel",
|
|
1133
|
+
inputMode: h === "email" ? "email" : "tel",
|
|
1134
|
+
autoComplete: h === "email" ? "email" : "tel",
|
|
1135
1135
|
value: T,
|
|
1136
1136
|
onChange: M,
|
|
1137
1137
|
onBlur: A,
|
|
@@ -1139,7 +1139,7 @@ const Ea = s.forwardRef(
|
|
|
1139
1139
|
placeholder: fe,
|
|
1140
1140
|
disabled: d,
|
|
1141
1141
|
error: $ || void 0,
|
|
1142
|
-
hasError:
|
|
1142
|
+
hasError: l,
|
|
1143
1143
|
inlineLabel: !1,
|
|
1144
1144
|
inlineError: !1,
|
|
1145
1145
|
"data-slot": "auth-input-field",
|
|
@@ -1152,9 +1152,9 @@ const Ea = s.forwardRef(
|
|
|
1152
1152
|
yt,
|
|
1153
1153
|
{
|
|
1154
1154
|
ref: m,
|
|
1155
|
-
type:
|
|
1156
|
-
inputMode:
|
|
1157
|
-
autoComplete:
|
|
1155
|
+
type: h === "email" ? "email" : "tel",
|
|
1156
|
+
inputMode: h === "email" ? "email" : "tel",
|
|
1157
|
+
autoComplete: h === "email" ? "email" : "tel",
|
|
1158
1158
|
value: T,
|
|
1159
1159
|
onChange: M,
|
|
1160
1160
|
onBlur: A,
|
|
@@ -1163,10 +1163,10 @@ const Ea = s.forwardRef(
|
|
|
1163
1163
|
disabled: d,
|
|
1164
1164
|
label: g,
|
|
1165
1165
|
error: $ || void 0,
|
|
1166
|
-
hasError:
|
|
1166
|
+
hasError: l,
|
|
1167
1167
|
className: E("fanfare-auth-input", e),
|
|
1168
1168
|
"data-slot": "auth-input",
|
|
1169
|
-
"data-mode":
|
|
1169
|
+
"data-mode": h,
|
|
1170
1170
|
"data-valid": D || void 0,
|
|
1171
1171
|
...b
|
|
1172
1172
|
}
|
|
@@ -1174,7 +1174,7 @@ const Ea = s.forwardRef(
|
|
|
1174
1174
|
}
|
|
1175
1175
|
);
|
|
1176
1176
|
Ea.displayName = "AuthInput";
|
|
1177
|
-
const
|
|
1177
|
+
const fn = ae(
|
|
1178
1178
|
[
|
|
1179
1179
|
"ff:h-12 ff:w-full ff:min-w-0 ff:text-center ff:text-lg ff:font-semibold",
|
|
1180
1180
|
"ff:text-foreground",
|
|
@@ -1243,56 +1243,56 @@ const on = te(
|
|
|
1243
1243
|
}
|
|
1244
1244
|
}
|
|
1245
1245
|
), Ma = s.forwardRef(
|
|
1246
|
-
({ value: e = "", onChange: a, onComplete: r, length: n = 6, error: o, hasError: i, disabled: f, autoFocus:
|
|
1247
|
-
const m = ge(), v = s.useRef([]), [
|
|
1248
|
-
const
|
|
1249
|
-
return [...
|
|
1246
|
+
({ value: e = "", onChange: a, onComplete: r, length: n = 6, error: o, hasError: i, disabled: f, autoFocus: l, ariaDescribedBy: g, className: d }, b) => {
|
|
1247
|
+
const m = ge(), v = s.useRef([]), [h, x] = s.useState(() => {
|
|
1248
|
+
const y = e.split("").slice(0, n);
|
|
1249
|
+
return [...y, ...Array(n - y.length).fill("")];
|
|
1250
1250
|
});
|
|
1251
1251
|
s.useEffect(() => {
|
|
1252
|
-
const
|
|
1253
|
-
|
|
1252
|
+
const y = e.split("").slice(0, n);
|
|
1253
|
+
x([...y, ...Array(n - y.length).fill("")]);
|
|
1254
1254
|
}, [e, n]);
|
|
1255
|
-
const C = (
|
|
1256
|
-
|
|
1257
|
-
},
|
|
1255
|
+
const C = (y) => {
|
|
1256
|
+
y >= 0 && y < n && v.current[y]?.focus();
|
|
1257
|
+
}, c = (y, N) => {
|
|
1258
1258
|
const S = N.replace(/\D/g, "");
|
|
1259
1259
|
if (S.length > 1) {
|
|
1260
1260
|
const O = S.slice(0, n).split(""), $ = [...O, ...Array(n - O.length).fill("")];
|
|
1261
|
-
|
|
1261
|
+
x($);
|
|
1262
1262
|
const fe = $.join("");
|
|
1263
1263
|
a?.(fe), fe.length === n ? (r?.(fe), C(n - 1)) : C(O.length);
|
|
1264
1264
|
return;
|
|
1265
1265
|
}
|
|
1266
|
-
const M = S.slice(-1), A = [...
|
|
1267
|
-
A[
|
|
1266
|
+
const M = S.slice(-1), A = [...h];
|
|
1267
|
+
A[y] = M, x(A);
|
|
1268
1268
|
const I = A.join("");
|
|
1269
|
-
a?.(I), M &&
|
|
1270
|
-
},
|
|
1269
|
+
a?.(I), M && y < n - 1 && C(y + 1), I.length === n && !I.includes("") && r?.(I);
|
|
1270
|
+
}, w = (y, N) => {
|
|
1271
1271
|
switch (N.key) {
|
|
1272
1272
|
case "Backspace":
|
|
1273
|
-
N.preventDefault(),
|
|
1273
|
+
N.preventDefault(), h[y] ? c(y, "") : y > 0 && (C(y - 1), c(y - 1, ""));
|
|
1274
1274
|
break;
|
|
1275
1275
|
case "ArrowLeft":
|
|
1276
|
-
N.preventDefault(), C(
|
|
1276
|
+
N.preventDefault(), C(y - 1);
|
|
1277
1277
|
break;
|
|
1278
1278
|
case "ArrowRight":
|
|
1279
|
-
N.preventDefault(), C(
|
|
1279
|
+
N.preventDefault(), C(y + 1);
|
|
1280
1280
|
break;
|
|
1281
1281
|
case "Delete":
|
|
1282
|
-
N.preventDefault(),
|
|
1282
|
+
N.preventDefault(), c(y, "");
|
|
1283
1283
|
break;
|
|
1284
1284
|
}
|
|
1285
|
-
}, p = (
|
|
1286
|
-
|
|
1287
|
-
const N =
|
|
1285
|
+
}, p = (y) => {
|
|
1286
|
+
y.preventDefault();
|
|
1287
|
+
const N = y.clipboardData.getData("text").replace(/\D/g, "").slice(0, n);
|
|
1288
1288
|
if (N) {
|
|
1289
1289
|
const S = N.split(""), M = [...S, ...Array(n - S.length).fill("")];
|
|
1290
|
-
|
|
1290
|
+
x(M);
|
|
1291
1291
|
const A = M.join("");
|
|
1292
1292
|
a?.(A), A.length === n ? (r?.(A), C(n - 1)) : C(S.length);
|
|
1293
1293
|
}
|
|
1294
|
-
}, D = (
|
|
1295
|
-
|
|
1294
|
+
}, D = (y) => {
|
|
1295
|
+
y.target.select();
|
|
1296
1296
|
}, V = i || !!o, T = !!o && !i;
|
|
1297
1297
|
return /* @__PURE__ */ u(
|
|
1298
1298
|
"div",
|
|
@@ -1309,7 +1309,7 @@ const on = te(
|
|
|
1309
1309
|
className: "ff:grid ff:gap-2",
|
|
1310
1310
|
style: { gridTemplateColumns: `repeat(${n}, minmax(0, 1fr))` },
|
|
1311
1311
|
onPaste: p,
|
|
1312
|
-
children: Array.from({ length: n }).map((
|
|
1312
|
+
children: Array.from({ length: n }).map((y, N) => /* @__PURE__ */ t(
|
|
1313
1313
|
"input",
|
|
1314
1314
|
{
|
|
1315
1315
|
ref: (S) => {
|
|
@@ -1320,16 +1320,16 @@ const on = te(
|
|
|
1320
1320
|
autoComplete: N === 0 ? "one-time-code" : "off",
|
|
1321
1321
|
maxLength: 1,
|
|
1322
1322
|
"data-slot": "otp-input-digit",
|
|
1323
|
-
value:
|
|
1324
|
-
onChange: (S) =>
|
|
1325
|
-
onKeyDown: (S) =>
|
|
1323
|
+
value: h[N],
|
|
1324
|
+
onChange: (S) => c(N, S.target.value),
|
|
1325
|
+
onKeyDown: (S) => w(N, S),
|
|
1326
1326
|
onFocus: D,
|
|
1327
1327
|
disabled: f,
|
|
1328
|
-
autoFocus:
|
|
1328
|
+
autoFocus: l && N === 0,
|
|
1329
1329
|
"aria-label": `Digit ${N + 1} of ${n}`,
|
|
1330
1330
|
"aria-invalid": V,
|
|
1331
1331
|
"aria-describedby": V ? g : void 0,
|
|
1332
|
-
className:
|
|
1332
|
+
className: fn({ styleVariant: m, hasError: V })
|
|
1333
1333
|
},
|
|
1334
1334
|
N
|
|
1335
1335
|
))
|
|
@@ -1342,7 +1342,7 @@ const on = te(
|
|
|
1342
1342
|
}
|
|
1343
1343
|
);
|
|
1344
1344
|
Ma.displayName = "OTPInput";
|
|
1345
|
-
const
|
|
1345
|
+
const sn = ae(["ff:rounded-lg ff:p-6", "ff:bg-background", "ff:text-foreground"], {
|
|
1346
1346
|
variants: {
|
|
1347
1347
|
variant: {
|
|
1348
1348
|
default: "ff:border ff:border-border",
|
|
@@ -1380,15 +1380,15 @@ const fn = te(["ff:rounded-lg ff:p-6", "ff:bg-background", "ff:text-foreground"]
|
|
|
1380
1380
|
ref: n,
|
|
1381
1381
|
"data-slot": "card",
|
|
1382
1382
|
"data-variant": a,
|
|
1383
|
-
className: E(
|
|
1383
|
+
className: E(sn({ variant: a, styleVariant: o, className: e })),
|
|
1384
1384
|
...r
|
|
1385
1385
|
}
|
|
1386
1386
|
);
|
|
1387
1387
|
});
|
|
1388
1388
|
Ta.displayName = "Card";
|
|
1389
|
-
const
|
|
1390
|
-
|
|
1391
|
-
const
|
|
1389
|
+
const ln = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t("div", { ref: r, "data-slot": "card-header", className: E("fanfare-card-header ff:mb-4", e), ...a }));
|
|
1390
|
+
ln.displayName = "CardHeader";
|
|
1391
|
+
const cn = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t(
|
|
1392
1392
|
"h3",
|
|
1393
1393
|
{
|
|
1394
1394
|
ref: r,
|
|
@@ -1397,8 +1397,8 @@ const ln = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t(
|
|
|
1397
1397
|
...a
|
|
1398
1398
|
}
|
|
1399
1399
|
));
|
|
1400
|
-
|
|
1401
|
-
const
|
|
1400
|
+
cn.displayName = "CardTitle";
|
|
1401
|
+
const dn = s.forwardRef(
|
|
1402
1402
|
({ className: e, ...a }, r) => /* @__PURE__ */ t(
|
|
1403
1403
|
"p",
|
|
1404
1404
|
{
|
|
@@ -1409,10 +1409,10 @@ const cn = s.forwardRef(
|
|
|
1409
1409
|
}
|
|
1410
1410
|
)
|
|
1411
1411
|
);
|
|
1412
|
-
|
|
1413
|
-
const
|
|
1414
|
-
|
|
1415
|
-
const
|
|
1412
|
+
dn.displayName = "CardDescription";
|
|
1413
|
+
const un = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t("div", { ref: r, "data-slot": "card-content", className: E(e), ...a }));
|
|
1414
|
+
un.displayName = "CardContent";
|
|
1415
|
+
const pn = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t(
|
|
1416
1416
|
"div",
|
|
1417
1417
|
{
|
|
1418
1418
|
ref: r,
|
|
@@ -1421,7 +1421,7 @@ const un = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t(
|
|
|
1421
1421
|
...a
|
|
1422
1422
|
}
|
|
1423
1423
|
));
|
|
1424
|
-
|
|
1424
|
+
pn.displayName = "CardFooter";
|
|
1425
1425
|
const Ra = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ u(
|
|
1426
1426
|
"svg",
|
|
1427
1427
|
{
|
|
@@ -1595,7 +1595,7 @@ function Lt(e) {
|
|
|
1595
1595
|
}
|
|
1596
1596
|
const Y = s.forwardRef(
|
|
1597
1597
|
({ className: e, children: a, ...r }, n) => {
|
|
1598
|
-
const o = s.Children.toArray(a), i = o.filter(Lt), f = o.filter((
|
|
1598
|
+
const o = s.Children.toArray(a), i = o.filter(Lt), f = o.filter((l) => !Lt(l));
|
|
1599
1599
|
return /* @__PURE__ */ u(
|
|
1600
1600
|
Ta,
|
|
1601
1601
|
{
|
|
@@ -1612,7 +1612,7 @@ const Y = s.forwardRef(
|
|
|
1612
1612
|
}
|
|
1613
1613
|
);
|
|
1614
1614
|
Y.displayName = "PanelLayout";
|
|
1615
|
-
const
|
|
1615
|
+
const gn = ["clean"], mn = ae(["ff:inline-flex ff:items-center", "ff:text-xs ff:font-medium"], {
|
|
1616
1616
|
variants: {
|
|
1617
1617
|
variant: {
|
|
1618
1618
|
default: "",
|
|
@@ -1734,7 +1734,7 @@ const pn = ["clean"], gn = te(["ff:inline-flex ff:items-center", "ff:text-xs ff:
|
|
|
1734
1734
|
outline: "ff:bg-foreground/40"
|
|
1735
1735
|
}, La = s.forwardRef(
|
|
1736
1736
|
({ className: e, variant: a = "default", solidBackground: r, children: n, ...o }, i) => {
|
|
1737
|
-
const { variant: f } = ft(),
|
|
1737
|
+
const { variant: f } = ft(), l = ge(), g = a ?? "default", d = r ?? !gn.includes(f), b = !d && ca[g];
|
|
1738
1738
|
return /* @__PURE__ */ u(
|
|
1739
1739
|
"span",
|
|
1740
1740
|
{
|
|
@@ -1742,7 +1742,7 @@ const pn = ["clean"], gn = te(["ff:inline-flex ff:items-center", "ff:text-xs ff:
|
|
|
1742
1742
|
"data-slot": "badge",
|
|
1743
1743
|
"data-variant": g,
|
|
1744
1744
|
"data-solid-background": d,
|
|
1745
|
-
className: E(
|
|
1745
|
+
className: E(mn({ variant: g, solid: d, styleVariant: l, className: e })),
|
|
1746
1746
|
...o,
|
|
1747
1747
|
children: [
|
|
1748
1748
|
b && /* @__PURE__ */ t(
|
|
@@ -1769,7 +1769,7 @@ const G = s.forwardRef(
|
|
|
1769
1769
|
] })
|
|
1770
1770
|
);
|
|
1771
1771
|
G.displayName = "PanelHeading";
|
|
1772
|
-
const
|
|
1772
|
+
const hn = ae(["ff:flex ff:flex-col ff:gap-2", "ff:p-4", "ff:text-xs ff:text-foreground"], {
|
|
1773
1773
|
variants: {
|
|
1774
1774
|
styleVariant: {
|
|
1775
1775
|
default: ["ff:rounded-md ff:border ff:border-border/50 ff:bg-muted/5"],
|
|
@@ -1783,10 +1783,10 @@ const mn = te(["ff:flex ff:flex-col ff:gap-2", "ff:p-4", "ff:text-xs ff:text-for
|
|
|
1783
1783
|
}
|
|
1784
1784
|
}), ie = s.forwardRef(({ className: e, children: a, ...r }, n) => {
|
|
1785
1785
|
const o = ge();
|
|
1786
|
-
return /* @__PURE__ */ t("div", { ref: n, "data-slot": "info-panel", className: E(
|
|
1786
|
+
return /* @__PURE__ */ t("div", { ref: n, "data-slot": "info-panel", className: E(hn({ styleVariant: o }), e), ...r, children: a });
|
|
1787
1787
|
});
|
|
1788
1788
|
ie.displayName = "InfoPanel";
|
|
1789
|
-
const
|
|
1789
|
+
const wn = ae(["ff:flex ff:items-start ff:gap-3", "ff:rounded-lg ff:p-4"], {
|
|
1790
1790
|
variants: {
|
|
1791
1791
|
tone: {
|
|
1792
1792
|
danger: "ff:bg-danger/10",
|
|
@@ -1796,7 +1796,7 @@ const hn = te(["ff:flex ff:items-start ff:gap-3", "ff:rounded-lg ff:p-4"], {
|
|
|
1796
1796
|
defaultVariants: {
|
|
1797
1797
|
tone: "danger"
|
|
1798
1798
|
}
|
|
1799
|
-
}),
|
|
1799
|
+
}), vn = ae(["ff:flex ff:size-5 ff:shrink-0 ff:items-center ff:justify-center ff:rounded-full"], {
|
|
1800
1800
|
variants: {
|
|
1801
1801
|
tone: {
|
|
1802
1802
|
danger: "ff:bg-danger ff:text-danger-foreground",
|
|
@@ -1806,7 +1806,7 @@ const hn = te(["ff:flex ff:items-start ff:gap-3", "ff:rounded-lg ff:p-4"], {
|
|
|
1806
1806
|
defaultVariants: {
|
|
1807
1807
|
tone: "danger"
|
|
1808
1808
|
}
|
|
1809
|
-
}),
|
|
1809
|
+
}), bn = ae(["ff:text-xs ff:font-semibold ff:leading-tight"], {
|
|
1810
1810
|
variants: {
|
|
1811
1811
|
tone: {
|
|
1812
1812
|
danger: "ff:text-danger",
|
|
@@ -1817,7 +1817,7 @@ const hn = te(["ff:flex ff:items-start ff:gap-3", "ff:rounded-lg ff:p-4"], {
|
|
|
1817
1817
|
tone: "danger"
|
|
1818
1818
|
}
|
|
1819
1819
|
});
|
|
1820
|
-
function
|
|
1820
|
+
function xn() {
|
|
1821
1821
|
return /* @__PURE__ */ u(
|
|
1822
1822
|
"svg",
|
|
1823
1823
|
{
|
|
@@ -1836,7 +1836,7 @@ function bn() {
|
|
|
1836
1836
|
}
|
|
1837
1837
|
);
|
|
1838
1838
|
}
|
|
1839
|
-
function
|
|
1839
|
+
function yn() {
|
|
1840
1840
|
return /* @__PURE__ */ t(
|
|
1841
1841
|
"svg",
|
|
1842
1842
|
{
|
|
@@ -1854,7 +1854,7 @@ function xn() {
|
|
|
1854
1854
|
}
|
|
1855
1855
|
const be = s.forwardRef(
|
|
1856
1856
|
({ tone: e = "danger", icon: a, title: r, description: n, className: o, ...i }, f) => {
|
|
1857
|
-
const
|
|
1857
|
+
const l = e === "success" ? /* @__PURE__ */ t(yn, {}) : /* @__PURE__ */ t(xn, {});
|
|
1858
1858
|
return /* @__PURE__ */ u(
|
|
1859
1859
|
"div",
|
|
1860
1860
|
{
|
|
@@ -1862,12 +1862,12 @@ const be = s.forwardRef(
|
|
|
1862
1862
|
"data-slot": "alert-panel",
|
|
1863
1863
|
"data-tone": e,
|
|
1864
1864
|
role: e === "success" ? "status" : "alert",
|
|
1865
|
-
className: E(
|
|
1865
|
+
className: E(wn({ tone: e }), o),
|
|
1866
1866
|
...i,
|
|
1867
1867
|
children: [
|
|
1868
|
-
/* @__PURE__ */ t("div", { className: E(
|
|
1868
|
+
/* @__PURE__ */ t("div", { className: E(vn({ tone: e })), "aria-hidden": "true", children: a ?? l }),
|
|
1869
1869
|
/* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-1", children: [
|
|
1870
|
-
r ? /* @__PURE__ */ t("p", { className: E(
|
|
1870
|
+
r ? /* @__PURE__ */ t("p", { className: E(bn({ tone: e })), children: r }) : null,
|
|
1871
1871
|
n ? /* @__PURE__ */ t("p", { className: "ff:text-xs ff:text-foreground/80", children: n }) : null
|
|
1872
1872
|
] })
|
|
1873
1873
|
]
|
|
@@ -1876,7 +1876,7 @@ const be = s.forwardRef(
|
|
|
1876
1876
|
}
|
|
1877
1877
|
);
|
|
1878
1878
|
be.displayName = "AlertPanel";
|
|
1879
|
-
const
|
|
1879
|
+
const kn = {
|
|
1880
1880
|
expired: "expired",
|
|
1881
1881
|
queue_denied: "not_selected",
|
|
1882
1882
|
draw_denied: "not_selected",
|
|
@@ -1893,9 +1893,9 @@ const yn = {
|
|
|
1893
1893
|
unknown: "ended"
|
|
1894
1894
|
};
|
|
1895
1895
|
function da(e) {
|
|
1896
|
-
return e ?
|
|
1896
|
+
return e ? kn[e] ?? "ended" : "ended";
|
|
1897
1897
|
}
|
|
1898
|
-
const
|
|
1898
|
+
const _n = ae(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"], {
|
|
1899
1899
|
variants: {
|
|
1900
1900
|
styleVariant: {
|
|
1901
1901
|
default: "",
|
|
@@ -1916,7 +1916,7 @@ const kn = te(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"]
|
|
|
1916
1916
|
styleVariant: "default",
|
|
1917
1917
|
size: "default"
|
|
1918
1918
|
}
|
|
1919
|
-
}),
|
|
1919
|
+
}), Nn = ae(
|
|
1920
1920
|
["ff:absolute ff:inset-0 ff:flex ff:items-center ff:justify-center ff:font-heading ff:tabular-nums"],
|
|
1921
1921
|
{
|
|
1922
1922
|
variants: {
|
|
@@ -1946,7 +1946,7 @@ const kn = te(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"]
|
|
|
1946
1946
|
tone: "calm"
|
|
1947
1947
|
}
|
|
1948
1948
|
}
|
|
1949
|
-
),
|
|
1949
|
+
), Sn = ae(["ff:flex ff:flex-col ff:items-center"], {
|
|
1950
1950
|
variants: {
|
|
1951
1951
|
styleVariant: {
|
|
1952
1952
|
default: "",
|
|
@@ -1988,7 +1988,7 @@ const kn = te(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"]
|
|
|
1988
1988
|
styleVariant: "default",
|
|
1989
1989
|
tone: "calm"
|
|
1990
1990
|
}
|
|
1991
|
-
}),
|
|
1991
|
+
}), Cn = ae(
|
|
1992
1992
|
["ff:text-xxs ff:font-heading ff:font-medium ff:uppercase ff:tracking-widest ff:text-neutral-500 ff:leading-none"],
|
|
1993
1993
|
{
|
|
1994
1994
|
variants: {
|
|
@@ -2018,7 +2018,7 @@ const kn = te(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"]
|
|
|
2018
2018
|
tone: "calm"
|
|
2019
2019
|
}
|
|
2020
2020
|
}
|
|
2021
|
-
),
|
|
2021
|
+
), Dn = ae(["ff:mx-2 ff:self-end ff:pb-2 ff:text-2xl ff:font-light ff:text-neutral-300"], {
|
|
2022
2022
|
variants: {
|
|
2023
2023
|
styleVariant: {
|
|
2024
2024
|
default: "",
|
|
@@ -2035,7 +2035,7 @@ const kn = te(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"]
|
|
|
2035
2035
|
styleVariant: "default",
|
|
2036
2036
|
size: "default"
|
|
2037
2037
|
}
|
|
2038
|
-
}),
|
|
2038
|
+
}), Vn = ae(["ff:flex ff:items-center ff:justify-center ff:font-heading"], {
|
|
2039
2039
|
variants: {
|
|
2040
2040
|
styleVariant: {
|
|
2041
2041
|
default: "",
|
|
@@ -2063,9 +2063,9 @@ function ua(e) {
|
|
|
2063
2063
|
total: n
|
|
2064
2064
|
};
|
|
2065
2065
|
}
|
|
2066
|
-
function
|
|
2067
|
-
return /* @__PURE__ */ t("div", { "data-slot": "countdown-digit", className:
|
|
2068
|
-
|
|
2066
|
+
function En({ value: e, styleVariant: a, size: r, tone: n }) {
|
|
2067
|
+
return /* @__PURE__ */ t("div", { "data-slot": "countdown-digit", className: _n({ styleVariant: a, size: r }), children: /* @__PURE__ */ t(_t, { mode: "popLayout", children: /* @__PURE__ */ t(
|
|
2068
|
+
W.span,
|
|
2069
2069
|
{
|
|
2070
2070
|
initial: { y: "100%", filter: "blur(2px)" },
|
|
2071
2071
|
animate: { y: "0%", filter: "blur(0px)" },
|
|
@@ -2076,31 +2076,31 @@ function Vn({ value: e, styleVariant: a, size: r, tone: n }) {
|
|
|
2076
2076
|
damping: 30,
|
|
2077
2077
|
mass: 1
|
|
2078
2078
|
},
|
|
2079
|
-
className:
|
|
2079
|
+
className: Nn({ styleVariant: a, size: r, tone: n }),
|
|
2080
2080
|
children: e
|
|
2081
2081
|
},
|
|
2082
2082
|
e
|
|
2083
2083
|
) }) });
|
|
2084
2084
|
}
|
|
2085
|
-
function
|
|
2085
|
+
function Mn({ value: e, label: a, styleVariant: r, size: n, tone: o }) {
|
|
2086
2086
|
const f = e.toString().padStart(2, "0").split("").map(Number);
|
|
2087
|
-
return /* @__PURE__ */ u("div", { "data-slot": "countdown-unit", "data-tone": o, className:
|
|
2088
|
-
/* @__PURE__ */ t("div", { "data-slot": "countdown-unit-digits", className: "ff:flex", children: f.map((
|
|
2089
|
-
/* @__PURE__ */ t("span", { "data-slot": "countdown-unit-label", className:
|
|
2087
|
+
return /* @__PURE__ */ u("div", { "data-slot": "countdown-unit", "data-tone": o, className: Sn({ styleVariant: r, tone: o }), children: [
|
|
2088
|
+
/* @__PURE__ */ t("div", { "data-slot": "countdown-unit-digits", className: "ff:flex", children: f.map((l, g) => /* @__PURE__ */ t(En, { value: l, styleVariant: r, size: n, tone: o }, g)) }),
|
|
2089
|
+
/* @__PURE__ */ t("span", { "data-slot": "countdown-unit-label", className: Cn({ styleVariant: r, size: n, tone: o }), children: a })
|
|
2090
2090
|
] });
|
|
2091
2091
|
}
|
|
2092
|
-
function
|
|
2093
|
-
return e === "rounded" || e === "retro" ? null : /* @__PURE__ */ t("span", { "data-slot": "countdown-separator", className:
|
|
2092
|
+
function Tn({ styleVariant: e, size: a }) {
|
|
2093
|
+
return e === "rounded" || e === "retro" ? null : /* @__PURE__ */ t("span", { "data-slot": "countdown-separator", className: Dn({ styleVariant: e, size: a }), children: "/" });
|
|
2094
2094
|
}
|
|
2095
|
-
function
|
|
2095
|
+
function Rn(e, a) {
|
|
2096
2096
|
const [r, n] = s.useState(() => ua(e)), [o, i] = s.useState(!1), f = s.useRef(!1);
|
|
2097
2097
|
return s.useEffect(() => {
|
|
2098
2098
|
i(!0), f.current = !1;
|
|
2099
|
-
const
|
|
2099
|
+
const l = setInterval(() => {
|
|
2100
2100
|
const g = ua(e);
|
|
2101
|
-
n(g), g.total <= 0 && !f.current && (f.current = !0, a?.(), clearInterval(
|
|
2101
|
+
n(g), g.total <= 0 && !f.current && (f.current = !0, a?.(), clearInterval(l));
|
|
2102
2102
|
}, 1e3);
|
|
2103
|
-
return () => clearInterval(
|
|
2103
|
+
return () => clearInterval(l);
|
|
2104
2104
|
}, [e, a]), { timeRemaining: r, isClient: o, isPast: r.total <= 0 };
|
|
2105
2105
|
}
|
|
2106
2106
|
function pe({
|
|
@@ -2111,35 +2111,35 @@ function pe({
|
|
|
2111
2111
|
showDays: o = !0,
|
|
2112
2112
|
showHours: i = !0,
|
|
2113
2113
|
showMinutes: f = !0,
|
|
2114
|
-
showSeconds:
|
|
2114
|
+
showSeconds: l = !0,
|
|
2115
2115
|
layout: g = "swiss",
|
|
2116
2116
|
size: d = "default",
|
|
2117
2117
|
tone: b = "calm"
|
|
2118
2118
|
}) {
|
|
2119
|
-
const { t: m } = K(), { timeRemaining: v, isClient:
|
|
2120
|
-
if (!
|
|
2119
|
+
const { t: m } = K(), { timeRemaining: v, isClient: h, isPast: x } = Rn(e, a), C = ge();
|
|
2120
|
+
if (!h)
|
|
2121
2121
|
return null;
|
|
2122
|
-
if (
|
|
2122
|
+
if (x && r)
|
|
2123
2123
|
return /* @__PURE__ */ t("span", { className: E("ff:text-muted ff:font-heading", n), "data-slot": "countdown", "data-past": "", children: r });
|
|
2124
|
-
const
|
|
2124
|
+
const c = x ? "ff:opacity-50" : void 0, p = [
|
|
2125
2125
|
{
|
|
2126
2126
|
value: v.days,
|
|
2127
|
-
label: m("
|
|
2128
|
-
shortLabel: m("
|
|
2127
|
+
label: m("duration.days"),
|
|
2128
|
+
shortLabel: m("duration.daysShort"),
|
|
2129
2129
|
show: o && v.days > 0
|
|
2130
2130
|
},
|
|
2131
|
-
{ value: v.hours, label: m("
|
|
2131
|
+
{ value: v.hours, label: m("duration.hours"), shortLabel: m("duration.hoursShort"), show: i },
|
|
2132
2132
|
{
|
|
2133
2133
|
value: v.minutes,
|
|
2134
|
-
label: m("
|
|
2135
|
-
shortLabel: m("
|
|
2134
|
+
label: m("duration.minutes"),
|
|
2135
|
+
shortLabel: m("duration.minutesShort"),
|
|
2136
2136
|
show: f
|
|
2137
2137
|
},
|
|
2138
2138
|
{
|
|
2139
2139
|
value: v.seconds,
|
|
2140
|
-
label: m("
|
|
2141
|
-
shortLabel: m("
|
|
2142
|
-
show:
|
|
2140
|
+
label: m("duration.seconds"),
|
|
2141
|
+
shortLabel: m("duration.secondsShort"),
|
|
2142
|
+
show: l
|
|
2143
2143
|
}
|
|
2144
2144
|
].filter((V) => V.show), D = g === "swiss" ? p.slice(0, 3) : p;
|
|
2145
2145
|
if (g === "compact") {
|
|
@@ -2147,16 +2147,16 @@ function pe({
|
|
|
2147
2147
|
return /* @__PURE__ */ t(
|
|
2148
2148
|
"span",
|
|
2149
2149
|
{
|
|
2150
|
-
className: E("ff:tabular-nums ff:font-heading",
|
|
2150
|
+
className: E("ff:tabular-nums ff:font-heading", c, n),
|
|
2151
2151
|
"data-slot": "countdown",
|
|
2152
2152
|
"data-layout": "compact",
|
|
2153
|
-
"data-past":
|
|
2153
|
+
"data-past": x || void 0,
|
|
2154
2154
|
role: "timer",
|
|
2155
|
-
"aria-live":
|
|
2156
|
-
children: D.map((T,
|
|
2155
|
+
"aria-live": x ? "off" : "polite",
|
|
2156
|
+
children: D.map((T, y) => /* @__PURE__ */ u(s.Fragment, { children: [
|
|
2157
2157
|
V(T.value),
|
|
2158
2158
|
T.shortLabel,
|
|
2159
|
-
|
|
2159
|
+
y < D.length - 1 && " "
|
|
2160
2160
|
] }, T.label))
|
|
2161
2161
|
}
|
|
2162
2162
|
);
|
|
@@ -2164,17 +2164,17 @@ function pe({
|
|
|
2164
2164
|
return /* @__PURE__ */ t(
|
|
2165
2165
|
"div",
|
|
2166
2166
|
{
|
|
2167
|
-
className: E(
|
|
2167
|
+
className: E(Vn({ styleVariant: C, size: d }), c, n),
|
|
2168
2168
|
"data-slot": "countdown",
|
|
2169
2169
|
"data-layout": "swiss",
|
|
2170
2170
|
"data-size": d,
|
|
2171
2171
|
"data-tone": b,
|
|
2172
|
-
"data-past":
|
|
2172
|
+
"data-past": x || void 0,
|
|
2173
2173
|
role: "timer",
|
|
2174
|
-
"aria-live":
|
|
2174
|
+
"aria-live": x ? "off" : "polite",
|
|
2175
2175
|
children: D.map((V, T) => /* @__PURE__ */ u(s.Fragment, { children: [
|
|
2176
|
-
/* @__PURE__ */ t(
|
|
2177
|
-
T < D.length - 1 && /* @__PURE__ */ t(
|
|
2176
|
+
/* @__PURE__ */ t(Mn, { value: V.value, label: V.label, styleVariant: C, size: d, tone: b }),
|
|
2177
|
+
T < D.length - 1 && /* @__PURE__ */ t(Tn, { styleVariant: C, size: d })
|
|
2178
2178
|
] }, V.label))
|
|
2179
2179
|
}
|
|
2180
2180
|
);
|
|
@@ -2182,7 +2182,7 @@ function pe({
|
|
|
2182
2182
|
function nt({ show: e, presenceKey: a, children: r, className: n }) {
|
|
2183
2183
|
const o = ot();
|
|
2184
2184
|
return /* @__PURE__ */ t(_t, { initial: !1, children: e ? /* @__PURE__ */ t(
|
|
2185
|
-
|
|
2185
|
+
W.div,
|
|
2186
2186
|
{
|
|
2187
2187
|
"data-slot": "fade-presence",
|
|
2188
2188
|
initial: o ? !1 : { opacity: 0, y: -4 },
|
|
@@ -2196,7 +2196,7 @@ function nt({ show: e, presenceKey: a, children: r, className: n }) {
|
|
|
2196
2196
|
) : null });
|
|
2197
2197
|
}
|
|
2198
2198
|
nt.displayName = "FadePresence";
|
|
2199
|
-
const
|
|
2199
|
+
const Ln = {
|
|
2200
2200
|
default: {
|
|
2201
2201
|
initial: { opacity: 0, scale: 0.98 },
|
|
2202
2202
|
animate: { opacity: 1, scale: 1 },
|
|
@@ -2228,7 +2228,7 @@ const Rn = {
|
|
|
2228
2228
|
transition: { duration: 0 }
|
|
2229
2229
|
};
|
|
2230
2230
|
function rt({ children: e, transitionKey: a, mode: r, layout: n = !0, className: o }) {
|
|
2231
|
-
const i = ge(), f = ot(),
|
|
2231
|
+
const i = ge(), f = ot(), l = f ? Vt : Ln[i], d = (!r || r === "none" ? r === "none" ? Vt : null : f ? Vt : {
|
|
2232
2232
|
fade: {
|
|
2233
2233
|
initial: { opacity: 0 },
|
|
2234
2234
|
animate: { opacity: 1 },
|
|
@@ -2247,9 +2247,9 @@ function rt({ children: e, transitionKey: a, mode: r, layout: n = !0, className:
|
|
|
2247
2247
|
exit: { opacity: 0, scale: 0.95 },
|
|
2248
2248
|
transition: { duration: 0.2, ease: "easeOut" }
|
|
2249
2249
|
}
|
|
2250
|
-
}[r]) ??
|
|
2250
|
+
}[r]) ?? l;
|
|
2251
2251
|
return /* @__PURE__ */ t(_t, { mode: "wait", initial: !1, children: /* @__PURE__ */ t(
|
|
2252
|
-
|
|
2252
|
+
W.div,
|
|
2253
2253
|
{
|
|
2254
2254
|
initial: d.initial,
|
|
2255
2255
|
animate: d.animate,
|
|
@@ -2264,8 +2264,8 @@ function rt({ children: e, transitionKey: a, mode: r, layout: n = !0, className:
|
|
|
2264
2264
|
) });
|
|
2265
2265
|
}
|
|
2266
2266
|
rt.displayName = "Transition";
|
|
2267
|
-
const Et = 3e4,
|
|
2268
|
-
function
|
|
2267
|
+
const Et = 3e4, An = 3e3;
|
|
2268
|
+
function In(e) {
|
|
2269
2269
|
const a = Math.ceil(e / 1e3), r = Math.floor(a / 60), n = a % 60;
|
|
2270
2270
|
return `${r.toString().padStart(2, "0")}:${n.toString().padStart(2, "0")}`;
|
|
2271
2271
|
}
|
|
@@ -2277,38 +2277,38 @@ function Aa({
|
|
|
2277
2277
|
variant: o = "default",
|
|
2278
2278
|
label: i,
|
|
2279
2279
|
title: f,
|
|
2280
|
-
description:
|
|
2280
|
+
description: l,
|
|
2281
2281
|
countdownTo: g,
|
|
2282
2282
|
submitLabel: d,
|
|
2283
2283
|
verifyLabel: b,
|
|
2284
2284
|
allowSkip: m = !1,
|
|
2285
2285
|
showBranding: v = !0,
|
|
2286
|
-
defaultStep:
|
|
2287
|
-
defaultCredential:
|
|
2286
|
+
defaultStep: h = "credential",
|
|
2287
|
+
defaultCredential: x,
|
|
2288
2288
|
defaultCredentialType: C,
|
|
2289
|
-
defaultError:
|
|
2290
|
-
className:
|
|
2289
|
+
defaultError: c,
|
|
2290
|
+
className: w
|
|
2291
2291
|
}) {
|
|
2292
|
-
const { t: p } = K(), D = s.useId(), V = i ?? p("auth.badgeLabel"), T = f ?? p("auth.title"),
|
|
2293
|
-
C ?? Va(
|
|
2294
|
-
), [ce, L] = s.useState(!1), [J, ne] = s.useState(""), [se, de] = s.useState(!1), [ee, P] = s.useState(
|
|
2295
|
-
|
|
2296
|
-
), [
|
|
2292
|
+
const { t: p } = K(), D = s.useId(), V = i ?? p("auth.badgeLabel"), T = f ?? p("auth.title"), y = l ?? p("auth.description"), N = d ?? p("auth.submit"), S = b ?? p("auth.verify"), [M, A] = s.useState(h), [I, O] = s.useState(x ?? ""), [$, fe] = s.useState(
|
|
2293
|
+
C ?? Va(x ?? "")
|
|
2294
|
+
), [ce, L] = s.useState(!1), [J, ne] = s.useState(""), [se, de] = s.useState(!1), [ee, P] = s.useState(c ?? null), [te, me] = s.useState(
|
|
2295
|
+
h === "verify" && (x ?? "").length > 0 ? Date.now() + Et : null
|
|
2296
|
+
), [_e, Re] = s.useState(() => Date.now()), [ue, q] = s.useState(!1), [Ne, xe] = s.useState(!1), st = p($ === "email" ? "auth.email" : "auth.phone");
|
|
2297
2297
|
s.useEffect(() => {
|
|
2298
2298
|
if (M !== "verify") return;
|
|
2299
|
-
const
|
|
2300
|
-
return () => clearInterval(
|
|
2299
|
+
const U = setInterval(() => Re(Date.now()), 1e3);
|
|
2300
|
+
return () => clearInterval(U);
|
|
2301
2301
|
}, [M]), s.useEffect(() => {
|
|
2302
2302
|
if (!ue) return;
|
|
2303
|
-
const
|
|
2304
|
-
return () => clearTimeout(
|
|
2303
|
+
const U = setTimeout(() => q(!1), An);
|
|
2304
|
+
return () => clearTimeout(U);
|
|
2305
2305
|
}, [ue]);
|
|
2306
|
-
const
|
|
2307
|
-
ee && (
|
|
2308
|
-
const F = ee ??
|
|
2309
|
-
O(
|
|
2310
|
-
}, Fe = async (
|
|
2311
|
-
if (
|
|
2306
|
+
const We = te ? Math.max(0, te - _e) : 0, lt = We > 0, ye = s.useRef(null);
|
|
2307
|
+
ee && (ye.current = ee);
|
|
2308
|
+
const F = ee ?? ye.current ?? "", ze = (U, Se) => {
|
|
2309
|
+
O(U), fe(Se), P(null);
|
|
2310
|
+
}, Fe = async (U) => {
|
|
2311
|
+
if (U?.preventDefault(), !(!ce || !I)) {
|
|
2312
2312
|
de(!0), P(null);
|
|
2313
2313
|
try {
|
|
2314
2314
|
await e?.(I, $), A("verify"), me(Date.now() + Et);
|
|
@@ -2318,12 +2318,12 @@ function Aa({
|
|
|
2318
2318
|
de(!1);
|
|
2319
2319
|
}
|
|
2320
2320
|
}
|
|
2321
|
-
}, Le = (
|
|
2322
|
-
ne(
|
|
2323
|
-
}, Ae = async (
|
|
2324
|
-
ne(
|
|
2325
|
-
}, He = async (
|
|
2326
|
-
|
|
2321
|
+
}, Le = (U) => {
|
|
2322
|
+
ne(U), P(null);
|
|
2323
|
+
}, Ae = async (U) => {
|
|
2324
|
+
ne(U), await He(void 0, U);
|
|
2325
|
+
}, He = async (U, Se) => {
|
|
2326
|
+
U?.preventDefault();
|
|
2327
2327
|
const Pe = Se || J;
|
|
2328
2328
|
if (!(!Pe || Pe.length < 6)) {
|
|
2329
2329
|
de(!0), P(null);
|
|
@@ -2338,19 +2338,19 @@ function Aa({
|
|
|
2338
2338
|
}, ct = () => {
|
|
2339
2339
|
A("credential"), ne(""), P(null), me(null), q(!1);
|
|
2340
2340
|
}, dt = async () => {
|
|
2341
|
-
if (!(!I ||
|
|
2342
|
-
|
|
2341
|
+
if (!(!I || Ne)) {
|
|
2342
|
+
xe(!0), P(null), ne("");
|
|
2343
2343
|
try {
|
|
2344
2344
|
await e?.(I, $), me(Date.now() + Et), Re(Date.now()), q(!0);
|
|
2345
|
-
} catch (
|
|
2346
|
-
P(
|
|
2345
|
+
} catch (U) {
|
|
2346
|
+
P(U instanceof Error ? U.message : p("auth.sendFailed"));
|
|
2347
2347
|
} finally {
|
|
2348
|
-
|
|
2348
|
+
xe(!1);
|
|
2349
2349
|
}
|
|
2350
2350
|
}
|
|
2351
2351
|
};
|
|
2352
2352
|
if (M === "success")
|
|
2353
|
-
return /* @__PURE__ */ u(Y, { className: E("fanfare-auth-form",
|
|
2353
|
+
return /* @__PURE__ */ u(Y, { className: E("fanfare-auth-form", w), "data-slot": "auth-form", "data-step": "success", children: [
|
|
2354
2354
|
/* @__PURE__ */ t(Z, { children: /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-center ff:gap-3 ff:py-4", children: [
|
|
2355
2355
|
/* @__PURE__ */ t(
|
|
2356
2356
|
"div",
|
|
@@ -2367,17 +2367,17 @@ function Aa({
|
|
|
2367
2367
|
] }) }),
|
|
2368
2368
|
v && /* @__PURE__ */ t(H, {})
|
|
2369
2369
|
] });
|
|
2370
|
-
const Ke = M === "credential" ? T : p("auth.
|
|
2371
|
-
return /* @__PURE__ */ u(Y, { className: E("fanfare-auth-form",
|
|
2370
|
+
const Ke = M === "credential" ? T : p("auth.verify.title");
|
|
2371
|
+
return /* @__PURE__ */ u(Y, { className: E("fanfare-auth-form", w), "data-slot": "auth-form", "data-step": M, children: [
|
|
2372
2372
|
/* @__PURE__ */ t(G, { variant: o, label: V }),
|
|
2373
2373
|
/* @__PURE__ */ u(Z, { children: [
|
|
2374
2374
|
g ? /* @__PURE__ */ u("div", { "data-slot": "auth-form-countdown", className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
|
|
2375
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: p("
|
|
2375
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: p("duration.opensIn") }),
|
|
2376
2376
|
/* @__PURE__ */ t(pe, { targetDate: g, showDays: !1 })
|
|
2377
2377
|
] }) : null,
|
|
2378
2378
|
/* @__PURE__ */ t("div", { "data-slot": "auth-form-heading", children: /* @__PURE__ */ t(rt, { transitionKey: M, mode: "fade", children: M === "credential" ? /* @__PURE__ */ u(Me, { children: [
|
|
2379
2379
|
/* @__PURE__ */ t("h2", { className: "ff:text-foreground ff:text-xl ff:font-semibold", children: Ke }),
|
|
2380
|
-
/* @__PURE__ */ t("p", { className: "ff:text-muted-foreground ff:text-xs", children:
|
|
2380
|
+
/* @__PURE__ */ t("p", { className: "ff:text-muted-foreground ff:text-xs", children: y })
|
|
2381
2381
|
] }) : /* @__PURE__ */ u(Me, { children: [
|
|
2382
2382
|
/* @__PURE__ */ t("h2", { className: "ff:text-foreground ff:text-xl ff:font-semibold", children: Ke }),
|
|
2383
2383
|
I ? /* @__PURE__ */ u("p", { className: "ff:text-muted-foreground ff:text-xxs", children: [
|
|
@@ -2386,21 +2386,21 @@ function Aa({
|
|
|
2386
2386
|
/* @__PURE__ */ t("strong", { className: "ff:text-foreground ff:font-semibold", children: I }),
|
|
2387
2387
|
" · ",
|
|
2388
2388
|
/* @__PURE__ */ t(j, { type: "button", variant: "link", size: "xs", onClick: ct, disabled: se, children: p("auth.change") })
|
|
2389
|
-
] }) : /* @__PURE__ */ t("p", { className: "ff:text-muted-foreground ff:text-xs", children: p("auth.
|
|
2389
|
+
] }) : /* @__PURE__ */ t("p", { className: "ff:text-muted-foreground ff:text-xs", children: p("auth.verify.description", { values: { type: st } }) })
|
|
2390
2390
|
] }) }) }),
|
|
2391
2391
|
/* @__PURE__ */ u(
|
|
2392
2392
|
"form",
|
|
2393
2393
|
{
|
|
2394
2394
|
className: "ff:flex ff:flex-1 ff:flex-col ff:gap-5",
|
|
2395
|
-
onSubmit: (
|
|
2396
|
-
|
|
2395
|
+
onSubmit: (U) => {
|
|
2396
|
+
U.preventDefault(), M === "credential" ? Fe(U) : He(U);
|
|
2397
2397
|
},
|
|
2398
2398
|
children: [
|
|
2399
2399
|
/* @__PURE__ */ t(rt, { transitionKey: M, children: M === "credential" ? /* @__PURE__ */ t(
|
|
2400
2400
|
Ea,
|
|
2401
2401
|
{
|
|
2402
2402
|
value: I,
|
|
2403
|
-
onValueChange:
|
|
2403
|
+
onValueChange: ze,
|
|
2404
2404
|
onValidChange: L,
|
|
2405
2405
|
onSubmit: () => {
|
|
2406
2406
|
Fe();
|
|
@@ -2414,8 +2414,8 @@ function Aa({
|
|
|
2414
2414
|
{
|
|
2415
2415
|
value: J,
|
|
2416
2416
|
onChange: Le,
|
|
2417
|
-
onComplete: (
|
|
2418
|
-
Ae(
|
|
2417
|
+
onComplete: (U) => {
|
|
2418
|
+
Ae(U);
|
|
2419
2419
|
},
|
|
2420
2420
|
hasError: !!ee,
|
|
2421
2421
|
ariaDescribedBy: ee ? D : void 0,
|
|
@@ -2425,7 +2425,7 @@ function Aa({
|
|
|
2425
2425
|
) }),
|
|
2426
2426
|
/* @__PURE__ */ t(nt, { show: M === "verify", presenceKey: "resend-area", children: /* @__PURE__ */ t(rt, { transitionKey: ue ? "success" : "cooldown", mode: "fade", layout: !1, children: ue ? /* @__PURE__ */ t(be, { tone: "success", title: p("auth.newCodeSent") }) : /* @__PURE__ */ u("div", { "data-slot": "auth-form-resend", className: "ff:flex ff:items-center ff:justify-between", children: [
|
|
2427
2427
|
/* @__PURE__ */ t("span", { className: "ff:text-muted-foreground ff:text-xxs", children: p("auth.didntGetIt") }),
|
|
2428
|
-
lt ? /* @__PURE__ */ t("span", { className: "ff:text-muted-foreground ff:text-xxs ff:tabular-nums", children:
|
|
2428
|
+
lt ? /* @__PURE__ */ t("span", { className: "ff:text-muted-foreground ff:text-xxs ff:tabular-nums", children: In(We) }) : /* @__PURE__ */ t(
|
|
2429
2429
|
j,
|
|
2430
2430
|
{
|
|
2431
2431
|
type: "button",
|
|
@@ -2434,7 +2434,7 @@ function Aa({
|
|
|
2434
2434
|
onClick: () => {
|
|
2435
2435
|
dt();
|
|
2436
2436
|
},
|
|
2437
|
-
disabled:
|
|
2437
|
+
disabled: Ne || !I,
|
|
2438
2438
|
children: p("auth.resendCode")
|
|
2439
2439
|
}
|
|
2440
2440
|
)
|
|
@@ -2446,11 +2446,11 @@ function Aa({
|
|
|
2446
2446
|
{
|
|
2447
2447
|
type: "submit",
|
|
2448
2448
|
className: "ff:w-full",
|
|
2449
|
-
disabled: se ||
|
|
2449
|
+
disabled: se || Ne || (M === "credential" ? !ce : J.length < 6),
|
|
2450
2450
|
children: se ? /* @__PURE__ */ t(Te, { size: "sm" }) : M === "credential" ? N : S
|
|
2451
2451
|
}
|
|
2452
2452
|
),
|
|
2453
|
-
m && M === "credential" && /* @__PURE__ */ t(j, { type: "button", variant: "outline", className: "ff:w-full", onClick: r, disabled: se, children: p("
|
|
2453
|
+
m && M === "credential" && /* @__PURE__ */ t(j, { type: "button", variant: "outline", className: "ff:w-full", onClick: r, disabled: se, children: p("action.skip") })
|
|
2454
2454
|
] })
|
|
2455
2455
|
]
|
|
2456
2456
|
}
|
|
@@ -2469,7 +2469,7 @@ const Ia = s.forwardRef(
|
|
|
2469
2469
|
error: o,
|
|
2470
2470
|
hasError: i,
|
|
2471
2471
|
placeholder: f = "Enter your access code",
|
|
2472
|
-
autoUppercase:
|
|
2472
|
+
autoUppercase: l = !1,
|
|
2473
2473
|
...g
|
|
2474
2474
|
}, d) => /* @__PURE__ */ t(
|
|
2475
2475
|
yt,
|
|
@@ -2480,8 +2480,8 @@ const Ia = s.forwardRef(
|
|
|
2480
2480
|
spellCheck: !1,
|
|
2481
2481
|
value: a,
|
|
2482
2482
|
onChange: (v) => {
|
|
2483
|
-
let
|
|
2484
|
-
|
|
2483
|
+
let h = v.target.value;
|
|
2484
|
+
l && (h = h.toUpperCase()), r(h);
|
|
2485
2485
|
},
|
|
2486
2486
|
onKeyDown: (v) => {
|
|
2487
2487
|
v.key === "Enter" && n && (v.preventDefault(), n()), g.onKeyDown?.(v);
|
|
@@ -2496,7 +2496,7 @@ const Ia = s.forwardRef(
|
|
|
2496
2496
|
)
|
|
2497
2497
|
);
|
|
2498
2498
|
Ia.displayName = "AccessCodeInput";
|
|
2499
|
-
function
|
|
2499
|
+
function ja({
|
|
2500
2500
|
onSubmit: e,
|
|
2501
2501
|
onSkip: a,
|
|
2502
2502
|
variant: r = "secondary",
|
|
@@ -2504,33 +2504,33 @@ function za({
|
|
|
2504
2504
|
title: o,
|
|
2505
2505
|
description: i,
|
|
2506
2506
|
countdownTo: f,
|
|
2507
|
-
submitLabel:
|
|
2507
|
+
submitLabel: l,
|
|
2508
2508
|
allowSkip: g = !1,
|
|
2509
2509
|
autoUppercase: d = !0,
|
|
2510
2510
|
defaultError: b,
|
|
2511
2511
|
className: m
|
|
2512
2512
|
}) {
|
|
2513
|
-
const { t: v } = K(),
|
|
2514
|
-
if (S?.preventDefault(), !!
|
|
2515
|
-
V(!0),
|
|
2513
|
+
const { t: v } = K(), h = n ?? v("accessCode.badgeLabel"), x = o ?? v("accessCode.title"), C = i ?? v("accessCode.description"), c = l ?? v("accessCode.submit"), [w, p] = s.useState(""), [D, V] = s.useState(!1), [T, y] = s.useState(b ?? null), N = async (S) => {
|
|
2514
|
+
if (S?.preventDefault(), !!w.trim()) {
|
|
2515
|
+
V(!0), y(null);
|
|
2516
2516
|
try {
|
|
2517
|
-
await e?.(
|
|
2517
|
+
await e?.(w.trim());
|
|
2518
2518
|
} catch (M) {
|
|
2519
|
-
|
|
2519
|
+
y(M instanceof Error ? M.message : v("accessCode.invalid"));
|
|
2520
2520
|
} finally {
|
|
2521
2521
|
V(!1);
|
|
2522
2522
|
}
|
|
2523
2523
|
}
|
|
2524
2524
|
};
|
|
2525
2525
|
return /* @__PURE__ */ u(Y, { className: E("fanfare-access-code-form", m), "data-slot": "access-code-form", children: [
|
|
2526
|
-
/* @__PURE__ */ t(G, { variant: r, label:
|
|
2526
|
+
/* @__PURE__ */ t(G, { variant: r, label: h }),
|
|
2527
2527
|
/* @__PURE__ */ u(Z, { children: [
|
|
2528
2528
|
f ? /* @__PURE__ */ u("div", { "data-slot": "access-code-form-countdown", className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
|
|
2529
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: v("
|
|
2529
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: v("duration.opensIn") }),
|
|
2530
2530
|
/* @__PURE__ */ t(pe, { targetDate: f, showDays: !1 })
|
|
2531
2531
|
] }) : null,
|
|
2532
2532
|
/* @__PURE__ */ u("div", { "data-slot": "access-code-form-heading", children: [
|
|
2533
|
-
/* @__PURE__ */ t("h2", { className: "ff:text-foreground ff:text-xl ff:font-semibold", children:
|
|
2533
|
+
/* @__PURE__ */ t("h2", { className: "ff:text-foreground ff:text-xl ff:font-semibold", children: x }),
|
|
2534
2534
|
/* @__PURE__ */ t("p", { className: "ff:text-muted-foreground ff:text-xs", children: C })
|
|
2535
2535
|
] }),
|
|
2536
2536
|
/* @__PURE__ */ u("form", { className: "ff:flex ff:flex-1 ff:flex-col ff:gap-5", onSubmit: (S) => {
|
|
@@ -2539,9 +2539,9 @@ function za({
|
|
|
2539
2539
|
/* @__PURE__ */ t(
|
|
2540
2540
|
Ia,
|
|
2541
2541
|
{
|
|
2542
|
-
value:
|
|
2542
|
+
value: w,
|
|
2543
2543
|
onValueChange: (S) => {
|
|
2544
|
-
p(S),
|
|
2544
|
+
p(S), y(null);
|
|
2545
2545
|
},
|
|
2546
2546
|
onSubmit: () => {
|
|
2547
2547
|
N();
|
|
@@ -2555,16 +2555,16 @@ function za({
|
|
|
2555
2555
|
),
|
|
2556
2556
|
T ? /* @__PURE__ */ t(be, { tone: "danger", title: T }) : null,
|
|
2557
2557
|
/* @__PURE__ */ u("div", { className: "ff:mt-auto ff:flex ff:flex-col ff:gap-2", children: [
|
|
2558
|
-
/* @__PURE__ */ t(j, { type: "submit", className: "ff:w-full", disabled: D || !
|
|
2559
|
-
g && /* @__PURE__ */ t(j, { type: "button", variant: "outline", className: "ff:w-full", onClick: a, disabled: D, children: v("
|
|
2558
|
+
/* @__PURE__ */ t(j, { type: "submit", className: "ff:w-full", disabled: D || !w.trim(), children: D ? /* @__PURE__ */ t(Te, { size: "sm" }) : c }),
|
|
2559
|
+
g && /* @__PURE__ */ t(j, { type: "button", variant: "outline", className: "ff:w-full", onClick: a, disabled: D, children: v("action.skip") })
|
|
2560
2560
|
] })
|
|
2561
2561
|
] })
|
|
2562
2562
|
] }),
|
|
2563
2563
|
/* @__PURE__ */ t(H, {})
|
|
2564
2564
|
] });
|
|
2565
2565
|
}
|
|
2566
|
-
|
|
2567
|
-
function
|
|
2566
|
+
ja.displayName = "AccessCodeForm";
|
|
2567
|
+
function jn(e) {
|
|
2568
2568
|
if (!e || typeof e != "object") return !1;
|
|
2569
2569
|
const a = e;
|
|
2570
2570
|
return typeof a.kind != "string" || typeof a.challengeId != "string" ? !1 : a.kind === "fanfare:challenge:turnstile" ? typeof a.token == "string" && a.token.length > 0 : a.kind === "fanfare:challenge:turnstile_error" || a.kind === "fanfare:challenge:turnstile_expired";
|
|
@@ -2575,15 +2575,15 @@ function zn(e, a) {
|
|
|
2575
2575
|
const n = Date.parse(r);
|
|
2576
2576
|
return Number.isFinite(n) ? { blocked: a < n, blockedUntil: r } : { blocked: !1 };
|
|
2577
2577
|
}
|
|
2578
|
-
function
|
|
2578
|
+
function Fn(e, a) {
|
|
2579
2579
|
const r = new Date(e);
|
|
2580
2580
|
try {
|
|
2581
|
-
return r.toLocaleString(
|
|
2581
|
+
return r.toLocaleString(wr(a));
|
|
2582
2582
|
} catch {
|
|
2583
2583
|
return r.toLocaleString();
|
|
2584
2584
|
}
|
|
2585
2585
|
}
|
|
2586
|
-
function
|
|
2586
|
+
function za({
|
|
2587
2587
|
challenge: e,
|
|
2588
2588
|
botMitigation: a,
|
|
2589
2589
|
onVerifyToken: r,
|
|
@@ -2591,12 +2591,12 @@ function ja({
|
|
|
2591
2591
|
variant: o = "default",
|
|
2592
2592
|
label: i,
|
|
2593
2593
|
title: f,
|
|
2594
|
-
description:
|
|
2594
|
+
description: l,
|
|
2595
2595
|
countdownTo: g,
|
|
2596
2596
|
retryLabel: d,
|
|
2597
2597
|
className: b
|
|
2598
2598
|
}) {
|
|
2599
|
-
const { t: m, locale: v } = K(), [
|
|
2599
|
+
const { t: m, locale: v } = K(), [h, x] = s.useState(0), [C, c] = s.useState(!1), [w, p] = s.useState(!1), [D, V] = s.useState(null), [T, y] = s.useState(!1), [N, S] = s.useState("reload"), [M, A] = s.useState(() => Date.now()), I = X(() => {
|
|
2600
2600
|
if (!e?.iframeUrl) return null;
|
|
2601
2601
|
try {
|
|
2602
2602
|
return new URL(e.iframeUrl).origin;
|
|
@@ -2607,17 +2607,17 @@ function ja({
|
|
|
2607
2607
|
if (!e?.iframeUrl) return null;
|
|
2608
2608
|
try {
|
|
2609
2609
|
const ee = new URL(e.iframeUrl);
|
|
2610
|
-
return ee.searchParams.set("_t", String(
|
|
2610
|
+
return ee.searchParams.set("_t", String(h)), ee.toString();
|
|
2611
2611
|
} catch {
|
|
2612
2612
|
return null;
|
|
2613
2613
|
}
|
|
2614
|
-
}, [e?.iframeUrl,
|
|
2614
|
+
}, [e?.iframeUrl, h]);
|
|
2615
2615
|
s.useEffect(() => {
|
|
2616
2616
|
const ee = a?.blockedUntil, P = Date.now();
|
|
2617
2617
|
if (A(P), !ee) return;
|
|
2618
|
-
const
|
|
2619
|
-
if (!Number.isFinite(
|
|
2620
|
-
const me = window.setTimeout(() => A(Date.now()), Math.min(
|
|
2618
|
+
const te = Date.parse(ee);
|
|
2619
|
+
if (!Number.isFinite(te) || te <= P) return;
|
|
2620
|
+
const me = window.setTimeout(() => A(Date.now()), Math.min(te - P + 1, 2147483647));
|
|
2621
2621
|
return () => {
|
|
2622
2622
|
window.clearTimeout(me);
|
|
2623
2623
|
};
|
|
@@ -2627,18 +2627,18 @@ function ja({
|
|
|
2627
2627
|
[a, M]
|
|
2628
2628
|
), ce = typeof a?.attemptsRemaining == "number" ? a.attemptsRemaining : void 0;
|
|
2629
2629
|
s.useEffect(() => {
|
|
2630
|
-
|
|
2630
|
+
x(0), c(!1), p(!1), V(null), y(!1), S("reload");
|
|
2631
2631
|
}, [e?.id]), s.useEffect(() => {
|
|
2632
2632
|
T && a?.message && V(a.message);
|
|
2633
2633
|
}, [T, a?.message]), s.useEffect(() => {
|
|
2634
2634
|
if (!e?.id || !I) return;
|
|
2635
2635
|
const ee = (P) => {
|
|
2636
|
-
if (P.origin !== I || !
|
|
2636
|
+
if (P.origin !== I || !jn(P.data) || P.data.challengeId !== e.id) return;
|
|
2637
2637
|
if (P.data.kind === "fanfare:challenge:turnstile") {
|
|
2638
|
-
const
|
|
2639
|
-
|
|
2638
|
+
const _e = P.data.token;
|
|
2639
|
+
y(!0), p(!0), V(null), (async () => {
|
|
2640
2640
|
try {
|
|
2641
|
-
await r(
|
|
2641
|
+
await r(_e);
|
|
2642
2642
|
} catch (Re) {
|
|
2643
2643
|
V(Re instanceof Error ? Re.message : m("challenge.verificationFailed"));
|
|
2644
2644
|
} finally {
|
|
@@ -2647,37 +2647,37 @@ function ja({
|
|
|
2647
2647
|
})();
|
|
2648
2648
|
return;
|
|
2649
2649
|
}
|
|
2650
|
-
|
|
2651
|
-
const
|
|
2652
|
-
if (
|
|
2650
|
+
y(!0);
|
|
2651
|
+
const te = typeof P.data.reason == "string" ? P.data.reason : void 0, me = typeof P.data.message == "string" ? P.data.message : void 0;
|
|
2652
|
+
if (te === "challenge_expired" || te === "challenge_not_found") {
|
|
2653
2653
|
S("reroute"), V(
|
|
2654
2654
|
me ?? (P.data.kind === "fanfare:challenge:turnstile_expired" ? m("challenge.expiredRefresh") : m("challenge.errorRefresh"))
|
|
2655
2655
|
);
|
|
2656
2656
|
return;
|
|
2657
2657
|
}
|
|
2658
2658
|
if (S("reload"), P.data.kind === "fanfare:challenge:turnstile_expired") {
|
|
2659
|
-
V(me ?? m("challenge.expiredRetry")),
|
|
2659
|
+
V(me ?? m("challenge.expiredRetry")), x((_e) => _e + 1), c(!1);
|
|
2660
2660
|
return;
|
|
2661
2661
|
}
|
|
2662
|
-
V(me ?? m("challenge.errorRetry")),
|
|
2662
|
+
V(me ?? m("challenge.errorRetry")), x((_e) => _e + 1), c(!1);
|
|
2663
2663
|
};
|
|
2664
2664
|
return window.addEventListener("message", ee), () => {
|
|
2665
2665
|
window.removeEventListener("message", ee);
|
|
2666
2666
|
};
|
|
2667
2667
|
}, [e?.id, I, r, m]);
|
|
2668
|
-
const L = f ?? m("challenge.title"), J =
|
|
2668
|
+
const L = f ?? m("challenge.title"), J = l ?? m("challenge.description"), ne = d ?? m("challenge.retry"), se = i ?? m("challenge.badgeLabel"), de = () => {
|
|
2669
2669
|
const ee = N;
|
|
2670
|
-
if (V(null),
|
|
2670
|
+
if (V(null), y(!1), n && (ee === "reroute" || !O || typeof ce == "number" && ce <= 0)) {
|
|
2671
2671
|
S("reload"), n();
|
|
2672
2672
|
return;
|
|
2673
2673
|
}
|
|
2674
|
-
S("reload"),
|
|
2674
|
+
S("reload"), x((P) => P + 1), c(!1);
|
|
2675
2675
|
};
|
|
2676
2676
|
return /* @__PURE__ */ u(Y, { className: E("fanfare-challenge-gate", b), "data-slot": "challenge-gate", children: [
|
|
2677
2677
|
/* @__PURE__ */ t(G, { variant: o, label: se }),
|
|
2678
2678
|
/* @__PURE__ */ u(Z, { children: [
|
|
2679
2679
|
g ? /* @__PURE__ */ u("div", { "data-slot": "challenge-gate-countdown", className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
|
|
2680
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: m("
|
|
2680
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: m("duration.opensIn") }),
|
|
2681
2681
|
/* @__PURE__ */ t(pe, { targetDate: g, showDays: !1 })
|
|
2682
2682
|
] }) : null,
|
|
2683
2683
|
/* @__PURE__ */ u("div", { "data-slot": "challenge-gate-heading", children: [
|
|
@@ -2689,11 +2689,11 @@ function ja({
|
|
|
2689
2689
|
{
|
|
2690
2690
|
tone: "danger",
|
|
2691
2691
|
title: a?.message ?? m("challenge.blockedDefault"),
|
|
2692
|
-
description: fe ? m("challenge.blockedUntil", { values: { date:
|
|
2692
|
+
description: fe ? m("challenge.blockedUntil", { values: { date: Fn(fe, v) } }) : void 0
|
|
2693
2693
|
}
|
|
2694
2694
|
) : O ? /* @__PURE__ */ u("div", { className: "ff:relative ff:w-full ff:rounded-md ff:border ff:border-border ff:bg-background ff:overflow-hidden", children: [
|
|
2695
2695
|
!C && /* @__PURE__ */ t("div", { className: "ff:absolute ff:inset-0 ff:flex ff:items-center ff:justify-center ff:bg-background/60", children: /* @__PURE__ */ t(Te, { size: "lg" }) }),
|
|
2696
|
-
|
|
2696
|
+
w && /* @__PURE__ */ t("div", { className: "ff:absolute ff:inset-0 ff:flex ff:items-center ff:justify-center ff:bg-background/70", children: /* @__PURE__ */ t(Te, { size: "lg" }) }),
|
|
2697
2697
|
/* @__PURE__ */ t(
|
|
2698
2698
|
"iframe",
|
|
2699
2699
|
{
|
|
@@ -2703,9 +2703,9 @@ function ja({
|
|
|
2703
2703
|
style: { height: 120, border: 0 },
|
|
2704
2704
|
sandbox: "allow-scripts allow-forms allow-same-origin",
|
|
2705
2705
|
referrerPolicy: "no-referrer",
|
|
2706
|
-
onLoad: () =>
|
|
2706
|
+
onLoad: () => c(!0)
|
|
2707
2707
|
},
|
|
2708
|
-
`${e?.id ?? "challenge"}-${
|
|
2708
|
+
`${e?.id ?? "challenge"}-${h}`
|
|
2709
2709
|
)
|
|
2710
2710
|
] }) : /* @__PURE__ */ t(be, { tone: "danger", title: m("challenge.unableToLoad") }),
|
|
2711
2711
|
D && /* @__PURE__ */ t(
|
|
@@ -2716,19 +2716,19 @@ function ja({
|
|
|
2716
2716
|
description: ce !== void 0 ? m("challenge.attemptsRemaining", { values: { count: ce } }) : void 0
|
|
2717
2717
|
}
|
|
2718
2718
|
),
|
|
2719
|
-
!$ && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", variant: "secondary", onClick: de, disabled:
|
|
2719
|
+
!$ && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", variant: "secondary", onClick: de, disabled: w, children: ne })
|
|
2720
2720
|
] }),
|
|
2721
2721
|
/* @__PURE__ */ t(H, {})
|
|
2722
2722
|
] });
|
|
2723
2723
|
}
|
|
2724
|
-
|
|
2724
|
+
za.displayName = "ChallengeGate";
|
|
2725
2725
|
function Fa({ title: e, message: a, endedAt: r, ctaLabel: n, onCtaClick: o, className: i }) {
|
|
2726
|
-
const { t: f, locale:
|
|
2726
|
+
const { t: f, locale: l } = K(), g = e ?? f("ended.title"), d = a ?? f("ended.message"), b = s.useMemo(() => r ? (r instanceof Date ? r : new Date(r)).toLocaleDateString(l, {
|
|
2727
2727
|
month: "long",
|
|
2728
2728
|
day: "numeric",
|
|
2729
2729
|
year: "numeric"
|
|
2730
|
-
}) : null, [r,
|
|
2731
|
-
return /* @__PURE__ */ t(
|
|
2730
|
+
}) : null, [r, l]), m = we();
|
|
2731
|
+
return /* @__PURE__ */ t(W.div, { ...m, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", i), "data-slot": "ended-module", role: "status", children: [
|
|
2732
2732
|
/* @__PURE__ */ t(G, { variant: "outline", label: g }),
|
|
2733
2733
|
/* @__PURE__ */ u(Z, { children: [
|
|
2734
2734
|
/* @__PURE__ */ u(ie, { children: [
|
|
@@ -2742,7 +2742,7 @@ function Fa({ title: e, message: a, endedAt: r, ctaLabel: n, onCtaClick: o, clas
|
|
|
2742
2742
|
}
|
|
2743
2743
|
Fa.displayName = "EndedModule";
|
|
2744
2744
|
function et({ error: e, title: a, label: r, info: n, ctaLabel: o, onRetry: i, className: f }) {
|
|
2745
|
-
const { t:
|
|
2745
|
+
const { t: l } = K(), [g, d] = s.useState(!1), b = r ?? l("error.label"), m = a ?? l("error.title"), h = (e instanceof Error ? e.message : e) ?? l("error.description"), x = o ?? l("error.retry"), C = async () => {
|
|
2746
2746
|
if (i) {
|
|
2747
2747
|
d(!0);
|
|
2748
2748
|
try {
|
|
@@ -2751,11 +2751,11 @@ function et({ error: e, title: a, label: r, info: n, ctaLabel: o, onRetry: i, cl
|
|
|
2751
2751
|
d(!1);
|
|
2752
2752
|
}
|
|
2753
2753
|
}
|
|
2754
|
-
},
|
|
2755
|
-
return /* @__PURE__ */ t(
|
|
2754
|
+
}, c = we();
|
|
2755
|
+
return /* @__PURE__ */ t(W.div, { ...c, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", f), "data-slot": "error-view", role: "alert", children: [
|
|
2756
2756
|
/* @__PURE__ */ t(G, { variant: "danger", label: b }),
|
|
2757
2757
|
/* @__PURE__ */ u(Z, { children: [
|
|
2758
|
-
/* @__PURE__ */ t(be, { tone: "danger", title: m, description:
|
|
2758
|
+
/* @__PURE__ */ t(be, { tone: "danger", title: m, description: h }),
|
|
2759
2759
|
n ? /* @__PURE__ */ t(ie, { children: n }) : null,
|
|
2760
2760
|
i ? /* @__PURE__ */ t(
|
|
2761
2761
|
j,
|
|
@@ -2766,7 +2766,7 @@ function et({ error: e, title: a, label: r, info: n, ctaLabel: o, onRetry: i, cl
|
|
|
2766
2766
|
},
|
|
2767
2767
|
disabled: g,
|
|
2768
2768
|
loading: g,
|
|
2769
|
-
children:
|
|
2769
|
+
children: x
|
|
2770
2770
|
}
|
|
2771
2771
|
) : null
|
|
2772
2772
|
] }),
|
|
@@ -2774,7 +2774,7 @@ function et({ error: e, title: a, label: r, info: n, ctaLabel: o, onRetry: i, cl
|
|
|
2774
2774
|
] }) });
|
|
2775
2775
|
}
|
|
2776
2776
|
et.displayName = "ErrorView";
|
|
2777
|
-
const
|
|
2777
|
+
const Pn = {
|
|
2778
2778
|
default: {
|
|
2779
2779
|
particleCount: 60,
|
|
2780
2780
|
spread: 70,
|
|
@@ -2806,22 +2806,22 @@ const Fn = {
|
|
|
2806
2806
|
clean: null
|
|
2807
2807
|
// No confetti for clean variant - too busy
|
|
2808
2808
|
};
|
|
2809
|
-
function
|
|
2809
|
+
function Bn(e, a) {
|
|
2810
2810
|
if (ot())
|
|
2811
2811
|
return;
|
|
2812
|
-
const r =
|
|
2812
|
+
const r = Pn[a];
|
|
2813
2813
|
if (!r)
|
|
2814
2814
|
return;
|
|
2815
2815
|
const n = e.getBoundingClientRect(), o = (n.left + n.width / 2) / window.innerWidth, i = (n.top + n.height / 2) / window.innerHeight;
|
|
2816
|
-
|
|
2816
|
+
Dr({
|
|
2817
2817
|
...r,
|
|
2818
2818
|
origin: { x: o, y: i }
|
|
2819
2819
|
});
|
|
2820
2820
|
}
|
|
2821
|
-
function
|
|
2821
|
+
function On(e) {
|
|
2822
2822
|
const a = ge(), r = s.useRef(!1);
|
|
2823
2823
|
s.useEffect(() => {
|
|
2824
|
-
r.current || e.current && (r.current = !0,
|
|
2824
|
+
r.current || e.current && (r.current = !0, Bn(e.current, a));
|
|
2825
2825
|
}, [e, a]);
|
|
2826
2826
|
}
|
|
2827
2827
|
function it({
|
|
@@ -2832,10 +2832,10 @@ function it({
|
|
|
2832
2832
|
onCtaClick: o,
|
|
2833
2833
|
className: i
|
|
2834
2834
|
}) {
|
|
2835
|
-
const { t: f } = K(),
|
|
2836
|
-
|
|
2835
|
+
const { t: f } = K(), l = s.useRef(null);
|
|
2836
|
+
On(l);
|
|
2837
2837
|
const g = we();
|
|
2838
|
-
return /* @__PURE__ */ t(
|
|
2838
|
+
return /* @__PURE__ */ t(W.div, { ...g, children: /* @__PURE__ */ u(
|
|
2839
2839
|
Y,
|
|
2840
2840
|
{
|
|
2841
2841
|
className: E("ff:w-full ff:max-w-sm", i),
|
|
@@ -2845,8 +2845,8 @@ function it({
|
|
|
2845
2845
|
children: [
|
|
2846
2846
|
/* @__PURE__ */ t(G, { variant: "default", label: e }),
|
|
2847
2847
|
/* @__PURE__ */ u(Z, { children: [
|
|
2848
|
-
/* @__PURE__ */ t("div", { ref:
|
|
2849
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: f("
|
|
2848
|
+
/* @__PURE__ */ t("div", { ref: l, className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: n ? /* @__PURE__ */ u(Me, { children: [
|
|
2849
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: f("duration.timeRemaining") }),
|
|
2850
2850
|
/* @__PURE__ */ t(pe, { targetDate: n, showDays: !1 })
|
|
2851
2851
|
] }) : /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: a }) }),
|
|
2852
2852
|
/* @__PURE__ */ t(j, { className: "ff:mt-auto", onClick: o, children: r })
|
|
@@ -2857,30 +2857,30 @@ function it({
|
|
|
2857
2857
|
) });
|
|
2858
2858
|
}
|
|
2859
2859
|
it.displayName = "GrantedPanel";
|
|
2860
|
-
const
|
|
2861
|
-
queue: "
|
|
2862
|
-
draw: "
|
|
2863
|
-
auction: "
|
|
2864
|
-
timed_release: "
|
|
2865
|
-
appointment: "
|
|
2860
|
+
const $n = {
|
|
2861
|
+
queue: "outcome.reenter.queue",
|
|
2862
|
+
draw: "outcome.reenter.draw",
|
|
2863
|
+
auction: "outcome.reenter.auction",
|
|
2864
|
+
timed_release: "outcome.reenter.timedRelease",
|
|
2865
|
+
appointment: "outcome.reenter.appointment"
|
|
2866
2866
|
}, pa = {
|
|
2867
|
-
expired: { title: "expired.title", body: "expired.description", variant: "outline" },
|
|
2868
|
-
not_selected: { title: "
|
|
2869
|
-
sold_out: { title: "
|
|
2870
|
-
outbid: { title: "auction.outbid", body: "auction.
|
|
2871
|
-
reserve_not_met: { title: "
|
|
2867
|
+
expired: { title: "outcome.expired.title", body: "outcome.expired.description", variant: "outline" },
|
|
2868
|
+
not_selected: { title: "outcome.notSelected.title", body: "outcome.notSelected.description", variant: "outline" },
|
|
2869
|
+
sold_out: { title: "outcome.soldOut.title", body: "outcome.soldOut.description", variant: "outline" },
|
|
2870
|
+
outbid: { title: "auction.outbid.title", body: "auction.outbid.message", variant: "outline" },
|
|
2871
|
+
reserve_not_met: { title: "outcome.closed.title", body: "outcome.closed.description", variant: "outline" },
|
|
2872
2872
|
completed: { title: "common.purchaseComplete", body: "common.thankYou", variant: "success" },
|
|
2873
|
-
ended: { title: "
|
|
2873
|
+
ended: { title: "outcome.closed.title", body: "outcome.closed.description", variant: "outline" }
|
|
2874
2874
|
};
|
|
2875
|
-
function
|
|
2875
|
+
function Ue({
|
|
2876
2876
|
outcomeReason: e,
|
|
2877
2877
|
participationType: a,
|
|
2878
2878
|
onReenter: r,
|
|
2879
2879
|
isReentering: n,
|
|
2880
2880
|
className: o
|
|
2881
2881
|
}) {
|
|
2882
|
-
const { t: i } = K(), f = e === "expired",
|
|
2883
|
-
return /* @__PURE__ */ t(
|
|
2882
|
+
const { t: i } = K(), f = e === "expired", l = pa[e] ?? pa.ended, g = f && typeof r == "function", d = i(a ? $n[a] : "outcome.reenter"), b = we();
|
|
2883
|
+
return /* @__PURE__ */ t(W.div, { ...b, children: /* @__PURE__ */ u(
|
|
2884
2884
|
Y,
|
|
2885
2885
|
{
|
|
2886
2886
|
className: E("ff:w-full ff:max-w-sm", o),
|
|
@@ -2888,9 +2888,9 @@ function We({
|
|
|
2888
2888
|
"data-stage": "ended",
|
|
2889
2889
|
"data-reason": e,
|
|
2890
2890
|
children: [
|
|
2891
|
-
/* @__PURE__ */ t(G, { variant:
|
|
2891
|
+
/* @__PURE__ */ t(G, { variant: l.variant, label: i(l.title) }),
|
|
2892
2892
|
/* @__PURE__ */ u(Z, { children: [
|
|
2893
|
-
/* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: i(
|
|
2893
|
+
/* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: i(l.body) }) }),
|
|
2894
2894
|
g && /* @__PURE__ */ t(j, { className: "ff:mt-auto", onClick: r, disabled: n, loading: n, children: d })
|
|
2895
2895
|
] }),
|
|
2896
2896
|
/* @__PURE__ */ t(H, {})
|
|
@@ -2898,7 +2898,7 @@ function We({
|
|
|
2898
2898
|
}
|
|
2899
2899
|
) });
|
|
2900
2900
|
}
|
|
2901
|
-
|
|
2901
|
+
Ue.displayName = "OutcomePanel";
|
|
2902
2902
|
function Pa({
|
|
2903
2903
|
stage: e,
|
|
2904
2904
|
onAuthSubmit: a,
|
|
@@ -2907,14 +2907,14 @@ function Pa({
|
|
|
2907
2907
|
onAuthSuccess: o,
|
|
2908
2908
|
onAccessCodeSubmit: i,
|
|
2909
2909
|
onAccessCodeSkip: f,
|
|
2910
|
-
allowAuthSkip:
|
|
2910
|
+
allowAuthSkip: l = !1,
|
|
2911
2911
|
allowAccessCodeSkip: g = !1,
|
|
2912
2912
|
authTitle: d,
|
|
2913
2913
|
authDescription: b,
|
|
2914
2914
|
accessCodeTitle: m,
|
|
2915
2915
|
accessCodeDescription: v,
|
|
2916
|
-
startsAt:
|
|
2917
|
-
className:
|
|
2916
|
+
startsAt: h,
|
|
2917
|
+
className: x,
|
|
2918
2918
|
children: C
|
|
2919
2919
|
}) {
|
|
2920
2920
|
return e === "none" ? /* @__PURE__ */ t(Me, { children: C }) : e === "loading" ? /* @__PURE__ */ t(
|
|
@@ -2923,7 +2923,7 @@ function Pa({
|
|
|
2923
2923
|
className: E(
|
|
2924
2924
|
"fanfare-journey-gate",
|
|
2925
2925
|
"ff:flex ff:flex-col ff:items-center ff:justify-center ff:py-12",
|
|
2926
|
-
|
|
2926
|
+
x
|
|
2927
2927
|
),
|
|
2928
2928
|
"data-slot": "journey-gate",
|
|
2929
2929
|
role: "status",
|
|
@@ -2931,24 +2931,24 @@ function Pa({
|
|
|
2931
2931
|
"aria-busy": "true",
|
|
2932
2932
|
children: /* @__PURE__ */ t(Te, { size: "lg", className: "ff:text-primary" })
|
|
2933
2933
|
}
|
|
2934
|
-
) : e === "auth" ? /* @__PURE__ */ t("div", { className: E("fanfare-journey-gate",
|
|
2934
|
+
) : e === "auth" ? /* @__PURE__ */ t("div", { className: E("fanfare-journey-gate", x), "data-slot": "journey-gate", children: /* @__PURE__ */ t(
|
|
2935
2935
|
Aa,
|
|
2936
2936
|
{
|
|
2937
2937
|
title: d,
|
|
2938
2938
|
description: b,
|
|
2939
|
-
countdownTo:
|
|
2939
|
+
countdownTo: h,
|
|
2940
2940
|
onSubmit: a,
|
|
2941
2941
|
onVerify: r,
|
|
2942
2942
|
onSkip: n,
|
|
2943
2943
|
onSuccess: o,
|
|
2944
|
-
allowSkip:
|
|
2944
|
+
allowSkip: l
|
|
2945
2945
|
}
|
|
2946
|
-
) }) : e === "access_code" ? /* @__PURE__ */ t("div", { className: E("fanfare-journey-gate",
|
|
2947
|
-
|
|
2946
|
+
) }) : e === "access_code" ? /* @__PURE__ */ t("div", { className: E("fanfare-journey-gate", x), "data-slot": "journey-gate", children: /* @__PURE__ */ t(
|
|
2947
|
+
ja,
|
|
2948
2948
|
{
|
|
2949
2949
|
title: m,
|
|
2950
2950
|
description: v,
|
|
2951
|
-
countdownTo:
|
|
2951
|
+
countdownTo: h,
|
|
2952
2952
|
onSubmit: i,
|
|
2953
2953
|
onSkip: f,
|
|
2954
2954
|
allowSkip: g
|
|
@@ -2956,10 +2956,10 @@ function Pa({
|
|
|
2956
2956
|
) }) : null;
|
|
2957
2957
|
}
|
|
2958
2958
|
Pa.displayName = "JourneyGate";
|
|
2959
|
-
function
|
|
2959
|
+
function qn(e, a) {
|
|
2960
2960
|
return Ot(e, { weekday: "long", timeZone: a });
|
|
2961
2961
|
}
|
|
2962
|
-
function
|
|
2962
|
+
function Un(e, a) {
|
|
2963
2963
|
return Ot(e, { month: "long", day: "numeric", timeZone: a });
|
|
2964
2964
|
}
|
|
2965
2965
|
function Bt(e, a) {
|
|
@@ -3010,7 +3010,7 @@ function ga(e, a) {
|
|
|
3010
3010
|
const [r, n, o] = e.split("-").map(Number);
|
|
3011
3011
|
return !r || !n || !o ? e : new Date(Date.UTC(r, n - 1, o + a)).toISOString().slice(0, 10);
|
|
3012
3012
|
}
|
|
3013
|
-
function
|
|
3013
|
+
function Hn(e) {
|
|
3014
3014
|
const [a, r, n] = e.split("-").map(Number);
|
|
3015
3015
|
if (!a || !r || !n) return "";
|
|
3016
3016
|
const o = new Date(Date.UTC(a, r - 1, n, 12, 0, 0));
|
|
@@ -3020,11 +3020,11 @@ function Un(e) {
|
|
|
3020
3020
|
return "";
|
|
3021
3021
|
}
|
|
3022
3022
|
}
|
|
3023
|
-
function
|
|
3023
|
+
function Kn(e) {
|
|
3024
3024
|
const [, , a] = e.split("-").map(Number);
|
|
3025
3025
|
return a ?? 0;
|
|
3026
3026
|
}
|
|
3027
|
-
const
|
|
3027
|
+
const Zn = ae(["ff:animate-pulse ff:rounded-md", "ff:bg-secondary"], {
|
|
3028
3028
|
variants: {
|
|
3029
3029
|
styleVariant: {
|
|
3030
3030
|
default: "",
|
|
@@ -3051,11 +3051,11 @@ const Kn = te(["ff:animate-pulse ff:rounded-md", "ff:bg-secondary"], {
|
|
|
3051
3051
|
}
|
|
3052
3052
|
}), $a = s.forwardRef(({ className: e, ...a }, r) => {
|
|
3053
3053
|
const n = ge();
|
|
3054
|
-
return /* @__PURE__ */ t("div", { ref: r, "data-slot": "skeleton", className: E(
|
|
3054
|
+
return /* @__PURE__ */ t("div", { ref: r, "data-slot": "skeleton", className: E(Zn({ styleVariant: n }), e), ...a });
|
|
3055
3055
|
});
|
|
3056
3056
|
$a.displayName = "Skeleton";
|
|
3057
|
-
const
|
|
3058
|
-
function
|
|
3057
|
+
const Yn = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5m-9-6h.008v.008H12zM12 15h.008v.008H12zm0 2.25h.008v.008H12zM9.75 15h.008v.008H9.75zm0 2.25h.008v.008H9.75zM7.5 15h.008v.008H7.5zm0 2.25h.008v.008H7.5zm6.75-4.5h.008v.008h-.008zm0 2.25h.008v.008h-.008zm0 2.25h.008v.008h-.008zm2.25-4.5h.008v.008H16.5zm0 2.25h.008v.008H16.5z" }) }), Gn = kt(Yn), Jn = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "m15.75 10.5l4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25" }) }), qa = kt(Jn);
|
|
3058
|
+
function Ua({
|
|
3059
3059
|
booking: e,
|
|
3060
3060
|
timezone: a,
|
|
3061
3061
|
readOnly: r = !1,
|
|
@@ -3063,10 +3063,10 @@ function Wa({
|
|
|
3063
3063
|
onStartReschedule: o,
|
|
3064
3064
|
onAddToCalendar: i,
|
|
3065
3065
|
onJoinCall: f,
|
|
3066
|
-
isCancelling:
|
|
3066
|
+
isCancelling: l,
|
|
3067
3067
|
cancelError: g
|
|
3068
3068
|
}) {
|
|
3069
|
-
const { t: d } = K(), [b, m] = s.useState(!1), v =
|
|
3069
|
+
const { t: d } = K(), [b, m] = s.useState(!1), v = qn(e.startTime, a), h = Un(e.startTime, a), x = Bt(e.startTime, a), C = Ba(e.startTime, e.endTime), c = !e.locationName, w = c ? d("appointment.online") : e.locationName, p = c ? {
|
|
3070
3070
|
label: d("appointment.joinCall"),
|
|
3071
3071
|
onClick: () => {
|
|
3072
3072
|
f ? f() : e.joinUrl && window.open(e.joinUrl, "_blank", "noopener,noreferrer");
|
|
@@ -3076,19 +3076,19 @@ function Wa({
|
|
|
3076
3076
|
} : {
|
|
3077
3077
|
label: d("appointment.addToCalendar"),
|
|
3078
3078
|
onClick: () => i?.(),
|
|
3079
|
-
icon: /* @__PURE__ */ t(
|
|
3079
|
+
icon: /* @__PURE__ */ t(Gn, { className: "ff:size-4" }),
|
|
3080
3080
|
disabled: !i
|
|
3081
3081
|
};
|
|
3082
3082
|
return /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-4", "data-slot": "appointment-booking-details", children: [
|
|
3083
3083
|
/* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-1", children: [
|
|
3084
3084
|
/* @__PURE__ */ t("span", { className: "ff:text-3xl ff:font-bold ff:leading-tight ff:font-heading ff:text-foreground", children: v }),
|
|
3085
|
-
/* @__PURE__ */ t("span", { className: "ff:text-3xl ff:font-bold ff:leading-tight ff:font-heading ff:text-foreground", children:
|
|
3086
|
-
/* @__PURE__ */ t("span", { className: "ff:mt-1 ff:text-3xl ff:font-bold ff:tabular-nums ff:font-heading ff:text-foreground", children:
|
|
3085
|
+
/* @__PURE__ */ t("span", { className: "ff:text-3xl ff:font-bold ff:leading-tight ff:font-heading ff:text-foreground", children: h }),
|
|
3086
|
+
/* @__PURE__ */ t("span", { className: "ff:mt-1 ff:text-3xl ff:font-bold ff:tabular-nums ff:font-heading ff:text-foreground", children: x })
|
|
3087
3087
|
] }),
|
|
3088
3088
|
/* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-1.5 ff:border-t ff:border-border/40 ff:pt-3 ff:text-sm", children: [
|
|
3089
|
-
|
|
3089
|
+
w && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-baseline ff:justify-between ff:gap-3", children: [
|
|
3090
3090
|
/* @__PURE__ */ t("span", { className: "ff:text-muted", children: d("appointment.location") }),
|
|
3091
|
-
/* @__PURE__ */ t("span", { className: "ff:text-right ff:font-semibold ff:text-foreground", children:
|
|
3091
|
+
/* @__PURE__ */ t("span", { className: "ff:text-right ff:font-semibold ff:text-foreground", children: w })
|
|
3092
3092
|
] }),
|
|
3093
3093
|
C && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-baseline ff:justify-between ff:gap-3", children: [
|
|
3094
3094
|
/* @__PURE__ */ t("span", { className: "ff:text-muted", children: d("appointment.duration") }),
|
|
@@ -3114,8 +3114,8 @@ function Wa({
|
|
|
3114
3114
|
variant: "destructive",
|
|
3115
3115
|
className: "ff:flex-1",
|
|
3116
3116
|
onClick: n,
|
|
3117
|
-
disabled:
|
|
3118
|
-
loading:
|
|
3117
|
+
disabled: l,
|
|
3118
|
+
loading: l,
|
|
3119
3119
|
children: d("appointment.cancelConfirmYes")
|
|
3120
3120
|
}
|
|
3121
3121
|
),
|
|
@@ -3126,7 +3126,7 @@ function Wa({
|
|
|
3126
3126
|
variant: "outline",
|
|
3127
3127
|
className: "ff:flex-1",
|
|
3128
3128
|
onClick: () => m(!1),
|
|
3129
|
-
disabled:
|
|
3129
|
+
disabled: l,
|
|
3130
3130
|
children: d("appointment.cancelConfirmNo")
|
|
3131
3131
|
}
|
|
3132
3132
|
)
|
|
@@ -3135,13 +3135,13 @@ function Wa({
|
|
|
3135
3135
|
!r && !b && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-center ff:justify-center ff:gap-3 ff:text-xs", children: [
|
|
3136
3136
|
/* @__PURE__ */ t(j, { variant: "link", size: "xs", onClick: o, children: d("appointment.reschedule") }),
|
|
3137
3137
|
/* @__PURE__ */ t("span", { "aria-hidden": "true", className: "ff:text-muted", children: "·" }),
|
|
3138
|
-
/* @__PURE__ */ t(j, { variant: "link", size: "xs", onClick: () => m(!0), disabled:
|
|
3138
|
+
/* @__PURE__ */ t(j, { variant: "link", size: "xs", onClick: () => m(!0), disabled: l, children: d("appointment.cancel") })
|
|
3139
3139
|
] })
|
|
3140
3140
|
] });
|
|
3141
3141
|
}
|
|
3142
|
-
|
|
3143
|
-
function
|
|
3144
|
-
const { t: o } = K(), i = !e.locationName, f = Bt(e.startTime, a),
|
|
3142
|
+
Ua.displayName = "AppointmentBookingDetails";
|
|
3143
|
+
function Wa({ booking: e, timezone: a, onJoinCall: r, onShowPass: n }) {
|
|
3144
|
+
const { t: o } = K(), i = !e.locationName, f = Bt(e.startTime, a), l = Ba(e.startTime, e.endTime), g = o("appointment.youreUpAt", { values: { time: f } }), d = i ? o("appointment.youreUpOnlineHint") : o("appointment.youreUpIrlHint", { values: { location: e.locationName ?? "" } });
|
|
3145
3145
|
return /* @__PURE__ */ u(
|
|
3146
3146
|
"div",
|
|
3147
3147
|
{
|
|
@@ -3156,9 +3156,9 @@ function Ua({ booking: e, timezone: a, onJoinCall: r, onShowPass: n }) {
|
|
|
3156
3156
|
/* @__PURE__ */ t("span", { className: "ff:text-muted", children: o("appointment.time") }),
|
|
3157
3157
|
/* @__PURE__ */ t("span", { className: "ff:font-semibold ff:tabular-nums ff:text-foreground", children: f })
|
|
3158
3158
|
] }),
|
|
3159
|
-
|
|
3159
|
+
l && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-baseline ff:justify-between ff:gap-3", children: [
|
|
3160
3160
|
/* @__PURE__ */ t("span", { className: "ff:text-muted", children: o("appointment.duration") }),
|
|
3161
|
-
/* @__PURE__ */ t("span", { className: "ff:font-semibold ff:tabular-nums ff:text-foreground", children: o("appointment.minutes", { values: { count:
|
|
3161
|
+
/* @__PURE__ */ t("span", { className: "ff:font-semibold ff:tabular-nums ff:text-foreground", children: o("appointment.minutes", { values: { count: l } }) })
|
|
3162
3162
|
] }),
|
|
3163
3163
|
!i && e.locationName && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-baseline ff:justify-between ff:gap-3", children: [
|
|
3164
3164
|
/* @__PURE__ */ t("span", { className: "ff:text-muted", children: o("appointment.location") }),
|
|
@@ -3188,38 +3188,38 @@ function Ua({ booking: e, timezone: a, onJoinCall: r, onShowPass: n }) {
|
|
|
3188
3188
|
}
|
|
3189
3189
|
);
|
|
3190
3190
|
}
|
|
3191
|
-
|
|
3192
|
-
const
|
|
3191
|
+
Wa.displayName = "AppointmentCheckedInView";
|
|
3192
|
+
const Qn = 3e4, Mt = /* @__PURE__ */ new Map();
|
|
3193
3193
|
function ma(e, a, r, n) {
|
|
3194
3194
|
return `${e}:${a}:${r}:${n ?? ""}`;
|
|
3195
3195
|
}
|
|
3196
|
-
function
|
|
3197
|
-
const r = Nt(), [n, o] = s.useState([]), [i, f] = s.useState(!1), [
|
|
3196
|
+
function Xn(e, a) {
|
|
3197
|
+
const r = Nt(), [n, o] = s.useState([]), [i, f] = s.useState(!1), [l, g] = s.useState(null), [d, b] = s.useState(0), { startDate: m, endDate: v, timezone: h } = a;
|
|
3198
3198
|
s.useEffect(() => {
|
|
3199
3199
|
if (!e || !m || !v) {
|
|
3200
3200
|
o([]), g(null), f(!1);
|
|
3201
3201
|
return;
|
|
3202
3202
|
}
|
|
3203
|
-
const C = ma(e, m, v,
|
|
3204
|
-
if (
|
|
3205
|
-
o(
|
|
3203
|
+
const C = ma(e, m, v, h), c = Mt.get(C);
|
|
3204
|
+
if (c && Date.now() - c.fetchedAt < Qn) {
|
|
3205
|
+
o(c.slots), g(null);
|
|
3206
3206
|
return;
|
|
3207
3207
|
}
|
|
3208
|
-
let
|
|
3209
|
-
return f(!0), g(null), r.appointments.getSlots(e, { startDate: m, endDate: v, timezone:
|
|
3210
|
-
|
|
3208
|
+
let w = !1;
|
|
3209
|
+
return f(!0), g(null), r.appointments.getSlots(e, { startDate: m, endDate: v, timezone: h }).then((p) => {
|
|
3210
|
+
w || (Mt.set(C, { fetchedAt: Date.now(), slots: p }), o(p));
|
|
3211
3211
|
}).catch((p) => {
|
|
3212
|
-
|
|
3212
|
+
w || g(p instanceof Error ? p : new Error(String(p)));
|
|
3213
3213
|
}).finally(() => {
|
|
3214
|
-
|
|
3214
|
+
w || f(!1);
|
|
3215
3215
|
}), () => {
|
|
3216
|
-
|
|
3216
|
+
w = !0;
|
|
3217
3217
|
};
|
|
3218
|
-
}, [r, e, m, v,
|
|
3219
|
-
const
|
|
3220
|
-
e && m && v && Mt.delete(ma(e, m, v,
|
|
3221
|
-
}, [e, m, v,
|
|
3222
|
-
return { slots: n, isLoading: i, error:
|
|
3218
|
+
}, [r, e, m, v, h, d]);
|
|
3219
|
+
const x = s.useCallback(() => {
|
|
3220
|
+
e && m && v && Mt.delete(ma(e, m, v, h)), b((C) => C + 1);
|
|
3221
|
+
}, [e, m, v, h]);
|
|
3222
|
+
return { slots: n, isLoading: i, error: l, refresh: x };
|
|
3223
3223
|
}
|
|
3224
3224
|
function Ha({ days: e, selectedDate: a, onSelect: r }) {
|
|
3225
3225
|
return /* @__PURE__ */ t(
|
|
@@ -3297,7 +3297,7 @@ function Ka({
|
|
|
3297
3297
|
);
|
|
3298
3298
|
}
|
|
3299
3299
|
Ka.displayName = "AppointmentSlotItem";
|
|
3300
|
-
const
|
|
3300
|
+
const eo = 9;
|
|
3301
3301
|
function Za({
|
|
3302
3302
|
slots: e,
|
|
3303
3303
|
isLoading: a,
|
|
@@ -3315,7 +3315,7 @@ function Za({
|
|
|
3315
3315
|
className: "ff:grid ff:grid-cols-3 ff:gap-1 ff:max-h-44",
|
|
3316
3316
|
"data-slot": "appointment-slot-grid",
|
|
3317
3317
|
"data-state": "loading",
|
|
3318
|
-
children: Array.from({ length:
|
|
3318
|
+
children: Array.from({ length: eo }).map((f, l) => /* @__PURE__ */ t($a, { className: "ff:h-8 ff:w-full" }, l))
|
|
3319
3319
|
}
|
|
3320
3320
|
) : e.length === 0 ? /* @__PURE__ */ t(ie, { "data-slot": "appointment-slot-grid", "data-state": "empty", children: /* @__PURE__ */ t("span", { className: "ff:text-muted", children: o ?? i("appointment.noSlotsAvailable") }) }) : /* @__PURE__ */ t(
|
|
3321
3321
|
"div",
|
|
@@ -3325,14 +3325,14 @@ function Za({
|
|
|
3325
3325
|
className: "ff:grid ff:grid-cols-3 ff:gap-1 ff:overflow-y-auto ff:max-h-44",
|
|
3326
3326
|
"data-slot": "appointment-slot-grid",
|
|
3327
3327
|
children: e.map((f) => {
|
|
3328
|
-
const
|
|
3328
|
+
const l = f.available <= 0, g = r === f.id, d = Oa(f), b = l ? i("appointment.slotFullAriaLabel", { values: { time: d } }) : d;
|
|
3329
3329
|
return /* @__PURE__ */ t(
|
|
3330
3330
|
Ka,
|
|
3331
3331
|
{
|
|
3332
3332
|
slotId: f.id,
|
|
3333
3333
|
timeLabel: d,
|
|
3334
3334
|
ariaLabel: b,
|
|
3335
|
-
isFull:
|
|
3335
|
+
isFull: l,
|
|
3336
3336
|
isSelected: g,
|
|
3337
3337
|
onSelect: n
|
|
3338
3338
|
},
|
|
@@ -3352,16 +3352,16 @@ function Ya({
|
|
|
3352
3352
|
onSlotChange: o,
|
|
3353
3353
|
bookError: i
|
|
3354
3354
|
}) {
|
|
3355
|
-
const { t: f } = K(),
|
|
3355
|
+
const { t: f } = K(), l = s.useMemo(
|
|
3356
3356
|
() => a ? gt(new Date(a), n) : void 0,
|
|
3357
3357
|
[a, n]
|
|
3358
3358
|
), g = s.useMemo(
|
|
3359
3359
|
() => r ? gt(new Date(r), n) : void 0,
|
|
3360
3360
|
[r, n]
|
|
3361
3361
|
), { startDate: d, endDate: b } = s.useMemo(() => {
|
|
3362
|
-
const N = gt(/* @__PURE__ */ new Date(), n), S =
|
|
3362
|
+
const N = gt(/* @__PURE__ */ new Date(), n), S = l && l > N ? l : N, M = ga(S, ha - 1), A = g && g < M ? g : M;
|
|
3363
3363
|
return { startDate: S, endDate: A };
|
|
3364
|
-
}, [
|
|
3364
|
+
}, [l, g, n]), { slots: m, isLoading: v, error: h } = Xn(e, { startDate: d, endDate: b, timezone: n }), x = s.useMemo(() => {
|
|
3365
3365
|
const N = /* @__PURE__ */ new Map();
|
|
3366
3366
|
for (const S of m) {
|
|
3367
3367
|
const M = S.startTime ? gt(new Date(S.startTime), S.timezone ?? n) : S.id.slice(0, 10), A = N.get(M);
|
|
@@ -3373,49 +3373,49 @@ function Ya({
|
|
|
3373
3373
|
for (let S = 0; S < ha; S += 1) {
|
|
3374
3374
|
const M = ga(d, S);
|
|
3375
3375
|
if (g && M > g) break;
|
|
3376
|
-
const A =
|
|
3376
|
+
const A = x.get(M) ?? [], I = A.some(($) => $.available > 0), O = !v && A.length === 0;
|
|
3377
3377
|
N.push({
|
|
3378
3378
|
date: M,
|
|
3379
|
-
weekdayLabel:
|
|
3380
|
-
dayNumber:
|
|
3379
|
+
weekdayLabel: Hn(M),
|
|
3380
|
+
dayNumber: Kn(M),
|
|
3381
3381
|
hasAvailability: I,
|
|
3382
3382
|
isClosed: O
|
|
3383
3383
|
});
|
|
3384
3384
|
}
|
|
3385
3385
|
return N;
|
|
3386
|
-
}, [d, g,
|
|
3386
|
+
}, [d, g, x, v]), [c, w] = s.useState(null), [p, D] = s.useState(null);
|
|
3387
3387
|
s.useEffect(() => {
|
|
3388
|
-
if (
|
|
3388
|
+
if (c && C.some((S) => S.date === c && !S.isClosed)) return;
|
|
3389
3389
|
const N = C.find((S) => !S.isClosed);
|
|
3390
|
-
N && (
|
|
3391
|
-
}, [C,
|
|
3392
|
-
const V = s.useMemo(() =>
|
|
3390
|
+
N && (w(N.date), D(null));
|
|
3391
|
+
}, [C, c]);
|
|
3392
|
+
const V = s.useMemo(() => c ? x.get(c) ?? [] : [], [c, x]);
|
|
3393
3393
|
s.useEffect(() => {
|
|
3394
3394
|
if (!o) return;
|
|
3395
3395
|
const N = V.find((S) => S.id === p) ?? null;
|
|
3396
3396
|
o(N);
|
|
3397
3397
|
}, [V, p, o]);
|
|
3398
3398
|
const T = s.useCallback((N) => {
|
|
3399
|
-
|
|
3400
|
-
}, []),
|
|
3399
|
+
w(N), D(null);
|
|
3400
|
+
}, []), y = s.useCallback((N) => {
|
|
3401
3401
|
D((S) => S === N ? null : N);
|
|
3402
3402
|
}, []);
|
|
3403
3403
|
return /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-2", children: [
|
|
3404
|
-
/* @__PURE__ */ t(Ha, { days: C, selectedDate:
|
|
3404
|
+
/* @__PURE__ */ t(Ha, { days: C, selectedDate: c, onSelect: T }),
|
|
3405
3405
|
/* @__PURE__ */ t(
|
|
3406
3406
|
Za,
|
|
3407
3407
|
{
|
|
3408
3408
|
slots: V,
|
|
3409
3409
|
isLoading: v,
|
|
3410
3410
|
selectedSlotId: p,
|
|
3411
|
-
onSelect:
|
|
3411
|
+
onSelect: y
|
|
3412
3412
|
}
|
|
3413
3413
|
),
|
|
3414
|
-
(i ||
|
|
3414
|
+
(i || h) && /* @__PURE__ */ t(be, { tone: "danger", description: i ?? h?.message ?? f("appointment.bookingFailed") })
|
|
3415
3415
|
] });
|
|
3416
3416
|
}
|
|
3417
3417
|
Ya.displayName = "AppointmentSlotPicker";
|
|
3418
|
-
const
|
|
3418
|
+
const to = qe({});
|
|
3419
3419
|
function At({
|
|
3420
3420
|
appointmentId: e,
|
|
3421
3421
|
display$: a,
|
|
@@ -3424,22 +3424,22 @@ function At({
|
|
|
3424
3424
|
bookingWindowCloseAt: o,
|
|
3425
3425
|
timezone: i,
|
|
3426
3426
|
defaultLocationId: f,
|
|
3427
|
-
onBook:
|
|
3427
|
+
onBook: l,
|
|
3428
3428
|
onCancel: g,
|
|
3429
3429
|
onReschedule: d,
|
|
3430
3430
|
isBooking: b,
|
|
3431
3431
|
isCancelling: m,
|
|
3432
3432
|
isRescheduling: v,
|
|
3433
|
-
bookError:
|
|
3434
|
-
cancelError:
|
|
3433
|
+
bookError: h,
|
|
3434
|
+
cancelError: x,
|
|
3435
3435
|
outcomeReason: C,
|
|
3436
|
-
onReenter:
|
|
3437
|
-
isReentering:
|
|
3436
|
+
onReenter: c,
|
|
3437
|
+
isReentering: w,
|
|
3438
3438
|
className: p
|
|
3439
3439
|
}) {
|
|
3440
|
-
const { t: D } = K(), V =
|
|
3440
|
+
const { t: D } = K(), V = je(a ?? to), [T, y] = s.useState(!1), N = we();
|
|
3441
3441
|
if (r === "ended")
|
|
3442
|
-
return /* @__PURE__ */ t(
|
|
3442
|
+
return /* @__PURE__ */ t(Ue, { outcomeReason: C ?? "ended", participationType: "appointment", className: p });
|
|
3443
3443
|
if (r === "participating" && T)
|
|
3444
3444
|
return /* @__PURE__ */ t(
|
|
3445
3445
|
wa,
|
|
@@ -3449,14 +3449,14 @@ function At({
|
|
|
3449
3449
|
bookingWindowCloseAt: o,
|
|
3450
3450
|
timezone: i,
|
|
3451
3451
|
defaultLocationId: f,
|
|
3452
|
-
headingLabel: D("appointment.
|
|
3452
|
+
headingLabel: D("appointment.reschedule.title"),
|
|
3453
3453
|
headingVariant: "default",
|
|
3454
3454
|
confirmLabelKey: "appointment.continueWithTime",
|
|
3455
3455
|
idleLabelKey: "appointment.selectATime",
|
|
3456
3456
|
isPending: v,
|
|
3457
|
-
error:
|
|
3457
|
+
error: h,
|
|
3458
3458
|
onConfirm: async (S, M) => {
|
|
3459
|
-
await d(S, M),
|
|
3459
|
+
await d(S, M), y(!1);
|
|
3460
3460
|
},
|
|
3461
3461
|
className: p,
|
|
3462
3462
|
motionProps: N,
|
|
@@ -3465,8 +3465,8 @@ function At({
|
|
|
3465
3465
|
}
|
|
3466
3466
|
);
|
|
3467
3467
|
if (r === "participating") {
|
|
3468
|
-
const S = V.booking, M = S?.consumerStatus, A = M === "checked_in", I = M === "completed", O = I ? "completed" : A ? "checked_in" : "booked", $ = D(I ? "appointment.
|
|
3469
|
-
return /* @__PURE__ */ t(
|
|
3468
|
+
const S = V.booking, M = S?.consumerStatus, A = M === "checked_in", I = M === "completed", O = I ? "completed" : A ? "checked_in" : "booked", $ = D(I ? "appointment.completed.title" : A ? "appointment.checkedIn" : "appointment.booked.title");
|
|
3469
|
+
return /* @__PURE__ */ t(W.div, { ...N, children: /* @__PURE__ */ u(
|
|
3470
3470
|
Y,
|
|
3471
3471
|
{
|
|
3472
3472
|
className: E("ff:w-full ff:max-w-sm", p),
|
|
@@ -3475,16 +3475,16 @@ function At({
|
|
|
3475
3475
|
"data-substage": O,
|
|
3476
3476
|
children: [
|
|
3477
3477
|
/* @__PURE__ */ t(G, { variant: "success", label: $ }),
|
|
3478
|
-
/* @__PURE__ */ t(Z, { children: S ? A ? /* @__PURE__ */ t(
|
|
3479
|
-
|
|
3478
|
+
/* @__PURE__ */ t(Z, { children: S ? A ? /* @__PURE__ */ t(Wa, { booking: S, timezone: i }) : /* @__PURE__ */ t(
|
|
3479
|
+
Ua,
|
|
3480
3480
|
{
|
|
3481
3481
|
booking: S,
|
|
3482
3482
|
timezone: i,
|
|
3483
3483
|
readOnly: I,
|
|
3484
3484
|
onCancel: () => g(),
|
|
3485
|
-
onStartReschedule: () =>
|
|
3485
|
+
onStartReschedule: () => y(!0),
|
|
3486
3486
|
isCancelling: m,
|
|
3487
|
-
cancelError:
|
|
3487
|
+
cancelError: x
|
|
3488
3488
|
}
|
|
3489
3489
|
) : /* @__PURE__ */ t("span", { className: "ff:text-muted", children: D("appointment.loadingBooking") }) })
|
|
3490
3490
|
]
|
|
@@ -3504,8 +3504,8 @@ function At({
|
|
|
3504
3504
|
confirmLabelKey: "appointment.continueWithTime",
|
|
3505
3505
|
idleLabelKey: "appointment.selectATime",
|
|
3506
3506
|
isPending: b,
|
|
3507
|
-
error:
|
|
3508
|
-
onConfirm:
|
|
3507
|
+
error: h,
|
|
3508
|
+
onConfirm: l,
|
|
3509
3509
|
className: p,
|
|
3510
3510
|
motionProps: N,
|
|
3511
3511
|
dataStage: "enterable"
|
|
@@ -3521,27 +3521,27 @@ function wa({
|
|
|
3521
3521
|
defaultLocationId: o,
|
|
3522
3522
|
headingLabel: i,
|
|
3523
3523
|
headingVariant: f,
|
|
3524
|
-
confirmLabelKey:
|
|
3524
|
+
confirmLabelKey: l,
|
|
3525
3525
|
idleLabelKey: g,
|
|
3526
3526
|
isPending: d,
|
|
3527
3527
|
error: b,
|
|
3528
3528
|
onConfirm: m,
|
|
3529
3529
|
className: v,
|
|
3530
|
-
motionProps:
|
|
3531
|
-
dataStage:
|
|
3530
|
+
motionProps: h,
|
|
3531
|
+
dataStage: x,
|
|
3532
3532
|
dataMode: C
|
|
3533
3533
|
}) {
|
|
3534
|
-
const { t:
|
|
3535
|
-
if (!
|
|
3536
|
-
const T =
|
|
3537
|
-
await m(
|
|
3538
|
-
}, [o, m,
|
|
3539
|
-
return /* @__PURE__ */ t(
|
|
3534
|
+
const { t: c } = K(), [w, p] = s.useState(null), D = w ? c(l, { values: { time: Oa(w) } }) : c(g), V = s.useCallback(async () => {
|
|
3535
|
+
if (!w) return;
|
|
3536
|
+
const T = w.locationId ?? o;
|
|
3537
|
+
await m(w.id, T);
|
|
3538
|
+
}, [o, m, w]);
|
|
3539
|
+
return /* @__PURE__ */ t(W.div, { ...h, children: /* @__PURE__ */ u(
|
|
3540
3540
|
Y,
|
|
3541
3541
|
{
|
|
3542
3542
|
className: E("ff:w-full ff:max-w-sm", v),
|
|
3543
3543
|
"data-slot": "appointment-module",
|
|
3544
|
-
"data-stage":
|
|
3544
|
+
"data-stage": x,
|
|
3545
3545
|
"data-mode": C,
|
|
3546
3546
|
children: [
|
|
3547
3547
|
/* @__PURE__ */ t(G, { variant: f, label: i }),
|
|
@@ -3562,7 +3562,7 @@ function wa({
|
|
|
3562
3562
|
size: "sm",
|
|
3563
3563
|
className: "ff:w-full",
|
|
3564
3564
|
onClick: V,
|
|
3565
|
-
disabled: !
|
|
3565
|
+
disabled: !w || d,
|
|
3566
3566
|
loading: d,
|
|
3567
3567
|
children: D
|
|
3568
3568
|
}
|
|
@@ -3571,7 +3571,7 @@ function wa({
|
|
|
3571
3571
|
}
|
|
3572
3572
|
) });
|
|
3573
3573
|
}
|
|
3574
|
-
function
|
|
3574
|
+
function ao(e, a) {
|
|
3575
3575
|
try {
|
|
3576
3576
|
return new Intl.NumberFormat(a, {
|
|
3577
3577
|
style: "currency",
|
|
@@ -3582,7 +3582,7 @@ function to(e, a) {
|
|
|
3582
3582
|
return e;
|
|
3583
3583
|
}
|
|
3584
3584
|
}
|
|
3585
|
-
function
|
|
3585
|
+
function ro(e, a) {
|
|
3586
3586
|
const r = a?.currencyCode, n = a?.minimumFractionDigits ?? 2, o = a?.maximumFractionDigits ?? 2;
|
|
3587
3587
|
if (r)
|
|
3588
3588
|
try {
|
|
@@ -3595,7 +3595,7 @@ function ao(e, a) {
|
|
|
3595
3595
|
}).format(e);
|
|
3596
3596
|
} catch {
|
|
3597
3597
|
}
|
|
3598
|
-
const i = a?.currencySymbol ?? (r ?
|
|
3598
|
+
const i = a?.currencySymbol ?? (r ? ao(r, a?.locale) : "$");
|
|
3599
3599
|
try {
|
|
3600
3600
|
const f = e.toLocaleString(a?.locale, { minimumFractionDigits: n, maximumFractionDigits: o });
|
|
3601
3601
|
return `${i}${f}`;
|
|
@@ -3603,8 +3603,8 @@ function ao(e, a) {
|
|
|
3603
3603
|
return `${i}${e.toFixed(o)}`;
|
|
3604
3604
|
}
|
|
3605
3605
|
}
|
|
3606
|
-
const
|
|
3607
|
-
function
|
|
3606
|
+
const no = qe({});
|
|
3607
|
+
function oo(e, a) {
|
|
3608
3608
|
const r = { ...e }, n = r;
|
|
3609
3609
|
for (const [o, i] of Object.entries(a))
|
|
3610
3610
|
i !== void 0 && (n[o] = i);
|
|
@@ -3618,24 +3618,24 @@ function tt({
|
|
|
3618
3618
|
canLeave: o,
|
|
3619
3619
|
onEnter: i,
|
|
3620
3620
|
onLeave: f,
|
|
3621
|
-
onBid:
|
|
3621
|
+
onBid: l,
|
|
3622
3622
|
isEntering: g,
|
|
3623
3623
|
isLeaving: d,
|
|
3624
3624
|
countdownTo: b,
|
|
3625
3625
|
defaultBidAmount: m,
|
|
3626
3626
|
currencyCode: v,
|
|
3627
|
-
locale:
|
|
3628
|
-
grant:
|
|
3627
|
+
locale: h,
|
|
3628
|
+
grant: x,
|
|
3629
3629
|
expiresAt: C,
|
|
3630
|
-
checkoutUrl:
|
|
3631
|
-
onCheckoutClick:
|
|
3630
|
+
checkoutUrl: c,
|
|
3631
|
+
onCheckoutClick: w,
|
|
3632
3632
|
outcomeReason: p,
|
|
3633
3633
|
onReenter: D,
|
|
3634
3634
|
isReentering: V,
|
|
3635
3635
|
className: T
|
|
3636
3636
|
}) {
|
|
3637
|
-
const { t:
|
|
3638
|
-
() =>
|
|
3637
|
+
const { t: y } = K(), N = je(e ?? no), S = s.useMemo(
|
|
3638
|
+
() => oo(a, N),
|
|
3639
3639
|
[a, N]
|
|
3640
3640
|
), M = s.useMemo(() => S.settleAt ? new Date(S.settleAt) : b || (S.closeAt ? new Date(S.closeAt) : void 0), [b, S.settleAt, S.closeAt]), A = s.useMemo(() => {
|
|
3641
3641
|
if (C)
|
|
@@ -3644,43 +3644,43 @@ function tt({
|
|
|
3644
3644
|
(L) => {
|
|
3645
3645
|
if (L === void 0) return;
|
|
3646
3646
|
const J = parseFloat(L);
|
|
3647
|
-
return Number.isNaN(J) ? L :
|
|
3647
|
+
return Number.isNaN(J) ? L : ro(
|
|
3648
3648
|
J,
|
|
3649
|
-
I ? { currencyCode: I, locale:
|
|
3649
|
+
I ? { currencyCode: I, locale: h } : { currencySymbol: "$", locale: h }
|
|
3650
3650
|
);
|
|
3651
3651
|
},
|
|
3652
|
-
[I,
|
|
3652
|
+
[I, h]
|
|
3653
3653
|
), $ = we(), fe = () => {
|
|
3654
|
-
|
|
3654
|
+
w ? w() : c && window.open(c, "_blank", "noopener,noreferrer");
|
|
3655
3655
|
}, ce = async () => {
|
|
3656
|
-
if (!
|
|
3656
|
+
if (!l) return;
|
|
3657
3657
|
const L = S.minNextBid ?? m;
|
|
3658
|
-
L && await
|
|
3658
|
+
L && await l(L);
|
|
3659
3659
|
};
|
|
3660
3660
|
if (r === "enterable")
|
|
3661
|
-
return /* @__PURE__ */ t(
|
|
3661
|
+
return /* @__PURE__ */ t(W.div, { ...$, children: /* @__PURE__ */ u(
|
|
3662
3662
|
Y,
|
|
3663
3663
|
{
|
|
3664
3664
|
className: E("ff:w-full ff:max-w-sm", T),
|
|
3665
3665
|
"data-slot": "auction-module",
|
|
3666
3666
|
"data-stage": "enterable",
|
|
3667
3667
|
children: [
|
|
3668
|
-
/* @__PURE__ */ t(G, { variant: "default", label:
|
|
3668
|
+
/* @__PURE__ */ t(G, { variant: "default", label: y("auction.title") }),
|
|
3669
3669
|
/* @__PURE__ */ u(Z, { children: [
|
|
3670
3670
|
M && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
|
|
3671
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children:
|
|
3671
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: y("auction.endsIn") }),
|
|
3672
3672
|
/* @__PURE__ */ t(pe, { targetDate: M, showDays: !1 })
|
|
3673
3673
|
] }),
|
|
3674
|
-
/* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children:
|
|
3675
|
-
|
|
3674
|
+
/* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: y("auction.description") }) }),
|
|
3675
|
+
l ? /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: ce, children: y("auction.bidAction") }) : n && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: i, disabled: g, loading: g, children: y("auction.enter") })
|
|
3676
3676
|
] }),
|
|
3677
3677
|
/* @__PURE__ */ t(H, {})
|
|
3678
3678
|
]
|
|
3679
3679
|
}
|
|
3680
3680
|
) });
|
|
3681
3681
|
if (r === "participating") {
|
|
3682
|
-
const L = S.status === "winning", J = L ? "default" : "success", ne =
|
|
3683
|
-
return /* @__PURE__ */ t(
|
|
3682
|
+
const L = S.status === "winning", J = L ? "default" : "success", ne = y(L ? "auction.winning.title" : "auction.title"), se = O(S.highestBid), de = O(S.currentBid);
|
|
3683
|
+
return /* @__PURE__ */ t(W.div, { ...$, children: /* @__PURE__ */ u(
|
|
3684
3684
|
Y,
|
|
3685
3685
|
{
|
|
3686
3686
|
className: E("ff:w-full ff:max-w-sm", T),
|
|
@@ -3690,21 +3690,21 @@ function tt({
|
|
|
3690
3690
|
/* @__PURE__ */ t(G, { variant: J, label: ne }),
|
|
3691
3691
|
/* @__PURE__ */ u(Z, { children: [
|
|
3692
3692
|
M && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
|
|
3693
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children:
|
|
3693
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: y("auction.endsIn") }),
|
|
3694
3694
|
/* @__PURE__ */ t(pe, { targetDate: M, showDays: !1 })
|
|
3695
3695
|
] }),
|
|
3696
3696
|
/* @__PURE__ */ u(ie, { children: [
|
|
3697
3697
|
se !== void 0 && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-center ff:justify-between", children: [
|
|
3698
|
-
/* @__PURE__ */ t("span", { className: "ff:text-muted", children:
|
|
3698
|
+
/* @__PURE__ */ t("span", { className: "ff:text-muted", children: y("auction.currentBid") }),
|
|
3699
3699
|
/* @__PURE__ */ t("span", { className: "ff:font-medium ff:tabular-nums", children: se })
|
|
3700
3700
|
] }),
|
|
3701
3701
|
de !== void 0 && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-center ff:justify-between", children: [
|
|
3702
|
-
/* @__PURE__ */ t("span", { className: "ff:text-muted", children:
|
|
3702
|
+
/* @__PURE__ */ t("span", { className: "ff:text-muted", children: y(L ? "auction.yourWinningBid" : "auction.yourBidLabel") }),
|
|
3703
3703
|
/* @__PURE__ */ t("span", { className: "ff:font-medium ff:tabular-nums", children: de })
|
|
3704
3704
|
] })
|
|
3705
3705
|
] }),
|
|
3706
3706
|
/* @__PURE__ */ u("div", { className: "ff:mt-auto ff:flex ff:flex-col ff:gap-2", children: [
|
|
3707
|
-
|
|
3707
|
+
l && /* @__PURE__ */ t(j, { className: "ff:w-full", onClick: ce, children: y("auction.bidAction") }),
|
|
3708
3708
|
o && /* @__PURE__ */ t(
|
|
3709
3709
|
j,
|
|
3710
3710
|
{
|
|
@@ -3713,7 +3713,7 @@ function tt({
|
|
|
3713
3713
|
onClick: f,
|
|
3714
3714
|
disabled: d,
|
|
3715
3715
|
loading: d,
|
|
3716
|
-
children:
|
|
3716
|
+
children: y("action.leave")
|
|
3717
3717
|
}
|
|
3718
3718
|
)
|
|
3719
3719
|
] })
|
|
@@ -3725,18 +3725,18 @@ function tt({
|
|
|
3725
3725
|
}
|
|
3726
3726
|
if (r === "settling") {
|
|
3727
3727
|
const L = O(S.highestBid);
|
|
3728
|
-
return /* @__PURE__ */ t(
|
|
3728
|
+
return /* @__PURE__ */ t(W.div, { ...$, children: /* @__PURE__ */ u(
|
|
3729
3729
|
Y,
|
|
3730
3730
|
{
|
|
3731
3731
|
className: E("ff:w-full ff:max-w-sm", T),
|
|
3732
3732
|
"data-slot": "auction-module",
|
|
3733
3733
|
"data-stage": "settling",
|
|
3734
3734
|
children: [
|
|
3735
|
-
/* @__PURE__ */ t(G, { variant: "default", label:
|
|
3735
|
+
/* @__PURE__ */ t(G, { variant: "default", label: y("auction.settling.title") }),
|
|
3736
3736
|
/* @__PURE__ */ t(Z, { children: /* @__PURE__ */ u(ie, { children: [
|
|
3737
|
-
/* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children:
|
|
3737
|
+
/* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: y("auction.settling.description") }),
|
|
3738
3738
|
L !== void 0 && /* @__PURE__ */ u("div", { className: "ff:mt-3 ff:flex ff:items-center ff:justify-between", children: [
|
|
3739
|
-
/* @__PURE__ */ t("span", { className: "ff:text-muted", children:
|
|
3739
|
+
/* @__PURE__ */ t("span", { className: "ff:text-muted", children: y("auction.currentBid") }),
|
|
3740
3740
|
/* @__PURE__ */ t("span", { className: "ff:font-medium ff:tabular-nums", children: L })
|
|
3741
3741
|
] })
|
|
3742
3742
|
] }) }),
|
|
@@ -3748,15 +3748,15 @@ function tt({
|
|
|
3748
3748
|
return r === "granted" ? /* @__PURE__ */ t(
|
|
3749
3749
|
it,
|
|
3750
3750
|
{
|
|
3751
|
-
label:
|
|
3752
|
-
fallbackMessage:
|
|
3753
|
-
ctaLabel:
|
|
3751
|
+
label: y("auction.won.title"),
|
|
3752
|
+
fallbackMessage: y("auction.won.description"),
|
|
3753
|
+
ctaLabel: y("action.proceedToCheckout"),
|
|
3754
3754
|
expiresAt: A,
|
|
3755
3755
|
onCtaClick: fe,
|
|
3756
3756
|
className: T
|
|
3757
3757
|
}
|
|
3758
3758
|
) : r === "ended" ? /* @__PURE__ */ t(
|
|
3759
|
-
|
|
3759
|
+
Ue,
|
|
3760
3760
|
{
|
|
3761
3761
|
outcomeReason: p ?? "ended",
|
|
3762
3762
|
participationType: "auction",
|
|
@@ -3767,7 +3767,7 @@ function tt({
|
|
|
3767
3767
|
) : null;
|
|
3768
3768
|
}
|
|
3769
3769
|
tt.displayName = "AuctionModule";
|
|
3770
|
-
const
|
|
3770
|
+
const fo = qe({});
|
|
3771
3771
|
function at({
|
|
3772
3772
|
display$: e,
|
|
3773
3773
|
sequencePhase: a,
|
|
@@ -3776,93 +3776,93 @@ function at({
|
|
|
3776
3776
|
onEnter: o,
|
|
3777
3777
|
onLeave: i,
|
|
3778
3778
|
isEntering: f,
|
|
3779
|
-
isLeaving:
|
|
3779
|
+
isLeaving: l,
|
|
3780
3780
|
countdownTo: g,
|
|
3781
3781
|
grant: d,
|
|
3782
3782
|
expiresAt: b,
|
|
3783
3783
|
checkoutUrl: m,
|
|
3784
3784
|
onCheckoutClick: v,
|
|
3785
|
-
outcomeReason:
|
|
3786
|
-
onReenter:
|
|
3785
|
+
outcomeReason: h,
|
|
3786
|
+
onReenter: x,
|
|
3787
3787
|
isReentering: C,
|
|
3788
|
-
className:
|
|
3788
|
+
className: c
|
|
3789
3789
|
}) {
|
|
3790
|
-
const { t:
|
|
3790
|
+
const { t: w } = K(), p = je(e ?? fo), D = s.useMemo(
|
|
3791
3791
|
() => g ?? (p.drawTime ? new Date(p.drawTime) : void 0),
|
|
3792
3792
|
[g, p.drawTime]
|
|
3793
3793
|
), V = s.useMemo(() => {
|
|
3794
3794
|
if (b)
|
|
3795
3795
|
return b instanceof Date ? b : new Date(b);
|
|
3796
|
-
}, [b]), T = we(),
|
|
3796
|
+
}, [b]), T = we(), y = () => {
|
|
3797
3797
|
v ? v() : m && window.open(m, "_blank", "noopener,noreferrer");
|
|
3798
3798
|
};
|
|
3799
|
-
return a === "enterable" ? /* @__PURE__ */ t(
|
|
3800
|
-
/* @__PURE__ */ t(G, { variant: "default", label:
|
|
3799
|
+
return a === "enterable" ? /* @__PURE__ */ t(W.div, { ...T, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", c), "data-slot": "draw-module", "data-stage": "enterable", children: [
|
|
3800
|
+
/* @__PURE__ */ t(G, { variant: "default", label: w("draw.title") }),
|
|
3801
3801
|
/* @__PURE__ */ u(Z, { children: [
|
|
3802
3802
|
D && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
|
|
3803
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children:
|
|
3803
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: w("draw.drawClosesIn") }),
|
|
3804
3804
|
/* @__PURE__ */ t(pe, { targetDate: D, showDays: !1 })
|
|
3805
3805
|
] }),
|
|
3806
|
-
r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled: f, loading: f, children:
|
|
3806
|
+
r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled: f, loading: f, children: w("draw.enter") })
|
|
3807
3807
|
] }),
|
|
3808
3808
|
/* @__PURE__ */ t(H, {})
|
|
3809
|
-
] }) }) : a === "participating" ? /* @__PURE__ */ t(
|
|
3809
|
+
] }) }) : a === "participating" ? /* @__PURE__ */ t(W.div, { ...T, children: /* @__PURE__ */ u(
|
|
3810
3810
|
Y,
|
|
3811
3811
|
{
|
|
3812
|
-
className: E("ff:w-full ff:max-w-sm",
|
|
3812
|
+
className: E("ff:w-full ff:max-w-sm", c),
|
|
3813
3813
|
"data-slot": "draw-module",
|
|
3814
3814
|
"data-stage": "participating",
|
|
3815
3815
|
children: [
|
|
3816
|
-
/* @__PURE__ */ t(G, { variant: "success", label:
|
|
3816
|
+
/* @__PURE__ */ t(G, { variant: "success", label: w("draw.entered.title") }),
|
|
3817
3817
|
/* @__PURE__ */ u(Z, { children: [
|
|
3818
3818
|
p.entryNumber && /* @__PURE__ */ t("span", { className: "ff:text-xs ff:text-muted ff:font-mono", children: p.entryNumber }),
|
|
3819
3819
|
D ? /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
|
|
3820
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children:
|
|
3820
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: w("draw.drawHappensIn") }),
|
|
3821
3821
|
/* @__PURE__ */ t(pe, { targetDate: D, showDays: !1 })
|
|
3822
3822
|
] }) : null,
|
|
3823
|
-
/* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children:
|
|
3823
|
+
/* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: w(D ? "draw.entered.description" : "draw.stayTuned") }) }),
|
|
3824
3824
|
n && /* @__PURE__ */ t(
|
|
3825
3825
|
j,
|
|
3826
3826
|
{
|
|
3827
3827
|
className: "ff:mt-auto ff:w-full",
|
|
3828
3828
|
variant: "outline",
|
|
3829
3829
|
onClick: i,
|
|
3830
|
-
disabled:
|
|
3831
|
-
loading:
|
|
3832
|
-
children:
|
|
3830
|
+
disabled: l,
|
|
3831
|
+
loading: l,
|
|
3832
|
+
children: w("draw.withdraw")
|
|
3833
3833
|
}
|
|
3834
3834
|
)
|
|
3835
3835
|
] }),
|
|
3836
3836
|
/* @__PURE__ */ t(H, {})
|
|
3837
3837
|
]
|
|
3838
3838
|
}
|
|
3839
|
-
) }) : a === "settling" ? /* @__PURE__ */ t(
|
|
3840
|
-
/* @__PURE__ */ t(G, { variant: "default", label:
|
|
3841
|
-
/* @__PURE__ */ t(Z, { children: /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children:
|
|
3839
|
+
) }) : a === "settling" ? /* @__PURE__ */ t(W.div, { ...T, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", c), "data-slot": "draw-module", "data-stage": "settling", children: [
|
|
3840
|
+
/* @__PURE__ */ t(G, { variant: "default", label: w("draw.settling.title") }),
|
|
3841
|
+
/* @__PURE__ */ t(Z, { children: /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: w("draw.settling.description") }) }) }),
|
|
3842
3842
|
/* @__PURE__ */ t(H, {})
|
|
3843
3843
|
] }) }) : a === "granted" ? /* @__PURE__ */ t(
|
|
3844
3844
|
it,
|
|
3845
3845
|
{
|
|
3846
|
-
label:
|
|
3847
|
-
fallbackMessage:
|
|
3848
|
-
ctaLabel:
|
|
3846
|
+
label: w("draw.won.title"),
|
|
3847
|
+
fallbackMessage: w("granted.description"),
|
|
3848
|
+
ctaLabel: w("granted.cta"),
|
|
3849
3849
|
expiresAt: V,
|
|
3850
|
-
onCtaClick:
|
|
3851
|
-
className:
|
|
3850
|
+
onCtaClick: y,
|
|
3851
|
+
className: c
|
|
3852
3852
|
}
|
|
3853
3853
|
) : a === "ended" ? /* @__PURE__ */ t(
|
|
3854
|
-
|
|
3854
|
+
Ue,
|
|
3855
3855
|
{
|
|
3856
|
-
outcomeReason:
|
|
3856
|
+
outcomeReason: h ?? "ended",
|
|
3857
3857
|
participationType: "draw",
|
|
3858
|
-
onReenter:
|
|
3858
|
+
onReenter: x,
|
|
3859
3859
|
isReentering: C,
|
|
3860
|
-
className:
|
|
3860
|
+
className: c
|
|
3861
3861
|
}
|
|
3862
3862
|
) : null;
|
|
3863
3863
|
}
|
|
3864
3864
|
at.displayName = "DrawModule";
|
|
3865
|
-
const
|
|
3865
|
+
const io = qe({});
|
|
3866
3866
|
function wt({
|
|
3867
3867
|
display$: e,
|
|
3868
3868
|
sequencePhase: a,
|
|
@@ -3871,61 +3871,61 @@ function wt({
|
|
|
3871
3871
|
onEnter: o,
|
|
3872
3872
|
onLeave: i,
|
|
3873
3873
|
isEntering: f,
|
|
3874
|
-
isLeaving:
|
|
3874
|
+
isLeaving: l,
|
|
3875
3875
|
closeAt: g,
|
|
3876
3876
|
grant: d,
|
|
3877
3877
|
expiresAt: b,
|
|
3878
3878
|
checkoutUrl: m,
|
|
3879
3879
|
onCheckoutClick: v,
|
|
3880
|
-
outcomeReason:
|
|
3881
|
-
onReenter:
|
|
3880
|
+
outcomeReason: h,
|
|
3881
|
+
onReenter: x,
|
|
3882
3882
|
isReentering: C,
|
|
3883
|
-
className:
|
|
3883
|
+
className: c
|
|
3884
3884
|
}) {
|
|
3885
|
-
const { t:
|
|
3885
|
+
const { t: w } = K(), p = je(e ?? io), D = s.useMemo(() => {
|
|
3886
3886
|
if (b)
|
|
3887
3887
|
return b instanceof Date ? b : new Date(b);
|
|
3888
3888
|
}, [b]), V = we(), T = () => {
|
|
3889
3889
|
v ? v() : m && window.open(m, "_blank", "noopener,noreferrer");
|
|
3890
3890
|
};
|
|
3891
3891
|
if (a === "enterable")
|
|
3892
|
-
return /* @__PURE__ */ t(
|
|
3893
|
-
/* @__PURE__ */ t(G, { variant: "default", label:
|
|
3892
|
+
return /* @__PURE__ */ t(W.div, { ...V, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", c), "data-slot": "queue-module", "data-stage": "enterable", children: [
|
|
3893
|
+
/* @__PURE__ */ t(G, { variant: "default", label: w("queue.openingSoon") }),
|
|
3894
3894
|
/* @__PURE__ */ u(Z, { children: [
|
|
3895
3895
|
g && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
|
|
3896
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children:
|
|
3896
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: w("queue.queueClosesIn") }),
|
|
3897
3897
|
/* @__PURE__ */ t(pe, { targetDate: g, showDays: !1 })
|
|
3898
3898
|
] }),
|
|
3899
|
-
r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled: f, loading: f, children:
|
|
3899
|
+
r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled: f, loading: f, children: w("queue.enter") })
|
|
3900
3900
|
] }),
|
|
3901
3901
|
/* @__PURE__ */ t(H, {})
|
|
3902
3902
|
] }) });
|
|
3903
3903
|
if (a === "participating") {
|
|
3904
|
-
const
|
|
3905
|
-
return /* @__PURE__ */ t(
|
|
3904
|
+
const y = p.estimatedWaitTime, N = y != null ? Math.ceil(y / 60) : null, S = (O) => O < 1 ? w("queue.waitLessThanMinute") : O === 1 ? w("queue.waitOneMinute") : w("queue.waitMinutes", { values: { count: O } }), M = y != null ? Vr(y) : null, A = M ? w(Er(M)) : null, I = N !== null ? S(N) : "...";
|
|
3905
|
+
return /* @__PURE__ */ t(W.div, { ...V, children: /* @__PURE__ */ u(
|
|
3906
3906
|
Y,
|
|
3907
3907
|
{
|
|
3908
|
-
className: E("ff:w-full ff:max-w-sm",
|
|
3908
|
+
className: E("ff:w-full ff:max-w-sm", c),
|
|
3909
3909
|
"data-slot": "queue-module",
|
|
3910
3910
|
"data-stage": "participating",
|
|
3911
3911
|
children: [
|
|
3912
|
-
/* @__PURE__ */ t(G, { variant: "success", label:
|
|
3912
|
+
/* @__PURE__ */ t(G, { variant: "success", label: w("queue.title") }),
|
|
3913
3913
|
/* @__PURE__ */ u(Z, { children: [
|
|
3914
3914
|
/* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
|
|
3915
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children:
|
|
3915
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: w("queue.estimatedWaitLabel") }),
|
|
3916
3916
|
/* @__PURE__ */ t("span", { className: "ff:text-4xl ff:font-bold ff:tabular-nums ff:font-heading", children: I }),
|
|
3917
3917
|
A && /* @__PURE__ */ t("span", { className: "ff:text-xs ff:text-muted", children: A })
|
|
3918
3918
|
] }),
|
|
3919
|
-
/* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-muted ff:text-xs", children:
|
|
3919
|
+
/* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-muted ff:text-xs", children: w("queue.qualitativeReassurance") }) }),
|
|
3920
3920
|
n && /* @__PURE__ */ t(
|
|
3921
3921
|
j,
|
|
3922
3922
|
{
|
|
3923
3923
|
className: "ff:mt-auto ff:w-full",
|
|
3924
3924
|
variant: "outline",
|
|
3925
3925
|
onClick: i,
|
|
3926
|
-
disabled:
|
|
3927
|
-
loading:
|
|
3928
|
-
children:
|
|
3926
|
+
disabled: l,
|
|
3927
|
+
loading: l,
|
|
3928
|
+
children: w("queue.leave")
|
|
3929
3929
|
}
|
|
3930
3930
|
)
|
|
3931
3931
|
] }),
|
|
@@ -3937,26 +3937,26 @@ function wt({
|
|
|
3937
3937
|
return a === "granted" ? /* @__PURE__ */ t(
|
|
3938
3938
|
it,
|
|
3939
3939
|
{
|
|
3940
|
-
label:
|
|
3941
|
-
fallbackMessage:
|
|
3942
|
-
ctaLabel:
|
|
3940
|
+
label: w("queue.granted.title"),
|
|
3941
|
+
fallbackMessage: w("queue.granted.message"),
|
|
3942
|
+
ctaLabel: w("granted.cta"),
|
|
3943
3943
|
expiresAt: D,
|
|
3944
3944
|
onCtaClick: T,
|
|
3945
|
-
className:
|
|
3945
|
+
className: c
|
|
3946
3946
|
}
|
|
3947
3947
|
) : a === "ended" ? /* @__PURE__ */ t(
|
|
3948
|
-
|
|
3948
|
+
Ue,
|
|
3949
3949
|
{
|
|
3950
|
-
outcomeReason:
|
|
3950
|
+
outcomeReason: h ?? "ended",
|
|
3951
3951
|
participationType: "queue",
|
|
3952
|
-
onReenter:
|
|
3952
|
+
onReenter: x,
|
|
3953
3953
|
isReentering: C,
|
|
3954
|
-
className:
|
|
3954
|
+
className: c
|
|
3955
3955
|
}
|
|
3956
3956
|
) : null;
|
|
3957
3957
|
}
|
|
3958
3958
|
wt.displayName = "QueueModule";
|
|
3959
|
-
const
|
|
3959
|
+
const so = qe({});
|
|
3960
3960
|
function vt({
|
|
3961
3961
|
display$: e,
|
|
3962
3962
|
sequencePhase: a,
|
|
@@ -3965,28 +3965,28 @@ function vt({
|
|
|
3965
3965
|
onEnter: o,
|
|
3966
3966
|
onLeave: i,
|
|
3967
3967
|
onComplete: f,
|
|
3968
|
-
isEntering:
|
|
3968
|
+
isEntering: l,
|
|
3969
3969
|
isLeaving: g,
|
|
3970
3970
|
countdownTo: d,
|
|
3971
3971
|
checkoutUrl: b,
|
|
3972
3972
|
onCheckoutClick: m,
|
|
3973
3973
|
grant: v,
|
|
3974
|
-
expiresAt:
|
|
3975
|
-
outcomeReason:
|
|
3974
|
+
expiresAt: h,
|
|
3975
|
+
outcomeReason: x,
|
|
3976
3976
|
onReenter: C,
|
|
3977
|
-
isReentering:
|
|
3978
|
-
className:
|
|
3977
|
+
isReentering: c,
|
|
3978
|
+
className: w
|
|
3979
3979
|
}) {
|
|
3980
|
-
const { t: p } = K(), D =
|
|
3981
|
-
if (
|
|
3982
|
-
return
|
|
3983
|
-
}, [
|
|
3980
|
+
const { t: p } = K(), D = je(e ?? so), V = s.useMemo(() => {
|
|
3981
|
+
if (h)
|
|
3982
|
+
return h instanceof Date ? h : new Date(h);
|
|
3983
|
+
}, [h]), T = b ?? D.checkoutUrl, y = we(), N = () => {
|
|
3984
3984
|
m ? m() : T && window.open(T, "_blank", "noopener,noreferrer");
|
|
3985
3985
|
};
|
|
3986
|
-
return a === "enterable" ? /* @__PURE__ */ t(
|
|
3986
|
+
return a === "enterable" ? /* @__PURE__ */ t(W.div, { ...y, children: /* @__PURE__ */ u(
|
|
3987
3987
|
Y,
|
|
3988
3988
|
{
|
|
3989
|
-
className: E("ff:w-full ff:max-w-sm",
|
|
3989
|
+
className: E("ff:w-full ff:max-w-sm", w),
|
|
3990
3990
|
"data-slot": "timed-release-module",
|
|
3991
3991
|
"data-stage": "enterable",
|
|
3992
3992
|
children: [
|
|
@@ -3997,15 +3997,15 @@ function vt({
|
|
|
3997
3997
|
/* @__PURE__ */ t(pe, { targetDate: d, showDays: !1 })
|
|
3998
3998
|
] }),
|
|
3999
3999
|
/* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: p("timedRelease.description") }) }),
|
|
4000
|
-
r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled:
|
|
4000
|
+
r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled: l, loading: l, children: p("timedRelease.enter") })
|
|
4001
4001
|
] }),
|
|
4002
4002
|
/* @__PURE__ */ t(H, {})
|
|
4003
4003
|
]
|
|
4004
4004
|
}
|
|
4005
|
-
) }) : a === "participating" ? /* @__PURE__ */ t(
|
|
4005
|
+
) }) : a === "participating" ? /* @__PURE__ */ t(W.div, { ...y, children: /* @__PURE__ */ u(
|
|
4006
4006
|
Y,
|
|
4007
4007
|
{
|
|
4008
|
-
className: E("ff:w-full ff:max-w-sm",
|
|
4008
|
+
className: E("ff:w-full ff:max-w-sm", w),
|
|
4009
4009
|
"data-slot": "timed-release-module",
|
|
4010
4010
|
"data-stage": "participating",
|
|
4011
4011
|
children: [
|
|
@@ -4051,16 +4051,16 @@ function vt({
|
|
|
4051
4051
|
ctaLabel: p("granted.cta"),
|
|
4052
4052
|
expiresAt: V,
|
|
4053
4053
|
onCtaClick: N,
|
|
4054
|
-
className:
|
|
4054
|
+
className: w
|
|
4055
4055
|
}
|
|
4056
4056
|
) : a === "ended" ? /* @__PURE__ */ t(
|
|
4057
|
-
|
|
4057
|
+
Ue,
|
|
4058
4058
|
{
|
|
4059
|
-
outcomeReason:
|
|
4059
|
+
outcomeReason: x ?? "ended",
|
|
4060
4060
|
participationType: "timed_release",
|
|
4061
4061
|
onReenter: C,
|
|
4062
|
-
isReentering:
|
|
4063
|
-
className:
|
|
4062
|
+
isReentering: c,
|
|
4063
|
+
className: w
|
|
4064
4064
|
}
|
|
4065
4065
|
) : null;
|
|
4066
4066
|
}
|
|
@@ -4073,36 +4073,36 @@ function Ga({
|
|
|
4073
4073
|
canEnter: o = !1,
|
|
4074
4074
|
onEnter: i,
|
|
4075
4075
|
enterLabel: f,
|
|
4076
|
-
isEntering:
|
|
4076
|
+
isEntering: l = !1,
|
|
4077
4077
|
className: g
|
|
4078
4078
|
}) {
|
|
4079
|
-
const { t: d } = K(), b = e ?? d("upcoming.title"), m = a ?? d("upcoming.description"), v = s.useMemo(() => r ? r instanceof Date ? r : new Date(r) : null, [r]),
|
|
4080
|
-
return /* @__PURE__ */ t(
|
|
4079
|
+
const { t: d } = K(), b = e ?? d("upcoming.title"), m = a ?? d("upcoming.description"), v = s.useMemo(() => r ? r instanceof Date ? r : new Date(r) : null, [r]), h = we();
|
|
4080
|
+
return /* @__PURE__ */ t(W.div, { ...h, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", g), "data-slot": "upcoming-module", children: [
|
|
4081
4081
|
/* @__PURE__ */ t(G, { variant: "secondary", label: b }),
|
|
4082
4082
|
/* @__PURE__ */ u(Z, { children: [
|
|
4083
4083
|
v && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
|
|
4084
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: d("
|
|
4084
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: d("duration.startingSoon") }),
|
|
4085
4085
|
/* @__PURE__ */ t(
|
|
4086
4086
|
pe,
|
|
4087
4087
|
{
|
|
4088
4088
|
targetDate: v,
|
|
4089
4089
|
onComplete: n,
|
|
4090
|
-
expiredLabel: d("
|
|
4090
|
+
expiredLabel: d("duration.startingSoon")
|
|
4091
4091
|
}
|
|
4092
4092
|
)
|
|
4093
4093
|
] }),
|
|
4094
4094
|
/* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: m }) }),
|
|
4095
|
-
o && i && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: i, disabled:
|
|
4095
|
+
o && i && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: i, disabled: l, loading: l, children: f ?? d("waitlist.enter") })
|
|
4096
4096
|
] }),
|
|
4097
4097
|
/* @__PURE__ */ t(H, {})
|
|
4098
4098
|
] }) });
|
|
4099
4099
|
}
|
|
4100
4100
|
Ga.displayName = "UpcomingModule";
|
|
4101
|
-
const
|
|
4101
|
+
const lo = {
|
|
4102
4102
|
initial: { opacity: 1 },
|
|
4103
4103
|
animate: { opacity: 1 },
|
|
4104
4104
|
transition: { duration: 0 }
|
|
4105
|
-
},
|
|
4105
|
+
}, co = {
|
|
4106
4106
|
default: {
|
|
4107
4107
|
initial: { opacity: 0, scale: 0.95 },
|
|
4108
4108
|
animate: { opacity: 1, scale: 1 },
|
|
@@ -4123,7 +4123,7 @@ const so = {
|
|
|
4123
4123
|
animate: { opacity: 1 },
|
|
4124
4124
|
transition: { duration: 0.4, ease: "easeInOut" }
|
|
4125
4125
|
}
|
|
4126
|
-
},
|
|
4126
|
+
}, uo = ae("ff:flex ff:items-center ff:justify-center", {
|
|
4127
4127
|
variants: {
|
|
4128
4128
|
styleVariant: {
|
|
4129
4129
|
default: "ff:w-16 ff:h-16 ff:rounded-full ff:bg-primary/5",
|
|
@@ -4137,7 +4137,7 @@ const so = {
|
|
|
4137
4137
|
}
|
|
4138
4138
|
},
|
|
4139
4139
|
defaultVariants: { styleVariant: "default" }
|
|
4140
|
-
}),
|
|
4140
|
+
}), po = ae("ff:mt-4 ff:text-sm", {
|
|
4141
4141
|
variants: {
|
|
4142
4142
|
styleVariant: {
|
|
4143
4143
|
default: "ff:text-muted",
|
|
@@ -4149,9 +4149,9 @@ const so = {
|
|
|
4149
4149
|
defaultVariants: { styleVariant: "default" }
|
|
4150
4150
|
});
|
|
4151
4151
|
function It({ message: e, className: a }) {
|
|
4152
|
-
const r = ge(), n = ot() ?
|
|
4152
|
+
const r = ge(), n = ot() ? lo : co[r], o = r === "clean" ? "md" : "lg";
|
|
4153
4153
|
return /* @__PURE__ */ u(
|
|
4154
|
-
|
|
4154
|
+
W.div,
|
|
4155
4155
|
{
|
|
4156
4156
|
...n,
|
|
4157
4157
|
"data-slot": "loading-view",
|
|
@@ -4160,8 +4160,8 @@ function It({ message: e, className: a }) {
|
|
|
4160
4160
|
"aria-busy": "true",
|
|
4161
4161
|
className: E("ff:flex ff:flex-col ff:items-center ff:justify-center ff:py-12", a),
|
|
4162
4162
|
children: [
|
|
4163
|
-
/* @__PURE__ */ t("div", { className: E(
|
|
4164
|
-
e && /* @__PURE__ */ t("p", { className: E(
|
|
4163
|
+
/* @__PURE__ */ t("div", { className: E(uo({ styleVariant: r })), children: /* @__PURE__ */ t(Te, { size: o }) }),
|
|
4164
|
+
e && /* @__PURE__ */ t("p", { className: E(po({ styleVariant: r })), children: e })
|
|
4165
4165
|
]
|
|
4166
4166
|
}
|
|
4167
4167
|
);
|
|
@@ -4175,12 +4175,12 @@ function Ja({
|
|
|
4175
4175
|
countdownTo: o,
|
|
4176
4176
|
info: i,
|
|
4177
4177
|
ctaLabel: f,
|
|
4178
|
-
onStart:
|
|
4178
|
+
onStart: l,
|
|
4179
4179
|
isLoading: g = !1,
|
|
4180
4180
|
className: d
|
|
4181
4181
|
}) {
|
|
4182
4182
|
const { t: b } = K(), m = we();
|
|
4183
|
-
return /* @__PURE__ */ t(
|
|
4183
|
+
return /* @__PURE__ */ t(W.div, { ...m, children: /* @__PURE__ */ u(Y, { className: E("fanfare-start-view", d), "data-slot": "start-view", children: [
|
|
4184
4184
|
/* @__PURE__ */ t(
|
|
4185
4185
|
G,
|
|
4186
4186
|
{
|
|
@@ -4192,11 +4192,11 @@ function Ja({
|
|
|
4192
4192
|
),
|
|
4193
4193
|
/* @__PURE__ */ u(Z, { children: [
|
|
4194
4194
|
o ? /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
|
|
4195
|
-
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: b("
|
|
4195
|
+
/* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: b("duration.opensIn") }),
|
|
4196
4196
|
/* @__PURE__ */ t(pe, { targetDate: o, showDays: !1 })
|
|
4197
4197
|
] }) : null,
|
|
4198
4198
|
i ? /* @__PURE__ */ t(ie, { children: i }) : null,
|
|
4199
|
-
/* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick:
|
|
4199
|
+
/* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: l, disabled: g, loading: g, children: f ?? b("start.cta") })
|
|
4200
4200
|
] }),
|
|
4201
4201
|
/* @__PURE__ */ t(H, {})
|
|
4202
4202
|
] }) });
|
|
@@ -4211,8 +4211,8 @@ function Qa({
|
|
|
4211
4211
|
isLeaving: i = !1,
|
|
4212
4212
|
className: f
|
|
4213
4213
|
}) {
|
|
4214
|
-
const { t:
|
|
4215
|
-
return /* @__PURE__ */ t(
|
|
4214
|
+
const { t: l } = K(), g = e ?? l("waitlist.entered.title"), d = a ?? l("waitlist.entered.description"), b = l("duration.opensIn"), m = s.useMemo(() => r ? r instanceof Date ? r : new Date(r) : null, [r]), v = we();
|
|
4215
|
+
return /* @__PURE__ */ t(W.div, { ...v, children: /* @__PURE__ */ u(Y, { className: E("fanfare-waitlist-view", f), "data-slot": "waitlist-view", children: [
|
|
4216
4216
|
/* @__PURE__ */ t(G, { variant: "success", title: g, description: d }),
|
|
4217
4217
|
/* @__PURE__ */ u(Z, { children: [
|
|
4218
4218
|
m && /* @__PURE__ */ u(ie, { children: [
|
|
@@ -4222,7 +4222,7 @@ function Qa({
|
|
|
4222
4222
|
{
|
|
4223
4223
|
targetDate: m,
|
|
4224
4224
|
onComplete: n,
|
|
4225
|
-
expiredLabel:
|
|
4225
|
+
expiredLabel: l("duration.startingSoon")
|
|
4226
4226
|
}
|
|
4227
4227
|
)
|
|
4228
4228
|
] }),
|
|
@@ -4234,7 +4234,7 @@ function Qa({
|
|
|
4234
4234
|
onClick: o,
|
|
4235
4235
|
disabled: i,
|
|
4236
4236
|
loading: i,
|
|
4237
|
-
children:
|
|
4237
|
+
children: l("waitlist.leave")
|
|
4238
4238
|
}
|
|
4239
4239
|
)
|
|
4240
4240
|
] }),
|
|
@@ -4243,34 +4243,34 @@ function Qa({
|
|
|
4243
4243
|
}
|
|
4244
4244
|
Qa.displayName = "WaitlistView";
|
|
4245
4245
|
function Xa({ open: e, invalid: a, submitting: r, onOpen: n, onClose: o, onSubmit: i }) {
|
|
4246
|
-
const { t: f } = K(), [
|
|
4246
|
+
const { t: f } = K(), [l, g] = ve(""), d = () => {
|
|
4247
4247
|
g(""), n();
|
|
4248
4248
|
};
|
|
4249
4249
|
return e ? /* @__PURE__ */ u("div", { className: "fanfare-upgrade-offer", "data-slot": "upgrade-offer", children: [
|
|
4250
4250
|
/* @__PURE__ */ u("form", { className: "fanfare-upgrade-offer__form", onSubmit: (m) => {
|
|
4251
|
-
m.preventDefault(), !(!
|
|
4251
|
+
m.preventDefault(), !(!l.trim() || r) && i(l.trim());
|
|
4252
4252
|
}, children: [
|
|
4253
4253
|
/* @__PURE__ */ t(
|
|
4254
4254
|
"input",
|
|
4255
4255
|
{
|
|
4256
4256
|
className: "fanfare-upgrade-offer__input",
|
|
4257
4257
|
type: "text",
|
|
4258
|
-
value:
|
|
4258
|
+
value: l,
|
|
4259
4259
|
onChange: (m) => g(m.target.value),
|
|
4260
4260
|
placeholder: f("upgradeOffer.placeholder"),
|
|
4261
4261
|
autoFocus: !0,
|
|
4262
4262
|
disabled: r
|
|
4263
4263
|
}
|
|
4264
4264
|
),
|
|
4265
|
-
/* @__PURE__ */ t("button", { type: "submit", className: "fanfare-upgrade-offer__submit", disabled: r || !
|
|
4266
|
-
/* @__PURE__ */ t("button", { type: "button", className: "fanfare-upgrade-offer__cancel", onClick: o, disabled: r, children: f("
|
|
4265
|
+
/* @__PURE__ */ t("button", { type: "submit", className: "fanfare-upgrade-offer__submit", disabled: r || !l.trim(), children: f(r ? "upgradeOffer.submitting" : "upgradeOffer.submit") }),
|
|
4266
|
+
/* @__PURE__ */ t("button", { type: "button", className: "fanfare-upgrade-offer__cancel", onClick: o, disabled: r, children: f("action.cancel") })
|
|
4267
4267
|
] }),
|
|
4268
4268
|
a && !r ? /* @__PURE__ */ t("p", { className: "fanfare-upgrade-offer__error", children: f("upgradeOffer.invalid") }) : null
|
|
4269
4269
|
] }) : /* @__PURE__ */ t("div", { className: "fanfare-upgrade-offer", "data-slot": "upgrade-offer", children: /* @__PURE__ */ t("button", { type: "button", className: "fanfare-upgrade-offer__link", onClick: d, children: f("upgradeOffer.prompt") }) });
|
|
4270
4270
|
}
|
|
4271
4271
|
Xa.displayName = "UpgradeOffer";
|
|
4272
|
-
const
|
|
4273
|
-
function
|
|
4272
|
+
const go = qe({});
|
|
4273
|
+
function mo(e) {
|
|
4274
4274
|
return "mechanism" in e && e.mechanism === "auction" && "bid" in e;
|
|
4275
4275
|
}
|
|
4276
4276
|
function Ee(e) {
|
|
@@ -4279,36 +4279,36 @@ function Ee(e) {
|
|
|
4279
4279
|
function va(e) {
|
|
4280
4280
|
return Ee(e);
|
|
4281
4281
|
}
|
|
4282
|
-
function
|
|
4282
|
+
function ho(e) {
|
|
4283
4283
|
return e?.phase === "enterable" && Ee(e.mechanism);
|
|
4284
4284
|
}
|
|
4285
|
-
function
|
|
4285
|
+
function wo(e) {
|
|
4286
4286
|
return e?.phase === "participating" && Ee(e.mechanism);
|
|
4287
4287
|
}
|
|
4288
|
-
function
|
|
4288
|
+
function vo(e) {
|
|
4289
4289
|
return e?.phase === "granted";
|
|
4290
4290
|
}
|
|
4291
4291
|
function St(e) {
|
|
4292
4292
|
return e?.journeyStage === "routed" ? e.sequence : void 0;
|
|
4293
4293
|
}
|
|
4294
|
-
function
|
|
4294
|
+
function bo(e, a) {
|
|
4295
4295
|
const r = St(e);
|
|
4296
4296
|
return r && "mechanism" in r && va(r.mechanism) ? r.mechanism : a?.phase === "participating" && "consumer" in a && "mechanism" in a.consumer && va(a.consumer.mechanism) ? a.consumer.mechanism : null;
|
|
4297
4297
|
}
|
|
4298
|
-
function
|
|
4298
|
+
function xo(e) {
|
|
4299
4299
|
const a = St(e);
|
|
4300
4300
|
if (!(!a || !("distribution" in a)))
|
|
4301
4301
|
return a.distribution;
|
|
4302
4302
|
}
|
|
4303
|
-
function
|
|
4303
|
+
function yo(e) {
|
|
4304
4304
|
const a = St(e);
|
|
4305
4305
|
if (!(!a || !("consumer" in a)))
|
|
4306
4306
|
return a.consumer;
|
|
4307
4307
|
}
|
|
4308
|
-
function
|
|
4308
|
+
function ko(e, a) {
|
|
4309
4309
|
return e ? "distributionId" in e && typeof e.distributionId == "string" && e.distributionId ? e.distributionId : e.id ?? a ?? null : a ?? null;
|
|
4310
4310
|
}
|
|
4311
|
-
function
|
|
4311
|
+
function _o({
|
|
4312
4312
|
experienceId: e,
|
|
4313
4313
|
autoStart: a = !1,
|
|
4314
4314
|
accessCode: r,
|
|
@@ -4316,34 +4316,39 @@ function ko({
|
|
|
4316
4316
|
theme: o,
|
|
4317
4317
|
variant: i,
|
|
4318
4318
|
slots: f,
|
|
4319
|
-
children:
|
|
4319
|
+
children: l,
|
|
4320
4320
|
checkoutUrl: g,
|
|
4321
4321
|
onJourneyChange: d,
|
|
4322
4322
|
onGranted: b,
|
|
4323
4323
|
onError: m,
|
|
4324
4324
|
className: v
|
|
4325
4325
|
}) {
|
|
4326
|
-
const
|
|
4326
|
+
const h = Nt(), { t: x } = K(), C = B((k, _) => x(k, _), [x]), { journey: c, view: w, snapshot: p, fanfareError: D, start: V } = Sa(e, {
|
|
4327
4327
|
autoStart: a,
|
|
4328
4328
|
accessCode: r,
|
|
4329
4329
|
autoEnterWaitlist: n
|
|
4330
|
-
}), [T,
|
|
4330
|
+
}), [T, y] = s.useState(!1), [N, S] = s.useState(!1), [M, A] = s.useState(!1), [I, O] = s.useState(!1), [$, fe] = s.useState(!1), [ce, L] = s.useState(null), [J, ne] = s.useState(!1), [se, de] = s.useState(!1), [ee, P] = s.useState(!1), te = w?.journeyStage ?? null, me = w?.journeyStage === "routed" ? w : void 0, _e = me?.offers.some((k) => k.gates.some((_) => _.type === "access_code")) ?? !1, Re = w?.journeyStage === "routed" ? _e || J : w?.journeyStage === "routing" && J, ue = St(p), q = ue?.phase ?? me?.sequence.phase ?? null, Ne = ce, xe = Ne ? ra(Ne, C) : null, st = p?.experience?.experience?.theme, We = o ?? st, lt = i ?? o?.variant ?? st?.variant, ye = X(() => p ? xa(p) : [], [p]);
|
|
4331
4331
|
s.useEffect(() => {
|
|
4332
4332
|
p && d && d(p);
|
|
4333
4333
|
}, [p, d]), s.useEffect(() => {
|
|
4334
|
-
|
|
4335
|
-
}, [
|
|
4334
|
+
Ne && m && m(Ne);
|
|
4335
|
+
}, [Ne, m]);
|
|
4336
4336
|
const F = B(
|
|
4337
4337
|
(k) => {
|
|
4338
|
-
const _ = mt(k)
|
|
4339
|
-
if (
|
|
4340
|
-
|
|
4338
|
+
const _ = mt(k);
|
|
4339
|
+
if (_.quietable) {
|
|
4340
|
+
L(null), m?.(_);
|
|
4341
|
+
return;
|
|
4342
|
+
}
|
|
4343
|
+
const { disposition: R } = vr(_.code, _.status, _.action), ke = c?.view$.get();
|
|
4344
|
+
if (R === "RESTART" && (ke?.journeyStage === "gated" || ke?.journeyStage === "routed")) {
|
|
4345
|
+
m?.(_), ke.reroute().catch((he) => L(mt(he)));
|
|
4341
4346
|
return;
|
|
4342
4347
|
}
|
|
4343
4348
|
L(_);
|
|
4344
4349
|
},
|
|
4345
|
-
[
|
|
4346
|
-
),
|
|
4350
|
+
[c, m]
|
|
4351
|
+
), ze = B(
|
|
4347
4352
|
(k) => {
|
|
4348
4353
|
const _ = mt(k), R = ra(_, C);
|
|
4349
4354
|
throw R.disposition === "INLINE" || R.disposition === "STEP_RESET" ? m?.(_) : F(_), new Error(R.description);
|
|
@@ -4358,34 +4363,34 @@ function ko({
|
|
|
4358
4363
|
D !== Fe.current && (Fe.current = D, F(D));
|
|
4359
4364
|
}, [D, F]);
|
|
4360
4365
|
const Le = B(async () => {
|
|
4361
|
-
|
|
4366
|
+
y(!0), L(null);
|
|
4362
4367
|
try {
|
|
4363
4368
|
await V();
|
|
4364
4369
|
} catch {
|
|
4365
4370
|
} finally {
|
|
4366
|
-
|
|
4371
|
+
y(!1);
|
|
4367
4372
|
}
|
|
4368
4373
|
}, [V]), [Ae, He] = s.useState(null), ct = B(
|
|
4369
4374
|
async (k, _) => {
|
|
4370
4375
|
L(null);
|
|
4371
4376
|
try {
|
|
4372
|
-
_ === "email" ? await
|
|
4377
|
+
_ === "email" ? await h.auth.requestOtp({ email: k }) : await h.auth.requestOtp({ phone: k }), He({ value: k, type: _ });
|
|
4373
4378
|
} catch (R) {
|
|
4374
|
-
|
|
4379
|
+
ze(R);
|
|
4375
4380
|
}
|
|
4376
4381
|
},
|
|
4377
|
-
[
|
|
4382
|
+
[ze, h]
|
|
4378
4383
|
), dt = B(
|
|
4379
4384
|
async (k) => {
|
|
4380
|
-
if (!
|
|
4385
|
+
if (!c || !Ae) return;
|
|
4381
4386
|
L(null);
|
|
4382
4387
|
try {
|
|
4383
|
-
Ae.type === "email" ? await
|
|
4388
|
+
Ae.type === "email" ? await h.auth.verifyOtp({ email: Ae.value, code: k }) : await h.auth.verifyOtp({ phone: Ae.value, code: k });
|
|
4384
4389
|
} catch (R) {
|
|
4385
|
-
|
|
4390
|
+
ze(R);
|
|
4386
4391
|
}
|
|
4387
4392
|
He(null);
|
|
4388
|
-
const _ =
|
|
4393
|
+
const _ = c.view$.get();
|
|
4389
4394
|
if (_.journeyStage === "gated")
|
|
4390
4395
|
try {
|
|
4391
4396
|
await _.reroute();
|
|
@@ -4393,26 +4398,26 @@ function ko({
|
|
|
4393
4398
|
F(R);
|
|
4394
4399
|
}
|
|
4395
4400
|
},
|
|
4396
|
-
[
|
|
4401
|
+
[ze, F, h, c, Ae]
|
|
4397
4402
|
), Ke = B(
|
|
4398
4403
|
async (k) => {
|
|
4399
|
-
if (
|
|
4404
|
+
if (c) {
|
|
4400
4405
|
L(null);
|
|
4401
4406
|
try {
|
|
4402
|
-
const _ =
|
|
4407
|
+
const _ = c.view$.get();
|
|
4403
4408
|
_.journeyStage === "gated" && await _.reroute({ accessCode: k });
|
|
4404
4409
|
} catch (_) {
|
|
4405
4410
|
F(_);
|
|
4406
4411
|
}
|
|
4407
4412
|
}
|
|
4408
4413
|
},
|
|
4409
|
-
[F,
|
|
4410
|
-
),
|
|
4414
|
+
[F, c]
|
|
4415
|
+
), U = B(
|
|
4411
4416
|
async (k) => {
|
|
4412
|
-
if (
|
|
4417
|
+
if (c) {
|
|
4413
4418
|
P(!0), de(!1);
|
|
4414
4419
|
try {
|
|
4415
|
-
const _ =
|
|
4420
|
+
const _ = c.view$.get();
|
|
4416
4421
|
if (_.journeyStage !== "routed") return;
|
|
4417
4422
|
switch ((await _.submitAccessCode(k)).outcome) {
|
|
4418
4423
|
case "advanced":
|
|
@@ -4432,36 +4437,36 @@ function ko({
|
|
|
4432
4437
|
}
|
|
4433
4438
|
}
|
|
4434
4439
|
},
|
|
4435
|
-
[F,
|
|
4440
|
+
[F, c]
|
|
4436
4441
|
), Se = B(async () => {
|
|
4437
|
-
if (
|
|
4442
|
+
if (c) {
|
|
4438
4443
|
S(!0), L(null);
|
|
4439
4444
|
try {
|
|
4440
|
-
const k =
|
|
4441
|
-
k.journeyStage === "routed" && k.sequence.phase === "scheduled" && await k.
|
|
4445
|
+
const k = c.view$.get();
|
|
4446
|
+
k.journeyStage === "routed" && k.sequence.phase === "scheduled" && await k.waitlist?.join();
|
|
4442
4447
|
} catch (k) {
|
|
4443
4448
|
F(k);
|
|
4444
4449
|
} finally {
|
|
4445
4450
|
S(!1);
|
|
4446
4451
|
}
|
|
4447
4452
|
}
|
|
4448
|
-
}, [F,
|
|
4449
|
-
if (
|
|
4453
|
+
}, [F, c]), Pe = B(async () => {
|
|
4454
|
+
if (c) {
|
|
4450
4455
|
A(!0), L(null);
|
|
4451
4456
|
try {
|
|
4452
|
-
const k =
|
|
4453
|
-
k.journeyStage === "routed" && k.sequence.phase === "scheduled" && await k.
|
|
4457
|
+
const k = c.view$.get();
|
|
4458
|
+
k.journeyStage === "routed" && k.sequence.phase === "scheduled" && await k.waitlist?.leave();
|
|
4454
4459
|
} catch (k) {
|
|
4455
4460
|
F(k);
|
|
4456
4461
|
} finally {
|
|
4457
4462
|
A(!1);
|
|
4458
4463
|
}
|
|
4459
4464
|
}
|
|
4460
|
-
}, [F,
|
|
4461
|
-
if (!
|
|
4462
|
-
const k =
|
|
4465
|
+
}, [F, c]), Ze = B(async () => {
|
|
4466
|
+
if (!c) return;
|
|
4467
|
+
const k = c.view$.get();
|
|
4463
4468
|
k.journeyStage === "routed" && k.sequence.phase === "enterable" && "enter" in k.sequence && await k.sequence.enter();
|
|
4464
|
-
}, [
|
|
4469
|
+
}, [c]), De = B(async () => {
|
|
4465
4470
|
O(!0), L(null);
|
|
4466
4471
|
try {
|
|
4467
4472
|
await Ze();
|
|
@@ -4471,10 +4476,10 @@ function ko({
|
|
|
4471
4476
|
O(!1);
|
|
4472
4477
|
}
|
|
4473
4478
|
}, [Ze, F]), Ve = B(async () => {
|
|
4474
|
-
if (
|
|
4479
|
+
if (c) {
|
|
4475
4480
|
fe(!0), L(null);
|
|
4476
4481
|
try {
|
|
4477
|
-
const k =
|
|
4482
|
+
const k = c.view$.get();
|
|
4478
4483
|
k.journeyStage === "routed" && k.sequence.phase === "participating" && "leave" in k.sequence && await k.sequence.leave();
|
|
4479
4484
|
} catch (k) {
|
|
4480
4485
|
F(k);
|
|
@@ -4482,35 +4487,35 @@ function ko({
|
|
|
4482
4487
|
fe(!1);
|
|
4483
4488
|
}
|
|
4484
4489
|
}
|
|
4485
|
-
}, [F,
|
|
4486
|
-
if (
|
|
4490
|
+
}, [F, c]), er = B(async () => {
|
|
4491
|
+
if (c) {
|
|
4487
4492
|
L(null);
|
|
4488
4493
|
try {
|
|
4489
|
-
const k =
|
|
4494
|
+
const k = c.view$.get();
|
|
4490
4495
|
k.journeyStage === "routed" && k.sequence.phase === "participating" && "complete" in k.sequence && await k.sequence.complete();
|
|
4491
4496
|
} catch (k) {
|
|
4492
4497
|
F(k);
|
|
4493
4498
|
}
|
|
4494
4499
|
}
|
|
4495
|
-
}, [F,
|
|
4500
|
+
}, [F, c]), $t = B(
|
|
4496
4501
|
async (k) => {
|
|
4497
|
-
if (
|
|
4502
|
+
if (c) {
|
|
4498
4503
|
L(null);
|
|
4499
4504
|
try {
|
|
4500
|
-
const _ =
|
|
4501
|
-
_.journeyStage === "routed" &&
|
|
4505
|
+
const _ = c.view$.get();
|
|
4506
|
+
_.journeyStage === "routed" && mo(_.sequence) && await _.sequence.bid(k);
|
|
4502
4507
|
} catch (_) {
|
|
4503
4508
|
F(_);
|
|
4504
4509
|
}
|
|
4505
4510
|
}
|
|
4506
4511
|
},
|
|
4507
|
-
[F,
|
|
4508
|
-
), [tr, qt] = s.useState(!1), [ar,
|
|
4512
|
+
[F, c]
|
|
4513
|
+
), [tr, qt] = s.useState(!1), [ar, Ut] = s.useState(!1), [rr, Wt] = s.useState(!1), Ht = B(
|
|
4509
4514
|
async (k, _) => {
|
|
4510
|
-
if (
|
|
4515
|
+
if (c) {
|
|
4511
4516
|
L(null), qt(!0);
|
|
4512
4517
|
try {
|
|
4513
|
-
const R =
|
|
4518
|
+
const R = c.view$.get();
|
|
4514
4519
|
R.journeyStage === "routed" && R.sequence.phase === "enterable" && "book" in R.sequence && await R.sequence.book(k, _);
|
|
4515
4520
|
} catch (R) {
|
|
4516
4521
|
F(R);
|
|
@@ -4519,77 +4524,77 @@ function ko({
|
|
|
4519
4524
|
}
|
|
4520
4525
|
}
|
|
4521
4526
|
},
|
|
4522
|
-
[F,
|
|
4527
|
+
[F, c]
|
|
4523
4528
|
), Kt = B(
|
|
4524
4529
|
async (k) => {
|
|
4525
|
-
if (
|
|
4526
|
-
L(null),
|
|
4530
|
+
if (c) {
|
|
4531
|
+
L(null), Ut(!0);
|
|
4527
4532
|
try {
|
|
4528
|
-
const _ =
|
|
4533
|
+
const _ = c.view$.get();
|
|
4529
4534
|
_.journeyStage === "routed" && _.sequence.phase === "participating" && "cancel" in _.sequence && await _.sequence.cancel(k);
|
|
4530
4535
|
} catch (_) {
|
|
4531
4536
|
F(_);
|
|
4532
4537
|
} finally {
|
|
4533
|
-
|
|
4538
|
+
Ut(!1);
|
|
4534
4539
|
}
|
|
4535
4540
|
}
|
|
4536
4541
|
},
|
|
4537
|
-
[F,
|
|
4542
|
+
[F, c]
|
|
4538
4543
|
), Zt = B(
|
|
4539
4544
|
async (k, _) => {
|
|
4540
|
-
if (
|
|
4541
|
-
L(null),
|
|
4545
|
+
if (c) {
|
|
4546
|
+
L(null), Wt(!0);
|
|
4542
4547
|
try {
|
|
4543
|
-
const R =
|
|
4548
|
+
const R = c.view$.get();
|
|
4544
4549
|
R.journeyStage === "routed" && R.sequence.phase === "participating" && "reschedule" in R.sequence && await R.sequence.reschedule(k, _);
|
|
4545
4550
|
} catch (R) {
|
|
4546
4551
|
F(R);
|
|
4547
4552
|
} finally {
|
|
4548
|
-
|
|
4553
|
+
Wt(!1);
|
|
4549
4554
|
}
|
|
4550
4555
|
}
|
|
4551
4556
|
},
|
|
4552
|
-
[F,
|
|
4557
|
+
[F, c]
|
|
4553
4558
|
), Ye = B(async () => {
|
|
4554
4559
|
await Le();
|
|
4555
4560
|
}, [Le]), Yt = B(
|
|
4556
4561
|
async (k) => {
|
|
4557
|
-
if (
|
|
4562
|
+
if (c) {
|
|
4558
4563
|
L(null);
|
|
4559
4564
|
try {
|
|
4560
|
-
const _ =
|
|
4561
|
-
_?.type === "bot_check" && _.challenge && await
|
|
4562
|
-
const R =
|
|
4565
|
+
const _ = ye.find((ke) => ke.type === "bot_check");
|
|
4566
|
+
_?.type === "bot_check" && _.challenge && await h.challenges.verify({ challengeId: _.challenge.id, token: k });
|
|
4567
|
+
const R = c.view$.get();
|
|
4563
4568
|
R.journeyStage === "gated" && await R.reroute();
|
|
4564
4569
|
} catch (_) {
|
|
4565
4570
|
F(_);
|
|
4566
4571
|
}
|
|
4567
4572
|
}
|
|
4568
4573
|
},
|
|
4569
|
-
[F,
|
|
4574
|
+
[F, h, c, ye]
|
|
4570
4575
|
), Gt = B(() => {
|
|
4571
|
-
if (!
|
|
4576
|
+
if (!c) return;
|
|
4572
4577
|
L(null);
|
|
4573
|
-
const k =
|
|
4578
|
+
const k = c.view$.get();
|
|
4574
4579
|
k.journeyStage === "gated" && k.retry().catch(F);
|
|
4575
|
-
}, [F,
|
|
4580
|
+
}, [F, c]), z = X(() => w?.journeyStage === "routed" && "sequence" in w ? w.sequence : void 0, [w]), Ge = X(() => z?.phase === "scheduled" && w?.journeyStage === "routed" ? w.waitlist : void 0, [z, w]), Ce = bo(p, z), oe = xo(p), nr = yo(p), Jt = ko(nr, oe?.id), Ie = ue && "grant" in ue && ue.grant ? ue.grant : void 0, Je = ue && "outcome" in ue && ue.outcome ? ue.outcome : void 0;
|
|
4576
4581
|
s.useEffect(() => {
|
|
4577
4582
|
Ie?.token && b && b(Ie.token);
|
|
4578
4583
|
}, [Ie?.token, b]);
|
|
4579
4584
|
const or = X(() => Ee(Ce) ? Ce : Ee(oe?.type) ? oe.type : null, [oe?.type, Ce]), Ct = X(() => Ee(Ce) ? Ce : null, [Ce]), Qt = X(() => Ee(Ce) ? Ce : Ee(oe?.type) ? oe.type : null, [oe?.type, Ce]), Xt = X(() => Ge?.status === "not_waitlisted" && typeof Ge.join == "function", [Ge]), Qe = X(() => {
|
|
4580
|
-
if (
|
|
4581
|
-
if (
|
|
4582
|
-
const k =
|
|
4585
|
+
if (te === "routing") return "loading";
|
|
4586
|
+
if (te === "gated" && ye.length > 0) {
|
|
4587
|
+
const k = ye[0];
|
|
4583
4588
|
if (k.type === "authentication") return "auth";
|
|
4584
4589
|
if (k.type === "access_code") return "access_code";
|
|
4585
4590
|
}
|
|
4586
4591
|
return "none";
|
|
4587
|
-
}, [
|
|
4588
|
-
if (
|
|
4589
|
-
}, [
|
|
4590
|
-
if (!(!
|
|
4592
|
+
}, [te, ye]), ut = X(() => {
|
|
4593
|
+
if (te === "routing") return x("loading.findingPlace");
|
|
4594
|
+
}, [te, x]), Be = X(() => {
|
|
4595
|
+
if (!(!c || q !== "participating" || !z || z.phase !== "participating" || !("display$" in z)))
|
|
4591
4596
|
return z.display$;
|
|
4592
|
-
}, [
|
|
4597
|
+
}, [c, q, z]), pt = je(Be ?? go), fr = p?.degraded === !0 && te === "routed" && !xe, ea = X(() => {
|
|
4593
4598
|
const k = oe?.details?.type === "auction" ? oe.details : void 0, _ = z?.phase === "participating" && z.mechanism === "auction" ? z.consumer : void 0, R = pt;
|
|
4594
4599
|
if (!(!k && !_ && !R))
|
|
4595
4600
|
return {
|
|
@@ -4602,23 +4607,23 @@ function ko({
|
|
|
4602
4607
|
minNextBid: R?.minNextBid ?? k?.minNextBid,
|
|
4603
4608
|
bidIncrement: R?.bidIncrement ?? k?.bidIncrement
|
|
4604
4609
|
};
|
|
4605
|
-
}, [pt, z, oe?.details]), Oe = X(() => z?.phase === "scheduled" && z.startsAt ? new Date(z.startsAt) : oe?.opensAt ? new Date(oe.opensAt) : void 0, [z, oe?.opensAt]),
|
|
4610
|
+
}, [pt, z, oe?.details]), Oe = X(() => z?.phase === "scheduled" && z.startsAt ? new Date(z.startsAt) : oe?.opensAt ? new Date(oe.opensAt) : void 0, [z, oe?.opensAt]), ir = X(() => {
|
|
4606
4611
|
if (!(q !== "participating" || Ct !== "queue"))
|
|
4607
4612
|
return pt?.position;
|
|
4608
4613
|
}, [pt, Ct, q]);
|
|
4609
|
-
if (
|
|
4610
|
-
return /* @__PURE__ */ t(Rt, { theme:
|
|
4611
|
-
journey:
|
|
4612
|
-
view:
|
|
4614
|
+
if (l)
|
|
4615
|
+
return /* @__PURE__ */ t(Rt, { theme: We, variant: lt, children: /* @__PURE__ */ t("div", { className: E("fanfare-experience-widget", v), "data-slot": "experience-widget", children: l({
|
|
4616
|
+
journey: c,
|
|
4617
|
+
view: w,
|
|
4613
4618
|
snapshot: p,
|
|
4614
|
-
error:
|
|
4619
|
+
error: xe?.description ?? null,
|
|
4615
4620
|
start: Le,
|
|
4616
4621
|
isStarting: T
|
|
4617
4622
|
}) }) });
|
|
4618
|
-
const le = { snapshot: p, view:
|
|
4619
|
-
if (
|
|
4620
|
-
return f?.error ? f.error({ ...le, error:
|
|
4621
|
-
if (
|
|
4623
|
+
const le = { snapshot: p, view: w, error: xe?.description ?? null }, sr = () => {
|
|
4624
|
+
if (xe)
|
|
4625
|
+
return f?.error ? f.error({ ...le, error: xe.description, onRetry: Ye }) : /* @__PURE__ */ t(et, { error: xe.description, title: xe.title, onRetry: Ye });
|
|
4626
|
+
if (te === "ready")
|
|
4622
4627
|
return f?.start ? f.start({ ...le, onStart: Le, isStarting: T }) : /* @__PURE__ */ t(Ja, { onStart: Le, isLoading: T });
|
|
4623
4628
|
if (Qe !== "none")
|
|
4624
4629
|
return Qe === "auth" && f?.auth ? f.auth({
|
|
@@ -4638,8 +4643,8 @@ function ko({
|
|
|
4638
4643
|
onAccessCodeSubmit: Ke
|
|
4639
4644
|
}
|
|
4640
4645
|
);
|
|
4641
|
-
if (
|
|
4642
|
-
const k =
|
|
4646
|
+
if (te === "gated" && ye[0]?.type === "bot_check") {
|
|
4647
|
+
const k = ye[0], _ = k.challenge ?? null, R = k.mitigation;
|
|
4643
4648
|
return f?.challenge ? f.challenge({
|
|
4644
4649
|
...le,
|
|
4645
4650
|
challenge: _,
|
|
@@ -4647,7 +4652,7 @@ function ko({
|
|
|
4647
4652
|
onVerifyToken: Yt,
|
|
4648
4653
|
onRetry: Gt
|
|
4649
4654
|
}) : /* @__PURE__ */ t(
|
|
4650
|
-
|
|
4655
|
+
za,
|
|
4651
4656
|
{
|
|
4652
4657
|
challenge: _,
|
|
4653
4658
|
botMitigation: R,
|
|
@@ -4657,12 +4662,12 @@ function ko({
|
|
|
4657
4662
|
}
|
|
4658
4663
|
);
|
|
4659
4664
|
}
|
|
4660
|
-
if (
|
|
4665
|
+
if (te === "routed") {
|
|
4661
4666
|
if (q === "unavailable")
|
|
4662
4667
|
return f?.ended ? f.ended({
|
|
4663
4668
|
...le,
|
|
4664
4669
|
reason: z?.phase === "unavailable" ? z.reason ?? "unavailable" : "unavailable"
|
|
4665
|
-
}) : /* @__PURE__ */ t(Fa, { title:
|
|
4670
|
+
}) : /* @__PURE__ */ t(Fa, { title: x("widget.noSequence.title"), message: x("widget.noSequence.message") });
|
|
4666
4671
|
if (q === "scheduled")
|
|
4667
4672
|
return Ge && Ge.status !== "not_waitlisted" ? f?.waitlist ? f.waitlist({
|
|
4668
4673
|
...le,
|
|
@@ -4685,19 +4690,19 @@ function ko({
|
|
|
4685
4690
|
}
|
|
4686
4691
|
);
|
|
4687
4692
|
if (q === "enterable" || q === "participating") {
|
|
4688
|
-
const k = q === "enterable" ? or : Ct, _ = q === "participating" ? Jt : oe?.id, R = z?.phase === "enterable" && "enter" in z && typeof z.enter == "function",
|
|
4689
|
-
if (q === "enterable" && f?.enterable &&
|
|
4693
|
+
const k = q === "enterable" ? or : Ct, _ = q === "participating" ? Jt : oe?.id, R = z?.phase === "enterable" && "enter" in z && typeof z.enter == "function", ke = z?.phase === "participating" && "leave" in z;
|
|
4694
|
+
if (q === "enterable" && f?.enterable && ho(z))
|
|
4690
4695
|
return f.enterable({
|
|
4691
4696
|
...le,
|
|
4692
4697
|
sequence: z,
|
|
4693
4698
|
participationType: z.mechanism
|
|
4694
4699
|
});
|
|
4695
|
-
if (q === "participating" && f?.participating &&
|
|
4700
|
+
if (q === "participating" && f?.participating && wo(z))
|
|
4696
4701
|
return f.participating({
|
|
4697
4702
|
...le,
|
|
4698
4703
|
sequence: z,
|
|
4699
4704
|
participationType: z.mechanism,
|
|
4700
|
-
position:
|
|
4705
|
+
position: ir
|
|
4701
4706
|
});
|
|
4702
4707
|
const he = oe?.details;
|
|
4703
4708
|
if (_)
|
|
@@ -4710,7 +4715,7 @@ function ko({
|
|
|
4710
4715
|
display$: Be,
|
|
4711
4716
|
sequencePhase: q,
|
|
4712
4717
|
canEnter: R,
|
|
4713
|
-
canLeave:
|
|
4718
|
+
canLeave: ke,
|
|
4714
4719
|
onEnter: De,
|
|
4715
4720
|
onLeave: Ve,
|
|
4716
4721
|
isEntering: I,
|
|
@@ -4727,7 +4732,7 @@ function ko({
|
|
|
4727
4732
|
display$: Be,
|
|
4728
4733
|
sequencePhase: q,
|
|
4729
4734
|
canEnter: R,
|
|
4730
|
-
canLeave:
|
|
4735
|
+
canLeave: ke,
|
|
4731
4736
|
onEnter: De,
|
|
4732
4737
|
onLeave: Ve,
|
|
4733
4738
|
isEntering: I,
|
|
@@ -4745,7 +4750,7 @@ function ko({
|
|
|
4745
4750
|
fallbackState: ea,
|
|
4746
4751
|
sequencePhase: q,
|
|
4747
4752
|
canEnter: R,
|
|
4748
|
-
canLeave:
|
|
4753
|
+
canLeave: ke,
|
|
4749
4754
|
onEnter: De,
|
|
4750
4755
|
onLeave: Ve,
|
|
4751
4756
|
onBid: $t,
|
|
@@ -4765,7 +4770,7 @@ function ko({
|
|
|
4765
4770
|
display$: Be,
|
|
4766
4771
|
sequencePhase: q,
|
|
4767
4772
|
canEnter: R,
|
|
4768
|
-
canLeave:
|
|
4773
|
+
canLeave: ke,
|
|
4769
4774
|
onEnter: De,
|
|
4770
4775
|
onLeave: Ve,
|
|
4771
4776
|
onComplete: er,
|
|
@@ -4800,7 +4805,7 @@ function ko({
|
|
|
4800
4805
|
);
|
|
4801
4806
|
}
|
|
4802
4807
|
}
|
|
4803
|
-
return /* @__PURE__ */ t(et, { error:
|
|
4808
|
+
return /* @__PURE__ */ t(et, { error: x("widget.unsupportedDistribution"), onRetry: Ye });
|
|
4804
4809
|
}
|
|
4805
4810
|
if (q === "settling") {
|
|
4806
4811
|
if (z?.phase !== "settling")
|
|
@@ -4849,7 +4854,7 @@ function ko({
|
|
|
4849
4854
|
}
|
|
4850
4855
|
if (q === "granted") {
|
|
4851
4856
|
const k = Ie?.expiresAt ? new Date(Ie.expiresAt).getTime() : void 0;
|
|
4852
|
-
if (f?.granted &&
|
|
4857
|
+
if (f?.granted && vo(z))
|
|
4853
4858
|
return f.granted({
|
|
4854
4859
|
...le,
|
|
4855
4860
|
sequence: z,
|
|
@@ -4878,7 +4883,7 @@ function ko({
|
|
|
4878
4883
|
case "timed_release":
|
|
4879
4884
|
return /* @__PURE__ */ t(vt, { ..._ });
|
|
4880
4885
|
}
|
|
4881
|
-
return /* @__PURE__ */ t(et, { error:
|
|
4886
|
+
return /* @__PURE__ */ t(et, { error: x("widget.unsupportedDistribution"), onRetry: Ye });
|
|
4882
4887
|
}
|
|
4883
4888
|
if (q === "ended") {
|
|
4884
4889
|
const k = Je?.type ?? (z?.phase === "ended" ? z.outcome.reason : void 0) ?? "unknown";
|
|
@@ -4931,13 +4936,22 @@ function ko({
|
|
|
4931
4936
|
}
|
|
4932
4937
|
);
|
|
4933
4938
|
}
|
|
4934
|
-
return /* @__PURE__ */ t(et, { error:
|
|
4939
|
+
return /* @__PURE__ */ t(et, { error: x("widget.unsupportedDistribution"), onRetry: Ye });
|
|
4935
4940
|
}
|
|
4936
4941
|
}
|
|
4937
4942
|
return f?.loading ? f.loading({ ...le, message: ut }) : /* @__PURE__ */ t(It, { message: ut });
|
|
4938
|
-
},
|
|
4939
|
-
return /* @__PURE__ */ t(Rt, { theme:
|
|
4940
|
-
/* @__PURE__ */ t(rt, { transitionKey:
|
|
4943
|
+
}, lr = `${te ?? "loading"}-${q ?? "unavailable"}`;
|
|
4944
|
+
return /* @__PURE__ */ t(Rt, { theme: We, variant: lt, children: /* @__PURE__ */ u("div", { className: E("fanfare-experience-widget", v), "data-slot": "experience-widget", children: [
|
|
4945
|
+
/* @__PURE__ */ t(rt, { transitionKey: lr, children: sr() }),
|
|
4946
|
+
fr ? /* @__PURE__ */ t(
|
|
4947
|
+
"div",
|
|
4948
|
+
{
|
|
4949
|
+
className: "fanfare-degraded-indicator ff:mt-3 ff:text-center ff:text-xs ff:text-muted",
|
|
4950
|
+
"data-slot": "degraded-indicator",
|
|
4951
|
+
role: "status",
|
|
4952
|
+
children: x("status.liveUpdatesPaused")
|
|
4953
|
+
}
|
|
4954
|
+
) : null,
|
|
4941
4955
|
Re ? /* @__PURE__ */ t(
|
|
4942
4956
|
Xa,
|
|
4943
4957
|
{
|
|
@@ -4950,14 +4964,14 @@ function ko({
|
|
|
4950
4964
|
onClose: () => {
|
|
4951
4965
|
de(!1), ne(!1);
|
|
4952
4966
|
},
|
|
4953
|
-
onSubmit:
|
|
4967
|
+
onSubmit: U
|
|
4954
4968
|
}
|
|
4955
4969
|
) : null
|
|
4956
4970
|
] }) });
|
|
4957
4971
|
}
|
|
4958
|
-
|
|
4959
|
-
const _o = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--ff-font-sans:"Inter",system-ui,sans-serif;--ff-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ff-color-neutral-50:oklch(98.5% 0 0);--ff-color-neutral-200:oklch(92.2% 0 0);--ff-color-neutral-300:oklch(87% 0 0);--ff-color-neutral-500:oklch(55.6% 0 0);--ff-color-white:#fff;--ff-spacing:.25rem;--ff-container-sm:24rem;--ff-text-xs:.75rem;--ff-text-xs--line-height:calc(1/.75);--ff-text-sm:.875rem;--ff-text-sm--line-height:calc(1.25/.875);--ff-text-base:1rem;--ff-text-base--line-height: 1.5 ;--ff-text-lg:1.125rem;--ff-text-lg--line-height:calc(1.75/1.125);--ff-text-xl:1.25rem;--ff-text-xl--line-height:calc(1.75/1.25);--ff-text-2xl:1.5rem;--ff-text-2xl--line-height:calc(2/1.5);--ff-text-3xl:1.875rem;--ff-text-3xl--line-height: 1.2 ;--ff-text-4xl:2.25rem;--ff-text-4xl--line-height:calc(2.5/2.25);--ff-font-weight-extralight:200;--ff-font-weight-light:300;--ff-font-weight-normal:400;--ff-font-weight-medium:500;--ff-font-weight-semibold:600;--ff-font-weight-bold:700;--ff-font-weight-extrabold:800;--ff-font-weight-black:900;--ff-tracking-tight:-.025em;--ff-tracking-normal:0em;--ff-tracking-wide:.025em;--ff-tracking-wider:.05em;--ff-tracking-widest:.1em;--ff-leading-tight:1.25;--ff-radius-md:.375rem;--ff-radius-lg:.5rem;--ff-radius-xl:.75rem;--ff-radius-2xl:1rem;--ff-radius-3xl:1.5rem;--ff-ease-out:cubic-bezier(0,0,.2,1);--ff-animate-spin:spin 1s linear infinite;--ff-animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--ff-default-transition-duration:.15s;--ff-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--ff-default-font-family:var(--ff-font-sans);--ff-default-mono-font-family:var(--ff-font-mono);--ff-color-primary:#1d1f27;--ff-color-primary-foreground:#fff;--ff-color-secondary:#f4f4f5;--ff-color-background:#fff;--ff-color-surface:transparent;--ff-color-surface-foreground:#1d1f27;--ff-color-foreground:#1d1f27;--ff-color-muted:#4b4e56cc;--ff-color-muted-foreground:#4b4e5699;--ff-color-border:#4b4e5666;--ff-color-success:oklch(77% .18 130);--ff-color-success-foreground:#111;--ff-color-warning:oklch(72% .18 65);--ff-color-warning-foreground:#111;--ff-color-danger:oklch(63% .24 25);--ff-color-danger-foreground:#fff;--ff-font-heading:"Inter",system-ui,sans-serif;--ff-text-xxs:.625rem;--ff-text-xxs--line-height:.875rem;--ff-animate-fade-in:fade-in .2s ease-out;--ff-animate-fade-out:fade-out .2s ease-out;--ff-animate-slide-in:slide-in .2s ease-out;--ff-animate-slide-out:slide-out .2s ease-out;--ff-animate-scale-in:scale-in .2s ease-out;--ff-animate-scale-out:scale-out .2s ease-out;--ff-animate-accordion-down:accordion-down .2s ease-out;--ff-animate-accordion-up:accordion-up .2s ease-out;--ff-animate-celebration:celebration-bounce .6s ease-out;--ff-animate-shake:shake .5s ease-out;--ff-animate-pulse-success:pulse-success 1s ease-out}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--ff-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--ff-default-font-feature-settings,normal);font-variation-settings:var(--ff-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--ff-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--ff-default-mono-font-feature-settings,normal);font-variation-settings:var(--ff-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.fanfare-themed{font-family:var(--ff-font-sans);color:var(--ff-color-foreground);background-color:var(--ff-color-surface)}.fanfare-themed *,.fanfare-themed :after,.fanfare-themed :before,.fanfare-themed ::backdrop{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed button:not(:disabled),.fanfare-themed [role=button]:not(:disabled){cursor:pointer}.fanfare-themed :focus-visible{outline:2px solid var(--ff-color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.fanfare-themed *,.fanfare-themed :before,.fanfare-themed :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.fanfare-root{color:var(--ff-color-foreground);background-color:var(--ff-color-surface);font-family:var(--ff-font-sans)}.fanfare-root *,.fanfare-root :after,.fanfare-root :before,.fanfare-root ::backdrop{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-root ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-root button:not(:disabled),.fanfare-root [role=button]:not(:disabled){cursor:pointer}@media(prefers-reduced-motion:reduce){.fanfare-root *,.fanfare-root :before,.fanfare-root :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components;@layer utilities{.ff\\:pointer-events-none{pointer-events:none}.ff\\:absolute{position:absolute}.ff\\:relative{position:relative}.ff\\:inset-0{inset:calc(var(--ff-spacing)*0)}.ff\\:top-1\\/2{top:50%}.ff\\:top-3{top:calc(var(--ff-spacing)*3)}.ff\\:right-2{right:calc(var(--ff-spacing)*2)}.ff\\:left-3{left:calc(var(--ff-spacing)*3)}.ff\\:z-10{z-index:10}.ff\\:-mx-1{margin-inline:calc(var(--ff-spacing)*-1)}.ff\\:mx-2{margin-inline:calc(var(--ff-spacing)*2)}.ff\\:-mt-0\\.5{margin-top:calc(var(--ff-spacing)*-.5)}.ff\\:mt-0\\.5{margin-top:calc(var(--ff-spacing)*.5)}.ff\\:mt-1{margin-top:calc(var(--ff-spacing)*1)}.ff\\:mt-3{margin-top:calc(var(--ff-spacing)*3)}.ff\\:mt-4{margin-top:calc(var(--ff-spacing)*4)}.ff\\:mt-auto{margin-top:auto}.ff\\:mb-1\\.5{margin-bottom:calc(var(--ff-spacing)*1.5)}.ff\\:mb-2{margin-bottom:calc(var(--ff-spacing)*2)}.ff\\:mb-4{margin-bottom:calc(var(--ff-spacing)*4)}.ff\\:mb-6{margin-bottom:calc(var(--ff-spacing)*6)}.ff\\:block{display:block}.ff\\:flex{display:flex}.ff\\:grid{display:grid}.ff\\:inline-block{display:inline-block}.ff\\:inline-flex{display:inline-flex}.ff\\:size-1{width:calc(var(--ff-spacing)*1);height:calc(var(--ff-spacing)*1)}.ff\\:size-1\\.5{width:calc(var(--ff-spacing)*1.5);height:calc(var(--ff-spacing)*1.5)}.ff\\:size-4{width:calc(var(--ff-spacing)*4);height:calc(var(--ff-spacing)*4)}.ff\\:size-5{width:calc(var(--ff-spacing)*5);height:calc(var(--ff-spacing)*5)}.ff\\:size-6{width:calc(var(--ff-spacing)*6);height:calc(var(--ff-spacing)*6)}.ff\\:size-8{width:calc(var(--ff-spacing)*8);height:calc(var(--ff-spacing)*8)}.ff\\:size-10{width:calc(var(--ff-spacing)*10);height:calc(var(--ff-spacing)*10)}.ff\\:h-0\\.5{height:calc(var(--ff-spacing)*.5)}.ff\\:h-1{height:calc(var(--ff-spacing)*1)}.ff\\:h-2{height:calc(var(--ff-spacing)*2)}.ff\\:h-2\\.5{height:calc(var(--ff-spacing)*2.5)}.ff\\:h-3{height:calc(var(--ff-spacing)*3)}.ff\\:h-4{height:calc(var(--ff-spacing)*4)}.ff\\:h-4\\.5{height:calc(var(--ff-spacing)*4.5)}.ff\\:h-5{height:calc(var(--ff-spacing)*5)}.ff\\:h-6{height:calc(var(--ff-spacing)*6)}.ff\\:h-8{height:calc(var(--ff-spacing)*8)}.ff\\:h-10{height:calc(var(--ff-spacing)*10)}.ff\\:h-12{height:calc(var(--ff-spacing)*12)}.ff\\:h-14{height:calc(var(--ff-spacing)*14)}.ff\\:h-16{height:calc(var(--ff-spacing)*16)}.ff\\:h-20{height:calc(var(--ff-spacing)*20)}.ff\\:h-32{height:calc(var(--ff-spacing)*32)}.ff\\:h-\\[480px\\]{height:480px}.ff\\:h-auto{height:auto}.ff\\:h-full{height:100%}.ff\\:max-h-44{max-height:calc(var(--ff-spacing)*44)}.ff\\:max-h-\\[24rem\\]{max-height:24rem}.ff\\:w-1\\/2{width:50%}.ff\\:w-1\\/3{width:33.3333%}.ff\\:w-2\\/3{width:66.6667%}.ff\\:w-3\\/4{width:75%}.ff\\:w-5\\/6{width:83.3333%}.ff\\:w-6{width:calc(var(--ff-spacing)*6)}.ff\\:w-9{width:calc(var(--ff-spacing)*9)}.ff\\:w-10{width:calc(var(--ff-spacing)*10)}.ff\\:w-12{width:calc(var(--ff-spacing)*12)}.ff\\:w-14{width:calc(var(--ff-spacing)*14)}.ff\\:w-16{width:calc(var(--ff-spacing)*16)}.ff\\:w-20{width:calc(var(--ff-spacing)*20)}.ff\\:w-40{width:calc(var(--ff-spacing)*40)}.ff\\:w-72{width:calc(var(--ff-spacing)*72)}.ff\\:w-80{width:calc(var(--ff-spacing)*80)}.ff\\:w-auto{width:auto}.ff\\:w-full{width:100%}.ff\\:max-w-sm{max-width:var(--ff-container-sm)}.ff\\:min-w-0{min-width:calc(var(--ff-spacing)*0)}.ff\\:flex-1{flex:1}.ff\\:shrink-0{flex-shrink:0}.ff\\:origin-center{transform-origin:50%}.ff\\:origin-top-left{transform-origin:0 0}.ff\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:-translate-y-2{--tw-translate-y:calc(var(--ff-spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:animate-\\[skeleton-shimmer_2s_ease-in-out_infinite\\]{animation:2s ease-in-out infinite skeleton-shimmer}.ff\\:animate-\\[skeleton-slide_2s_ease-in-out_infinite\\]{animation:2s ease-in-out infinite skeleton-slide}.ff\\:animate-\\[spin_1\\.2s_cubic-bezier\\(0\\.4\\,0\\,0\\.6\\,1\\)_infinite\\]{animation:1.2s cubic-bezier(.4,0,.6,1) infinite spin}.ff\\:animate-\\[spin_1\\.8s_linear_infinite\\]{animation:1.8s linear infinite spin}.ff\\:animate-accordion-down{animation:var(--ff-animate-accordion-down)}.ff\\:animate-accordion-up{animation:var(--ff-animate-accordion-up)}.ff\\:animate-celebration{animation:var(--ff-animate-celebration)}.ff\\:animate-fade-in{animation:var(--ff-animate-fade-in)}.ff\\:animate-fade-out{animation:var(--ff-animate-fade-out)}.ff\\:animate-none{animation:none}.ff\\:animate-pulse{animation:var(--ff-animate-pulse)}.ff\\:animate-pulse-success{animation:var(--ff-animate-pulse-success)}.ff\\:animate-scale-in{animation:var(--ff-animate-scale-in)}.ff\\:animate-scale-out{animation:var(--ff-animate-scale-out)}.ff\\:animate-shake{animation:var(--ff-animate-shake)}.ff\\:animate-slide-in{animation:var(--ff-animate-slide-in)}.ff\\:animate-slide-out{animation:var(--ff-animate-slide-out)}.ff\\:animate-spin{animation:var(--ff-animate-spin)}.ff\\:cursor-not-allowed{cursor:not-allowed}.ff\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ff\\:flex-col{flex-direction:column}.ff\\:flex-row{flex-direction:row}.ff\\:flex-wrap{flex-wrap:wrap}.ff\\:items-baseline{align-items:baseline}.ff\\:items-center{align-items:center}.ff\\:items-start{align-items:flex-start}.ff\\:justify-between{justify-content:space-between}.ff\\:justify-center{justify-content:center}.ff\\:gap-0\\.5{gap:calc(var(--ff-spacing)*.5)}.ff\\:gap-1{gap:calc(var(--ff-spacing)*1)}.ff\\:gap-1\\.5{gap:calc(var(--ff-spacing)*1.5)}.ff\\:gap-2{gap:calc(var(--ff-spacing)*2)}.ff\\:gap-3{gap:calc(var(--ff-spacing)*3)}.ff\\:gap-4{gap:calc(var(--ff-spacing)*4)}.ff\\:gap-5{gap:calc(var(--ff-spacing)*5)}.ff\\:gap-6{gap:calc(var(--ff-spacing)*6)}.ff\\:gap-10{gap:calc(var(--ff-spacing)*10)}.ff\\:gap-12{gap:calc(var(--ff-spacing)*12)}:where(.ff\\:space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.ff\\:self-end{align-self:flex-end}.ff\\:overflow-hidden{overflow:hidden}.ff\\:overflow-visible{overflow:visible}.ff\\:overflow-x-auto{overflow-x:auto}.ff\\:overflow-y-auto{overflow-y:auto}.ff\\:rounded{border-radius:.25rem}.ff\\:rounded-2xl{border-radius:var(--ff-radius-2xl)}.ff\\:rounded-3xl{border-radius:var(--ff-radius-3xl)}.ff\\:rounded-\\[8px\\]{border-radius:8px}.ff\\:rounded-\\[10px\\]{border-radius:10px}.ff\\:rounded-\\[14px\\]{border-radius:14px}.ff\\:rounded-full{border-radius:3.40282e38px}.ff\\:rounded-lg{border-radius:var(--ff-radius-lg)}.ff\\:rounded-md{border-radius:var(--ff-radius-md)}.ff\\:rounded-none{border-radius:0}.ff\\:rounded-xl{border-radius:var(--ff-radius-xl)}.ff\\:border{border-style:var(--tw-border-style);border-width:1px}.ff\\:border-0{border-style:var(--tw-border-style);border-width:0}.ff\\:border-2{border-style:var(--tw-border-style);border-width:2px}.ff\\:border-3{border-style:var(--tw-border-style);border-width:3px}.ff\\:border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.ff\\:border-\\[2\\.5px\\]{border-style:var(--tw-border-style);border-width:2.5px}.ff\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.ff\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.ff\\:border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.ff\\:border-none{--tw-border-style:none;border-style:none}.ff\\:border-border,.ff\\:border-border\\/40{border-color:var(--ff-color-border)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-border\\/40{border-color:color-mix(in oklab,var(--ff-color-border)40%,transparent)}}.ff\\:border-border\\/50{border-color:var(--ff-color-border)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-border\\/50{border-color:color-mix(in oklab,var(--ff-color-border)50%,transparent)}}.ff\\:border-danger,.ff\\:border-danger\\/50{border-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-danger\\/50{border-color:color-mix(in oklab,var(--ff-color-danger)50%,transparent)}}.ff\\:border-foreground,.ff\\:border-foreground\\/8{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/8{border-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:border-foreground\\/12{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/12{border-color:color-mix(in oklab,var(--ff-color-foreground)12%,transparent)}}.ff\\:border-foreground\\/20{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/20{border-color:color-mix(in oklab,var(--ff-color-foreground)20%,transparent)}}.ff\\:border-foreground\\/\\[0\\.08\\]{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/\\[0\\.08\\]{border-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:border-neutral-200{border-color:var(--ff-color-neutral-200)}.ff\\:border-primary{border-color:var(--ff-color-primary)}.ff\\:border-transparent{border-color:#0000}.ff\\:border-b-danger{border-bottom-color:var(--ff-color-danger)}.ff\\:bg-\\[\\#ff3a00\\]{background-color:#ff3a00}.ff\\:bg-\\[color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_3\\%\\,var\\(--ff-color-background\\)\\)\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-\\[color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_3\\%\\,var\\(--ff-color-background\\)\\)\\]{background-color:color-mix(in oklch,var(--ff-color-foreground)3%,var(--ff-color-background))}}.ff\\:bg-background,.ff\\:bg-background\\/60{background-color:var(--ff-color-background)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-background\\/60{background-color:color-mix(in oklab,var(--ff-color-background)60%,transparent)}}.ff\\:bg-background\\/70{background-color:var(--ff-color-background)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-background\\/70{background-color:color-mix(in oklab,var(--ff-color-background)70%,transparent)}}.ff\\:bg-danger,.ff\\:bg-danger\\/10{background-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-danger\\/10{background-color:color-mix(in oklab,var(--ff-color-danger)10%,transparent)}}.ff\\:bg-foreground\\/5{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/5{background-color:color-mix(in oklab,var(--ff-color-foreground)5%,transparent)}}.ff\\:bg-foreground\\/40{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/40{background-color:color-mix(in oklab,var(--ff-color-foreground)40%,transparent)}}.ff\\:bg-foreground\\/\\[0\\.1\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/\\[0\\.1\\]{background-color:color-mix(in oklab,var(--ff-color-foreground)10%,transparent)}}.ff\\:bg-foreground\\/\\[0\\.08\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/\\[0\\.08\\]{background-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:bg-muted\\/5{background-color:var(--ff-color-muted)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-muted\\/5{background-color:color-mix(in oklab,var(--ff-color-muted)5%,transparent)}}.ff\\:bg-neutral-50{background-color:var(--ff-color-neutral-50)}.ff\\:bg-primary{background-color:var(--ff-color-primary)}.ff\\:bg-primary-foreground{background-color:var(--ff-color-primary-foreground)}.ff\\:bg-primary\\/5{background-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-primary\\/5{background-color:color-mix(in oklab,var(--ff-color-primary)5%,transparent)}}.ff\\:bg-secondary{background-color:var(--ff-color-secondary)}.ff\\:bg-success,.ff\\:bg-success\\/10{background-color:var(--ff-color-success)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-success\\/10{background-color:color-mix(in oklab,var(--ff-color-success)10%,transparent)}}.ff\\:bg-transparent{background-color:#0000}.ff\\:bg-warning,.ff\\:bg-warning\\/10{background-color:var(--ff-color-warning)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-warning\\/10{background-color:color-mix(in oklab,var(--ff-color-warning)10%,transparent)}}.ff\\:bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab,red,red)){.ff\\:bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.ff\\:bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.ff\\:from-primary\\/10{--tw-gradient-from:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:from-primary\\/10{--tw-gradient-from:color-mix(in oklab,var(--ff-color-primary)10%,transparent)}}.ff\\:from-primary\\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.ff\\:to-primary\\/5{--tw-gradient-to:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:to-primary\\/5{--tw-gradient-to:color-mix(in oklab,var(--ff-color-primary)5%,transparent)}}.ff\\:to-primary\\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.ff\\:\\[background-size\\:200\\%_100\\%\\]{background-size:200% 100%}.ff\\:p-0{padding:calc(var(--ff-spacing)*0)}.ff\\:p-4{padding:calc(var(--ff-spacing)*4)}.ff\\:p-5{padding:calc(var(--ff-spacing)*5)}.ff\\:p-6{padding:calc(var(--ff-spacing)*6)}.ff\\:p-8{padding:calc(var(--ff-spacing)*8)}.ff\\:px-0{padding-inline:calc(var(--ff-spacing)*0)}.ff\\:px-2{padding-inline:calc(var(--ff-spacing)*2)}.ff\\:px-2\\.5{padding-inline:calc(var(--ff-spacing)*2.5)}.ff\\:px-3{padding-inline:calc(var(--ff-spacing)*3)}.ff\\:px-4{padding-inline:calc(var(--ff-spacing)*4)}.ff\\:px-5{padding-inline:calc(var(--ff-spacing)*5)}.ff\\:px-6{padding-inline:calc(var(--ff-spacing)*6)}.ff\\:py-0\\.5{padding-block:calc(var(--ff-spacing)*.5)}.ff\\:py-1{padding-block:calc(var(--ff-spacing)*1)}.ff\\:py-1\\.5{padding-block:calc(var(--ff-spacing)*1.5)}.ff\\:py-2{padding-block:calc(var(--ff-spacing)*2)}.ff\\:py-2\\.5{padding-block:calc(var(--ff-spacing)*2.5)}.ff\\:py-3{padding-block:calc(var(--ff-spacing)*3)}.ff\\:py-4{padding-block:calc(var(--ff-spacing)*4)}.ff\\:py-12{padding-block:calc(var(--ff-spacing)*12)}.ff\\:pt-2{padding-top:calc(var(--ff-spacing)*2)}.ff\\:pt-3{padding-top:calc(var(--ff-spacing)*3)}.ff\\:pt-5{padding-top:calc(var(--ff-spacing)*5)}.ff\\:pb-0\\.5{padding-bottom:calc(var(--ff-spacing)*.5)}.ff\\:pb-1{padding-bottom:calc(var(--ff-spacing)*1)}.ff\\:pb-2{padding-bottom:calc(var(--ff-spacing)*2)}.ff\\:pb-8{padding-bottom:calc(var(--ff-spacing)*8)}.ff\\:text-center{text-align:center}.ff\\:text-right{text-align:right}.ff\\:font-heading{font-family:var(--ff-font-heading)}.ff\\:font-mono{font-family:var(--ff-font-mono)}.ff\\:text-2xl{font-size:var(--ff-text-2xl);line-height:var(--tw-leading,var(--ff-text-2xl--line-height))}.ff\\:text-3xl{font-size:var(--ff-text-3xl);line-height:var(--tw-leading,var(--ff-text-3xl--line-height))}.ff\\:text-4xl{font-size:var(--ff-text-4xl);line-height:var(--tw-leading,var(--ff-text-4xl--line-height))}.ff\\:text-base{font-size:var(--ff-text-base);line-height:var(--tw-leading,var(--ff-text-base--line-height))}.ff\\:text-lg{font-size:var(--ff-text-lg);line-height:var(--tw-leading,var(--ff-text-lg--line-height))}.ff\\:text-sm{font-size:var(--ff-text-sm);line-height:var(--tw-leading,var(--ff-text-sm--line-height))}.ff\\:text-xl{font-size:var(--ff-text-xl);line-height:var(--tw-leading,var(--ff-text-xl--line-height))}.ff\\:text-xs{font-size:var(--ff-text-xs);line-height:var(--tw-leading,var(--ff-text-xs--line-height))}.ff\\:text-xxs{font-size:var(--ff-text-xxs);line-height:var(--tw-leading,var(--ff-text-xxs--line-height))}.ff\\:text-\\[2rem\\]{font-size:2rem}.ff\\:text-\\[10\\.5px\\]{font-size:10.5px}.ff\\:text-\\[52px\\]{font-size:52px}.ff\\:leading-none{--tw-leading:1;line-height:1}.ff\\:leading-tight{--tw-leading:var(--ff-leading-tight);line-height:var(--ff-leading-tight)}.ff\\:font-black{--tw-font-weight:var(--ff-font-weight-black);font-weight:var(--ff-font-weight-black)}.ff\\:font-bold{--tw-font-weight:var(--ff-font-weight-bold);font-weight:var(--ff-font-weight-bold)}.ff\\:font-extrabold{--tw-font-weight:var(--ff-font-weight-extrabold);font-weight:var(--ff-font-weight-extrabold)}.ff\\:font-extralight{--tw-font-weight:var(--ff-font-weight-extralight);font-weight:var(--ff-font-weight-extralight)}.ff\\:font-light{--tw-font-weight:var(--ff-font-weight-light);font-weight:var(--ff-font-weight-light)}.ff\\:font-medium{--tw-font-weight:var(--ff-font-weight-medium);font-weight:var(--ff-font-weight-medium)}.ff\\:font-normal{--tw-font-weight:var(--ff-font-weight-normal);font-weight:var(--ff-font-weight-normal)}.ff\\:font-semibold{--tw-font-weight:var(--ff-font-weight-semibold);font-weight:var(--ff-font-weight-semibold)}.ff\\:tracking-\\[-0\\.025em\\]{--tw-tracking:-.025em;letter-spacing:-.025em}.ff\\:tracking-\\[0\\.1em\\]{--tw-tracking:.1em;letter-spacing:.1em}.ff\\:tracking-\\[0\\.08em\\]{--tw-tracking:.08em;letter-spacing:.08em}.ff\\:tracking-\\[0\\.15em\\]{--tw-tracking:.15em;letter-spacing:.15em}.ff\\:tracking-normal{--tw-tracking:var(--ff-tracking-normal);letter-spacing:var(--ff-tracking-normal)}.ff\\:tracking-tight{--tw-tracking:var(--ff-tracking-tight);letter-spacing:var(--ff-tracking-tight)}.ff\\:tracking-wide{--tw-tracking:var(--ff-tracking-wide);letter-spacing:var(--ff-tracking-wide)}.ff\\:tracking-wider{--tw-tracking:var(--ff-tracking-wider);letter-spacing:var(--ff-tracking-wider)}.ff\\:tracking-widest{--tw-tracking:var(--ff-tracking-widest);letter-spacing:var(--ff-tracking-widest)}.ff\\:whitespace-nowrap{white-space:nowrap}.ff\\:text-current{color:currentColor}.ff\\:text-danger{color:var(--ff-color-danger)}.ff\\:text-danger-foreground{color:var(--ff-color-danger-foreground)}.ff\\:text-foreground,.ff\\:text-foreground\\/80{color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:text-foreground\\/80{color:color-mix(in oklab,var(--ff-color-foreground)80%,transparent)}}.ff\\:text-muted{color:var(--ff-color-muted)}.ff\\:text-muted-foreground{color:var(--ff-color-muted-foreground)}.ff\\:text-muted\\/60{color:var(--ff-color-muted)}@supports (color:color-mix(in lab,red,red)){.ff\\:text-muted\\/60{color:color-mix(in oklab,var(--ff-color-muted)60%,transparent)}}.ff\\:text-neutral-300{color:var(--ff-color-neutral-300)}.ff\\:text-neutral-500{color:var(--ff-color-neutral-500)}.ff\\:text-primary{color:var(--ff-color-primary)}.ff\\:text-primary-foreground{color:var(--ff-color-primary-foreground)}.ff\\:text-success{color:var(--ff-color-success)}.ff\\:text-success-foreground{color:var(--ff-color-success-foreground)}.ff\\:text-warning{color:var(--ff-color-warning)}.ff\\:text-warning-foreground{color:var(--ff-color-warning-foreground)}.ff\\:text-white{color:var(--ff-color-white)}.ff\\:uppercase{text-transform:uppercase}.ff\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ff\\:accent-foreground{accent-color:var(--ff-color-foreground)}.ff\\:opacity-0{opacity:0}.ff\\:opacity-25{opacity:.25}.ff\\:opacity-40{opacity:.4}.ff\\:opacity-50{opacity:.5}.ff\\:opacity-60{opacity:.6}.ff\\:opacity-80{opacity:.8}.ff\\:shadow-\\[0_0_10px_-2px_var\\(--ff-color-primary\\)\\]{--tw-shadow:0 0 10px -2px var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_1px_3px_rgba\\(0\\,0\\,0\\,0\\.04\\)\\,0_8px_24px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#0000000a),0 8px 24px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_2px_12px_-3px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\,0_0_12px_-6px_var\\(--ff-color-primary\\)\\]{--tw-shadow:0 2px 12px -3px var(--tw-shadow-color,#00000014),0 0 12px -6px var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_2px_12px_-3px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\]{--tw-shadow:0 2px 12px -3px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[2px_2px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:2px 2px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[3px_3px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:3px 3px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[4px_4px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:4px 4px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[6px_6px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:6px 6px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_-3px_0_rgba\\(0\\,0\\,0\\,0\\.2\\)\\]{--tw-shadow:inset 0 -3px 0 var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\]{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_2px_4px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\]{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_2px_2px_0_var\\(--ff-color-secondary\\)\\]{--tw-shadow:inset 2px 2px 0 var(--tw-shadow-color,var(--ff-color-secondary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_3px_3px_0_var\\(--ff-color-secondary\\)\\]{--tw-shadow:inset 3px 3px 0 var(--tw-shadow-color,var(--ff-color-secondary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.ff\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.ff\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.ff\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.ff\\:ease-out{--tw-ease:var(--ff-ease-out);transition-timing-function:var(--ff-ease-out)}.ff\\:outline-none{--tw-outline-style:none;outline-style:none}.ff\\:select-none{-webkit-user-select:none;user-select:none}.ff\\:\\[background\\:linear-gradient\\(90deg\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_10\\%\\,transparent\\)_50\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_100\\%\\)\\]{background:linear-gradient(90deg,var(--ff-color-foreground)0%,var(--ff-color-foreground)50%,var(--ff-color-foreground)100%)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_10\\%\\,transparent\\)_50\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_100\\%\\)\\]{background:linear-gradient(90deg,color-mix(in oklch,var(--ff-color-foreground)6%,transparent),color-mix(in oklch,var(--ff-color-foreground)10%,transparent),color-mix(in oklch,var(--ff-color-foreground)6%,transparent))}}.ff\\:\\[background\\:linear-gradient\\(90deg\\,transparent_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_20\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_80\\%\\,transparent_100\\%\\)\\]{background:linear-gradient(90deg,transparent 0%,var(--ff-color-foreground)20%,var(--ff-color-foreground)80%,transparent 100%)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,transparent_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_20\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_80\\%\\,transparent_100\\%\\)\\]{background:linear-gradient(90deg,transparent 0%,color-mix(in oklch,var(--ff-color-foreground)6%,transparent)20%,color-mix(in oklch,var(--ff-color-foreground)6%,transparent)80%,transparent 100%)}}.ff\\:\\[background\\:linear-gradient\\(90deg\\,var\\(--ff-color-primary\\)\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,white\\)\\)\\]{background:linear-gradient(90deg,var(--ff-color-primary),var(--ff-color-primary))}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,var\\(--ff-color-primary\\)\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,white\\)\\)\\]{background:linear-gradient(90deg,var(--ff-color-primary),color-mix(in oklch,var(--ff-color-primary)80%,white))}}.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-primary\\)\\,var\\(--ff-color-primary\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_16px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-primary),var(--ff-color-primary)8px,var(--ff-color-primary)8px,var(--ff-color-primary)16px)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-primary\\)\\,var\\(--ff-color-primary\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_16px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-primary),var(--ff-color-primary)8px,color-mix(in oklch,var(--ff-color-primary)80%,black)8px,color-mix(in oklch,var(--ff-color-primary)80%,black)16px)}}.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-secondary\\)\\,var\\(--ff-color-secondary\\)_4px\\,var\\(--ff-color-surface\\)_4px\\,var\\(--ff-color-surface\\)_8px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-secondary),var(--ff-color-secondary)4px,var(--ff-color-surface)4px,var(--ff-color-surface)8px)}.ff\\:\\[scrollbar-width\\:none\\]{scrollbar-width:none}.ff\\:duration-100{animation-duration:.1s}.ff\\:duration-150{animation-duration:.15s}.ff\\:duration-200{animation-duration:.2s}.ff\\:duration-300{animation-duration:.3s}.ff\\:ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.ff\\:peer-placeholder-shown\\:translate-y-0:is(:where(.ff\\:peer):placeholder-shown~*){--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:peer-placeholder-shown\\:scale-100:is(:where(.ff\\:peer):placeholder-shown~*){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:peer-placeholder-shown\\:font-normal:is(:where(.ff\\:peer):placeholder-shown~*){--tw-font-weight:var(--ff-font-weight-normal);font-weight:var(--ff-font-weight-normal)}.ff\\:peer-placeholder-shown\\:text-muted:is(:where(.ff\\:peer):placeholder-shown~*){color:var(--ff-color-muted)}.ff\\:peer-focus\\:-translate-y-2:is(:where(.ff\\:peer):focus~*){--tw-translate-y:calc(var(--ff-spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:peer-focus\\:scale-75:is(:where(.ff\\:peer):focus~*){--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:peer-focus\\:font-medium:is(:where(.ff\\:peer):focus~*){--tw-font-weight:var(--ff-font-weight-medium);font-weight:var(--ff-font-weight-medium)}.ff\\:peer-focus\\:text-danger:is(:where(.ff\\:peer):focus~*){color:var(--ff-color-danger)}.ff\\:peer-focus\\:text-primary:is(:where(.ff\\:peer):focus~*){color:var(--ff-color-primary)}.ff\\:peer-disabled\\:text-muted:is(:where(.ff\\:peer):disabled~*){color:var(--ff-color-muted)}.ff\\:peer-disabled\\:opacity-50:is(:where(.ff\\:peer):disabled~*){opacity:.5}.ff\\:placeholder\\:text-muted::placeholder{color:var(--ff-color-muted)}.ff\\:placeholder\\:opacity-0::placeholder{opacity:0}.ff\\:placeholder\\:transition-opacity::placeholder{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:placeholder\\:duration-200::placeholder{--tw-duration:.2s;transition-duration:.2s;animation-duration:.2s}.ff\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.ff\\:last\\:pb-0:last-child{padding-bottom:calc(var(--ff-spacing)*0)}@media(hover:hover){.ff\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:calc(var(--ff-spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:translate-x-0:hover{--tw-translate-x:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:calc(var(--ff-spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:translate-y-0:hover{--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:border-foreground:hover{border-color:var(--ff-color-foreground)}.ff\\:hover\\:bg-secondary:hover{background-color:var(--ff-color-secondary)}.ff\\:hover\\:underline:hover{text-decoration-line:underline}.ff\\:hover\\:opacity-90:hover{opacity:.9}.ff\\:hover\\:shadow-\\[0_4px_16px_-4px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\]:hover{--tw-shadow:0 4px 16px -4px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-\\[4px_4px_0_var\\(--ff-color-foreground\\)\\]:hover{--tw-shadow:4px 4px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-\\[6px_6px_0_var\\(--ff-color-foreground\\)\\]:hover{--tw-shadow:6px 6px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.ff\\:focus\\:border-danger:focus,.ff\\:focus\\:border-danger\\/50:focus{border-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:border-danger\\/50:focus{border-color:color-mix(in oklab,var(--ff-color-danger)50%,transparent)}}.ff\\:focus\\:border-primary:focus,.ff\\:focus\\:border-primary\\/50:focus{border-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:border-primary\\/50:focus{border-color:color-mix(in oklab,var(--ff-color-primary)50%,transparent)}}.ff\\:focus\\:border-b-danger:focus{border-bottom-color:var(--ff-color-danger)}.ff\\:focus\\:border-b-primary:focus{border-bottom-color:var(--ff-color-primary)}.ff\\:focus\\:bg-background:focus{background-color:var(--ff-color-background)}.ff\\:focus\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,0_0_0_3px_rgba\\(var\\(--ff-color-danger-rgb\\)\\,0\\.12\\)\\]:focus{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f),0 0 0 3px var(--tw-shadow-color,rgba(var(--ff-color-danger-rgb),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,0_0_0_3px_rgba\\(var\\(--ff-color-primary-rgb\\)\\,0\\.12\\)\\]:focus{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f),0 0 0 3px var(--tw-shadow-color,rgba(var(--ff-color-primary-rgb),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_2px_2px_0_var\\(--ff-color-primary\\)\\]:focus{--tw-shadow:inset 2px 2px 0 var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_3px_3px_0_var\\(--ff-color-primary\\)\\]:focus{--tw-shadow:inset 3px 3px 0 var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:ring-danger:focus,.ff\\:focus\\:ring-danger\\/20:focus{--tw-ring-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:ring-danger\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--ff-color-danger)20%,transparent)}}.ff\\:focus\\:ring-primary\\/20:focus{--tw-ring-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:ring-primary\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--ff-color-primary)20%,transparent)}}.ff\\:focus\\:placeholder\\:opacity-100:focus::placeholder{opacity:1}.ff\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus-visible\\:ring-border:focus-visible{--tw-ring-color:var(--ff-color-border)}.ff\\:focus-visible\\:ring-danger:focus-visible{--tw-ring-color:var(--ff-color-danger)}.ff\\:focus-visible\\:ring-primary:focus-visible{--tw-ring-color:var(--ff-color-primary)}.ff\\:focus-visible\\:ring-secondary:focus-visible{--tw-ring-color:var(--ff-color-secondary)}.ff\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ff\\:active\\:translate-x-0:active{--tw-translate-x:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-x-0\\.5:active{--tw-translate-x:calc(var(--ff-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-y-0:active{--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-y-0\\.5:active{--tw-translate-y:calc(var(--ff-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:shadow-\\[2px_2px_0_var\\(--ff-color-foreground\\)\\]:active{--tw-shadow:2px 2px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:active\\:shadow-\\[inset_0_2px_4px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]:active{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:active\\:shadow-none:active{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.ff\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.ff\\:disabled\\:opacity-35:disabled{opacity:.35}.ff\\:disabled\\:opacity-50:disabled{opacity:.5}.ff\\:\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}.ff\\:\\[\\&\\>\\*\\]\\:min-h-0>*{min-height:calc(var(--ff-spacing)*0)}.ff\\:\\[\\&\\>\\*\\]\\:flex-1>*{flex:1}.fanfare-text-balance{text-wrap:balance}.fanfare-text-pretty{text-wrap:pretty}}[data-fanfare-variant=default]{--ff-variant:"default"}[data-fanfare-variant=retro]{--ff-variant:"retro";--ff-color-background:#f4f1ea;--ff-color-foreground:#000;--ff-color-muted:#444;--ff-color-muted-foreground:#444;--ff-color-border:#000;--ff-font-sans:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ff-font-heading:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ff-font-mono:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}[data-fanfare-variant=rounded]{--ff-variant:"rounded"}[data-fanfare-variant=clean]{--ff-variant:"clean";--ff-color-background:#fff;--ff-color-foreground:#0a0a0a;--ff-color-muted:#737373;--ff-color-muted-foreground:#737373;--ff-color-border:#e8e8e8;--ff-font-sans:"Figtree",system-ui,sans-serif;--ff-font-heading:"Figtree",system-ui,sans-serif;--ff-font-mono:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-in{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.5rem)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes celebration-bounce{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}75%{transform:scale(1.1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes pulse-success{0%{box-shadow:0 0 0 0 var(--ff-color-success,#22c55e)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-slide{0%{background-position:-100% 0}to{background-position:200% 0}}', No = '@theme{ --color-primary: #1d1f27; --color-primary-foreground: #ffffff; --color-secondary: #f4f4f5; --color-background: #ffffff; --color-surface: transparent; --color-surface-foreground: #1d1f27; --color-foreground: #1d1f27; --color-muted: #4b4e56cc; --color-muted-foreground: #4b4e5699; --color-border: #4b4e5666; --color-success: oklch(.77 .18 130); --color-success-foreground: #111111; --color-warning: oklch(.72 .18 65); --color-warning-foreground: #111111; --color-danger: oklch(.63 .24 25); --color-danger-foreground: #ffffff; --font-sans: "Inter", system-ui, sans-serif; --font-heading: "Inter", system-ui, sans-serif; --text-xxs: .625rem; --text-xxs--line-height: .875rem; }[data-fanfare-variant=default]{--ff-variant: "default"}[data-fanfare-variant=retro]{--ff-variant: "retro";--ff-color-background: #f4f1ea;--ff-color-foreground: #000000;--ff-color-muted: #444444;--ff-color-muted-foreground: #444444;--ff-color-border: #000000;--ff-font-sans: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ff-font-heading: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ff-font-mono: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}[data-fanfare-variant=rounded]{--ff-variant: "rounded"}[data-fanfare-variant=clean]{--ff-variant: "clean";--ff-color-background: #ffffff;--ff-color-foreground: #0a0a0a;--ff-color-muted: #737373;--ff-color-muted-foreground: #737373;--ff-color-border: #e8e8e8;--ff-font-sans: "Figtree", system-ui, sans-serif;--ff-font-heading: "Figtree", system-ui, sans-serif;--ff-font-mono: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@layer base{.fanfare-themed{font-family:var(--ff-font-sans);color:var(--ff-color-foreground);background-color:var(--ff-color-surface)}.fanfare-themed *,.fanfare-themed :after,.fanfare-themed :before,.fanfare-themed ::backdrop,.fanfare-themed ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed button:not(:disabled),.fanfare-themed [role=button]:not(:disabled){cursor:pointer}.fanfare-themed :focus-visible{outline:2px solid var(--ff-color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.fanfare-themed *,.fanfare-themed :before,.fanfare-themed :after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}';
|
|
4960
|
-
function
|
|
4972
|
+
_o.displayName = "ExperienceWidget";
|
|
4973
|
+
const No = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--ff-font-sans:"Inter",system-ui,sans-serif;--ff-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ff-color-neutral-50:oklch(98.5% 0 0);--ff-color-neutral-200:oklch(92.2% 0 0);--ff-color-neutral-300:oklch(87% 0 0);--ff-color-neutral-500:oklch(55.6% 0 0);--ff-color-white:#fff;--ff-spacing:.25rem;--ff-container-sm:24rem;--ff-text-xs:.75rem;--ff-text-xs--line-height:calc(1/.75);--ff-text-sm:.875rem;--ff-text-sm--line-height:calc(1.25/.875);--ff-text-base:1rem;--ff-text-base--line-height: 1.5 ;--ff-text-lg:1.125rem;--ff-text-lg--line-height:calc(1.75/1.125);--ff-text-xl:1.25rem;--ff-text-xl--line-height:calc(1.75/1.25);--ff-text-2xl:1.5rem;--ff-text-2xl--line-height:calc(2/1.5);--ff-text-3xl:1.875rem;--ff-text-3xl--line-height: 1.2 ;--ff-text-4xl:2.25rem;--ff-text-4xl--line-height:calc(2.5/2.25);--ff-font-weight-extralight:200;--ff-font-weight-light:300;--ff-font-weight-normal:400;--ff-font-weight-medium:500;--ff-font-weight-semibold:600;--ff-font-weight-bold:700;--ff-font-weight-extrabold:800;--ff-font-weight-black:900;--ff-tracking-tight:-.025em;--ff-tracking-normal:0em;--ff-tracking-wide:.025em;--ff-tracking-wider:.05em;--ff-tracking-widest:.1em;--ff-leading-tight:1.25;--ff-radius-md:.375rem;--ff-radius-lg:.5rem;--ff-radius-xl:.75rem;--ff-radius-2xl:1rem;--ff-radius-3xl:1.5rem;--ff-ease-out:cubic-bezier(0,0,.2,1);--ff-animate-spin:spin 1s linear infinite;--ff-animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--ff-default-transition-duration:.15s;--ff-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--ff-default-font-family:var(--ff-font-sans);--ff-default-mono-font-family:var(--ff-font-mono);--ff-color-primary:#1d1f27;--ff-color-primary-foreground:#fff;--ff-color-secondary:#f4f4f5;--ff-color-background:#fff;--ff-color-surface:transparent;--ff-color-surface-foreground:#1d1f27;--ff-color-foreground:#1d1f27;--ff-color-muted:#4b4e56cc;--ff-color-muted-foreground:#4b4e5699;--ff-color-border:#4b4e5666;--ff-color-success:oklch(77% .18 130);--ff-color-success-foreground:#111;--ff-color-warning:oklch(72% .18 65);--ff-color-warning-foreground:#111;--ff-color-danger:oklch(63% .24 25);--ff-color-danger-foreground:#fff;--ff-font-heading:"Inter",system-ui,sans-serif;--ff-text-xxs:.625rem;--ff-text-xxs--line-height:.875rem;--ff-animate-fade-in:fade-in .2s ease-out;--ff-animate-fade-out:fade-out .2s ease-out;--ff-animate-slide-in:slide-in .2s ease-out;--ff-animate-slide-out:slide-out .2s ease-out;--ff-animate-scale-in:scale-in .2s ease-out;--ff-animate-scale-out:scale-out .2s ease-out;--ff-animate-accordion-down:accordion-down .2s ease-out;--ff-animate-accordion-up:accordion-up .2s ease-out;--ff-animate-celebration:celebration-bounce .6s ease-out;--ff-animate-shake:shake .5s ease-out;--ff-animate-pulse-success:pulse-success 1s ease-out}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--ff-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--ff-default-font-feature-settings,normal);font-variation-settings:var(--ff-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--ff-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--ff-default-mono-font-feature-settings,normal);font-variation-settings:var(--ff-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.fanfare-themed{font-family:var(--ff-font-sans);color:var(--ff-color-foreground);background-color:var(--ff-color-surface)}.fanfare-themed *,.fanfare-themed :after,.fanfare-themed :before,.fanfare-themed ::backdrop{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed button:not(:disabled),.fanfare-themed [role=button]:not(:disabled){cursor:pointer}.fanfare-themed :focus-visible{outline:2px solid var(--ff-color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.fanfare-themed *,.fanfare-themed :before,.fanfare-themed :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.fanfare-root{color:var(--ff-color-foreground);background-color:var(--ff-color-surface);font-family:var(--ff-font-sans)}.fanfare-root *,.fanfare-root :after,.fanfare-root :before,.fanfare-root ::backdrop{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-root ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-root button:not(:disabled),.fanfare-root [role=button]:not(:disabled){cursor:pointer}@media(prefers-reduced-motion:reduce){.fanfare-root *,.fanfare-root :before,.fanfare-root :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components;@layer utilities{.ff\\:pointer-events-none{pointer-events:none}.ff\\:absolute{position:absolute}.ff\\:relative{position:relative}.ff\\:inset-0{inset:calc(var(--ff-spacing)*0)}.ff\\:top-1\\/2{top:50%}.ff\\:top-3{top:calc(var(--ff-spacing)*3)}.ff\\:right-2{right:calc(var(--ff-spacing)*2)}.ff\\:left-3{left:calc(var(--ff-spacing)*3)}.ff\\:z-10{z-index:10}.ff\\:-mx-1{margin-inline:calc(var(--ff-spacing)*-1)}.ff\\:mx-2{margin-inline:calc(var(--ff-spacing)*2)}.ff\\:-mt-0\\.5{margin-top:calc(var(--ff-spacing)*-.5)}.ff\\:mt-0\\.5{margin-top:calc(var(--ff-spacing)*.5)}.ff\\:mt-1{margin-top:calc(var(--ff-spacing)*1)}.ff\\:mt-3{margin-top:calc(var(--ff-spacing)*3)}.ff\\:mt-4{margin-top:calc(var(--ff-spacing)*4)}.ff\\:mt-auto{margin-top:auto}.ff\\:mb-1\\.5{margin-bottom:calc(var(--ff-spacing)*1.5)}.ff\\:mb-2{margin-bottom:calc(var(--ff-spacing)*2)}.ff\\:mb-4{margin-bottom:calc(var(--ff-spacing)*4)}.ff\\:mb-6{margin-bottom:calc(var(--ff-spacing)*6)}.ff\\:block{display:block}.ff\\:flex{display:flex}.ff\\:grid{display:grid}.ff\\:inline-block{display:inline-block}.ff\\:inline-flex{display:inline-flex}.ff\\:size-1{width:calc(var(--ff-spacing)*1);height:calc(var(--ff-spacing)*1)}.ff\\:size-1\\.5{width:calc(var(--ff-spacing)*1.5);height:calc(var(--ff-spacing)*1.5)}.ff\\:size-4{width:calc(var(--ff-spacing)*4);height:calc(var(--ff-spacing)*4)}.ff\\:size-5{width:calc(var(--ff-spacing)*5);height:calc(var(--ff-spacing)*5)}.ff\\:size-6{width:calc(var(--ff-spacing)*6);height:calc(var(--ff-spacing)*6)}.ff\\:size-8{width:calc(var(--ff-spacing)*8);height:calc(var(--ff-spacing)*8)}.ff\\:size-10{width:calc(var(--ff-spacing)*10);height:calc(var(--ff-spacing)*10)}.ff\\:h-0\\.5{height:calc(var(--ff-spacing)*.5)}.ff\\:h-1{height:calc(var(--ff-spacing)*1)}.ff\\:h-2{height:calc(var(--ff-spacing)*2)}.ff\\:h-2\\.5{height:calc(var(--ff-spacing)*2.5)}.ff\\:h-3{height:calc(var(--ff-spacing)*3)}.ff\\:h-4{height:calc(var(--ff-spacing)*4)}.ff\\:h-4\\.5{height:calc(var(--ff-spacing)*4.5)}.ff\\:h-5{height:calc(var(--ff-spacing)*5)}.ff\\:h-6{height:calc(var(--ff-spacing)*6)}.ff\\:h-8{height:calc(var(--ff-spacing)*8)}.ff\\:h-10{height:calc(var(--ff-spacing)*10)}.ff\\:h-12{height:calc(var(--ff-spacing)*12)}.ff\\:h-14{height:calc(var(--ff-spacing)*14)}.ff\\:h-16{height:calc(var(--ff-spacing)*16)}.ff\\:h-20{height:calc(var(--ff-spacing)*20)}.ff\\:h-32{height:calc(var(--ff-spacing)*32)}.ff\\:h-\\[480px\\]{height:480px}.ff\\:h-auto{height:auto}.ff\\:h-full{height:100%}.ff\\:max-h-44{max-height:calc(var(--ff-spacing)*44)}.ff\\:max-h-\\[24rem\\]{max-height:24rem}.ff\\:w-1\\/2{width:50%}.ff\\:w-1\\/3{width:33.3333%}.ff\\:w-2\\/3{width:66.6667%}.ff\\:w-3\\/4{width:75%}.ff\\:w-5\\/6{width:83.3333%}.ff\\:w-6{width:calc(var(--ff-spacing)*6)}.ff\\:w-9{width:calc(var(--ff-spacing)*9)}.ff\\:w-10{width:calc(var(--ff-spacing)*10)}.ff\\:w-12{width:calc(var(--ff-spacing)*12)}.ff\\:w-14{width:calc(var(--ff-spacing)*14)}.ff\\:w-16{width:calc(var(--ff-spacing)*16)}.ff\\:w-20{width:calc(var(--ff-spacing)*20)}.ff\\:w-40{width:calc(var(--ff-spacing)*40)}.ff\\:w-72{width:calc(var(--ff-spacing)*72)}.ff\\:w-80{width:calc(var(--ff-spacing)*80)}.ff\\:w-auto{width:auto}.ff\\:w-full{width:100%}.ff\\:max-w-sm{max-width:var(--ff-container-sm)}.ff\\:min-w-0{min-width:calc(var(--ff-spacing)*0)}.ff\\:flex-1{flex:1}.ff\\:shrink-0{flex-shrink:0}.ff\\:origin-center{transform-origin:50%}.ff\\:origin-top-left{transform-origin:0 0}.ff\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:-translate-y-2{--tw-translate-y:calc(var(--ff-spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:animate-\\[skeleton-shimmer_2s_ease-in-out_infinite\\]{animation:2s ease-in-out infinite skeleton-shimmer}.ff\\:animate-\\[skeleton-slide_2s_ease-in-out_infinite\\]{animation:2s ease-in-out infinite skeleton-slide}.ff\\:animate-\\[spin_1\\.2s_cubic-bezier\\(0\\.4\\,0\\,0\\.6\\,1\\)_infinite\\]{animation:1.2s cubic-bezier(.4,0,.6,1) infinite spin}.ff\\:animate-\\[spin_1\\.8s_linear_infinite\\]{animation:1.8s linear infinite spin}.ff\\:animate-accordion-down{animation:var(--ff-animate-accordion-down)}.ff\\:animate-accordion-up{animation:var(--ff-animate-accordion-up)}.ff\\:animate-celebration{animation:var(--ff-animate-celebration)}.ff\\:animate-fade-in{animation:var(--ff-animate-fade-in)}.ff\\:animate-fade-out{animation:var(--ff-animate-fade-out)}.ff\\:animate-none{animation:none}.ff\\:animate-pulse{animation:var(--ff-animate-pulse)}.ff\\:animate-pulse-success{animation:var(--ff-animate-pulse-success)}.ff\\:animate-scale-in{animation:var(--ff-animate-scale-in)}.ff\\:animate-scale-out{animation:var(--ff-animate-scale-out)}.ff\\:animate-shake{animation:var(--ff-animate-shake)}.ff\\:animate-slide-in{animation:var(--ff-animate-slide-in)}.ff\\:animate-slide-out{animation:var(--ff-animate-slide-out)}.ff\\:animate-spin{animation:var(--ff-animate-spin)}.ff\\:cursor-not-allowed{cursor:not-allowed}.ff\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ff\\:flex-col{flex-direction:column}.ff\\:flex-row{flex-direction:row}.ff\\:flex-wrap{flex-wrap:wrap}.ff\\:items-baseline{align-items:baseline}.ff\\:items-center{align-items:center}.ff\\:items-start{align-items:flex-start}.ff\\:justify-between{justify-content:space-between}.ff\\:justify-center{justify-content:center}.ff\\:gap-0\\.5{gap:calc(var(--ff-spacing)*.5)}.ff\\:gap-1{gap:calc(var(--ff-spacing)*1)}.ff\\:gap-1\\.5{gap:calc(var(--ff-spacing)*1.5)}.ff\\:gap-2{gap:calc(var(--ff-spacing)*2)}.ff\\:gap-3{gap:calc(var(--ff-spacing)*3)}.ff\\:gap-4{gap:calc(var(--ff-spacing)*4)}.ff\\:gap-5{gap:calc(var(--ff-spacing)*5)}.ff\\:gap-6{gap:calc(var(--ff-spacing)*6)}.ff\\:gap-10{gap:calc(var(--ff-spacing)*10)}.ff\\:gap-12{gap:calc(var(--ff-spacing)*12)}:where(.ff\\:space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.ff\\:self-end{align-self:flex-end}.ff\\:overflow-hidden{overflow:hidden}.ff\\:overflow-visible{overflow:visible}.ff\\:overflow-x-auto{overflow-x:auto}.ff\\:overflow-y-auto{overflow-y:auto}.ff\\:rounded{border-radius:.25rem}.ff\\:rounded-2xl{border-radius:var(--ff-radius-2xl)}.ff\\:rounded-3xl{border-radius:var(--ff-radius-3xl)}.ff\\:rounded-\\[8px\\]{border-radius:8px}.ff\\:rounded-\\[10px\\]{border-radius:10px}.ff\\:rounded-\\[14px\\]{border-radius:14px}.ff\\:rounded-full{border-radius:3.40282e38px}.ff\\:rounded-lg{border-radius:var(--ff-radius-lg)}.ff\\:rounded-md{border-radius:var(--ff-radius-md)}.ff\\:rounded-none{border-radius:0}.ff\\:rounded-xl{border-radius:var(--ff-radius-xl)}.ff\\:border{border-style:var(--tw-border-style);border-width:1px}.ff\\:border-0{border-style:var(--tw-border-style);border-width:0}.ff\\:border-2{border-style:var(--tw-border-style);border-width:2px}.ff\\:border-3{border-style:var(--tw-border-style);border-width:3px}.ff\\:border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.ff\\:border-\\[2\\.5px\\]{border-style:var(--tw-border-style);border-width:2.5px}.ff\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.ff\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.ff\\:border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.ff\\:border-none{--tw-border-style:none;border-style:none}.ff\\:border-border,.ff\\:border-border\\/40{border-color:var(--ff-color-border)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-border\\/40{border-color:color-mix(in oklab,var(--ff-color-border)40%,transparent)}}.ff\\:border-border\\/50{border-color:var(--ff-color-border)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-border\\/50{border-color:color-mix(in oklab,var(--ff-color-border)50%,transparent)}}.ff\\:border-danger,.ff\\:border-danger\\/50{border-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-danger\\/50{border-color:color-mix(in oklab,var(--ff-color-danger)50%,transparent)}}.ff\\:border-foreground,.ff\\:border-foreground\\/8{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/8{border-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:border-foreground\\/12{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/12{border-color:color-mix(in oklab,var(--ff-color-foreground)12%,transparent)}}.ff\\:border-foreground\\/20{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/20{border-color:color-mix(in oklab,var(--ff-color-foreground)20%,transparent)}}.ff\\:border-foreground\\/\\[0\\.08\\]{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/\\[0\\.08\\]{border-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:border-neutral-200{border-color:var(--ff-color-neutral-200)}.ff\\:border-primary{border-color:var(--ff-color-primary)}.ff\\:border-transparent{border-color:#0000}.ff\\:border-b-danger{border-bottom-color:var(--ff-color-danger)}.ff\\:bg-\\[\\#ff3a00\\]{background-color:#ff3a00}.ff\\:bg-\\[color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_3\\%\\,var\\(--ff-color-background\\)\\)\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-\\[color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_3\\%\\,var\\(--ff-color-background\\)\\)\\]{background-color:color-mix(in oklch,var(--ff-color-foreground)3%,var(--ff-color-background))}}.ff\\:bg-background,.ff\\:bg-background\\/60{background-color:var(--ff-color-background)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-background\\/60{background-color:color-mix(in oklab,var(--ff-color-background)60%,transparent)}}.ff\\:bg-background\\/70{background-color:var(--ff-color-background)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-background\\/70{background-color:color-mix(in oklab,var(--ff-color-background)70%,transparent)}}.ff\\:bg-danger,.ff\\:bg-danger\\/10{background-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-danger\\/10{background-color:color-mix(in oklab,var(--ff-color-danger)10%,transparent)}}.ff\\:bg-foreground\\/5{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/5{background-color:color-mix(in oklab,var(--ff-color-foreground)5%,transparent)}}.ff\\:bg-foreground\\/40{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/40{background-color:color-mix(in oklab,var(--ff-color-foreground)40%,transparent)}}.ff\\:bg-foreground\\/\\[0\\.1\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/\\[0\\.1\\]{background-color:color-mix(in oklab,var(--ff-color-foreground)10%,transparent)}}.ff\\:bg-foreground\\/\\[0\\.08\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/\\[0\\.08\\]{background-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:bg-muted\\/5{background-color:var(--ff-color-muted)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-muted\\/5{background-color:color-mix(in oklab,var(--ff-color-muted)5%,transparent)}}.ff\\:bg-neutral-50{background-color:var(--ff-color-neutral-50)}.ff\\:bg-primary{background-color:var(--ff-color-primary)}.ff\\:bg-primary-foreground{background-color:var(--ff-color-primary-foreground)}.ff\\:bg-primary\\/5{background-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-primary\\/5{background-color:color-mix(in oklab,var(--ff-color-primary)5%,transparent)}}.ff\\:bg-secondary{background-color:var(--ff-color-secondary)}.ff\\:bg-success,.ff\\:bg-success\\/10{background-color:var(--ff-color-success)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-success\\/10{background-color:color-mix(in oklab,var(--ff-color-success)10%,transparent)}}.ff\\:bg-transparent{background-color:#0000}.ff\\:bg-warning,.ff\\:bg-warning\\/10{background-color:var(--ff-color-warning)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-warning\\/10{background-color:color-mix(in oklab,var(--ff-color-warning)10%,transparent)}}.ff\\:bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab,red,red)){.ff\\:bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.ff\\:bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.ff\\:from-primary\\/10{--tw-gradient-from:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:from-primary\\/10{--tw-gradient-from:color-mix(in oklab,var(--ff-color-primary)10%,transparent)}}.ff\\:from-primary\\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.ff\\:to-primary\\/5{--tw-gradient-to:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:to-primary\\/5{--tw-gradient-to:color-mix(in oklab,var(--ff-color-primary)5%,transparent)}}.ff\\:to-primary\\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.ff\\:\\[background-size\\:200\\%_100\\%\\]{background-size:200% 100%}.ff\\:p-0{padding:calc(var(--ff-spacing)*0)}.ff\\:p-4{padding:calc(var(--ff-spacing)*4)}.ff\\:p-5{padding:calc(var(--ff-spacing)*5)}.ff\\:p-6{padding:calc(var(--ff-spacing)*6)}.ff\\:p-8{padding:calc(var(--ff-spacing)*8)}.ff\\:px-0{padding-inline:calc(var(--ff-spacing)*0)}.ff\\:px-2{padding-inline:calc(var(--ff-spacing)*2)}.ff\\:px-2\\.5{padding-inline:calc(var(--ff-spacing)*2.5)}.ff\\:px-3{padding-inline:calc(var(--ff-spacing)*3)}.ff\\:px-4{padding-inline:calc(var(--ff-spacing)*4)}.ff\\:px-5{padding-inline:calc(var(--ff-spacing)*5)}.ff\\:px-6{padding-inline:calc(var(--ff-spacing)*6)}.ff\\:py-0\\.5{padding-block:calc(var(--ff-spacing)*.5)}.ff\\:py-1{padding-block:calc(var(--ff-spacing)*1)}.ff\\:py-1\\.5{padding-block:calc(var(--ff-spacing)*1.5)}.ff\\:py-2{padding-block:calc(var(--ff-spacing)*2)}.ff\\:py-2\\.5{padding-block:calc(var(--ff-spacing)*2.5)}.ff\\:py-3{padding-block:calc(var(--ff-spacing)*3)}.ff\\:py-4{padding-block:calc(var(--ff-spacing)*4)}.ff\\:py-12{padding-block:calc(var(--ff-spacing)*12)}.ff\\:pt-2{padding-top:calc(var(--ff-spacing)*2)}.ff\\:pt-3{padding-top:calc(var(--ff-spacing)*3)}.ff\\:pt-5{padding-top:calc(var(--ff-spacing)*5)}.ff\\:pb-0\\.5{padding-bottom:calc(var(--ff-spacing)*.5)}.ff\\:pb-1{padding-bottom:calc(var(--ff-spacing)*1)}.ff\\:pb-2{padding-bottom:calc(var(--ff-spacing)*2)}.ff\\:pb-8{padding-bottom:calc(var(--ff-spacing)*8)}.ff\\:text-center{text-align:center}.ff\\:text-right{text-align:right}.ff\\:font-heading{font-family:var(--ff-font-heading)}.ff\\:font-mono{font-family:var(--ff-font-mono)}.ff\\:text-2xl{font-size:var(--ff-text-2xl);line-height:var(--tw-leading,var(--ff-text-2xl--line-height))}.ff\\:text-3xl{font-size:var(--ff-text-3xl);line-height:var(--tw-leading,var(--ff-text-3xl--line-height))}.ff\\:text-4xl{font-size:var(--ff-text-4xl);line-height:var(--tw-leading,var(--ff-text-4xl--line-height))}.ff\\:text-base{font-size:var(--ff-text-base);line-height:var(--tw-leading,var(--ff-text-base--line-height))}.ff\\:text-lg{font-size:var(--ff-text-lg);line-height:var(--tw-leading,var(--ff-text-lg--line-height))}.ff\\:text-sm{font-size:var(--ff-text-sm);line-height:var(--tw-leading,var(--ff-text-sm--line-height))}.ff\\:text-xl{font-size:var(--ff-text-xl);line-height:var(--tw-leading,var(--ff-text-xl--line-height))}.ff\\:text-xs{font-size:var(--ff-text-xs);line-height:var(--tw-leading,var(--ff-text-xs--line-height))}.ff\\:text-xxs{font-size:var(--ff-text-xxs);line-height:var(--tw-leading,var(--ff-text-xxs--line-height))}.ff\\:text-\\[2rem\\]{font-size:2rem}.ff\\:text-\\[10\\.5px\\]{font-size:10.5px}.ff\\:text-\\[52px\\]{font-size:52px}.ff\\:leading-none{--tw-leading:1;line-height:1}.ff\\:leading-tight{--tw-leading:var(--ff-leading-tight);line-height:var(--ff-leading-tight)}.ff\\:font-black{--tw-font-weight:var(--ff-font-weight-black);font-weight:var(--ff-font-weight-black)}.ff\\:font-bold{--tw-font-weight:var(--ff-font-weight-bold);font-weight:var(--ff-font-weight-bold)}.ff\\:font-extrabold{--tw-font-weight:var(--ff-font-weight-extrabold);font-weight:var(--ff-font-weight-extrabold)}.ff\\:font-extralight{--tw-font-weight:var(--ff-font-weight-extralight);font-weight:var(--ff-font-weight-extralight)}.ff\\:font-light{--tw-font-weight:var(--ff-font-weight-light);font-weight:var(--ff-font-weight-light)}.ff\\:font-medium{--tw-font-weight:var(--ff-font-weight-medium);font-weight:var(--ff-font-weight-medium)}.ff\\:font-normal{--tw-font-weight:var(--ff-font-weight-normal);font-weight:var(--ff-font-weight-normal)}.ff\\:font-semibold{--tw-font-weight:var(--ff-font-weight-semibold);font-weight:var(--ff-font-weight-semibold)}.ff\\:tracking-\\[-0\\.025em\\]{--tw-tracking:-.025em;letter-spacing:-.025em}.ff\\:tracking-\\[0\\.1em\\]{--tw-tracking:.1em;letter-spacing:.1em}.ff\\:tracking-\\[0\\.08em\\]{--tw-tracking:.08em;letter-spacing:.08em}.ff\\:tracking-\\[0\\.15em\\]{--tw-tracking:.15em;letter-spacing:.15em}.ff\\:tracking-normal{--tw-tracking:var(--ff-tracking-normal);letter-spacing:var(--ff-tracking-normal)}.ff\\:tracking-tight{--tw-tracking:var(--ff-tracking-tight);letter-spacing:var(--ff-tracking-tight)}.ff\\:tracking-wide{--tw-tracking:var(--ff-tracking-wide);letter-spacing:var(--ff-tracking-wide)}.ff\\:tracking-wider{--tw-tracking:var(--ff-tracking-wider);letter-spacing:var(--ff-tracking-wider)}.ff\\:tracking-widest{--tw-tracking:var(--ff-tracking-widest);letter-spacing:var(--ff-tracking-widest)}.ff\\:whitespace-nowrap{white-space:nowrap}.ff\\:text-current{color:currentColor}.ff\\:text-danger{color:var(--ff-color-danger)}.ff\\:text-danger-foreground{color:var(--ff-color-danger-foreground)}.ff\\:text-foreground,.ff\\:text-foreground\\/80{color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:text-foreground\\/80{color:color-mix(in oklab,var(--ff-color-foreground)80%,transparent)}}.ff\\:text-muted{color:var(--ff-color-muted)}.ff\\:text-muted-foreground{color:var(--ff-color-muted-foreground)}.ff\\:text-muted\\/60{color:var(--ff-color-muted)}@supports (color:color-mix(in lab,red,red)){.ff\\:text-muted\\/60{color:color-mix(in oklab,var(--ff-color-muted)60%,transparent)}}.ff\\:text-neutral-300{color:var(--ff-color-neutral-300)}.ff\\:text-neutral-500{color:var(--ff-color-neutral-500)}.ff\\:text-primary{color:var(--ff-color-primary)}.ff\\:text-primary-foreground{color:var(--ff-color-primary-foreground)}.ff\\:text-success{color:var(--ff-color-success)}.ff\\:text-success-foreground{color:var(--ff-color-success-foreground)}.ff\\:text-warning{color:var(--ff-color-warning)}.ff\\:text-warning-foreground{color:var(--ff-color-warning-foreground)}.ff\\:text-white{color:var(--ff-color-white)}.ff\\:uppercase{text-transform:uppercase}.ff\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ff\\:accent-foreground{accent-color:var(--ff-color-foreground)}.ff\\:opacity-0{opacity:0}.ff\\:opacity-25{opacity:.25}.ff\\:opacity-40{opacity:.4}.ff\\:opacity-50{opacity:.5}.ff\\:opacity-60{opacity:.6}.ff\\:opacity-80{opacity:.8}.ff\\:shadow-\\[0_0_10px_-2px_var\\(--ff-color-primary\\)\\]{--tw-shadow:0 0 10px -2px var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_1px_3px_rgba\\(0\\,0\\,0\\,0\\.04\\)\\,0_8px_24px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#0000000a),0 8px 24px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_2px_12px_-3px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\,0_0_12px_-6px_var\\(--ff-color-primary\\)\\]{--tw-shadow:0 2px 12px -3px var(--tw-shadow-color,#00000014),0 0 12px -6px var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_2px_12px_-3px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\]{--tw-shadow:0 2px 12px -3px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[2px_2px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:2px 2px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[3px_3px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:3px 3px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[4px_4px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:4px 4px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[6px_6px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:6px 6px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_-3px_0_rgba\\(0\\,0\\,0\\,0\\.2\\)\\]{--tw-shadow:inset 0 -3px 0 var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\]{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_2px_4px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\]{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_2px_2px_0_var\\(--ff-color-secondary\\)\\]{--tw-shadow:inset 2px 2px 0 var(--tw-shadow-color,var(--ff-color-secondary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_3px_3px_0_var\\(--ff-color-secondary\\)\\]{--tw-shadow:inset 3px 3px 0 var(--tw-shadow-color,var(--ff-color-secondary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.ff\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.ff\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.ff\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.ff\\:ease-out{--tw-ease:var(--ff-ease-out);transition-timing-function:var(--ff-ease-out)}.ff\\:outline-none{--tw-outline-style:none;outline-style:none}.ff\\:select-none{-webkit-user-select:none;user-select:none}.ff\\:\\[background\\:linear-gradient\\(90deg\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_10\\%\\,transparent\\)_50\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_100\\%\\)\\]{background:linear-gradient(90deg,var(--ff-color-foreground)0%,var(--ff-color-foreground)50%,var(--ff-color-foreground)100%)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_10\\%\\,transparent\\)_50\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_100\\%\\)\\]{background:linear-gradient(90deg,color-mix(in oklch,var(--ff-color-foreground)6%,transparent),color-mix(in oklch,var(--ff-color-foreground)10%,transparent),color-mix(in oklch,var(--ff-color-foreground)6%,transparent))}}.ff\\:\\[background\\:linear-gradient\\(90deg\\,transparent_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_20\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_80\\%\\,transparent_100\\%\\)\\]{background:linear-gradient(90deg,transparent 0%,var(--ff-color-foreground)20%,var(--ff-color-foreground)80%,transparent 100%)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,transparent_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_20\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_80\\%\\,transparent_100\\%\\)\\]{background:linear-gradient(90deg,transparent 0%,color-mix(in oklch,var(--ff-color-foreground)6%,transparent)20%,color-mix(in oklch,var(--ff-color-foreground)6%,transparent)80%,transparent 100%)}}.ff\\:\\[background\\:linear-gradient\\(90deg\\,var\\(--ff-color-primary\\)\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,white\\)\\)\\]{background:linear-gradient(90deg,var(--ff-color-primary),var(--ff-color-primary))}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,var\\(--ff-color-primary\\)\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,white\\)\\)\\]{background:linear-gradient(90deg,var(--ff-color-primary),color-mix(in oklch,var(--ff-color-primary)80%,white))}}.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-primary\\)\\,var\\(--ff-color-primary\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_16px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-primary),var(--ff-color-primary)8px,var(--ff-color-primary)8px,var(--ff-color-primary)16px)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-primary\\)\\,var\\(--ff-color-primary\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_16px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-primary),var(--ff-color-primary)8px,color-mix(in oklch,var(--ff-color-primary)80%,black)8px,color-mix(in oklch,var(--ff-color-primary)80%,black)16px)}}.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-secondary\\)\\,var\\(--ff-color-secondary\\)_4px\\,var\\(--ff-color-surface\\)_4px\\,var\\(--ff-color-surface\\)_8px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-secondary),var(--ff-color-secondary)4px,var(--ff-color-surface)4px,var(--ff-color-surface)8px)}.ff\\:\\[scrollbar-width\\:none\\]{scrollbar-width:none}.ff\\:duration-100{animation-duration:.1s}.ff\\:duration-150{animation-duration:.15s}.ff\\:duration-200{animation-duration:.2s}.ff\\:duration-300{animation-duration:.3s}.ff\\:ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.ff\\:peer-placeholder-shown\\:translate-y-0:is(:where(.ff\\:peer):placeholder-shown~*){--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:peer-placeholder-shown\\:scale-100:is(:where(.ff\\:peer):placeholder-shown~*){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:peer-placeholder-shown\\:font-normal:is(:where(.ff\\:peer):placeholder-shown~*){--tw-font-weight:var(--ff-font-weight-normal);font-weight:var(--ff-font-weight-normal)}.ff\\:peer-placeholder-shown\\:text-muted:is(:where(.ff\\:peer):placeholder-shown~*){color:var(--ff-color-muted)}.ff\\:peer-focus\\:-translate-y-2:is(:where(.ff\\:peer):focus~*){--tw-translate-y:calc(var(--ff-spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:peer-focus\\:scale-75:is(:where(.ff\\:peer):focus~*){--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:peer-focus\\:font-medium:is(:where(.ff\\:peer):focus~*){--tw-font-weight:var(--ff-font-weight-medium);font-weight:var(--ff-font-weight-medium)}.ff\\:peer-focus\\:text-danger:is(:where(.ff\\:peer):focus~*){color:var(--ff-color-danger)}.ff\\:peer-focus\\:text-primary:is(:where(.ff\\:peer):focus~*){color:var(--ff-color-primary)}.ff\\:peer-disabled\\:text-muted:is(:where(.ff\\:peer):disabled~*){color:var(--ff-color-muted)}.ff\\:peer-disabled\\:opacity-50:is(:where(.ff\\:peer):disabled~*){opacity:.5}.ff\\:placeholder\\:text-muted::placeholder{color:var(--ff-color-muted)}.ff\\:placeholder\\:opacity-0::placeholder{opacity:0}.ff\\:placeholder\\:transition-opacity::placeholder{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:placeholder\\:duration-200::placeholder{--tw-duration:.2s;transition-duration:.2s;animation-duration:.2s}.ff\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.ff\\:last\\:pb-0:last-child{padding-bottom:calc(var(--ff-spacing)*0)}@media(hover:hover){.ff\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:calc(var(--ff-spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:translate-x-0:hover{--tw-translate-x:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:calc(var(--ff-spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:translate-y-0:hover{--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:border-foreground:hover{border-color:var(--ff-color-foreground)}.ff\\:hover\\:bg-secondary:hover{background-color:var(--ff-color-secondary)}.ff\\:hover\\:underline:hover{text-decoration-line:underline}.ff\\:hover\\:opacity-90:hover{opacity:.9}.ff\\:hover\\:shadow-\\[0_4px_16px_-4px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\]:hover{--tw-shadow:0 4px 16px -4px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-\\[4px_4px_0_var\\(--ff-color-foreground\\)\\]:hover{--tw-shadow:4px 4px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-\\[6px_6px_0_var\\(--ff-color-foreground\\)\\]:hover{--tw-shadow:6px 6px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.ff\\:focus\\:border-danger:focus,.ff\\:focus\\:border-danger\\/50:focus{border-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:border-danger\\/50:focus{border-color:color-mix(in oklab,var(--ff-color-danger)50%,transparent)}}.ff\\:focus\\:border-primary:focus,.ff\\:focus\\:border-primary\\/50:focus{border-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:border-primary\\/50:focus{border-color:color-mix(in oklab,var(--ff-color-primary)50%,transparent)}}.ff\\:focus\\:border-b-danger:focus{border-bottom-color:var(--ff-color-danger)}.ff\\:focus\\:border-b-primary:focus{border-bottom-color:var(--ff-color-primary)}.ff\\:focus\\:bg-background:focus{background-color:var(--ff-color-background)}.ff\\:focus\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,0_0_0_3px_rgba\\(var\\(--ff-color-danger-rgb\\)\\,0\\.12\\)\\]:focus{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f),0 0 0 3px var(--tw-shadow-color,rgba(var(--ff-color-danger-rgb),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,0_0_0_3px_rgba\\(var\\(--ff-color-primary-rgb\\)\\,0\\.12\\)\\]:focus{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f),0 0 0 3px var(--tw-shadow-color,rgba(var(--ff-color-primary-rgb),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_2px_2px_0_var\\(--ff-color-primary\\)\\]:focus{--tw-shadow:inset 2px 2px 0 var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_3px_3px_0_var\\(--ff-color-primary\\)\\]:focus{--tw-shadow:inset 3px 3px 0 var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:ring-danger:focus,.ff\\:focus\\:ring-danger\\/20:focus{--tw-ring-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:ring-danger\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--ff-color-danger)20%,transparent)}}.ff\\:focus\\:ring-primary\\/20:focus{--tw-ring-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:ring-primary\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--ff-color-primary)20%,transparent)}}.ff\\:focus\\:placeholder\\:opacity-100:focus::placeholder{opacity:1}.ff\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus-visible\\:ring-border:focus-visible{--tw-ring-color:var(--ff-color-border)}.ff\\:focus-visible\\:ring-danger:focus-visible{--tw-ring-color:var(--ff-color-danger)}.ff\\:focus-visible\\:ring-primary:focus-visible{--tw-ring-color:var(--ff-color-primary)}.ff\\:focus-visible\\:ring-secondary:focus-visible{--tw-ring-color:var(--ff-color-secondary)}.ff\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ff\\:active\\:translate-x-0:active{--tw-translate-x:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-x-0\\.5:active{--tw-translate-x:calc(var(--ff-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-y-0:active{--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-y-0\\.5:active{--tw-translate-y:calc(var(--ff-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:shadow-\\[2px_2px_0_var\\(--ff-color-foreground\\)\\]:active{--tw-shadow:2px 2px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:active\\:shadow-\\[inset_0_2px_4px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]:active{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:active\\:shadow-none:active{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.ff\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.ff\\:disabled\\:opacity-35:disabled{opacity:.35}.ff\\:disabled\\:opacity-50:disabled{opacity:.5}.ff\\:\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}.ff\\:\\[\\&\\>\\*\\]\\:min-h-0>*{min-height:calc(var(--ff-spacing)*0)}.ff\\:\\[\\&\\>\\*\\]\\:flex-1>*{flex:1}.fanfare-text-balance{text-wrap:balance}.fanfare-text-pretty{text-wrap:pretty}}[data-fanfare-variant=default]{--ff-variant:"default"}[data-fanfare-variant=retro]{--ff-variant:"retro";--ff-color-background:#f4f1ea;--ff-color-foreground:#000;--ff-color-muted:#444;--ff-color-muted-foreground:#444;--ff-color-border:#000;--ff-font-sans:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ff-font-heading:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ff-font-mono:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}[data-fanfare-variant=rounded]{--ff-variant:"rounded"}[data-fanfare-variant=clean]{--ff-variant:"clean";--ff-color-background:#fff;--ff-color-foreground:#0a0a0a;--ff-color-muted:#737373;--ff-color-muted-foreground:#737373;--ff-color-border:#e8e8e8;--ff-font-sans:"Figtree",system-ui,sans-serif;--ff-font-heading:"Figtree",system-ui,sans-serif;--ff-font-mono:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-in{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.5rem)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes celebration-bounce{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}75%{transform:scale(1.1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes pulse-success{0%{box-shadow:0 0 0 0 var(--ff-color-success,#22c55e)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-slide{0%{background-position:-100% 0}to{background-position:200% 0}}', So = '@theme{ --color-primary: #1d1f27; --color-primary-foreground: #ffffff; --color-secondary: #f4f4f5; --color-background: #ffffff; --color-surface: transparent; --color-surface-foreground: #1d1f27; --color-foreground: #1d1f27; --color-muted: #4b4e56cc; --color-muted-foreground: #4b4e5699; --color-border: #4b4e5666; --color-success: oklch(.77 .18 130); --color-success-foreground: #111111; --color-warning: oklch(.72 .18 65); --color-warning-foreground: #111111; --color-danger: oklch(.63 .24 25); --color-danger-foreground: #ffffff; --font-sans: "Inter", system-ui, sans-serif; --font-heading: "Inter", system-ui, sans-serif; --text-xxs: .625rem; --text-xxs--line-height: .875rem; }[data-fanfare-variant=default]{--ff-variant: "default"}[data-fanfare-variant=retro]{--ff-variant: "retro";--ff-color-background: #f4f1ea;--ff-color-foreground: #000000;--ff-color-muted: #444444;--ff-color-muted-foreground: #444444;--ff-color-border: #000000;--ff-font-sans: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ff-font-heading: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ff-font-mono: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}[data-fanfare-variant=rounded]{--ff-variant: "rounded"}[data-fanfare-variant=clean]{--ff-variant: "clean";--ff-color-background: #ffffff;--ff-color-foreground: #0a0a0a;--ff-color-muted: #737373;--ff-color-muted-foreground: #737373;--ff-color-border: #e8e8e8;--ff-font-sans: "Figtree", system-ui, sans-serif;--ff-font-heading: "Figtree", system-ui, sans-serif;--ff-font-mono: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@layer base{.fanfare-themed{font-family:var(--ff-font-sans);color:var(--ff-color-foreground);background-color:var(--ff-color-surface)}.fanfare-themed *,.fanfare-themed :after,.fanfare-themed :before,.fanfare-themed ::backdrop,.fanfare-themed ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed button:not(:disabled),.fanfare-themed [role=button]:not(:disabled){cursor:pointer}.fanfare-themed :focus-visible{outline:2px solid var(--ff-color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.fanfare-themed *,.fanfare-themed :before,.fanfare-themed :after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}';
|
|
4974
|
+
function Co({
|
|
4961
4975
|
children: e,
|
|
4962
4976
|
theme: a,
|
|
4963
4977
|
variant: r,
|
|
@@ -4966,61 +4980,61 @@ function So({
|
|
|
4966
4980
|
className: i,
|
|
4967
4981
|
style: f
|
|
4968
4982
|
}) {
|
|
4969
|
-
const
|
|
4970
|
-
|
|
4971
|
-
if (
|
|
4972
|
-
const m =
|
|
4983
|
+
const l = bt(null), [g, d] = ve(null);
|
|
4984
|
+
ur(() => {
|
|
4985
|
+
if (l.current && !l.current.shadowRoot) {
|
|
4986
|
+
const m = l.current.attachShadow({ mode: "open" });
|
|
4973
4987
|
d(m);
|
|
4974
4988
|
}
|
|
4975
4989
|
}, []);
|
|
4976
4990
|
const b = X(() => a ? Da(a) : {}, [a]);
|
|
4977
|
-
return /* @__PURE__ */ t("div", { ref:
|
|
4991
|
+
return /* @__PURE__ */ t("div", { ref: l, className: i, style: f, children: g && Mr(
|
|
4978
4992
|
/* @__PURE__ */ u(Me, { children: [
|
|
4979
4993
|
/* @__PURE__ */ u("style", { "data-fanfare-styles": !0, children: [
|
|
4980
|
-
|
|
4981
|
-
|
|
4994
|
+
No,
|
|
4995
|
+
So
|
|
4982
4996
|
] }),
|
|
4983
4997
|
/* @__PURE__ */ t(Na, { locale: n, translations: o, children: /* @__PURE__ */ t(Rt, { theme: a, variant: r, className: "ff:h-full ff:w-full", children: /* @__PURE__ */ t("div", { className: "fanfare-root ff:h-full ff:w-full", style: b, children: e }) }) })
|
|
4984
4998
|
] }),
|
|
4985
4999
|
g
|
|
4986
5000
|
) });
|
|
4987
5001
|
}
|
|
4988
|
-
|
|
5002
|
+
Co.displayName = "ShadowDOMPreview";
|
|
4989
5003
|
export {
|
|
4990
|
-
|
|
5004
|
+
ja as AccessCodeForm,
|
|
4991
5005
|
tt as AuctionModule,
|
|
4992
5006
|
Aa as AuthForm,
|
|
4993
5007
|
Ea as AuthInput,
|
|
4994
5008
|
j as Button,
|
|
4995
5009
|
Ta as Card,
|
|
4996
|
-
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
|
|
5000
|
-
|
|
5001
|
-
|
|
5010
|
+
un as CardContent,
|
|
5011
|
+
dn as CardDescription,
|
|
5012
|
+
pn as CardFooter,
|
|
5013
|
+
ln as CardHeader,
|
|
5014
|
+
cn as CardTitle,
|
|
5015
|
+
za as ChallengeGate,
|
|
5002
5016
|
at as DrawModule,
|
|
5003
5017
|
Fa as EndedModule,
|
|
5004
5018
|
et as ErrorView,
|
|
5005
|
-
|
|
5006
|
-
|
|
5007
|
-
|
|
5019
|
+
Ar as ExperienceJourneyController,
|
|
5020
|
+
Ho as ExperienceJourneySkeleton,
|
|
5021
|
+
_o as ExperienceWidget,
|
|
5008
5022
|
ya as FanfareContext,
|
|
5009
|
-
|
|
5023
|
+
qo as FanfareProvider,
|
|
5010
5024
|
it as GrantedPanel,
|
|
5011
5025
|
Na as I18nProvider,
|
|
5012
5026
|
ie as InfoPanel,
|
|
5013
5027
|
yt as Input,
|
|
5014
5028
|
It as LoadingView,
|
|
5015
5029
|
Ma as OTPInput,
|
|
5016
|
-
|
|
5030
|
+
Ue as OutcomePanel,
|
|
5017
5031
|
Z as PanelBody,
|
|
5018
5032
|
H as PanelFooter,
|
|
5019
5033
|
G as PanelHeading,
|
|
5020
5034
|
Y as PanelLayout,
|
|
5021
5035
|
wt as QueueModule,
|
|
5022
|
-
|
|
5023
|
-
|
|
5036
|
+
Yo as RTL_LOCALES,
|
|
5037
|
+
Co as ShadowDOMPreview,
|
|
5024
5038
|
Ja as StartView,
|
|
5025
5039
|
re as THEME_CSS_VARS,
|
|
5026
5040
|
Rt as ThemeProvider,
|
|
@@ -5028,13 +5042,13 @@ export {
|
|
|
5028
5042
|
Ga as UpcomingModule,
|
|
5029
5043
|
Qa as WaitlistView,
|
|
5030
5044
|
Da as buildThemeCssVars,
|
|
5031
|
-
|
|
5032
|
-
|
|
5045
|
+
rn as buttonVariants,
|
|
5046
|
+
Go as isRTLLocale,
|
|
5033
5047
|
da as normalizeOutcomeReason,
|
|
5034
5048
|
Sa as useExperienceJourney,
|
|
5035
5049
|
Nt as useFanfare,
|
|
5036
|
-
|
|
5050
|
+
Uo as useFanfareAuth,
|
|
5037
5051
|
Wo as useJourneySnapshot,
|
|
5038
|
-
|
|
5052
|
+
je as useNanostore,
|
|
5039
5053
|
K as useTranslations
|
|
5040
5054
|
};
|