@levo-so/site-runtime 0.3.9 → 0.3.10
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/{DateTimeWidget-LfaosVVW.js → DateTimeWidget-U3lD0q1q.js} +1 -1
- package/{KBChatWidget-CuAtGhHT.js → KBChatWidget-ByOwQQNg.js} +403 -397
- package/PopupBody-BI-MJqmd-DW3qWKam.js +159 -0
- package/{PopupRenderer-D66Gx63H-C6RnOnl2.js → PopupRenderer-D66Gx63H-BnOmWsyj.js} +24 -24
- package/RichTextWidget-DfakML79.js +749 -0
- package/RteThemeProvider-BQmfSXSl.js +20 -0
- package/{nodeAlignment-COvc-rIj.js → content.cssm-XdMsTGIB.js} +24 -32
- package/{dist-orLT2eNz.js → dist-BdNHqoWi.js} +2 -2
- package/{dist-Rjs__H25.js → dist-Cl_sKk9y.js} +1 -1
- package/index.d.ts +28 -9
- package/index.js +346 -288
- package/inlineRteTheme-CRPtkNXy.js +10 -0
- package/{kbChat-L55effMi.js → kbChat-GBcfFoss.js} +15 -15
- package/package.json +7 -3
- package/pillChrome-_hpGdrBS.js +50 -0
- package/popups.js +1 -1
- package/{PopupBody-BI-MJqmd-C0qNyN7V.js → react-Cj_U6VZQ.js} +814 -965
- package/rich-text.d.ts +25 -0
- package/rich-text.js +1644 -0
- package/styles.css +1 -1
- package/RichTextWidget-BFWVevY7.js +0 -759
- package/pillChrome-uieiq_SK.js +0 -30
- /package/{PhoneWidget-D-CcDuie.js → PhoneWidget-DQQa4bL6.js} +0 -0
- /package/{Popover-BTdlOQP_.js → Popover-C29yJ7rz.js} +0 -0
- /package/{es-Bj3CsMJz.js → es-ByBbirnH.js} +0 -0
- /package/{rteTheme.cssm-CaRzrwtu.js → rteTheme.cssm-W4gTOijw.js} +0 -0
- /package/{usePopupRedirect-CAAdcpaW-D9XoiVhG.js → usePopupRedirect-CAAdcpaW-Ddjyf4KK.js} +0 -0
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { i as e, n as t } from "./dist-BdNHqoWi.js";
|
|
3
3
|
import { i as n, n as r, r as i } from "./LevoProvider-Bsjkcwc8.js";
|
|
4
4
|
import { t as a } from "./inlineCollectionTheme-CWcMCUti.js";
|
|
5
5
|
import { t as o } from "./inlineBaseTheme-BB9e6h5f.js";
|
|
@@ -122,22 +122,40 @@ var U = [
|
|
|
122
122
|
"form",
|
|
123
123
|
e.module,
|
|
124
124
|
e.identifier
|
|
125
|
-
], De =
|
|
126
|
-
|
|
125
|
+
], De = {
|
|
126
|
+
blog_author: "author",
|
|
127
|
+
blog_category: "category",
|
|
128
|
+
blog_tag: "tag"
|
|
129
|
+
}, Oe = (e, t) => {
|
|
130
|
+
let n = encodeURIComponent(e.identifier), r = t ? `${encodeURIComponent(t)}/get-single` : "list", i = De[e.module];
|
|
131
|
+
return i ? `/v1/blog/${n}/${i}/${r}` : e.module === "community" ? `/v1/community/${n}/post/${r}` : null;
|
|
132
|
+
}, ke = async (e, t) => {
|
|
133
|
+
let n = Oe(t);
|
|
134
|
+
if (n) {
|
|
135
|
+
let r = await e.fetch.url(n).post(t.query ?? {}).json();
|
|
136
|
+
return {
|
|
137
|
+
data: r.content.data ?? [],
|
|
138
|
+
meta: r.content.meta ?? null
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
let r = t.module === "collection" ? await e.collection.getCollectionContentList({
|
|
127
142
|
collection_key: t.identifier,
|
|
128
143
|
...t.query ?? {}
|
|
129
144
|
}) : t.module === "blog" ? await e.blog.getAllBlogs(t.identifier, t.query ?? {}) : await e.event.getAllEvents(t.identifier, t.query ?? {});
|
|
130
145
|
return {
|
|
131
|
-
data:
|
|
132
|
-
meta:
|
|
146
|
+
data: r.content.data ?? [],
|
|
147
|
+
meta: r.content.meta ?? null
|
|
133
148
|
};
|
|
134
|
-
},
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
149
|
+
}, Ae = async (e, t, n) => {
|
|
150
|
+
let r = Oe(t, n);
|
|
151
|
+
return r ? (await e.fetch.url(r).get().json()).content.data ?? null : (t.module === "collection" ? await e.collection.getCollectionContent({
|
|
152
|
+
collection_key: t.identifier,
|
|
153
|
+
slug: n
|
|
154
|
+
}) : t.module === "blog" ? await e.blog.getSingleBlog(t.identifier, n) : await e.event.getSingleEvent(n)).content.data ?? null;
|
|
155
|
+
}, je = async (e, t) => (await e.collection.getCollectionByIDExpanded(t.identifier)).content.data ?? null, Me = (e) => {
|
|
138
156
|
let t = i(), n = I({
|
|
139
157
|
queryKey: we(e),
|
|
140
|
-
queryFn: () =>
|
|
158
|
+
queryFn: () => ke(t, e),
|
|
141
159
|
enabled: !!t
|
|
142
160
|
});
|
|
143
161
|
return {
|
|
@@ -150,10 +168,10 @@ var U = [
|
|
|
150
168
|
...e
|
|
151
169
|
}) }
|
|
152
170
|
};
|
|
153
|
-
},
|
|
171
|
+
}, Ne = (e, t) => {
|
|
154
172
|
let n = i(), r = I({
|
|
155
173
|
queryKey: Te(e, t),
|
|
156
|
-
queryFn: () =>
|
|
174
|
+
queryFn: () => Ae(n, e, t),
|
|
157
175
|
enabled: !!n && !!t
|
|
158
176
|
});
|
|
159
177
|
return {
|
|
@@ -165,10 +183,10 @@ var U = [
|
|
|
165
183
|
...e
|
|
166
184
|
}) }
|
|
167
185
|
};
|
|
168
|
-
},
|
|
186
|
+
}, Pe = (e) => {
|
|
169
187
|
let t = i(), n = I({
|
|
170
188
|
queryKey: Ee(e),
|
|
171
|
-
queryFn: () =>
|
|
189
|
+
queryFn: () => je(t, e),
|
|
172
190
|
enabled: !!t
|
|
173
191
|
});
|
|
174
192
|
return {
|
|
@@ -180,7 +198,7 @@ var U = [
|
|
|
180
198
|
...e
|
|
181
199
|
}) }
|
|
182
200
|
};
|
|
183
|
-
},
|
|
201
|
+
}, Fe = async ({ queryClient: e, config: t, sources: n, params: r }) => {
|
|
184
202
|
let i = Se(t);
|
|
185
203
|
if (!i || !n) return {};
|
|
186
204
|
let a = await Promise.all(Object.entries(n).map(async ([t, n]) => {
|
|
@@ -188,19 +206,19 @@ var U = [
|
|
|
188
206
|
let a = r?.slug;
|
|
189
207
|
return a ? [t, await e.ensureQueryData({
|
|
190
208
|
queryKey: Te(n, a),
|
|
191
|
-
queryFn: () =>
|
|
209
|
+
queryFn: () => Ae(i, n, a)
|
|
192
210
|
}).catch(() => null)] : [t, null];
|
|
193
211
|
}
|
|
194
212
|
return n.mode === "form" ? [t, await e.ensureQueryData({
|
|
195
213
|
queryKey: Ee(n),
|
|
196
|
-
queryFn: () =>
|
|
214
|
+
queryFn: () => je(i, n)
|
|
197
215
|
}).catch(() => null)] : [t, await e.ensureQueryData({
|
|
198
216
|
queryKey: we(n),
|
|
199
|
-
queryFn: () =>
|
|
217
|
+
queryFn: () => ke(i, n)
|
|
200
218
|
}).catch(() => null)];
|
|
201
219
|
}));
|
|
202
220
|
return Object.fromEntries(a);
|
|
203
|
-
},
|
|
221
|
+
}, Ie = {
|
|
204
222
|
background: "var(--color-page)",
|
|
205
223
|
foreground: "var(--color-ink)",
|
|
206
224
|
text: "var(--color-ink)",
|
|
@@ -222,10 +240,10 @@ var U = [
|
|
|
222
240
|
input: "var(--color-background1)",
|
|
223
241
|
inputForeground: "var(--color-ink)",
|
|
224
242
|
ring: "var(--color-brand)"
|
|
225
|
-
},
|
|
243
|
+
}, Le = (e) => j(() => ({
|
|
226
244
|
...o({
|
|
227
245
|
colors: {
|
|
228
|
-
...
|
|
246
|
+
...Ie,
|
|
229
247
|
...e?.colors
|
|
230
248
|
},
|
|
231
249
|
radius: e?.radius ?? "var(--radius-token)",
|
|
@@ -244,7 +262,7 @@ function J() {
|
|
|
244
262
|
}
|
|
245
263
|
//#endregion
|
|
246
264
|
//#region src/access/useLevoAuth.ts
|
|
247
|
-
var Y = ["levo-auth", "session"],
|
|
265
|
+
var Y = ["levo-auth", "session"], Re = () => {
|
|
248
266
|
let e = i(), t = L(), n = J(), r = I({
|
|
249
267
|
queryKey: Y,
|
|
250
268
|
queryFn: async () => {
|
|
@@ -279,14 +297,14 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
279
297
|
signOut: s,
|
|
280
298
|
isSigningOut: a.isPending
|
|
281
299
|
};
|
|
282
|
-
},
|
|
283
|
-
let c = i(), { account: l } =
|
|
300
|
+
}, ze = ({ collection: e, hidden: n, submitLabel: r = "Submit", onSuccess: a, theme: o, className: s }) => {
|
|
301
|
+
let c = i(), { account: l } = Re(), { schema: u, isLoading: d } = Pe({
|
|
284
302
|
module: "collection",
|
|
285
|
-
identifier:
|
|
286
|
-
}), f =
|
|
303
|
+
identifier: e
|
|
304
|
+
}), f = Le(o);
|
|
287
305
|
return c ? /* @__PURE__ */ S("div", {
|
|
288
306
|
className: s,
|
|
289
|
-
children: /* @__PURE__ */ S(
|
|
307
|
+
children: /* @__PURE__ */ S(t, {
|
|
290
308
|
fetchedSchema: u,
|
|
291
309
|
isLoading: d,
|
|
292
310
|
submitButtonConfig: {
|
|
@@ -307,37 +325,37 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
307
325
|
onSuccess: () => a?.()
|
|
308
326
|
})
|
|
309
327
|
}) : null;
|
|
310
|
-
},
|
|
328
|
+
}, Be = "so_levo_membership_account", Ve = [
|
|
311
329
|
"profile_picture",
|
|
312
330
|
"first_name",
|
|
313
331
|
"last_name",
|
|
314
332
|
"email",
|
|
315
333
|
"username",
|
|
316
334
|
"socials"
|
|
317
|
-
],
|
|
318
|
-
let c = i(), l = J(), { account: u } =
|
|
335
|
+
], He = ["email", "username"], Ue = (e) => Ve.includes(e.key) || e.editable === !0, We = ({ hidden: t, submitLabel: n = "Save and continue", onSuccess: r, errorClassName: a = "text-sm text-[var(--color-danger)]", theme: o, className: s }) => {
|
|
336
|
+
let c = i(), l = J(), { account: u } = Re(), d = Le(o), [f, p] = N(""), m = I({
|
|
319
337
|
queryKey: ["levo-access", "profile-schema"],
|
|
320
|
-
queryFn: async () => (await c?.collection?.getCollectionByIDExpanded(
|
|
338
|
+
queryFn: async () => (await c?.collection?.getCollectionByIDExpanded(Be))?.content?.data ?? null,
|
|
321
339
|
enabled: l && !!c,
|
|
322
340
|
staleTime: 5 * 6e4,
|
|
323
341
|
retry: 1
|
|
324
|
-
}), h =
|
|
325
|
-
let
|
|
326
|
-
return
|
|
327
|
-
...
|
|
328
|
-
sections:
|
|
329
|
-
...
|
|
330
|
-
fields:
|
|
331
|
-
...
|
|
332
|
-
hidden: !
|
|
333
|
-
readonly:
|
|
342
|
+
}), h = t?.join("|") ?? "", g = j(() => {
|
|
343
|
+
let e = m.data;
|
|
344
|
+
return e ? {
|
|
345
|
+
...e,
|
|
346
|
+
sections: e.sections?.map((e) => ({
|
|
347
|
+
...e,
|
|
348
|
+
fields: e.fields?.map((e) => ({
|
|
349
|
+
...e,
|
|
350
|
+
hidden: !Ue(e) || !!t?.includes(e.key),
|
|
351
|
+
readonly: e.readonly || He.includes(e.key)
|
|
334
352
|
}))
|
|
335
353
|
}))
|
|
336
354
|
} : null;
|
|
337
355
|
}, [m.data, h]), _ = F({
|
|
338
|
-
mutationFn: async (
|
|
339
|
-
let n = g?.sections?.flatMap((e) => e?.fields ?? [])?.filter((
|
|
340
|
-
await c?.membership?.updateMe(Object.fromEntries(Object.entries(
|
|
356
|
+
mutationFn: async (e) => {
|
|
357
|
+
let n = g?.sections?.flatMap((e) => e?.fields ?? [])?.filter((e) => Ue(e) && !He.includes(e.key) && !t?.includes(e.key))?.map((e) => e?.key) ?? [];
|
|
358
|
+
await c?.membership?.updateMe(Object.fromEntries(Object.entries(e).filter(([e]) => n.includes(e))));
|
|
341
359
|
},
|
|
342
360
|
onMutate: () => p(""),
|
|
343
361
|
onSuccess: () => r?.(),
|
|
@@ -351,7 +369,7 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
351
369
|
children: [f ? /* @__PURE__ */ S("p", {
|
|
352
370
|
className: a,
|
|
353
371
|
children: f
|
|
354
|
-
}) : null, g ? /* @__PURE__ */ S(
|
|
372
|
+
}) : null, g ? /* @__PURE__ */ S(e, {
|
|
355
373
|
schema: g,
|
|
356
374
|
initialValues: u ?? {},
|
|
357
375
|
uiConfig: {
|
|
@@ -367,8 +385,8 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
367
385
|
onSubmit: (e) => _.mutate(e)
|
|
368
386
|
}) : null]
|
|
369
387
|
}) : null;
|
|
370
|
-
},
|
|
371
|
-
let t = i(), n = L(), r = J(), { isLoggedIn: a, isLoaded: o } =
|
|
388
|
+
}, Ge = (e) => {
|
|
389
|
+
let t = i(), n = L(), r = J(), { isLoggedIn: a, isLoaded: o } = Re(), s = e.id?.trim() || "", { rules: c, invalid: l } = j(() => ge(e.access), [e.access]), u = j(() => _e(c), [c]), d = r && !!t && c.length > 0 && !l && !!s && a, f = I({
|
|
372
390
|
queryKey: ["levo-access", s],
|
|
373
391
|
queryFn: async () => (await t?.fetch.url(`/v1/builder/page/${s}/check-access`).post().json())?.content?.data ?? null,
|
|
374
392
|
enabled: d,
|
|
@@ -403,26 +421,26 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
403
421
|
recheck: p,
|
|
404
422
|
isChecking: f.isFetching
|
|
405
423
|
};
|
|
406
|
-
},
|
|
424
|
+
}, Ke = "membership.account.ACCOUNT_PENDING_APPROVAL", qe = (e) => e ? e === "membership.account.ACCOUNT_PENDING_APPROVAL" || e.includes("ACCOUNT_PENDING_APPROVAL") : !1, Je = (e) => {
|
|
407
425
|
let t = b(e);
|
|
408
426
|
return {
|
|
409
427
|
code: t?.code || "SOMETHING_WENT_WRONG",
|
|
410
428
|
title: t?.title || "Something went wrong",
|
|
411
429
|
message: t?.message || "Something went wrong. Please try again.",
|
|
412
430
|
fieldErrors: Object.fromEntries((t?.fieldErrors ?? []).map((e) => [e.param, e.message])),
|
|
413
|
-
isPendingApproval:
|
|
431
|
+
isPendingApproval: qe(t?.code)
|
|
414
432
|
};
|
|
415
|
-
},
|
|
433
|
+
}, Ye = {
|
|
416
434
|
code: "site.NOT_CONNECTED",
|
|
417
435
|
title: "Sign-in unavailable",
|
|
418
436
|
message: "This site is not connected to an account system yet.",
|
|
419
437
|
fieldErrors: {},
|
|
420
438
|
isPendingApproval: !1
|
|
421
|
-
},
|
|
439
|
+
}, Xe = () => {
|
|
422
440
|
let e = i(), t = L(), n = O(async (t, n) => {
|
|
423
441
|
if (!e?.membership) return {
|
|
424
442
|
ok: !1,
|
|
425
|
-
error:
|
|
443
|
+
error: Ye
|
|
426
444
|
};
|
|
427
445
|
try {
|
|
428
446
|
return {
|
|
@@ -433,7 +451,7 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
433
451
|
let r = b(n);
|
|
434
452
|
return e.logger?.error(t, { exception: r }), {
|
|
435
453
|
ok: !1,
|
|
436
|
-
error:
|
|
454
|
+
error: Je(r)
|
|
437
455
|
};
|
|
438
456
|
}
|
|
439
457
|
}, [e]), r = O(async ({ identifier: t, medium: n }) => {
|
|
@@ -460,10 +478,10 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
460
478
|
isVerifying: s.isPending,
|
|
461
479
|
isSendingMagicLink: c.isPending
|
|
462
480
|
};
|
|
463
|
-
},
|
|
464
|
-
let n = window.screenX + (window.outerWidth -
|
|
465
|
-
return window.open(e, t, `width=${
|
|
466
|
-
},
|
|
481
|
+
}, Ze = 700, Qe = 500, $e = 700, et = (e, t) => {
|
|
482
|
+
let n = window.screenX + (window.outerWidth - Qe) / 2, r = window.screenY + (window.outerHeight - $e) / 2.5;
|
|
483
|
+
return window.open(e, t, `width=${Qe},height=${$e},left=${n},top=${r}`);
|
|
484
|
+
}, tt = ({ methods: e, title: t = "Sign in", onSuccess: n, onError: r }) => {
|
|
467
485
|
let a = i(), o = L(), s = J(), [c, l] = N(null), [u, d] = N(null), f = M(null), p = M(void 0), m = M({
|
|
468
486
|
onSuccess: n,
|
|
469
487
|
onError: r
|
|
@@ -520,10 +538,10 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
520
538
|
title: t.get("title") || "Sign-in failed",
|
|
521
539
|
message: t.get("message") || "We could not sign you in. Please try again.",
|
|
522
540
|
fieldErrors: {},
|
|
523
|
-
isPendingApproval:
|
|
541
|
+
isPendingApproval: qe(t.get("code"))
|
|
524
542
|
};
|
|
525
543
|
r.isPendingApproval || d(r), m.current.onError?.(r);
|
|
526
|
-
},
|
|
544
|
+
}, Ze);
|
|
527
545
|
}, [o, g]), v = j(() => {
|
|
528
546
|
let e = h.data;
|
|
529
547
|
if (!e || typeof window > "u") return {};
|
|
@@ -544,7 +562,7 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
544
562
|
signIn: () => {
|
|
545
563
|
let n = v[e];
|
|
546
564
|
if (n) {
|
|
547
|
-
if (d(null), f.current?.close(), f.current =
|
|
565
|
+
if (d(null), f.current?.close(), f.current = et(n, t), !f.current) {
|
|
548
566
|
d({
|
|
549
567
|
code: "POPUP_BLOCKED",
|
|
550
568
|
title: "Popup blocked",
|
|
@@ -568,10 +586,10 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
568
586
|
error: u,
|
|
569
587
|
clearError: O(() => d(null), [])
|
|
570
588
|
};
|
|
571
|
-
},
|
|
589
|
+
}, nt = 4, rt = (e) => /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(e.trim()), it = (e) => RegExp("^\\d{4}$").test(e.trim()), at = (e) => {
|
|
572
590
|
let t = e.replace(/\D/g, "").replace(/^0+/, "");
|
|
573
591
|
return t ? `+${t}` : "";
|
|
574
|
-
},
|
|
592
|
+
}, ot = (e) => /^\+[1-9]\d{7,14}$/.test(at(e)), st = ({ value: e, onChange: t, length: n = 4, onComplete: r, autoFocus: i, disabled: a }) => {
|
|
575
593
|
let o = M([]), [s, c] = N(null), l = M(r);
|
|
576
594
|
l.current = r;
|
|
577
595
|
let u = Array.from({ length: n }, (t, n) => e[n] ?? ""), d = O((e) => {
|
|
@@ -655,11 +673,11 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
655
673
|
},
|
|
656
674
|
clear: O(() => f("", 0), [f])
|
|
657
675
|
};
|
|
658
|
-
},
|
|
676
|
+
}, ct = D(() => import("./kbChat-GBcfFoss.js")), lt = ({ site: e, path: t }) => {
|
|
659
677
|
let n = J(), r = e.workspace_id || void 0;
|
|
660
678
|
return !n || !r ? null : /* @__PURE__ */ S(T, {
|
|
661
679
|
fallback: null,
|
|
662
|
-
children: /* @__PURE__ */ S(
|
|
680
|
+
children: /* @__PURE__ */ S(ct, {
|
|
663
681
|
workspaceId: r,
|
|
664
682
|
siteName: e.name || void 0,
|
|
665
683
|
siteLogo: void 0,
|
|
@@ -669,65 +687,65 @@ var Y = ["levo-auth", "session"], Ie = () => {
|
|
|
669
687
|
path: t
|
|
670
688
|
})
|
|
671
689
|
});
|
|
672
|
-
},
|
|
690
|
+
}, ut = "(prefers-color-scheme: dark)", dt = (e) => {
|
|
673
691
|
try {
|
|
674
692
|
let t = localStorage.getItem(e);
|
|
675
693
|
return t === "light" || t === "dark" || t === "system" ? t : null;
|
|
676
694
|
} catch {
|
|
677
695
|
return null;
|
|
678
696
|
}
|
|
679
|
-
},
|
|
697
|
+
}, ft = (e, t) => {
|
|
680
698
|
try {
|
|
681
699
|
localStorage.setItem(e, t);
|
|
682
700
|
} catch {}
|
|
683
701
|
};
|
|
684
|
-
function
|
|
685
|
-
return `(function(){try{var t=localStorage.getItem(${JSON.stringify(e)});if(t!=='light'&&t!=='dark'&&t!=='system'){t=${JSON.stringify(t)}}var d=matchMedia('${
|
|
702
|
+
function pt(e, t) {
|
|
703
|
+
return `(function(){try{var t=localStorage.getItem(${JSON.stringify(e)});if(t!=='light'&&t!=='dark'&&t!=='system'){t=${JSON.stringify(t)}}var d=matchMedia('${ut}').matches;var r=t==='system'?(d?'dark':'light'):t;var e=document.documentElement;e.classList.remove('light','dark');e.classList.add(r);e.style.colorScheme=r}catch(e){}})();`;
|
|
686
704
|
}
|
|
687
|
-
var
|
|
688
|
-
function
|
|
705
|
+
var mt = E(void 0), ht = (e) => e === "system" ? window.matchMedia(ut).matches ? "dark" : "light" : e;
|
|
706
|
+
function gt(e) {
|
|
689
707
|
let t = document.documentElement;
|
|
690
708
|
t.classList.remove("light", "dark"), t.classList.add(e), t.style.colorScheme = e;
|
|
691
709
|
}
|
|
692
|
-
var
|
|
710
|
+
var _t = ({ children: e, defaultMode: t = "system", storageKey: n = "color-mode" }) => {
|
|
693
711
|
let [r, i] = N(t), [a, o] = N(t === "dark" ? "dark" : "light"), s = J();
|
|
694
712
|
return k(() => {
|
|
695
|
-
i(
|
|
713
|
+
i(dt(n) ?? t);
|
|
696
714
|
}, [t, n]), k(() => {
|
|
697
715
|
if (!s) return;
|
|
698
|
-
let e =
|
|
699
|
-
|
|
716
|
+
let e = ht(r);
|
|
717
|
+
gt(e), o(e);
|
|
700
718
|
}, [r, s]), k(() => {
|
|
701
719
|
if (!s || r !== "system") return;
|
|
702
|
-
let e = window.matchMedia(
|
|
720
|
+
let e = window.matchMedia(ut), t = () => {
|
|
703
721
|
let t = e.matches ? "dark" : "light";
|
|
704
|
-
|
|
722
|
+
gt(t), o(t);
|
|
705
723
|
};
|
|
706
724
|
return e.addEventListener("change", t), () => e.removeEventListener("change", t);
|
|
707
|
-
}, [r, s]), /* @__PURE__ */ C(
|
|
725
|
+
}, [r, s]), /* @__PURE__ */ C(mt.Provider, {
|
|
708
726
|
value: {
|
|
709
727
|
mode: r,
|
|
710
728
|
resolvedMode: a,
|
|
711
729
|
setMode: (e) => {
|
|
712
|
-
|
|
730
|
+
ft(n, e), i(e);
|
|
713
731
|
}
|
|
714
732
|
},
|
|
715
|
-
children: [/* @__PURE__ */ S(te, { children:
|
|
733
|
+
children: [/* @__PURE__ */ S(te, { children: pt(n, t) }), e]
|
|
716
734
|
});
|
|
717
735
|
};
|
|
718
|
-
function
|
|
719
|
-
let e = ee(
|
|
736
|
+
function vt() {
|
|
737
|
+
let e = ee(mt);
|
|
720
738
|
if (e === void 0) throw Error("useColorMode must be used within a ColorModeProvider");
|
|
721
739
|
return e;
|
|
722
740
|
}
|
|
723
741
|
//#endregion
|
|
724
742
|
//#region src/form/LevoForm.tsx
|
|
725
|
-
var
|
|
726
|
-
let l = i(), { schema: u, isLoading: d, bind: f } =
|
|
743
|
+
var yt = ({ source: e, submitLabel: n = "Submit", hiddenFields: r, formVariant: a = "default", successConfig: o, theme: s, className: c }) => {
|
|
744
|
+
let l = i(), { schema: u, isLoading: d, bind: f } = Pe(e), p = Le(s);
|
|
727
745
|
return l ? /* @__PURE__ */ S("div", {
|
|
728
746
|
...f,
|
|
729
747
|
className: c,
|
|
730
|
-
children: /* @__PURE__ */ S(
|
|
748
|
+
children: /* @__PURE__ */ S(t, {
|
|
731
749
|
fetchedSchema: u,
|
|
732
750
|
isLoading: d,
|
|
733
751
|
submitButtonConfig: {
|
|
@@ -744,28 +762,28 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
744
762
|
successConfig: o
|
|
745
763
|
})
|
|
746
764
|
}) : null;
|
|
747
|
-
},
|
|
765
|
+
}, bt = 1400, xt = 12 * 1024 * 1024, St = new Set(["transparent", "rgba(0, 0, 0, 0)"]), Ct = {
|
|
748
766
|
imagePlaceholder: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=",
|
|
749
767
|
onImageErrorHandler: () => void 0
|
|
750
|
-
},
|
|
768
|
+
}, wt = (e) => {
|
|
751
769
|
let t = getComputedStyle(e);
|
|
752
|
-
return !
|
|
753
|
-
},
|
|
770
|
+
return !St.has(t.backgroundColor) || t.backgroundImage !== "none";
|
|
771
|
+
}, Tt = (e) => {
|
|
754
772
|
for (let t = e; t; t = t.parentElement) {
|
|
755
773
|
let e = getComputedStyle(t).backgroundColor;
|
|
756
|
-
if (!
|
|
774
|
+
if (!St.has(e)) return e;
|
|
757
775
|
}
|
|
758
776
|
return "#ffffff";
|
|
759
|
-
},
|
|
760
|
-
let { toPng: n } = await import("./es-
|
|
761
|
-
...
|
|
777
|
+
}, Et = async (e, t) => {
|
|
778
|
+
let { toPng: n } = await import("./es-ByBbirnH.js"), r = e.getBoundingClientRect(), i = Math.max(r.width, r.height, 1), a = Math.min(2, Math.max(.4, bt / i)), o = await n(e, {
|
|
779
|
+
...Ct,
|
|
762
780
|
pixelRatio: a,
|
|
763
|
-
backgroundColor:
|
|
781
|
+
backgroundColor: Tt(e),
|
|
764
782
|
filter: (e) => !t.includes(e)
|
|
765
783
|
});
|
|
766
|
-
if (o.length >
|
|
784
|
+
if (o.length > xt) throw Error("capture too large");
|
|
767
785
|
return o;
|
|
768
|
-
},
|
|
786
|
+
}, Dt = 4, Ot = 4e3, kt = (e, t) => {
|
|
769
787
|
let n = document.elementFromPoint(e.x + e.width / 2, e.y + e.height / 2);
|
|
770
788
|
for (; n && t.includes(n);) n = n.parentElement;
|
|
771
789
|
let r = document.body;
|
|
@@ -776,8 +794,8 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
776
794
|
break;
|
|
777
795
|
}
|
|
778
796
|
}
|
|
779
|
-
let i = window.innerWidth * window.innerHeight *
|
|
780
|
-
for (; !
|
|
797
|
+
let i = window.innerWidth * window.innerHeight * Dt || 2 ** 53 - 1, a = r;
|
|
798
|
+
for (; !wt(a);) {
|
|
781
799
|
let e = a.parentElement;
|
|
782
800
|
if (!e || e === document.documentElement) break;
|
|
783
801
|
let t = e.getBoundingClientRect();
|
|
@@ -785,13 +803,13 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
785
803
|
a = e;
|
|
786
804
|
}
|
|
787
805
|
return a;
|
|
788
|
-
},
|
|
789
|
-
let { toCanvas: n } = await import("./es-
|
|
790
|
-
o = Math.min(o,
|
|
806
|
+
}, At = async (e, t) => {
|
|
807
|
+
let { toCanvas: n } = await import("./es-ByBbirnH.js"), r = kt(e, t), i = r.getBoundingClientRect(), a = Math.max(e.width, e.height, 1), o = Math.min(2, Math.max(.4, bt / a)), s = Math.max(i.width, i.height, 1);
|
|
808
|
+
o = Math.min(o, Ot / s);
|
|
791
809
|
let c = await n(r, {
|
|
792
|
-
...
|
|
810
|
+
...Ct,
|
|
793
811
|
pixelRatio: o,
|
|
794
|
-
backgroundColor:
|
|
812
|
+
backgroundColor: Tt(r),
|
|
795
813
|
filter: (e) => !t.includes(e)
|
|
796
814
|
}), l = document.createElement("canvas");
|
|
797
815
|
l.width = Math.max(1, Math.round(e.width * o)), l.height = Math.max(1, Math.round(e.height * o));
|
|
@@ -799,9 +817,9 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
799
817
|
if (!u) throw Error("no 2d context");
|
|
800
818
|
u.drawImage(c, (e.x - i.left) * o, (e.y - i.top) * o, e.width * o, e.height * o, 0, 0, l.width, l.height);
|
|
801
819
|
let d = l.toDataURL("image/png");
|
|
802
|
-
if (d.length >
|
|
820
|
+
if (d.length > xt) throw Error("capture too large");
|
|
803
821
|
return d;
|
|
804
|
-
},
|
|
822
|
+
}, jt = {
|
|
805
823
|
ring: 99997,
|
|
806
824
|
overlay: 99998,
|
|
807
825
|
label: 99999
|
|
@@ -814,24 +832,24 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
814
832
|
}, Z = (e) => {
|
|
815
833
|
let t = e?.getAttribute("data-tsd-source");
|
|
816
834
|
return t ? t.replace(/^\//, "") : null;
|
|
817
|
-
},
|
|
818
|
-
let n =
|
|
835
|
+
}, Mt = (e) => Array.from(document.querySelectorAll("[data-tsd-source]")).filter((t) => Z(t) === e), Nt = (e, t) => {
|
|
836
|
+
let n = Mt(t).indexOf(e);
|
|
819
837
|
return n < 0 ? 0 : n;
|
|
820
|
-
},
|
|
821
|
-
let n =
|
|
838
|
+
}, Pt = (e, t = 0) => {
|
|
839
|
+
let n = Mt(e);
|
|
822
840
|
return n[t] ?? n[0] ?? null;
|
|
823
|
-
},
|
|
841
|
+
}, Ft = (e, t) => {
|
|
824
842
|
let n = (e.getAttribute("data-staged-key") || "").split(/\s+/).filter(Boolean);
|
|
825
843
|
n.includes(t) || e.setAttribute("data-staged-key", [...n, t].join(" "));
|
|
826
|
-
},
|
|
844
|
+
}, It = (e, t) => {
|
|
827
845
|
let n = (e.getAttribute("data-staged-key") || "").split(/\s+/).filter((e) => e && e !== t);
|
|
828
846
|
n.length ? e.setAttribute("data-staged-key", n.join(" ")) : e.removeAttribute("data-staged-key");
|
|
829
|
-
},
|
|
847
|
+
}, Lt = (e, t) => {
|
|
830
848
|
let n = Object.entries(t.styles).filter(([e]) => /^-?[a-zA-Z][a-zA-Z0-9-]*$/.test(e)).map(([e, t]) => `${e}:${String(t).replace(/[;{}]/g, "")} !important;`).join("");
|
|
831
849
|
if (!n) return "";
|
|
832
850
|
let r = `[data-staged-key~="${CSS.escape(e)}"]{${n}}`, i = t.media?.replace(/[;{}]/g, "").trim();
|
|
833
851
|
return i ? `@media ${i}{${r}}` : r;
|
|
834
|
-
},
|
|
852
|
+
}, Rt = (e) => {
|
|
835
853
|
let t = e.tagName.toLowerCase();
|
|
836
854
|
return t === "input" ? {
|
|
837
855
|
checkbox: "Checkbox",
|
|
@@ -873,31 +891,31 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
873
891
|
aside: "Sidebar",
|
|
874
892
|
div: "Container"
|
|
875
893
|
}[t] || `${t.charAt(0).toUpperCase()}${t.slice(1)}`;
|
|
876
|
-
},
|
|
877
|
-
let t =
|
|
878
|
-
return n ? `${t} · ${n.length >
|
|
879
|
-
},
|
|
894
|
+
}, zt = 36, Bt = (e) => {
|
|
895
|
+
let t = Rt(e), n = ((e) => e.replace(/\s+/g, " ").trim())(e.getAttribute("aria-label") || e.getAttribute("alt") || e.getAttribute("title") || e.getAttribute("name") || "");
|
|
896
|
+
return n ? `${t} · ${n.length > zt ? `${n.slice(0, zt - 1).trimEnd()}…` : n}` : t;
|
|
897
|
+
}, Vt = (e) => {
|
|
880
898
|
let t = [], n = e;
|
|
881
899
|
for (; n && n.nodeType === 1 && n !== document.body && t.length < 8;) t.unshift(n.tagName.toLowerCase()), n = n.parentElement;
|
|
882
900
|
return t.join(" > ");
|
|
883
|
-
},
|
|
901
|
+
}, Ht = () => {
|
|
884
902
|
let e = document.createElement("div");
|
|
885
|
-
e.style.cssText = `position:fixed;pointer-events:none;z-index:${
|
|
903
|
+
e.style.cssText = `position:fixed;pointer-events:none;z-index:${jt.overlay};background:${X.hoverBg};outline:2px solid ${X.hover};border-radius:2px;display:none`;
|
|
886
904
|
let t = document.createElement("div");
|
|
887
|
-
t.style.cssText = `position:fixed;pointer-events:none;z-index:${
|
|
905
|
+
t.style.cssText = `position:fixed;pointer-events:none;z-index:${jt.label};background:${X.hoverLabelBg};color:#fff;font:11px/1.6 ui-monospace,monospace;padding:1px 6px;border-radius:4px;display:none;max-width:70vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis`;
|
|
888
906
|
let n = document.createElement("div");
|
|
889
|
-
n.style.cssText = `position:fixed;pointer-events:none;z-index:${
|
|
907
|
+
n.style.cssText = `position:fixed;pointer-events:none;z-index:${jt.ring};outline:2px solid ${X.select};outline-offset:1px;border-radius:3px;box-shadow:0 0 0 4px ${X.selectGlow};display:none`;
|
|
890
908
|
let r = document.createElement("div");
|
|
891
|
-
return r.style.cssText = `position:fixed;pointer-events:none;z-index:${
|
|
909
|
+
return r.style.cssText = `position:fixed;pointer-events:none;z-index:${jt.label};background:${X.select};color:#fff;font:11px/1.6 ui-monospace,monospace;padding:1px 6px;border-radius:4px;display:none;max-width:70vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis`, {
|
|
892
910
|
overlay: e,
|
|
893
911
|
label: t,
|
|
894
912
|
ring: n,
|
|
895
913
|
ringLabel: r
|
|
896
914
|
};
|
|
897
|
-
},
|
|
915
|
+
}, Ut = (e, t, n) => {
|
|
898
916
|
let r = n.getBoundingClientRect();
|
|
899
|
-
e.style.display = "block", e.style.left = `${r.left}px`, e.style.top = `${r.top}px`, e.style.width = `${r.width}px`, e.style.height = `${r.height}px`, t.style.display = "block", t.textContent =
|
|
900
|
-
},
|
|
917
|
+
e.style.display = "block", e.style.left = `${r.left}px`, e.style.top = `${r.top}px`, e.style.width = `${r.width}px`, e.style.height = `${r.height}px`, t.style.display = "block", t.textContent = Bt(n), t.style.left = `${Math.max(4, r.left)}px`, t.style.top = `${r.top > 26 ? r.top - 22 : r.bottom + 4}px`;
|
|
918
|
+
}, Wt = (e) => {
|
|
901
919
|
let t = (e instanceof Element ? e : null)?.closest("a[href]");
|
|
902
920
|
if (!t || t.target === "_blank") return null;
|
|
903
921
|
let n;
|
|
@@ -907,11 +925,11 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
907
925
|
return null;
|
|
908
926
|
}
|
|
909
927
|
return n.protocol !== "http:" && n.protocol !== "https:" || n.origin === location.origin ? null : n.href;
|
|
910
|
-
},
|
|
928
|
+
}, Gt = (e) => {
|
|
911
929
|
if (!e) return !1;
|
|
912
930
|
let t = e.tagName;
|
|
913
931
|
return t === "INPUT" || t === "TEXTAREA" || t === "SELECT" || e.isContentEditable === !0;
|
|
914
|
-
},
|
|
932
|
+
}, Kt = (e) => {
|
|
915
933
|
if (!e.childNodes.length) return !1;
|
|
916
934
|
let t = !1;
|
|
917
935
|
for (let n of e.childNodes) {
|
|
@@ -919,7 +937,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
919
937
|
(n.textContent ?? "").trim() && (t = !0);
|
|
920
938
|
}
|
|
921
939
|
return t;
|
|
922
|
-
},
|
|
940
|
+
}, qt = 2e3, Jt = (e) => {
|
|
923
941
|
let t = [], n = e;
|
|
924
942
|
for (; n && n.nodeType === 1 && n !== document.body && t.length < 8;) {
|
|
925
943
|
let e = Z(n);
|
|
@@ -930,22 +948,22 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
930
948
|
}), n = n.parentElement;
|
|
931
949
|
}
|
|
932
950
|
return t;
|
|
933
|
-
},
|
|
934
|
-
let t = Z(e), n = t ?
|
|
951
|
+
}, Yt = (e) => {
|
|
952
|
+
let t = Z(e), n = t ? Mt(t).length : 1, r = t ? Nt(e, t) : 0, i = t && Kt(e) ? (e.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, qt) : void 0, a = Xt(e);
|
|
935
953
|
return {
|
|
936
954
|
tag: e.tagName.toLowerCase(),
|
|
937
955
|
classes: typeof e.className == "string" ? e.className.trim() : "",
|
|
938
956
|
text: (e.innerText || "").trim().slice(0, 120),
|
|
939
|
-
label:
|
|
940
|
-
path:
|
|
957
|
+
label: Bt(e),
|
|
958
|
+
path: Vt(e),
|
|
941
959
|
source: t,
|
|
942
960
|
index: r,
|
|
943
961
|
occurrences: n,
|
|
944
|
-
ancestors:
|
|
962
|
+
ancestors: Jt(e),
|
|
945
963
|
...i === void 0 ? {} : { fullText: i },
|
|
946
964
|
...a ? { sourceBinding: a } : {}
|
|
947
965
|
};
|
|
948
|
-
},
|
|
966
|
+
}, Xt = (e) => {
|
|
949
967
|
let t = e.closest("[data-levo-source]");
|
|
950
968
|
if (!t) return;
|
|
951
969
|
let n = t.getAttribute("data-levo-source") ?? "", r = Z(t), i;
|
|
@@ -958,11 +976,11 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
958
976
|
raw: n,
|
|
959
977
|
element: {
|
|
960
978
|
source: r ?? "",
|
|
961
|
-
index: r ?
|
|
979
|
+
index: r ? Nt(t, r) : 0
|
|
962
980
|
},
|
|
963
981
|
...i === void 0 ? {} : { config: i }
|
|
964
982
|
};
|
|
965
|
-
},
|
|
983
|
+
}, Zt = () => Array.from(document.querySelectorAll("[data-levo-source]")).map((e) => {
|
|
966
984
|
let t = e.getAttribute("data-levo-source") ?? "", n = Z(e), r;
|
|
967
985
|
try {
|
|
968
986
|
r = JSON.parse(t);
|
|
@@ -973,18 +991,18 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
973
991
|
raw: t,
|
|
974
992
|
element: {
|
|
975
993
|
source: n ?? "",
|
|
976
|
-
index: n ?
|
|
994
|
+
index: n ? Nt(e, n) : 0
|
|
977
995
|
},
|
|
978
996
|
tag: e.tagName.toLowerCase(),
|
|
979
|
-
label:
|
|
997
|
+
label: Bt(e),
|
|
980
998
|
...r === void 0 ? {} : { config: r }
|
|
981
999
|
};
|
|
982
|
-
}),
|
|
1000
|
+
}), Qt = 14, $t = 2e3, en = 100, tn = 48, nn = new Set([
|
|
983
1001
|
"script",
|
|
984
1002
|
"style",
|
|
985
1003
|
"template",
|
|
986
1004
|
"noscript"
|
|
987
|
-
]),
|
|
1005
|
+
]), rn = (e, t) => t.includes(e) || e.id === "studio-staged" || nn.has(e.tagName.toLowerCase()), an = (e) => {
|
|
988
1006
|
let t = !1, n = 0, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
|
|
989
1007
|
for (let e of Array.from(document.querySelectorAll("[data-tsd-source]"))) {
|
|
990
1008
|
let t = Z(e);
|
|
@@ -996,11 +1014,11 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
996
1014
|
for (let t of e.childNodes) {
|
|
997
1015
|
if (t.nodeType !== 3) continue;
|
|
998
1016
|
let e = (t.textContent ?? "").replace(/\s+/g, " ").trim();
|
|
999
|
-
if (e) return e.length >
|
|
1017
|
+
if (e) return e.length > tn ? `${e.slice(0, tn).trimEnd()}…` : e;
|
|
1000
1018
|
}
|
|
1001
1019
|
}, o = (i, s) => {
|
|
1002
1020
|
n++;
|
|
1003
|
-
let c = Z(i), l = a(i), u = Array.from(i.children).filter((t) => !
|
|
1021
|
+
let c = Z(i), l = a(i), u = Array.from(i.children).filter((t) => !rn(t, e)), d = {
|
|
1004
1022
|
tag: i.tagName.toLowerCase(),
|
|
1005
1023
|
...c ? {
|
|
1006
1024
|
source: c,
|
|
@@ -1011,9 +1029,9 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1011
1029
|
childCount: u.length,
|
|
1012
1030
|
children: []
|
|
1013
1031
|
};
|
|
1014
|
-
if (s >=
|
|
1032
|
+
if (s >= Qt) return u.length && (t = !0), d;
|
|
1015
1033
|
for (let e of u) {
|
|
1016
|
-
if (d.children.length >=
|
|
1034
|
+
if (d.children.length >= en || n >= $t) {
|
|
1017
1035
|
t = !0;
|
|
1018
1036
|
break;
|
|
1019
1037
|
}
|
|
@@ -1025,7 +1043,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1025
1043
|
tree: o(document.body, 0),
|
|
1026
1044
|
truncated: t
|
|
1027
1045
|
};
|
|
1028
|
-
},
|
|
1046
|
+
}, on = () => {
|
|
1029
1047
|
let e = null;
|
|
1030
1048
|
return {
|
|
1031
1049
|
send: (t) => {
|
|
@@ -1040,7 +1058,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1040
1058
|
return !0;
|
|
1041
1059
|
}
|
|
1042
1060
|
};
|
|
1043
|
-
},
|
|
1061
|
+
}, sn = (e) => {
|
|
1044
1062
|
let t = location.pathname, n = () => {
|
|
1045
1063
|
location.pathname !== t && (t = location.pathname, e.onPathChange());
|
|
1046
1064
|
}, r = !1;
|
|
@@ -1060,7 +1078,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1060
1078
|
e.__inspectorPatched && e.__orig && (history.pushState = e.__orig), t.__inspectorPatched && t.__orig && (history.replaceState = t.__orig);
|
|
1061
1079
|
}
|
|
1062
1080
|
} };
|
|
1063
|
-
},
|
|
1081
|
+
}, cn = (e) => {
|
|
1064
1082
|
let { channel: t, originals: n, staged: r } = e, i = t.send, a = null;
|
|
1065
1083
|
return { onMessage: (o) => {
|
|
1066
1084
|
let s = o.data;
|
|
@@ -1068,7 +1086,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1068
1086
|
if (s.type === "set-inspect") e.setInspect(s.enabled);
|
|
1069
1087
|
else if (s.type === "set-text-edit") e.setTextEdit(s.enabled);
|
|
1070
1088
|
else if (s.type === "revert-text") {
|
|
1071
|
-
let e = String(s.element?.source || ""), t = Number.isInteger(s.element?.index) ? s.element.index : 0, r = n.restore(`${e}#${t}`), i = r == null ? null :
|
|
1089
|
+
let e = String(s.element?.source || ""), t = Number.isInteger(s.element?.index) ? s.element.index : 0, r = n.restore(`${e}#${t}`), i = r == null ? null : Pt(e, t);
|
|
1072
1090
|
i && r != null && (i.textContent = r);
|
|
1073
1091
|
} else if (s.type === "stage-style") {
|
|
1074
1092
|
let t = String(s.stageId || ""), n = String(s.element?.source || ""), a = Number.isInteger(s.element?.index) ? s.element.index : 0, o = s.styles && typeof s.styles == "object" ? s.styles : null;
|
|
@@ -1127,7 +1145,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1127
1145
|
}
|
|
1128
1146
|
e.syncDomObserver();
|
|
1129
1147
|
} else if (s.type === "select-element") {
|
|
1130
|
-
let t = String(s.element?.source || ""), n = Number.isInteger(s.element?.index) ? s.element.index : 0, r = t ?
|
|
1148
|
+
let t = String(s.element?.source || ""), n = Number.isInteger(s.element?.index) ? s.element.index : 0, r = t ? Pt(t, n) : null;
|
|
1131
1149
|
if (!r) {
|
|
1132
1150
|
i({
|
|
1133
1151
|
type: "select-miss",
|
|
@@ -1143,10 +1161,10 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1143
1161
|
behavior: "smooth"
|
|
1144
1162
|
}), i({
|
|
1145
1163
|
type: "element-selected",
|
|
1146
|
-
element:
|
|
1164
|
+
element: Yt(r)
|
|
1147
1165
|
});
|
|
1148
1166
|
} else if (s.type === "edit-element") {
|
|
1149
|
-
let t = String(s.element?.source || ""), n = Number.isInteger(s.element?.index) ? s.element.index : 0, r = t ?
|
|
1167
|
+
let t = String(s.element?.source || ""), n = Number.isInteger(s.element?.index) ? s.element.index : 0, r = t ? Pt(t, n) : null;
|
|
1150
1168
|
if (!r) {
|
|
1151
1169
|
i({
|
|
1152
1170
|
type: "select-miss",
|
|
@@ -1162,12 +1180,12 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1162
1180
|
behavior: "smooth"
|
|
1163
1181
|
}), i({
|
|
1164
1182
|
type: "element-selected",
|
|
1165
|
-
element:
|
|
1183
|
+
element: Yt(r)
|
|
1166
1184
|
}), e.isTextEditing() || e.setTextEdit(!0);
|
|
1167
1185
|
let o = e.editableTarget(r);
|
|
1168
1186
|
o && e.startEditAtEnd(o);
|
|
1169
1187
|
} else if (s.type === "highlight-element") {
|
|
1170
|
-
let t = String(s.element?.source || ""), n = Number.isInteger(s.element?.index) ? s.element.index : 0, r = t ?
|
|
1188
|
+
let t = String(s.element?.source || ""), n = Number.isInteger(s.element?.index) ? s.element.index : 0, r = t ? Pt(t, n) : null;
|
|
1171
1189
|
if (!r) a = null, e.hideTextHover(), i({
|
|
1172
1190
|
type: "highlight-miss",
|
|
1173
1191
|
element: {
|
|
@@ -1185,7 +1203,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1185
1203
|
}
|
|
1186
1204
|
} else if (s.type === "clear-highlight") a && (a = null, !e.isInspecting() && !e.editingNode() && e.hideTextHover());
|
|
1187
1205
|
else if (s.type === "request-layers") {
|
|
1188
|
-
let { tree: t, truncated: n } =
|
|
1206
|
+
let { tree: t, truncated: n } = an(e.ownNodes);
|
|
1189
1207
|
i({
|
|
1190
1208
|
type: "layers-tree",
|
|
1191
1209
|
tree: t,
|
|
@@ -1193,7 +1211,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1193
1211
|
});
|
|
1194
1212
|
} else if (s.type === "request-sources") i({
|
|
1195
1213
|
type: "sources-list",
|
|
1196
|
-
sources:
|
|
1214
|
+
sources: Zt()
|
|
1197
1215
|
});
|
|
1198
1216
|
else if (s.type === "capture-selected") {
|
|
1199
1217
|
let t = String(s.requestId || "");
|
|
@@ -1208,7 +1226,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1208
1226
|
});
|
|
1209
1227
|
return;
|
|
1210
1228
|
}
|
|
1211
|
-
|
|
1229
|
+
Et(n, e.ownNodes).then((e) => {
|
|
1212
1230
|
console.info(`[levo-inspector] element capture ok <${n.tagName.toLowerCase()}> (${Math.round(e.length / 1024)}kB)`), i({
|
|
1213
1231
|
type: "capture-result",
|
|
1214
1232
|
requestId: t,
|
|
@@ -1229,7 +1247,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1229
1247
|
}
|
|
1230
1248
|
}
|
|
1231
1249
|
} };
|
|
1232
|
-
},
|
|
1250
|
+
}, ln = () => {
|
|
1233
1251
|
let e = /* @__PURE__ */ new Map(), t = () => {
|
|
1234
1252
|
if (e.size > 50) {
|
|
1235
1253
|
let t = e.keys().next().value;
|
|
@@ -1249,31 +1267,31 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1249
1267
|
return e.delete(t), n;
|
|
1250
1268
|
}
|
|
1251
1269
|
};
|
|
1252
|
-
},
|
|
1270
|
+
}, un = 6, dn = 12, fn = 12, pn = .6, mn = (e, t, n, r) => ({
|
|
1253
1271
|
x: Math.min(e, n),
|
|
1254
1272
|
y: Math.min(t, r),
|
|
1255
1273
|
width: Math.abs(n - e),
|
|
1256
1274
|
height: Math.abs(r - t)
|
|
1257
|
-
}),
|
|
1275
|
+
}), hn = (e, t) => {
|
|
1258
1276
|
let n = e.x + e.width, r = e.y + e.height, i = [];
|
|
1259
1277
|
for (let a of Array.from(document.querySelectorAll("[data-tsd-source]"))) {
|
|
1260
1278
|
if (t.includes(a)) continue;
|
|
1261
1279
|
let o = a.getBoundingClientRect(), s = o.width * o.height;
|
|
1262
|
-
s <= 0 || Math.max(0, Math.min(n, o.right) - Math.max(e.x, o.left)) * Math.max(0, Math.min(r, o.bottom) - Math.max(e.y, o.top)) / s >=
|
|
1280
|
+
s <= 0 || Math.max(0, Math.min(n, o.right) - Math.max(e.x, o.left)) * Math.max(0, Math.min(r, o.bottom) - Math.max(e.y, o.top)) / s >= pn && i.push(a);
|
|
1263
1281
|
}
|
|
1264
1282
|
let a = new Set(i), o = i.filter((e) => {
|
|
1265
1283
|
for (let t = e.parentElement; t; t = t.parentElement) if (a.has(t)) return !1;
|
|
1266
1284
|
return !0;
|
|
1267
|
-
}), s = o.length >
|
|
1268
|
-
for (let e of o.slice(0,
|
|
1285
|
+
}), s = o.length > fn, c = [], l = [];
|
|
1286
|
+
for (let e of o.slice(0, fn)) {
|
|
1269
1287
|
let t = Z(e);
|
|
1270
1288
|
if (!t) continue;
|
|
1271
1289
|
let n = (e.innerText || "").replace(/\s+/g, " ").trim().slice(0, 80);
|
|
1272
1290
|
c.push({
|
|
1273
1291
|
source: t,
|
|
1274
|
-
index:
|
|
1292
|
+
index: Nt(e, t),
|
|
1275
1293
|
tag: e.tagName.toLowerCase(),
|
|
1276
|
-
label:
|
|
1294
|
+
label: Bt(e),
|
|
1277
1295
|
...n ? { text: n } : {}
|
|
1278
1296
|
}), l.push(e);
|
|
1279
1297
|
}
|
|
@@ -1282,12 +1300,12 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1282
1300
|
nodes: l,
|
|
1283
1301
|
truncated: s
|
|
1284
1302
|
};
|
|
1285
|
-
},
|
|
1303
|
+
}, gn = () => Array.from({ length: fn }, () => {
|
|
1286
1304
|
let e = document.createElement("div");
|
|
1287
|
-
return e.style.cssText = `position:fixed;pointer-events:none;z-index:${
|
|
1288
|
-
}),
|
|
1305
|
+
return e.style.cssText = `position:fixed;pointer-events:none;z-index:${jt.ring};outline:1.5px solid ${X.select};outline-offset:1px;border-radius:3px;box-shadow:0 0 0 3px ${X.selectGlow};display:none`, e;
|
|
1306
|
+
}), _n = () => {
|
|
1289
1307
|
let e = document.createElement("div");
|
|
1290
|
-
e.style.cssText = `position:fixed;pointer-events:none;z-index:${
|
|
1308
|
+
e.style.cssText = `position:fixed;pointer-events:none;z-index:${jt.overlay};border:1.5px dashed ${X.select};background:${X.selectGlow};border-radius:2px;display:none`;
|
|
1291
1309
|
let t = null, n = !1, r = 0, i = 0, a = () => {
|
|
1292
1310
|
e.style.display = "none";
|
|
1293
1311
|
};
|
|
@@ -1302,31 +1320,31 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1302
1320
|
pointerMove: (a, o) => {
|
|
1303
1321
|
if (!t) return;
|
|
1304
1322
|
if (a = Math.min(Math.max(0, a), window.innerWidth), o = Math.min(Math.max(0, o), window.innerHeight), r = a, i = o, !n) {
|
|
1305
|
-
if (Math.abs(a - t.x) <
|
|
1323
|
+
if (Math.abs(a - t.x) < un && Math.abs(o - t.y) < un) return;
|
|
1306
1324
|
n = !0;
|
|
1307
1325
|
}
|
|
1308
|
-
let s =
|
|
1326
|
+
let s = mn(t.x, t.y, a, o);
|
|
1309
1327
|
e.style.display = "block", e.style.left = `${s.x}px`, e.style.top = `${s.y}px`, e.style.width = `${s.width}px`, e.style.height = `${s.height}px`;
|
|
1310
1328
|
},
|
|
1311
1329
|
pointerUp: () => {
|
|
1312
1330
|
let e = n, o = t;
|
|
1313
1331
|
if (t = null, n = !1, a(), !e || !o) return null;
|
|
1314
|
-
let s =
|
|
1315
|
-
return s.width <
|
|
1332
|
+
let s = mn(o.x, o.y, r, i);
|
|
1333
|
+
return s.width < dn || s.height < dn ? null : s;
|
|
1316
1334
|
},
|
|
1317
1335
|
cancel: () => {
|
|
1318
1336
|
t = null, n = !1, a();
|
|
1319
1337
|
},
|
|
1320
1338
|
isDragging: () => n
|
|
1321
1339
|
};
|
|
1322
|
-
},
|
|
1340
|
+
}, vn = (e) => {
|
|
1323
1341
|
let { originals: t, editingNode: n } = e, r = /* @__PURE__ */ new Map(), i = () => {
|
|
1324
1342
|
let e = document.getElementById("studio-staged");
|
|
1325
1343
|
return e || (e = document.createElement("style"), e.id = "studio-staged", document.head.appendChild(e)), e;
|
|
1326
1344
|
}, a = () => {
|
|
1327
1345
|
let e = [];
|
|
1328
1346
|
for (let [t, n] of r) if (n.kind === "style") {
|
|
1329
|
-
let r =
|
|
1347
|
+
let r = Lt(t, n);
|
|
1330
1348
|
r && e.push(r);
|
|
1331
1349
|
}
|
|
1332
1350
|
let t = e.join("\n");
|
|
@@ -1334,8 +1352,8 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1334
1352
|
let n = i();
|
|
1335
1353
|
n.textContent !== t && (n.textContent = t);
|
|
1336
1354
|
}, o = (e, r) => {
|
|
1337
|
-
let i =
|
|
1338
|
-
if (i) if (r.kind === "style")
|
|
1355
|
+
let i = Pt(r.source, r.index);
|
|
1356
|
+
if (i) if (r.kind === "style") Ft(i, e);
|
|
1339
1357
|
else if (r.kind === "image") t.captureOnce(`${r.source}#${r.index}:src`, i.getAttribute("src") ?? ""), t.captureOnce(`${r.source}#${r.index}:srcset`, i.getAttribute("srcset") ?? ""), i.getAttribute("src") !== r.value && i.setAttribute("src", r.value), i.hasAttribute("srcset") && i.removeAttribute("srcset");
|
|
1340
1358
|
else {
|
|
1341
1359
|
if (i === n()) return;
|
|
@@ -1348,8 +1366,8 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1348
1366
|
let n = r.get(e);
|
|
1349
1367
|
if (!n) return;
|
|
1350
1368
|
r.delete(e);
|
|
1351
|
-
let i =
|
|
1352
|
-
if (n.kind === "style") i &&
|
|
1369
|
+
let i = Pt(n.source, n.index);
|
|
1370
|
+
if (n.kind === "style") i && It(i, e), a();
|
|
1353
1371
|
else if (n.kind === "image") {
|
|
1354
1372
|
let e = t.restore(`${n.source}#${n.index}:src`), r = t.restore(`${n.source}#${n.index}:srcset`);
|
|
1355
1373
|
i && (e != null && (e ? i.setAttribute("src", e) : i.removeAttribute("src")), r != null && (r ? i.setAttribute("srcset", r) : i.removeAttribute("srcset")));
|
|
@@ -1378,7 +1396,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1378
1396
|
for (let e of Array.from(document.querySelectorAll("[data-staged-key]"))) e.removeAttribute("data-staged-key");
|
|
1379
1397
|
}
|
|
1380
1398
|
};
|
|
1381
|
-
},
|
|
1399
|
+
}, yn = (e) => {
|
|
1382
1400
|
let { channel: t, originals: n, clearTextHover: r } = e, i = null, a = "", o = 0, s = (() => {
|
|
1383
1401
|
try {
|
|
1384
1402
|
let e = document.createElement("div");
|
|
@@ -1397,7 +1415,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1397
1415
|
n.selectNodeContents(e), n.collapse(!1), t.removeAllRanges(), t.addRange(n);
|
|
1398
1416
|
}, d = (e, t = !1) => {
|
|
1399
1417
|
if (i === e) return;
|
|
1400
|
-
i && p(i), i = e, a = Z(e) || "", o =
|
|
1418
|
+
i && p(i), i = e, a = Z(e) || "", o = Nt(e, a), r(), n.capture(`${a}#${o}`, e.textContent ?? ""), e.setAttribute("contenteditable", s ? "plaintext-only" : "true");
|
|
1401
1419
|
let d = e;
|
|
1402
1420
|
d.style.outline = `2px solid ${X.hover}`, d.style.outlineOffset = "3px", d.style.borderRadius = "3px", d.focus(), t && u(e), d.addEventListener("blur", c, !0), d.addEventListener("keydown", l, !0);
|
|
1403
1421
|
}, f = (e) => {
|
|
@@ -1416,7 +1434,7 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1416
1434
|
tag: e.tagName.toLowerCase(),
|
|
1417
1435
|
value: c,
|
|
1418
1436
|
previous: s,
|
|
1419
|
-
occurrences: r ?
|
|
1437
|
+
occurrences: r ? Mt(r).length : 1
|
|
1420
1438
|
}
|
|
1421
1439
|
});
|
|
1422
1440
|
}, m = (e) => {
|
|
@@ -1435,16 +1453,16 @@ var _t = ({ source: t, submitLabel: n = "Submit", hiddenFields: r, formVariant:
|
|
|
1435
1453
|
i && f(i);
|
|
1436
1454
|
}
|
|
1437
1455
|
};
|
|
1438
|
-
},
|
|
1439
|
-
function
|
|
1440
|
-
return k(() =>
|
|
1456
|
+
}, bn = "2026-07-24g · element-capture + region-drag + region-highlights (stale-region guard)";
|
|
1457
|
+
function xn() {
|
|
1458
|
+
return k(() => Sn(), []), null;
|
|
1441
1459
|
}
|
|
1442
|
-
function
|
|
1443
|
-
let e = !1, t = null, n = null, r = !1, i = null, a =
|
|
1460
|
+
function Sn() {
|
|
1461
|
+
let e = !1, t = null, n = null, r = !1, i = null, a = ln(), o = on(), { overlay: s, label: c, ring: l, ringLabel: u } = Ht();
|
|
1444
1462
|
document.body.append(s, c, l, u);
|
|
1445
|
-
let d =
|
|
1463
|
+
let d = _n();
|
|
1446
1464
|
document.body.append(d.node);
|
|
1447
|
-
let f =
|
|
1465
|
+
let f = gn();
|
|
1448
1466
|
document.body.append(...f);
|
|
1449
1467
|
let p = [
|
|
1450
1468
|
s,
|
|
@@ -1474,14 +1492,14 @@ function bn() {
|
|
|
1474
1492
|
}, S = (e) => !e || p.includes(e) || e === document.body || e === document.documentElement, C = (e) => {
|
|
1475
1493
|
if (!e || S(e)) return null;
|
|
1476
1494
|
let t = Z(e) ? e : e.closest("[data-tsd-source]");
|
|
1477
|
-
return !t || S(t) || !
|
|
1478
|
-
}, w = (e) =>
|
|
1495
|
+
return !t || S(t) || !Kt(t) ? null : t;
|
|
1496
|
+
}, w = (e) => Ut(s, c, e), T = () => {
|
|
1479
1497
|
if (n) {
|
|
1480
1498
|
if (!n.isConnected) {
|
|
1481
1499
|
N();
|
|
1482
1500
|
return;
|
|
1483
1501
|
}
|
|
1484
|
-
|
|
1502
|
+
Ut(l, u, n);
|
|
1485
1503
|
}
|
|
1486
1504
|
}, E = 0, D = () => {
|
|
1487
1505
|
E || !n || r || (E = requestAnimationFrame(() => {
|
|
@@ -1510,13 +1528,13 @@ function bn() {
|
|
|
1510
1528
|
n = null, O.disconnect(), te(), E &&= (cancelAnimationFrame(E), 0), l.style.display = "none", u.style.display = "none", y(), g();
|
|
1511
1529
|
}, P = (e) => w(e), F = () => {
|
|
1512
1530
|
s.style.display = "none", c.style.display = "none";
|
|
1513
|
-
}, I =
|
|
1531
|
+
}, I = yn({
|
|
1514
1532
|
channel: o,
|
|
1515
1533
|
originals: a,
|
|
1516
1534
|
clearTextHover: () => {
|
|
1517
1535
|
i = null, F();
|
|
1518
1536
|
}
|
|
1519
|
-
}), L =
|
|
1537
|
+
}), L = vn({
|
|
1520
1538
|
originals: a,
|
|
1521
1539
|
editingNode: I.editingNode
|
|
1522
1540
|
}), te = () => {
|
|
@@ -1587,10 +1605,10 @@ function bn() {
|
|
|
1587
1605
|
let n = d.pointerUp();
|
|
1588
1606
|
if (!n) return;
|
|
1589
1607
|
H = !0, N();
|
|
1590
|
-
let { elements: r, nodes: i, truncated: a } =
|
|
1608
|
+
let { elements: r, nodes: i, truncated: a } = hn(n, p);
|
|
1591
1609
|
console.info(`[levo-inspector] region drag: ${Math.round(n.width)}×${Math.round(n.height)} — ${r.length} element(s)${a ? " (truncated)" : ""}`), v(i);
|
|
1592
1610
|
let s = ++h;
|
|
1593
|
-
|
|
1611
|
+
At(n, p).then((e) => {
|
|
1594
1612
|
s === h && (console.info(`[levo-inspector] region capture ok (${Math.round(e.length / 1024)}kB)`), o.send({
|
|
1595
1613
|
type: "region-selected",
|
|
1596
1614
|
rect: n,
|
|
@@ -1608,7 +1626,7 @@ function bn() {
|
|
|
1608
1626
|
}));
|
|
1609
1627
|
});
|
|
1610
1628
|
}, K = () => W(), fe = (e) => {
|
|
1611
|
-
let t =
|
|
1629
|
+
let t = Wt(e.target);
|
|
1612
1630
|
return t ? (e.preventDefault(), e.stopPropagation(), window.open(t, "_blank", "noopener,noreferrer"), !0) : !1;
|
|
1613
1631
|
}, pe = (i) => {
|
|
1614
1632
|
if (H) {
|
|
@@ -1634,9 +1652,9 @@ function bn() {
|
|
|
1634
1652
|
let s = a.closest("[data-tsd-source]") || a;
|
|
1635
1653
|
y(), g(), n = s, T(), M(), o.send({
|
|
1636
1654
|
type: "element-selected",
|
|
1637
|
-
element:
|
|
1655
|
+
element: Yt(s)
|
|
1638
1656
|
});
|
|
1639
|
-
}, me =
|
|
1657
|
+
}, me = cn({
|
|
1640
1658
|
channel: o,
|
|
1641
1659
|
originals: a,
|
|
1642
1660
|
staged: L,
|
|
@@ -1685,7 +1703,7 @@ function bn() {
|
|
|
1685
1703
|
type: "route",
|
|
1686
1704
|
route: e
|
|
1687
1705
|
});
|
|
1688
|
-
}, ye =
|
|
1706
|
+
}, ye = sn({ onPathChange: () => {
|
|
1689
1707
|
N(), ve();
|
|
1690
1708
|
} }), q = (t) => {
|
|
1691
1709
|
if (I.editingNode()) return;
|
|
@@ -1697,13 +1715,13 @@ function bn() {
|
|
|
1697
1715
|
r ? (t.stopPropagation(), z(!1)) : e && (t.stopPropagation(), R(!1));
|
|
1698
1716
|
return;
|
|
1699
1717
|
}
|
|
1700
|
-
if (t.metaKey || t.ctrlKey || t.altKey || t.shiftKey || t.repeat ||
|
|
1718
|
+
if (t.metaKey || t.ctrlKey || t.altKey || t.shiftKey || t.repeat || Gt(document.activeElement)) return;
|
|
1701
1719
|
let n = t.key.toLowerCase();
|
|
1702
1720
|
n === "s" ? (t.preventDefault(), t.stopPropagation(), R(!e)) : n === "t" && (t.preventDefault(), t.stopPropagation(), z(!r));
|
|
1703
1721
|
};
|
|
1704
1722
|
window.addEventListener("mousemove", B, !0), window.addEventListener("scroll", se, !0), window.addEventListener("resize", _e), window.addEventListener("click", pe, !0), window.addEventListener("keydown", q, !0), window.addEventListener("message", me.onMessage), window.addEventListener("mouseout", ce, !0), window.addEventListener("pointerdown", ue, !0), window.addEventListener("pointermove", de, !0), window.addEventListener("pointerup", G, !0), window.addEventListener("pointercancel", K, !0);
|
|
1705
1723
|
for (let e of he) window.addEventListener(e, ge, !0);
|
|
1706
|
-
return console.info(`[levo-inspector] build ${
|
|
1724
|
+
return console.info(`[levo-inspector] build ${bn} — runtime mounted`), ve(), o.send({ type: "ready" }), () => {
|
|
1707
1725
|
window.removeEventListener("mousemove", B, !0), window.removeEventListener("keydown", q, !0), window.removeEventListener("scroll", se, !0), window.removeEventListener("resize", _e), window.removeEventListener("mouseout", ce, !0), window.removeEventListener("pointerdown", ue, !0), window.removeEventListener("pointermove", de, !0), window.removeEventListener("pointerup", G, !0), window.removeEventListener("pointercancel", K, !0), window.removeEventListener("click", pe, !0), window.removeEventListener("message", me.onMessage);
|
|
1708
1726
|
for (let e of he) window.removeEventListener(e, ge, !0);
|
|
1709
1727
|
O.disconnect(), ee.disconnect(), E && cancelAnimationFrame(E), ne && cancelAnimationFrame(ne), V && cancelAnimationFrame(V), L.teardown(), ye.teardown(), I.teardown(), document.documentElement.style.cursor = "", b?.remove(), s.remove(), c.remove(), l.remove(), u.remove(), W(), d.node.remove();
|
|
@@ -1711,21 +1729,60 @@ function bn() {
|
|
|
1711
1729
|
};
|
|
1712
1730
|
}
|
|
1713
1731
|
//#endregion
|
|
1714
|
-
//#region src/
|
|
1715
|
-
var
|
|
1732
|
+
//#region src/branding/MadeWithLevo.tsx
|
|
1733
|
+
var Cn = "levo-made-with", wn = `.${Cn}{opacity:.2;transition:opacity 150ms,transform 150ms}
|
|
1734
|
+
.${Cn}:hover,.${Cn}:focus-visible{opacity:1;transform:translateY(-2px)}`, Tn = ({ slug: e }) => {
|
|
1735
|
+
let t = `utm_source=${encodeURIComponent(e || "website")}&utm_term=Made%20With%20Levo&utm_campaign=footer_branding&utm_medium=organic_footer_branding`;
|
|
1736
|
+
return /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S("style", {
|
|
1737
|
+
href: "levo-made-with",
|
|
1738
|
+
precedence: "default",
|
|
1739
|
+
children: wn
|
|
1740
|
+
}), /* @__PURE__ */ C("a", {
|
|
1741
|
+
className: Cn,
|
|
1742
|
+
href: `https://levo.so/?${t}`,
|
|
1743
|
+
target: "_blank",
|
|
1744
|
+
rel: "noopener noreferrer",
|
|
1745
|
+
style: {
|
|
1746
|
+
position: "fixed",
|
|
1747
|
+
right: "1rem",
|
|
1748
|
+
bottom: "0.5rem",
|
|
1749
|
+
zIndex: 50,
|
|
1750
|
+
display: "inline-flex",
|
|
1751
|
+
alignItems: "center",
|
|
1752
|
+
gap: "0.5rem",
|
|
1753
|
+
padding: "0.25rem 0.75rem 0.25rem 0.5rem",
|
|
1754
|
+
borderRadius: "9999px",
|
|
1755
|
+
background: "#000",
|
|
1756
|
+
color: "#fff",
|
|
1757
|
+
font: "500 12px/1.4 system-ui, sans-serif",
|
|
1758
|
+
textDecoration: "none",
|
|
1759
|
+
boxShadow: "0 4px 12px rgb(0 0 0 / 0.25)"
|
|
1760
|
+
},
|
|
1761
|
+
children: [/* @__PURE__ */ S("img", {
|
|
1762
|
+
alt: "",
|
|
1763
|
+
src: "https://static.levocdn.com/WLZ1TXTD/Levo-Logo-moxa93IxlVi0W.webp",
|
|
1764
|
+
width: 20,
|
|
1765
|
+
height: 20,
|
|
1766
|
+
style: {
|
|
1767
|
+
width: 20,
|
|
1768
|
+
height: 20
|
|
1769
|
+
}
|
|
1770
|
+
}), "Made with Levo"]
|
|
1771
|
+
})] });
|
|
1772
|
+
}, En = "levo:page-id", Dn = () => {
|
|
1716
1773
|
if (typeof document > "u") return null;
|
|
1717
|
-
let e = document.querySelectorAll(`meta[name="${
|
|
1774
|
+
let e = document.querySelectorAll(`meta[name="${En}"]`);
|
|
1718
1775
|
return e[e.length - 1]?.getAttribute("content")?.trim() || null;
|
|
1719
|
-
},
|
|
1776
|
+
}, On = D(() => import("./dist-Cl_sKk9y.js").then((e) => e.n).then((e) => ({ default: e.PopupLoader }))), kn = ({ siteId: e, pageId: t }) => {
|
|
1720
1777
|
let n = J(), r = i();
|
|
1721
1778
|
return !n || !r ? null : /* @__PURE__ */ S(T, {
|
|
1722
1779
|
fallback: null,
|
|
1723
|
-
children: /* @__PURE__ */ S(
|
|
1780
|
+
children: /* @__PURE__ */ S(On, {
|
|
1724
1781
|
pageId: t,
|
|
1725
1782
|
siteId: e
|
|
1726
1783
|
})
|
|
1727
1784
|
});
|
|
1728
|
-
},
|
|
1785
|
+
}, An = () => i(), jn = () => n(), Mn = ({ site: e, children: t }) => {
|
|
1729
1786
|
let [n] = N(() => {
|
|
1730
1787
|
if (!e) return null;
|
|
1731
1788
|
let t = Ce(e), n = Se(t);
|
|
@@ -1742,24 +1799,25 @@ var xn = "levo:page-id", Sn = () => {
|
|
|
1742
1799
|
n && (window.levo_client = n.client, window.levo_insights = n.insights);
|
|
1743
1800
|
}, [n]), A(() => {
|
|
1744
1801
|
if (!n) return;
|
|
1745
|
-
let e =
|
|
1802
|
+
let e = Dn();
|
|
1746
1803
|
a(e), n.insights.init({ pageId: e });
|
|
1747
1804
|
}, [n, o]), n ? /* @__PURE__ */ C(r, {
|
|
1748
1805
|
client: n.client,
|
|
1749
1806
|
insights: n.insights,
|
|
1750
1807
|
children: [
|
|
1751
1808
|
t,
|
|
1752
|
-
/* @__PURE__ */ S(
|
|
1809
|
+
/* @__PURE__ */ S(lt, {
|
|
1753
1810
|
site: n.site,
|
|
1754
1811
|
path: o
|
|
1755
1812
|
}),
|
|
1756
|
-
/* @__PURE__ */ S(
|
|
1813
|
+
/* @__PURE__ */ S(kn, {
|
|
1757
1814
|
pageId: i ?? void 0,
|
|
1758
1815
|
siteId: n.site.id
|
|
1759
|
-
})
|
|
1816
|
+
}),
|
|
1817
|
+
!!n.site.feature_flag?.branding && /* @__PURE__ */ S(Tn, { slug: n.site.slug })
|
|
1760
1818
|
]
|
|
1761
1819
|
}) : /* @__PURE__ */ S(x, { children: t });
|
|
1762
|
-
},
|
|
1820
|
+
}, Nn = (e, t) => {
|
|
1763
1821
|
let n = h(t);
|
|
1764
1822
|
return ({ location: t }) => {
|
|
1765
1823
|
if (!e.isLocalized) return;
|
|
@@ -1772,7 +1830,7 @@ var xn = "levo:page-id", Sn = () => {
|
|
|
1772
1830
|
});
|
|
1773
1831
|
if (r.kind === "redirect" && r.path !== t.pathname) throw R({ href: `${r.path}${t.searchStr ?? ""}` });
|
|
1774
1832
|
};
|
|
1775
|
-
},
|
|
1833
|
+
}, Pn = (e) => {
|
|
1776
1834
|
let t = e.locales ?? [], n = e.domain?.trim().replace(/^https?:\/\//, "").replace(/\/+$/, "");
|
|
1777
1835
|
return {
|
|
1778
1836
|
locales: t,
|
|
@@ -1780,8 +1838,8 @@ var xn = "levo:page-id", Sn = () => {
|
|
|
1780
1838
|
isLocalized: t.length > 1,
|
|
1781
1839
|
origin: n ? `https://${n}` : null
|
|
1782
1840
|
};
|
|
1783
|
-
},
|
|
1784
|
-
let { neutralPath: t, locales: n, activePrefix: r, hasRoute: i } = e, a =
|
|
1841
|
+
}, Fn = (e) => e.replace(/\/$/, ""), In = (e) => {
|
|
1842
|
+
let { neutralPath: t, locales: n, activePrefix: r, hasRoute: i } = e, a = Fn(e.origin), o = `${a}${t}`;
|
|
1785
1843
|
if (n.length <= 1) return [{
|
|
1786
1844
|
rel: "canonical",
|
|
1787
1845
|
href: o
|
|
@@ -1803,11 +1861,11 @@ var xn = "levo:page-id", Sn = () => {
|
|
|
1803
1861
|
hrefLang: "x-default",
|
|
1804
1862
|
href: o
|
|
1805
1863
|
}), s;
|
|
1806
|
-
},
|
|
1864
|
+
}, Ln = ({ config: e, routeTree: t }) => {
|
|
1807
1865
|
let n = z({ select: (e) => e.location.pathname });
|
|
1808
1866
|
if (!e.isLocalized || !e.origin) return null;
|
|
1809
1867
|
let { neutralPath: r } = f(n, e.locales);
|
|
1810
|
-
return /* @__PURE__ */ S(x, { children:
|
|
1868
|
+
return /* @__PURE__ */ S(x, { children: In({
|
|
1811
1869
|
neutralPath: r,
|
|
1812
1870
|
origin: e.origin,
|
|
1813
1871
|
locales: e.locales,
|
|
@@ -1817,7 +1875,7 @@ var xn = "levo:page-id", Sn = () => {
|
|
|
1817
1875
|
hrefLang: e.hrefLang,
|
|
1818
1876
|
rel: e.rel
|
|
1819
1877
|
}, e.hrefLang ?? e.href)) });
|
|
1820
|
-
},
|
|
1878
|
+
}, Rn = E(void 0), zn = ({ children: e, locale: t, locales: n, defaultLocale: r, source: i = "default", hasRoute: a }) => {
|
|
1821
1879
|
let o = j(() => {
|
|
1822
1880
|
let e = n?.length ? n : [t];
|
|
1823
1881
|
return {
|
|
@@ -1841,13 +1899,13 @@ var xn = "levo:page-id", Sn = () => {
|
|
|
1841
1899
|
i,
|
|
1842
1900
|
a
|
|
1843
1901
|
]);
|
|
1844
|
-
return /* @__PURE__ */ S(
|
|
1902
|
+
return /* @__PURE__ */ S(Rn.Provider, {
|
|
1845
1903
|
value: o,
|
|
1846
1904
|
children: e
|
|
1847
1905
|
});
|
|
1848
1906
|
};
|
|
1849
|
-
function
|
|
1850
|
-
return ee(
|
|
1907
|
+
function Bn() {
|
|
1908
|
+
return ee(Rn) || {
|
|
1851
1909
|
locale: "en",
|
|
1852
1910
|
locales: ["en"],
|
|
1853
1911
|
defaultLocale: "en",
|
|
@@ -1857,13 +1915,13 @@ function Fn() {
|
|
|
1857
1915
|
pathFor: (e) => e
|
|
1858
1916
|
};
|
|
1859
1917
|
}
|
|
1860
|
-
function
|
|
1918
|
+
function Vn(e) {
|
|
1861
1919
|
let { prefix: t } = f(z({ select: (e) => e.location.pathname }), e.locales);
|
|
1862
1920
|
return t ?? e.defaultLocale;
|
|
1863
1921
|
}
|
|
1864
|
-
var
|
|
1922
|
+
var Hn = ({ config: e, children: t, routeTree: n }) => {
|
|
1865
1923
|
let { prefix: r } = f(z({ select: (e) => e.location.pathname }), e.locales);
|
|
1866
|
-
return /* @__PURE__ */ S(
|
|
1924
|
+
return /* @__PURE__ */ S(zn, {
|
|
1867
1925
|
defaultLocale: e.defaultLocale,
|
|
1868
1926
|
hasRoute: n ? h(n) : void 0,
|
|
1869
1927
|
locale: r ?? e.defaultLocale,
|
|
@@ -1872,8 +1930,8 @@ var Ln = ({ config: e, children: t, routeTree: n }) => {
|
|
|
1872
1930
|
children: t
|
|
1873
1931
|
});
|
|
1874
1932
|
};
|
|
1875
|
-
function
|
|
1876
|
-
let { locale: e, locales: t, isMultiLocale: n, setLocale: r, pathFor: i, hasRoute: a } =
|
|
1933
|
+
function Un() {
|
|
1934
|
+
let { locale: e, locales: t, isMultiLocale: n, setLocale: r, pathFor: i, hasRoute: a } = Bn(), o = z({ select: (e) => e.location.pathname });
|
|
1877
1935
|
return j(() => {
|
|
1878
1936
|
if (!n) return [];
|
|
1879
1937
|
let { neutralPath: s } = f(o, t), c = t.filter((e) => !a || a(i(s, e)));
|
|
@@ -1900,14 +1958,14 @@ function Rn() {
|
|
|
1900
1958
|
}
|
|
1901
1959
|
//#endregion
|
|
1902
1960
|
//#region src/pageHead.tsx
|
|
1903
|
-
var
|
|
1961
|
+
var Wn = (e) => JSON.stringify(e).replace(/<\//g, "<\\/"), Gn = (e) => {
|
|
1904
1962
|
let t = {}, n = /([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*("([^"]*)"|'([^']*)'|[^\s"'>]+))?/g;
|
|
1905
1963
|
for (let r = n.exec(e); r; r = n.exec(e)) {
|
|
1906
1964
|
let e = r[1];
|
|
1907
1965
|
!e || /^on/i.test(e) || (t[e] = r[3] ?? r[4] ?? (r[2] ? r[2] : ""));
|
|
1908
1966
|
}
|
|
1909
1967
|
return t;
|
|
1910
|
-
},
|
|
1968
|
+
}, Kn = (e) => {
|
|
1911
1969
|
let t = {
|
|
1912
1970
|
meta: [],
|
|
1913
1971
|
links: [],
|
|
@@ -1915,11 +1973,11 @@ var zn = (e) => JSON.stringify(e).replace(/<\//g, "<\\/"), Bn = (e) => {
|
|
|
1915
1973
|
};
|
|
1916
1974
|
if (!e?.trim()) return t;
|
|
1917
1975
|
let n = e.replace(/<script\b([^>]*)>([\s\S]*?)<\/script\s*>/gi, (e, n, r) => {
|
|
1918
|
-
let i =
|
|
1976
|
+
let i = Gn(n), a = r.trim();
|
|
1919
1977
|
return a && (i.children = a), t.scripts.push(i), "";
|
|
1920
1978
|
});
|
|
1921
|
-
return n = n.replace(/<(meta|link)\b([^>]*?)\/?>/gi, (e, n, r) => ((n.toLowerCase() === "meta" ? t.meta : t.links).push(
|
|
1922
|
-
},
|
|
1979
|
+
return n = n.replace(/<(meta|link)\b([^>]*?)\/?>/gi, (e, n, r) => ((n.toLowerCase() === "meta" ? t.meta : t.links).push(Gn(r)), "")), t;
|
|
1980
|
+
}, qn = (e = {}, t = {}) => {
|
|
1923
1981
|
let n = {
|
|
1924
1982
|
meta: [],
|
|
1925
1983
|
links: [],
|
|
@@ -1984,17 +2042,17 @@ var zn = (e) => JSON.stringify(e).replace(/<\//g, "<\\/"), Bn = (e) => {
|
|
|
1984
2042
|
let y = e.ldJson ? Array.isArray(e.ldJson) ? e.ldJson : [e.ldJson] : [];
|
|
1985
2043
|
for (let e of y) n.scripts.push({
|
|
1986
2044
|
type: "application/ld+json",
|
|
1987
|
-
children:
|
|
2045
|
+
children: Wn(e)
|
|
1988
2046
|
});
|
|
1989
2047
|
for (let r of [t.customHead, e.customHead]) {
|
|
1990
2048
|
if (!r) continue;
|
|
1991
|
-
let e =
|
|
2049
|
+
let e = Kn(r);
|
|
1992
2050
|
n.meta.push(...e.meta), n.links.push(...e.links), n.scripts.push(...e.scripts);
|
|
1993
2051
|
}
|
|
1994
2052
|
return n;
|
|
1995
2053
|
};
|
|
1996
|
-
function
|
|
1997
|
-
let n =
|
|
2054
|
+
function Jn({ meta: e, site: t }) {
|
|
2055
|
+
let n = qn(e, t);
|
|
1998
2056
|
return /* @__PURE__ */ C(x, { children: [
|
|
1999
2057
|
n.meta.map((e, t) => e.title === void 0 ? /* @__PURE__ */ S("meta", { ...e }, `m${t}`) : /* @__PURE__ */ S("title", { children: e.title }, `t${t}`)),
|
|
2000
2058
|
n.links.map((e, t) => /* @__PURE__ */ S("link", { ...e }, `l${t}`)),
|
|
@@ -2006,17 +2064,17 @@ function Un({ meta: e, site: t }) {
|
|
|
2006
2064
|
}
|
|
2007
2065
|
//#endregion
|
|
2008
2066
|
//#region src/registration/ui.tsx
|
|
2009
|
-
var
|
|
2067
|
+
var Yn = (...e) => e.filter(Boolean).join(" "), Q = w.forwardRef(({ className: e, isLoading: t, loadingText: n, children: r, type: i = "button", ...a }, o) => /* @__PURE__ */ S("button", {
|
|
2010
2068
|
ref: o,
|
|
2011
2069
|
type: i,
|
|
2012
|
-
className:
|
|
2070
|
+
className: Yn("inline-flex items-center justify-center", e),
|
|
2013
2071
|
...a,
|
|
2014
|
-
children: t ? /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(B, { className:
|
|
2072
|
+
children: t ? /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(B, { className: Yn("h-4 w-4 animate-spin", n ? "mr-2" : "") }), n] }) : r
|
|
2015
2073
|
}));
|
|
2016
2074
|
Q.displayName = "Btn";
|
|
2017
2075
|
//#endregion
|
|
2018
2076
|
//#region src/registration/AttendeeForm.tsx
|
|
2019
|
-
var
|
|
2077
|
+
var Xn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, registerLoading: i, onBack: a, submitLabel: o, showBusinessBilling: s = !0 }) => /* @__PURE__ */ C("form", {
|
|
2020
2078
|
onSubmit: r,
|
|
2021
2079
|
className: "flex flex-col gap-4",
|
|
2022
2080
|
children: [
|
|
@@ -2181,22 +2239,22 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2181
2239
|
})]
|
|
2182
2240
|
})
|
|
2183
2241
|
]
|
|
2184
|
-
}),
|
|
2242
|
+
}), Zn = {
|
|
2185
2243
|
USD: "$",
|
|
2186
2244
|
EUR: "€",
|
|
2187
2245
|
GBP: "£",
|
|
2188
2246
|
INR: "₹"
|
|
2189
|
-
}, $ = (e) => e?.unit_amount ? `${
|
|
2247
|
+
}, $ = (e) => e?.unit_amount ? `${Zn[e.currency ?? "INR"]} ${(e.unit_amount ?? 0) / 100}` : "Free", Qn = (e) => {
|
|
2190
2248
|
if (!e) return null;
|
|
2191
2249
|
let t = e.tax_enabled ?? !1, n = e.tax_inclusive ?? !1, r = e.taxes ?? [];
|
|
2192
2250
|
return !t || r.length === 0 ? null : n ? "(inclusive of taxes)" : "+ taxes";
|
|
2193
|
-
},
|
|
2251
|
+
}, $n = (e) => !!(e?.taxes && e.taxes.length > 0 && e.tax_amount !== void 0), er = (e) => {
|
|
2194
2252
|
if (!e) return !1;
|
|
2195
2253
|
let t = e;
|
|
2196
2254
|
return t.tax_enabled === !0 && t.taxes !== void 0 && t.taxes.length > 0 && t.subtotal !== void 0;
|
|
2197
|
-
},
|
|
2255
|
+
}, tr = (e, t) => t ? t.total_amount ?? t.sale_amount ?? 0 : er(e) ? e.total ?? e.unit_amount ?? 0 : e?.unit_amount ?? 0, nr = (e, t) => !t || e.tickets.length === 0 ? !0 : e.tickets.some((e) => typeof e == "string" ? e === t : e._id === t), rr = ({ couponCode: e, onCouponCodeChange: t, couponError: n, couponLoading: r, onValidateCoupon: i, publicCoupons: a, onBack: o, selectedTicket: s }) => {
|
|
2198
2256
|
let c = [...a].sort((e, t) => {
|
|
2199
|
-
let n =
|
|
2257
|
+
let n = nr(e, s?._id), r = nr(t, s?._id);
|
|
2200
2258
|
return n && !r ? -1 : !n && r ? 1 : 0;
|
|
2201
2259
|
});
|
|
2202
2260
|
return /* @__PURE__ */ C("div", { children: [
|
|
@@ -2245,12 +2303,12 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2245
2303
|
}),
|
|
2246
2304
|
c.length > 0 && /* @__PURE__ */ C("div", {
|
|
2247
2305
|
className: "mt-4 flex flex-col gap-4",
|
|
2248
|
-
children: [c.filter((e) =>
|
|
2306
|
+
children: [c.filter((e) => nr(e, s?._id)).length > 0 && /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
|
|
2249
2307
|
className: "mb-2 text-gray-600 text-sm",
|
|
2250
2308
|
children: "Available Coupons"
|
|
2251
2309
|
}), /* @__PURE__ */ S("div", {
|
|
2252
2310
|
className: "flex flex-col gap-2",
|
|
2253
|
-
children: c.filter((e) =>
|
|
2311
|
+
children: c.filter((e) => nr(e, s?._id)).map((e) => /* @__PURE__ */ C("button", {
|
|
2254
2312
|
type: "button",
|
|
2255
2313
|
className: "flex flex-col gap-1 rounded-md border border-gray-300 border-dashed px-3 py-2 text-left transition hover:border-gray-400 hover:bg-gray-50",
|
|
2256
2314
|
onClick: () => {
|
|
@@ -2263,19 +2321,19 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2263
2321
|
children: e.code
|
|
2264
2322
|
}), /* @__PURE__ */ S("span", {
|
|
2265
2323
|
className: "text-gray-500 text-sm",
|
|
2266
|
-
children: e.kind === "percent" ? `${e.percent_off}% off` : `${
|
|
2324
|
+
children: e.kind === "percent" ? `${e.percent_off}% off` : `${Zn[e.currency ?? "INR"]} ${(e.amount_off ?? 0) / 100} off`
|
|
2267
2325
|
})]
|
|
2268
2326
|
}), e.description && /* @__PURE__ */ S("span", {
|
|
2269
2327
|
className: "text-gray-500 text-xs",
|
|
2270
2328
|
children: e.description
|
|
2271
2329
|
})]
|
|
2272
2330
|
}, e._id))
|
|
2273
|
-
})] }), c.filter((e) => !
|
|
2331
|
+
})] }), c.filter((e) => !nr(e, s?._id)).length > 0 && /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
|
|
2274
2332
|
className: "mb-2 text-gray-400 text-sm",
|
|
2275
2333
|
children: "Not Applicable"
|
|
2276
2334
|
}), /* @__PURE__ */ S("div", {
|
|
2277
2335
|
className: "flex flex-col gap-2",
|
|
2278
|
-
children: c.filter((e) => !
|
|
2336
|
+
children: c.filter((e) => !nr(e, s?._id)).map((e) => /* @__PURE__ */ C("button", {
|
|
2279
2337
|
type: "button",
|
|
2280
2338
|
disabled: !0,
|
|
2281
2339
|
className: "flex cursor-not-allowed flex-col gap-1 rounded-md border border-gray-200 border-dashed px-3 py-2 text-left opacity-50",
|
|
@@ -2286,7 +2344,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2286
2344
|
children: e.code
|
|
2287
2345
|
}), /* @__PURE__ */ S("span", {
|
|
2288
2346
|
className: "text-gray-500 text-sm",
|
|
2289
|
-
children: e.kind === "percent" ? `${e.percent_off}% off` : `${
|
|
2347
|
+
children: e.kind === "percent" ? `${e.percent_off}% off` : `${Zn[e.currency ?? "INR"]} ${(e.amount_off ?? 0) / 100} off`
|
|
2290
2348
|
})]
|
|
2291
2349
|
}), e.description && /* @__PURE__ */ S("span", {
|
|
2292
2350
|
className: "text-gray-500 text-xs",
|
|
@@ -2296,7 +2354,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2296
2354
|
})] })]
|
|
2297
2355
|
})
|
|
2298
2356
|
] });
|
|
2299
|
-
},
|
|
2357
|
+
}, ir = (e) => {
|
|
2300
2358
|
let t = new Date(e);
|
|
2301
2359
|
return `${new Intl.DateTimeFormat("en-GB", {
|
|
2302
2360
|
day: "numeric",
|
|
@@ -2307,7 +2365,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2307
2365
|
minute: "2-digit",
|
|
2308
2366
|
hour12: !0
|
|
2309
2367
|
}).format(t)}`;
|
|
2310
|
-
},
|
|
2368
|
+
}, ar = ({ ticketData: e, paymentData: t, type: n }) => {
|
|
2311
2369
|
let [r, i] = N(!0), a = (t.total_amount || t.unit_amount) / 100, o = t.unit_amount === 0, s = (e) => new Intl.NumberFormat("en-IN", {
|
|
2312
2370
|
style: "currency",
|
|
2313
2371
|
currency: t.currency || "INR",
|
|
@@ -2455,7 +2513,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2455
2513
|
]
|
|
2456
2514
|
}), /* @__PURE__ */ S("p", {
|
|
2457
2515
|
className: "mt-3 text-center text-gray-400 text-xs",
|
|
2458
|
-
children:
|
|
2516
|
+
children: ir(t.created_at)
|
|
2459
2517
|
})]
|
|
2460
2518
|
}),
|
|
2461
2519
|
/* @__PURE__ */ C("div", {
|
|
@@ -2495,7 +2553,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2495
2553
|
]
|
|
2496
2554
|
})] })
|
|
2497
2555
|
});
|
|
2498
|
-
},
|
|
2556
|
+
}, or = ({ isOpen: e, onClose: t, stripePromise: n, clientSecret: r, onComplete: i }) => !n || !r ? null : /* @__PURE__ */ S(P.Root, {
|
|
2499
2557
|
open: e,
|
|
2500
2558
|
onOpenChange: (e) => {
|
|
2501
2559
|
e || t();
|
|
@@ -2517,14 +2575,14 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2517
2575
|
})
|
|
2518
2576
|
})]
|
|
2519
2577
|
})] })
|
|
2520
|
-
}),
|
|
2521
|
-
let l =
|
|
2578
|
+
}), sr = ({ tickets: e, selectedTicket: t, onSelectTicket: n, discount: r, couponCode: i, publicCouponsCount: a, onApplyCouponClick: o, onRemoveCoupon: s, onNext: c }) => {
|
|
2579
|
+
let l = er(t), u = $n(r);
|
|
2522
2580
|
return /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("div", {
|
|
2523
2581
|
className: "flex max-h-[64dvh] w-full flex-col justify-between gap-6 overflow-y-auto md:max-h-[unset] md:flex-row",
|
|
2524
2582
|
children: [/* @__PURE__ */ S("div", {
|
|
2525
2583
|
className: "flex w-full flex-col gap-3 md:w-[55%]",
|
|
2526
2584
|
children: e.map((e) => /* @__PURE__ */ S("div", {
|
|
2527
|
-
className:
|
|
2585
|
+
className: Yn("flex cursor-pointer items-center justify-between rounded-md border border-gray-300 px-3 py-2 transition duration-300 hover:bg-gray-50", e._id === t?._id ? "border-brand bg-brand/10 hover:bg-brand/20" : ""),
|
|
2528
2586
|
onClick: () => n(e),
|
|
2529
2587
|
children: /* @__PURE__ */ C("div", { children: [
|
|
2530
2588
|
/* @__PURE__ */ S("p", {
|
|
@@ -2537,9 +2595,9 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2537
2595
|
}),
|
|
2538
2596
|
/* @__PURE__ */ C("p", {
|
|
2539
2597
|
className: "text-md",
|
|
2540
|
-
children: [$(e),
|
|
2598
|
+
children: [$(e), Qn(e) && /* @__PURE__ */ C("span", {
|
|
2541
2599
|
className: "text-gray-500 text-sm",
|
|
2542
|
-
children: [" ",
|
|
2600
|
+
children: [" ", Qn(e)]
|
|
2543
2601
|
})]
|
|
2544
2602
|
})
|
|
2545
2603
|
] })
|
|
@@ -2797,7 +2855,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2797
2855
|
})]
|
|
2798
2856
|
})
|
|
2799
2857
|
}) : /* @__PURE__ */ C("div", {
|
|
2800
|
-
className:
|
|
2858
|
+
className: Yn("flex cursor-pointer items-center justify-between border-b border-b-gray-300 pr-1 pl-4 transition-all duration-200 hover:bg-gray-50", t ? "h-[50px] py-3" : "py-3"),
|
|
2801
2859
|
onClick: () => t ? o() : null,
|
|
2802
2860
|
children: [/* @__PURE__ */ C("span", {
|
|
2803
2861
|
className: "flex items-center gap-2",
|
|
@@ -2816,7 +2874,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2816
2874
|
children: "Continue for Payment"
|
|
2817
2875
|
})
|
|
2818
2876
|
})] });
|
|
2819
|
-
},
|
|
2877
|
+
}, cr = () => {
|
|
2820
2878
|
let [e, t] = N(null), [n, r] = N(null), [i, a] = N(!1), [o, s] = N(null);
|
|
2821
2879
|
return {
|
|
2822
2880
|
stripePromise: e,
|
|
@@ -2840,7 +2898,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2840
2898
|
s(() => e);
|
|
2841
2899
|
}, [])
|
|
2842
2900
|
};
|
|
2843
|
-
},
|
|
2901
|
+
}, lr = {
|
|
2844
2902
|
name: "",
|
|
2845
2903
|
email: "",
|
|
2846
2904
|
is_business_purchase: !1,
|
|
@@ -2856,22 +2914,22 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2856
2914
|
country: ""
|
|
2857
2915
|
}
|
|
2858
2916
|
}
|
|
2859
|
-
},
|
|
2917
|
+
}, ur = (e, t, n) => {
|
|
2860
2918
|
let r = t.split("."), i = structuredClone(e), a = i, o = r.length - 1;
|
|
2861
2919
|
return r.forEach((e, t) => {
|
|
2862
2920
|
t === o ? a[e] = n : a = a[e];
|
|
2863
2921
|
}), i;
|
|
2864
|
-
},
|
|
2922
|
+
}, dr = async (e, t) => {
|
|
2865
2923
|
try {
|
|
2866
2924
|
let n = new URLSearchParams();
|
|
2867
2925
|
return n.append("query", JSON.stringify({ where: { status: "active" } })), (await e.fetch?.url(`/v1/event/event/${t}/ticket/query?${n.toString()}`).get().json())?.content?.data;
|
|
2868
2926
|
} catch (t) {
|
|
2869
2927
|
e.logger?.error("Failed to fetch event tickets", { exception: b(t) });
|
|
2870
2928
|
}
|
|
2871
|
-
},
|
|
2872
|
-
let a = i(), [o, s] = N([]), [c, l] = N(!0), [u, d] = N(!1), [f, p] = N(!1), [m, h] = N(null), [g, _] = N(void 0), [v, y] = N(""), [w, T] = N(null), [E, D] = N(!1), [ee, A] = N(null), [j, F] = N(!1), [I, L] = N(1), [te, R] = N(null), [z, ne] = N([]), [re, ie] = N(
|
|
2929
|
+
}, fr = ({ eventID: e, title: t, external: n, buttonText: r = "Register Now" }) => {
|
|
2930
|
+
let a = i(), [o, s] = N([]), [c, l] = N(!0), [u, d] = N(!1), [f, p] = N(!1), [m, h] = N(null), [g, _] = N(void 0), [v, y] = N(""), [w, T] = N(null), [E, D] = N(!1), [ee, A] = N(null), [j, F] = N(!1), [I, L] = N(1), [te, R] = N(null), [z, ne] = N([]), [re, ie] = N(lr), ae = tr(m, w) === 0, B = M(null), V = () => ie(lr), oe = () => {
|
|
2873
2931
|
T(null), _(void 0), A(null), D(!1), y(""), R(null), d(!1), L(1), V();
|
|
2874
|
-
}, { Razorpay: H } = ce(), { stripePromise: le, config: U, isOpen: W, openStripeCheckout: ue, closeStripeCheckout: de, setOnComplete: G } =
|
|
2932
|
+
}, { Razorpay: H } = ce(), { stripePromise: le, config: U, isOpen: W, openStripeCheckout: ue, closeStripeCheckout: de, setOnComplete: G } = cr(), K = () => {
|
|
2875
2933
|
let e = B.current;
|
|
2876
2934
|
!e || !a || a.fetch?.url(`/v1/event/booking/${e.bookingId}/confirm-booking`)?.post({ session_id: e.sessionId })?.json().then((e) => {
|
|
2877
2935
|
e?.content?.data && _(e?.content?.data), de(), B.current = null;
|
|
@@ -2987,7 +3045,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2987
3045
|
A(null), D(!1), y(""), F(!1);
|
|
2988
3046
|
}, ye = (e) => {
|
|
2989
3047
|
let { name: t, value: n, type: r, checked: i } = e.target;
|
|
2990
|
-
ie((e) =>
|
|
3048
|
+
ie((e) => ur(e, t, r === "checkbox" ? i : n));
|
|
2991
3049
|
}, q = () => {}, be = (e) => {
|
|
2992
3050
|
e?.preventDefault(), fe();
|
|
2993
3051
|
};
|
|
@@ -2996,7 +3054,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
2996
3054
|
l(!1);
|
|
2997
3055
|
return;
|
|
2998
3056
|
}
|
|
2999
|
-
e && a && (l(!0),
|
|
3057
|
+
e && a && (l(!0), dr(a, e).then((e) => {
|
|
3000
3058
|
s(e ?? []), e && e.length > 0 && h(e[0] || null), l(!1);
|
|
3001
3059
|
}));
|
|
3002
3060
|
}, [
|
|
@@ -3045,7 +3103,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
3045
3103
|
e || oe();
|
|
3046
3104
|
},
|
|
3047
3105
|
children: /* @__PURE__ */ C(P.Portal, { children: [/* @__PURE__ */ S(P.Backdrop, { className: "fixed inset-0 z-[100] bg-black/50" }), /* @__PURE__ */ C(P.Popup, {
|
|
3048
|
-
className:
|
|
3106
|
+
className: Yn("fixed top-24 left-1/2 z-[100] flex max-h-[calc(100dvh-12rem)] w-[90%] -translate-x-1/2 flex-col overflow-y-auto rounded-lg bg-white p-4", j ? "md:w-[30%]" : "md:w-[40%]"),
|
|
3049
3107
|
children: [/* @__PURE__ */ C("div", {
|
|
3050
3108
|
className: `mb-4 flex w-full items-start justify-between ${j ? "" : "pb-[6px]"} `,
|
|
3051
3109
|
children: [/* @__PURE__ */ C(P.Title, {
|
|
@@ -3062,7 +3120,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
3062
3120
|
}), /* @__PURE__ */ C("div", { children: [te && /* @__PURE__ */ S("div", {
|
|
3063
3121
|
className: "mb-4 rounded-md bg-red-50 p-3 text-red-600 text-sm",
|
|
3064
3122
|
children: te
|
|
3065
|
-
}), I === 1 ? /* @__PURE__ */ S("div", { children: j ? /* @__PURE__ */ S(
|
|
3123
|
+
}), I === 1 ? /* @__PURE__ */ S("div", { children: j ? /* @__PURE__ */ S(rr, {
|
|
3066
3124
|
couponCode: v,
|
|
3067
3125
|
onCouponCodeChange: y,
|
|
3068
3126
|
couponError: ee,
|
|
@@ -3071,7 +3129,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
3071
3129
|
publicCoupons: z,
|
|
3072
3130
|
onBack: ve,
|
|
3073
3131
|
selectedTicket: m
|
|
3074
|
-
}) : /* @__PURE__ */ S(
|
|
3132
|
+
}) : /* @__PURE__ */ S(sr, {
|
|
3075
3133
|
tickets: o,
|
|
3076
3134
|
selectedTicket: m,
|
|
3077
3135
|
onSelectTicket: ge,
|
|
@@ -3081,7 +3139,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
3081
3139
|
onApplyCouponClick: () => F(!0),
|
|
3082
3140
|
onRemoveCoupon: _e,
|
|
3083
3141
|
onNext: () => L(2)
|
|
3084
|
-
}) }) : /* @__PURE__ */ S(
|
|
3142
|
+
}) }) : /* @__PURE__ */ S(Xn, {
|
|
3085
3143
|
values: re,
|
|
3086
3144
|
handleChange: ye,
|
|
3087
3145
|
handleBlur: q,
|
|
@@ -3093,12 +3151,12 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
3093
3151
|
})] })]
|
|
3094
3152
|
})] })
|
|
3095
3153
|
}),
|
|
3096
|
-
g && /* @__PURE__ */ S(
|
|
3154
|
+
g && /* @__PURE__ */ S(ar, {
|
|
3097
3155
|
paymentData: g,
|
|
3098
3156
|
ticketData: o,
|
|
3099
3157
|
type: "confirm"
|
|
3100
3158
|
}),
|
|
3101
|
-
W && U && /* @__PURE__ */ S(
|
|
3159
|
+
W && U && /* @__PURE__ */ S(or, {
|
|
3102
3160
|
isOpen: W,
|
|
3103
3161
|
onClose: de,
|
|
3104
3162
|
stripePromise: le,
|
|
@@ -3106,7 +3164,7 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
3106
3164
|
onComplete: K
|
|
3107
3165
|
})
|
|
3108
3166
|
] });
|
|
3109
|
-
},
|
|
3167
|
+
}, pr = (e) => e.length > 1 ? e.replace(/\/+$/, "") : e, mr = (e) => typeof e == "string" && e.trim() ? e : void 0, hr = (e) => typeof e == "string" ? e : e?.location ?? void 0, gr = (e, t) => {
|
|
3110
3168
|
let n = e.meta ?? {}, r = e.title && t ? `${e.title} | ${t}` : e.title || t || void 0;
|
|
3111
3169
|
return {
|
|
3112
3170
|
title: n.meta_title || r,
|
|
@@ -3116,33 +3174,33 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
3116
3174
|
og: {
|
|
3117
3175
|
title: n.og_title || void 0,
|
|
3118
3176
|
description: n.og_description || void 0,
|
|
3119
|
-
image:
|
|
3177
|
+
image: hr(n.og_image),
|
|
3120
3178
|
url: n.og_url || void 0
|
|
3121
3179
|
},
|
|
3122
3180
|
twitter: { card: n.twitter_card || void 0 },
|
|
3123
3181
|
ldJson: n.ld_json || void 0,
|
|
3124
3182
|
customHead: n.head_code || void 0
|
|
3125
3183
|
};
|
|
3126
|
-
},
|
|
3184
|
+
}, _r = (e) => ({
|
|
3127
3185
|
description: e.description || void 0,
|
|
3128
3186
|
icon: e.icon?.location || void 0,
|
|
3129
3187
|
customHead: e.settings?.head_code || void 0
|
|
3130
|
-
}),
|
|
3131
|
-
let i =
|
|
3188
|
+
}), vr = (e) => (t = {}, n) => (r) => {
|
|
3189
|
+
let i = gr(t, e.name);
|
|
3132
3190
|
if (n) {
|
|
3133
3191
|
let t = r?.loaderData?.[n.source];
|
|
3134
3192
|
if (t) {
|
|
3135
|
-
let r = n.title ?
|
|
3193
|
+
let r = n.title ? mr(t[n.title]) : void 0;
|
|
3136
3194
|
r && (i.title = e.name ? `${r} | ${e.name}` : r, i.og = {
|
|
3137
3195
|
...i.og,
|
|
3138
3196
|
title: r
|
|
3139
3197
|
});
|
|
3140
|
-
let a = n.description ?
|
|
3198
|
+
let a = n.description ? mr(t[n.description]) : void 0;
|
|
3141
3199
|
a && (i.description = a, i.og = {
|
|
3142
3200
|
...i.og,
|
|
3143
3201
|
description: a
|
|
3144
3202
|
});
|
|
3145
|
-
let o = n.image ?
|
|
3203
|
+
let o = n.image ? hr(t[n.image]) : void 0;
|
|
3146
3204
|
o && (i.og = {
|
|
3147
3205
|
...i.og,
|
|
3148
3206
|
image: o
|
|
@@ -3151,18 +3209,18 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
3151
3209
|
}
|
|
3152
3210
|
if (!i.canonical) {
|
|
3153
3211
|
let t = r?.match?.pathname, n = (e.domain || "").trim();
|
|
3154
|
-
n && t?.startsWith("/") && (i.canonical = (/^https?:\/\//.test(n) ? n : `https://${n}`).replace(/\/+$/, "") +
|
|
3212
|
+
n && t?.startsWith("/") && (i.canonical = (/^https?:\/\//.test(n) ? n : `https://${n}`).replace(/\/+$/, "") + pr(t));
|
|
3155
3213
|
}
|
|
3156
|
-
let a =
|
|
3214
|
+
let a = qn(i, _r(e)), o = t.id?.trim();
|
|
3157
3215
|
return o && a.meta.push({
|
|
3158
|
-
name:
|
|
3216
|
+
name: En,
|
|
3159
3217
|
content: o
|
|
3160
3218
|
}), a;
|
|
3161
|
-
},
|
|
3219
|
+
}, yr = (e) => {
|
|
3162
3220
|
let t = Ce(e);
|
|
3163
3221
|
return (e, n) => {
|
|
3164
3222
|
let { rules: r, invalid: i } = ge(n?.access), a = r.length > 0 || i;
|
|
3165
|
-
return ({ context: n, params: r }) => a ? Promise.resolve({}) :
|
|
3223
|
+
return ({ context: n, params: r }) => a ? Promise.resolve({}) : Fe({
|
|
3166
3224
|
queryClient: n.queryClient,
|
|
3167
3225
|
config: t,
|
|
3168
3226
|
sources: e,
|
|
@@ -3171,4 +3229,4 @@ var Gn = ({ values: e, handleChange: t, handleBlur: n, handleSubmit: r, register
|
|
|
3171
3229
|
};
|
|
3172
3230
|
};
|
|
3173
3231
|
//#endregion
|
|
3174
|
-
export {
|
|
3232
|
+
export { _t as ColorModeProvider, xn as Inspector, ue as LEVO_AUTH_METHODS, Y as LEVO_AUTH_QUERY_KEY, W as LEVO_OAUTH_METHODS, nt as LEVO_OTP_LENGTH, Ke as LEVO_PENDING_APPROVAL_CODE, U as LEVO_PRIMARY_AUTH_METHODS, m as LOCALE_COOKIE, l as LOCALE_REDIRECT_CACHE_CONTROL, lt as LevoChat, ze as LevoEntryForm, fr as LevoEventRegister, yt as LevoForm, kn as LevoPopups, We as LevoProfileForm, Mn as LevoSiteProvider, Ln as LocaleHreflang, zn as LocaleProvider, En as PAGE_ID_META, Jn as PageHead, Hn as SiteLocaleProvider, In as buildHreflangLinks, vr as createLevoHead, yr as createLevoLoader, _ as createRouteTreeMatcher, Se as createSiteClient, xe as decideAccess, v as extractGeoAndLanguageData, qe as isPendingApprovalError, rt as isValidEmail, it as isValidOtp, ot as isValidPhone, Nn as localeBeforeLoad, p as localePath, d as localeRedirectResponse, at as normalizePhone, qn as pageHead, ge as parseAccess, Kn as parseRawHead, Fe as prefetchLevoSources, Pn as readLocaleConfig, Dn as readPageId, _e as resolveAuthMethods, g as resolveLocale, u as resolveLocaleRedirect, s as resolveLocaleRequest, Ce as siteConfigFromJson, f as splitLocalePrefix, vt as useColorMode, Un as useLanguageOptions, Ge as useLevoAccess, Re as useLevoAuth, Pe as useLevoForm, jn as useLevoInsights, Xe as useLevoLogin, tt as useLevoOAuth, st as useLevoOtpInput, Ne as useLevoRecord, An as useLevoSite, Me as useLevoSource, Bn as useLocale, Vn as useUrlLocale };
|