@voxket-ai/events-sdk 1.0.1 → 1.0.2

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.
@@ -13,6 +13,11 @@ var g = class {
13
13
  let n = this.getCallerInfo();
14
14
  console.log(`%c[Widget-Log] ${n}`, "color: #0bd649; font-weight: bold;", e, ...t);
15
15
  }
16
+ warn(e, ...t) {
17
+ if (!this.isDebug) return;
18
+ let n = this.getCallerInfo();
19
+ console.warn(`%c[Widget-Warn] ${n}`, "color: #f59e0b; font-weight: bold;", e, ...t);
20
+ }
16
21
  error(e, ...t) {
17
22
  if (!this.isDebug) return;
18
23
  let n = this.getCallerInfo();
@@ -26,38 +31,48 @@ var g = class {
26
31
  baseUrl;
27
32
  slug;
28
33
  logger;
29
- constructor(e, t, n) {
30
- this.baseUrl = e, this.slug = t, this.logger = n;
34
+ timeoutMs;
35
+ constructor(e, t, n, r = 12e4) {
36
+ this.baseUrl = e, this.slug = t, this.logger = n, this.timeoutMs = r;
31
37
  }
32
38
  async fetchApi(e, t = {}) {
33
39
  let n = `${this.baseUrl}${e}`;
34
- this.logger.log(`API Call: ${t.method || "GET"} ${n}`);
40
+ this.logger.log(`API Call: ${t.method || "GET"} ${n} (timeout: ${this.timeoutMs / 1e3}s)`);
41
+ let r = new AbortController(), i = setTimeout(() => r.abort(), this.timeoutMs);
42
+ t.signal && t.signal.addEventListener("abort", () => r.abort());
35
43
  try {
36
44
  let e = await fetch(n, {
37
45
  ...t,
46
+ signal: r.signal,
38
47
  headers: {
39
48
  "Content-Type": "application/json",
40
49
  ...t.headers
41
50
  }
42
- }), r = null;
51
+ });
52
+ clearTimeout(i);
53
+ let a = null;
43
54
  try {
44
- r = await e.json();
55
+ a = await e.json();
45
56
  } catch {}
46
57
  if (!e.ok) {
47
58
  let e = "API Error";
48
- if (r) {
49
- if (typeof r.message == "string") e = r.message;
50
- else if (typeof r.detail == "string") e = r.detail;
51
- else if (typeof r.error == "string") e = r.error;
52
- else if (typeof r == "object") {
53
- let t = Object.values(r)[0];
59
+ if (a) {
60
+ if (typeof a.message == "string") e = a.message;
61
+ else if (typeof a.detail == "string") e = a.detail;
62
+ else if (typeof a.error == "string") e = a.error;
63
+ else if (typeof a == "object") {
64
+ let t = Object.values(a)[0];
54
65
  Array.isArray(t) && typeof t[0] == "string" ? e = t[0] : typeof t == "string" && (e = t);
55
66
  }
56
67
  }
57
68
  throw Error(e);
58
69
  }
59
- return r;
70
+ return a;
60
71
  } catch (t) {
72
+ if (clearTimeout(i), t?.name === "AbortError") {
73
+ let t = /* @__PURE__ */ Error(`Request timed out after ${this.timeoutMs / 1e3} seconds`);
74
+ throw this.logger.error(`API Request timed out for ${e}`, t), t;
75
+ }
61
76
  throw this.logger.error(`API Request failed for ${e}`, t), t;
62
77
  }
63
78
  }
@@ -114,53 +129,112 @@ var g = class {
114
129
  headers: { Authorization: `Bearer ${e}` }
115
130
  });
116
131
  }
117
- async portalUploadFile(e, t) {
118
- let n = `${this.baseUrl}/api/portal/${this.slug}/me/upload/`;
119
- this.logger.log(`API Call: POST ${n} (upload)`);
120
- let r = new FormData();
121
- r.append("file", t);
122
- let i = await fetch(n, {
123
- method: "POST",
124
- headers: { Authorization: `Bearer ${e}` },
125
- body: r
126
- }), a = null;
127
- try {
128
- a = await i.json();
129
- } catch {}
130
- if (!i.ok) {
131
- let e = a?.message || a?.error || a?.detail || "File upload failed";
132
- throw Error(e);
132
+ async uploadFile(e, t) {
133
+ let n = new FormData();
134
+ n.append("file", e);
135
+ let r = t || null, i = {};
136
+ r && (i.Authorization = `Bearer ${r}`);
137
+ let a = r ? [`${this.baseUrl}/api/portal/${this.slug}/me/upload/`, `${this.baseUrl}/api/public/events/${this.slug}/upload/`] : [`${this.baseUrl}/api/public/events/${this.slug}/upload/`, `${this.baseUrl}/api/portal/${this.slug}/me/upload/`], o = null;
138
+ for (let e = 0; e < a.length; e++) {
139
+ let t = a[e];
140
+ this.logger.log(`API Call: POST ${t} (upload)`);
141
+ let r = new AbortController(), s = setTimeout(() => r.abort(), this.timeoutMs);
142
+ try {
143
+ let o = await fetch(t, {
144
+ method: "POST",
145
+ signal: r.signal,
146
+ headers: i,
147
+ body: n
148
+ });
149
+ clearTimeout(s);
150
+ let c = null;
151
+ try {
152
+ c = await o.json();
153
+ } catch {}
154
+ if (o.ok) return c;
155
+ if ((o.status === 404 || o.status === 405) && e < a.length - 1) {
156
+ this.logger.log(`Upload to ${t} returned ${o.status}, trying fallback endpoint...`);
157
+ continue;
158
+ }
159
+ let l = c?.message || c?.error || c?.detail || "File upload failed";
160
+ throw Error(l);
161
+ } catch (t) {
162
+ if (clearTimeout(s), o = t, e < a.length - 1 && !t?.message?.includes("timed out")) continue;
163
+ throw t?.name === "AbortError" ? Error(`File upload timed out after ${this.timeoutMs / 1e3} seconds`) : t;
164
+ }
165
+ }
166
+ throw o || /* @__PURE__ */ Error("File upload failed");
167
+ }
168
+ async deleteFile(e, t) {
169
+ let n = encodeURIComponent(String(e).trim()), r = t || null, i = {};
170
+ r && (i.Authorization = `Bearer ${r}`);
171
+ let a = r ? [
172
+ `/api/portal/${this.slug}/me/upload/${n}/`,
173
+ `/api/portal/${this.slug}/me/upload/${n}`,
174
+ `/api/public/events/${this.slug}/upload/${n}/`,
175
+ `/api/public/events/${this.slug}/upload/${n}`
176
+ ] : [
177
+ `/api/public/events/${this.slug}/upload/${n}/`,
178
+ `/api/public/events/${this.slug}/upload/${n}`,
179
+ `/api/portal/${this.slug}/me/upload/${n}/`,
180
+ `/api/portal/${this.slug}/me/upload/${n}`
181
+ ], o = null;
182
+ for (let e = 0; e < a.length; e++) {
183
+ let t = a[e];
184
+ this.logger.log(`API Call: DELETE ${t}`);
185
+ try {
186
+ return await this.fetchApi(t, {
187
+ method: "DELETE",
188
+ headers: i
189
+ });
190
+ } catch (t) {
191
+ if (o = t, (t?.message?.includes("404") || t?.message?.includes("405")) && e < a.length - 1) continue;
192
+ throw t;
193
+ }
133
194
  }
134
- return a;
195
+ throw o;
196
+ }
197
+ async portalUploadFile(e, t) {
198
+ return this.uploadFile(t, e);
199
+ }
200
+ async portalDeleteFile(e, t) {
201
+ return this.deleteFile(t, e);
135
202
  }
136
203
  async portalUpdateProfile(e, t) {
137
204
  let n = `${this.baseUrl}/api/portal/${this.slug}/me/`;
138
205
  this.logger.log(`API Call: PATCH ${n}`);
139
- let r = await fetch(n, {
140
- method: "PATCH",
141
- headers: {
142
- "Content-Type": "application/json",
143
- Authorization: `Bearer ${e}`
144
- },
145
- body: JSON.stringify(t)
146
- });
147
- r.status === 405 && (r = await fetch(n, {
148
- method: "PUT",
149
- headers: {
150
- "Content-Type": "application/json",
151
- Authorization: `Bearer ${e}`
152
- },
153
- body: JSON.stringify(t)
154
- }));
155
- let i = null;
206
+ let r = new AbortController(), i = setTimeout(() => r.abort(), this.timeoutMs);
156
207
  try {
157
- i = await r.json();
158
- } catch {}
159
- if (!r.ok) {
160
- let e = i?.message || i?.error || i?.detail || "Failed to update profile";
161
- throw Error(e);
208
+ let a = await fetch(n, {
209
+ method: "PATCH",
210
+ signal: r.signal,
211
+ headers: {
212
+ "Content-Type": "application/json",
213
+ Authorization: `Bearer ${e}`
214
+ },
215
+ body: JSON.stringify(t)
216
+ });
217
+ a.status === 405 && (a = await fetch(n, {
218
+ method: "PUT",
219
+ signal: r.signal,
220
+ headers: {
221
+ "Content-Type": "application/json",
222
+ Authorization: `Bearer ${e}`
223
+ },
224
+ body: JSON.stringify(t)
225
+ })), clearTimeout(i);
226
+ let o = null;
227
+ try {
228
+ o = await a.json();
229
+ } catch {}
230
+ if (!a.ok) {
231
+ let e = o?.message || o?.error || o?.detail || "Failed to update profile";
232
+ throw Error(e);
233
+ }
234
+ return o;
235
+ } catch (e) {
236
+ throw clearTimeout(i), e?.name === "AbortError" ? Error(`Profile update timed out after ${this.timeoutMs / 1e3} seconds`) : e;
162
237
  }
163
- return i;
164
238
  }
165
239
  }, v = class {
166
240
  prefix;
@@ -385,7 +459,7 @@ var R = M(L), z = {
385
459
  aliases: ["check-circle"]
386
460
  };
387
461
  z.node;
388
- var B = M(z), V = {
462
+ var ee = M(z), B = {
389
463
  name: "credit-card",
390
464
  size: 24,
391
465
  node: [
@@ -410,8 +484,8 @@ var B = M(z), V = {
410
484
  }]
411
485
  ]
412
486
  };
413
- V.node;
414
- var ee = M(V), H = {
487
+ B.node;
488
+ var te = M(B), V = {
415
489
  name: "external-link",
416
490
  size: 24,
417
491
  node: [
@@ -429,8 +503,8 @@ var ee = M(V), H = {
429
503
  }]
430
504
  ]
431
505
  };
432
- H.node;
433
- var U = M(H), W = {
506
+ V.node;
507
+ var ne = M(V), H = {
434
508
  name: "file-text",
435
509
  size: 24,
436
510
  node: [
@@ -456,8 +530,8 @@ var U = M(H), W = {
456
530
  }]
457
531
  ]
458
532
  };
459
- W.node;
460
- var G = M(W), K = {
533
+ H.node;
534
+ var U = M(H), W = {
461
535
  name: "key",
462
536
  size: 24,
463
537
  node: [
@@ -477,8 +551,8 @@ var G = M(W), K = {
477
551
  }]
478
552
  ]
479
553
  };
480
- K.node;
481
- var te = M(K), q = {
554
+ W.node;
555
+ var G = M(W), K = {
482
556
  name: "lock",
483
557
  size: 24,
484
558
  node: [["rect", {
@@ -494,8 +568,8 @@ var te = M(K), q = {
494
568
  key: "fwvmzm"
495
569
  }]]
496
570
  };
497
- q.node;
498
- var ne = M(q), J = {
571
+ K.node;
572
+ var q = M(K), J = {
499
573
  name: "log-out",
500
574
  size: 24,
501
575
  node: [
@@ -514,7 +588,7 @@ var ne = M(q), J = {
514
588
  ]
515
589
  };
516
590
  J.node;
517
- var re = M(J), Y = {
591
+ var Y = M(J), X = {
518
592
  name: "mail",
519
593
  size: 24,
520
594
  node: [["path", {
@@ -529,8 +603,8 @@ var re = M(J), Y = {
529
603
  key: "izxlao"
530
604
  }]]
531
605
  };
532
- Y.node;
533
- var ie = M(Y), ae = {
606
+ X.node;
607
+ var re = M(X), ie = {
534
608
  name: "maximize-2",
535
609
  size: 24,
536
610
  node: [
@@ -552,8 +626,8 @@ var ie = M(Y), ae = {
552
626
  }]
553
627
  ]
554
628
  };
555
- ae.node;
556
- var X = M(ae), oe = {
629
+ ie.node;
630
+ var ae = M(ie), Z = {
557
631
  name: "minimize-2",
558
632
  size: 24,
559
633
  node: [
@@ -575,8 +649,39 @@ var X = M(ae), oe = {
575
649
  }]
576
650
  ]
577
651
  };
578
- oe.node;
579
- var Z = M(oe), se = {
652
+ Z.node;
653
+ var oe = M(Z), Q = {
654
+ name: "move",
655
+ size: 24,
656
+ node: [
657
+ ["path", {
658
+ d: "M12 2v20",
659
+ key: "t6zp3m"
660
+ }],
661
+ ["path", {
662
+ d: "m15 19-3 3-3-3",
663
+ key: "11eu04"
664
+ }],
665
+ ["path", {
666
+ d: "m19 9 3 3-3 3",
667
+ key: "1mg7y2"
668
+ }],
669
+ ["path", {
670
+ d: "M2 12h20",
671
+ key: "9i4pu4"
672
+ }],
673
+ ["path", {
674
+ d: "m5 9-3 3 3 3",
675
+ key: "j64kie"
676
+ }],
677
+ ["path", {
678
+ d: "m9 5 3-3 3 3",
679
+ key: "l8vdw6"
680
+ }]
681
+ ]
682
+ };
683
+ Q.node;
684
+ var se = M(Q), ce = {
580
685
  name: "package-check",
581
686
  size: 24,
582
687
  node: [
@@ -602,8 +707,8 @@ var Z = M(oe), se = {
602
707
  }]
603
708
  ]
604
709
  };
605
- se.node;
606
- var ce = M(se), le = {
710
+ ce.node;
711
+ var le = M(ce), ue = {
607
712
  name: "receipt",
608
713
  size: 24,
609
714
  node: [
@@ -621,8 +726,36 @@ var ce = M(se), le = {
621
726
  }]
622
727
  ]
623
728
  };
624
- le.node;
625
- var ue = M(le), de = {
729
+ ue.node;
730
+ var de = M(ue), $ = {
731
+ name: "trash",
732
+ size: 24,
733
+ node: [
734
+ ["path", {
735
+ d: "M10 11v6",
736
+ key: "nco0om"
737
+ }],
738
+ ["path", {
739
+ d: "M14 11v6",
740
+ key: "outv1u"
741
+ }],
742
+ ["path", {
743
+ d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",
744
+ key: "miytrc"
745
+ }],
746
+ ["path", {
747
+ d: "M3 6h18",
748
+ key: "d0wm0j"
749
+ }],
750
+ ["path", {
751
+ d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
752
+ key: "e791ji"
753
+ }]
754
+ ],
755
+ aliases: ["trash-2"]
756
+ };
757
+ $.node;
758
+ var fe = M($), pe = {
626
759
  name: "upload",
627
760
  size: 24,
628
761
  node: [
@@ -640,8 +773,8 @@ var ue = M(le), de = {
640
773
  }]
641
774
  ]
642
775
  };
643
- de.node;
644
- var fe = M(de), pe = {
776
+ pe.node;
777
+ var me = M(pe), he = {
645
778
  name: "x",
646
779
  size: 24,
647
780
  node: [["path", {
@@ -652,135 +785,339 @@ var fe = M(de), pe = {
652
785
  key: "d8bk6v"
653
786
  }]]
654
787
  };
655
- pe.node;
656
- var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode: i, isExpanded: a, onToggleExpand: o, onClose: c, onChange: l, initialValues: u }) => {
657
- let [f, h] = d(u || {}), g = r?.primaryColor || "#2563eb";
788
+ he.node;
789
+ var ge = M(he), _e = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode: i, isExpanded: a, onToggleExpand: o, onClose: c, onChange: l, initialValues: u, isDark: f = !1, apiClient: h, storage: g, onError: _, onEvent: v }) => {
790
+ let [y, b] = d(u || {}), [x, S] = d(null), [C, w] = d(null), [T, E] = d({}), [D, O] = d({}), [k, A] = d(null), [j, M] = d(null), N = r?.primaryColor || "#2563eb", P = (t) => {
791
+ let n = e?.review_fields;
792
+ if (!Array.isArray(n) || n.length === 0) return !1;
793
+ let r = t.label ? t.label.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "") : "";
794
+ return n.some((e) => {
795
+ let i = e?.submission?.reviewer;
796
+ if (!(i != null && i !== "" && (typeof i != "object" || Object.keys(i).length > 0))) return !1;
797
+ let a = e?.id == null ? null : String(e.id), o = e?.field_id == null ? null : String(e.field_id), s = String(t.id);
798
+ return a && (a === s || a === r) || o && (o === s || o === r) || n.length === 1 && t.type === "file";
799
+ });
800
+ };
658
801
  s(() => {
659
- u && Object.keys(u).length > 0 && h((e) => ({
660
- ...u,
661
- ...e
662
- }));
663
- }, [u]);
664
- let _ = (e, t) => {
665
- h((n) => {
802
+ if (u && Object.keys(u).length > 0) {
803
+ b((e) => ({
804
+ ...u,
805
+ ...e
806
+ }));
807
+ let t = {}, n = {};
808
+ (e?.fields || []).forEach((e) => {
809
+ if (e.type === "file") {
810
+ let r = u[e.id];
811
+ r && (String(r).startsWith("http://") || String(r).startsWith("https://") ? n[e.id] = String(r) : t[e.id] = String(r));
812
+ }
813
+ }), Object.keys(t).length > 0 && E((e) => ({
814
+ ...t,
815
+ ...e
816
+ })), Object.keys(n).length > 0 && O((e) => ({
817
+ ...n,
818
+ ...e
819
+ }));
820
+ }
821
+ }, [u, e]);
822
+ let F = (e, t) => {
823
+ b((n) => {
666
824
  let r = {
667
825
  ...n,
668
826
  [e]: t
669
827
  };
670
828
  return l?.(r), r;
671
829
  });
672
- };
830
+ }, I = async (t, n) => {
831
+ if (!h) return;
832
+ let r = (e?.fields || []).find((e) => e.id === t);
833
+ if (r && P(r)) {
834
+ A("This field is under review and cannot be modified."), M(t);
835
+ return;
836
+ }
837
+ S(t), A(null), M(null);
838
+ let i = g?.getToken?.() || null, a = T[t];
839
+ try {
840
+ let e = await h.uploadFile(n, i), r = e?.data?.asset_id || e?.asset_id, o = e?.data?.serve_url || e?.serve_url;
841
+ if (!r && !o) throw Error("Upload response missing asset_id");
842
+ let s = String(r || o), c = String(o || "");
843
+ if (E((e) => ({
844
+ ...e,
845
+ [t]: s
846
+ })), c && O((e) => ({
847
+ ...e,
848
+ [t]: c
849
+ })), b((e) => {
850
+ let n = {
851
+ ...e,
852
+ [t]: s
853
+ };
854
+ return l?.(n), n;
855
+ }), v?.("file_uploaded", {
856
+ fieldId: t,
857
+ assetId: s,
858
+ serveUrl: c
859
+ }), a && a !== s) try {
860
+ await h.deleteFile(a, i), v?.("file_deleted", {
861
+ fieldId: t,
862
+ assetId: a
863
+ });
864
+ } catch (e) {
865
+ console.warn("Failed to delete previous asset:", e);
866
+ }
867
+ } catch (e) {
868
+ let n = e?.message || "File upload failed. Please try again.";
869
+ A(n), M(t), _?.({
870
+ type: "file_upload_error",
871
+ message: n,
872
+ error: e
873
+ });
874
+ } finally {
875
+ S(null);
876
+ }
877
+ }, L = async (t) => {
878
+ if (!h) return;
879
+ let n = (e?.fields || []).find((e) => e.id === t);
880
+ if (n && P(n)) {
881
+ A("This field is under review and cannot be deleted."), M(t);
882
+ return;
883
+ }
884
+ let r = g?.getToken?.() || null, i = T[t] || y[t];
885
+ w(t), A(null), M(null);
886
+ try {
887
+ i && (await h.deleteFile(i, r), v?.("file_deleted", {
888
+ fieldId: t,
889
+ assetId: i
890
+ })), E((e) => {
891
+ let n = { ...e };
892
+ return delete n[t], n;
893
+ }), O((e) => {
894
+ let n = { ...e };
895
+ return delete n[t], n;
896
+ }), b((e) => {
897
+ let n = {
898
+ ...e,
899
+ [t]: ""
900
+ };
901
+ return l?.(n), n;
902
+ });
903
+ } catch (e) {
904
+ let n = e?.message || "Failed to delete file. Please try again.";
905
+ A(n), M(t), _?.({
906
+ type: "file_delete_error",
907
+ message: n,
908
+ error: e
909
+ });
910
+ } finally {
911
+ w(null);
912
+ }
913
+ }, R = (e?.fields || []).filter((e) => e?.is_review !== !0 && e?.is_review !== "true");
673
914
  return /* @__PURE__ */ m("div", {
674
- className: "flex flex-col h-full bg-white text-gray-800 relative",
915
+ className: `flex flex-col h-full relative ${f ? "bg-black text-white" : "bg-white text-gray-800"}`,
675
916
  children: [/* @__PURE__ */ m("div", {
676
917
  className: "flex justify-between items-center p-4 shadow-sm z-10",
677
918
  style: {
678
- backgroundColor: g,
919
+ backgroundColor: N,
679
920
  color: "white"
680
921
  },
681
922
  children: [/* @__PURE__ */ m("button", {
682
923
  onClick: n,
683
- className: "text-sm opacity-90 hover:opacity-100 transition-opacity font-bold flex items-center gap-1",
924
+ className: "text-sm opacity-90 hover:opacity-100 transition-opacity font-bold flex items-center gap-1 cursor-pointer",
684
925
  children: [/* @__PURE__ */ p("span", { children: "←" }), " Back"]
685
- }), i === "popup" && /* @__PURE__ */ m("div", {
686
- className: "flex items-center gap-4",
687
- children: [/* @__PURE__ */ p("button", {
688
- onClick: o,
689
- className: "opacity-80 hover:opacity-100 transition-opacity",
690
- title: a ? "Minimize" : "Expand",
691
- children: p(a ? Z : X, { size: 18 })
692
- }), /* @__PURE__ */ p("button", {
693
- onClick: c,
694
- className: "opacity-80 hover:opacity-100 transition-opacity",
695
- children: /* @__PURE__ */ p(Q, { size: 22 })
696
- })]
926
+ }), /* @__PURE__ */ p("div", {
927
+ className: "flex items-center gap-3",
928
+ children: i === "popup" && /* @__PURE__ */ m("div", {
929
+ className: "flex items-center gap-3",
930
+ children: [/* @__PURE__ */ p("button", {
931
+ onClick: o,
932
+ className: "opacity-80 hover:opacity-100 transition-opacity cursor-pointer",
933
+ title: a ? "Minimize" : "Expand",
934
+ children: p(a ? oe : ae, { size: 18 })
935
+ }), /* @__PURE__ */ p("button", {
936
+ onClick: c,
937
+ className: "opacity-80 hover:opacity-100 transition-opacity cursor-pointer",
938
+ children: /* @__PURE__ */ p(ge, { size: 22 })
939
+ })]
940
+ })
697
941
  })]
698
942
  }), /* @__PURE__ */ m("form", {
699
943
  onSubmit: (e) => {
700
- e.preventDefault(), t(f);
944
+ e.preventDefault();
945
+ for (let e of R) if (e.type === "file" && e.required && !y[e.id]) {
946
+ A(`Please upload ${e.label || "a file"}`), M(e.id);
947
+ return;
948
+ }
949
+ t(y);
701
950
  },
702
- className: "p-5 overflow-y-auto flex-1 space-y-5 bg-white",
951
+ className: `p-5 overflow-y-auto flex-1 space-y-5 ${f ? "bg-black text-white" : "bg-white"}`,
703
952
  children: [
704
953
  u && Object.keys(u).length > 0 && /* @__PURE__ */ m("div", {
705
- className: "bg-emerald-50 border border-emerald-200 text-emerald-800 text-xs px-3.5 py-2 rounded-lg flex items-center gap-2",
954
+ className: `text-xs px-3.5 py-2 rounded-lg flex items-center gap-2 border ${f ? "bg-emerald-950/60 border-emerald-800/80 text-emerald-300" : "bg-emerald-50 border-emerald-200 text-emerald-800"}`,
706
955
  children: [/* @__PURE__ */ p("span", { children: "✨" }), /* @__PURE__ */ p("span", {
707
956
  className: "font-medium",
708
957
  children: "Restored your saved draft progress"
709
958
  })]
710
959
  }),
711
- e.fields.map((e) => /* @__PURE__ */ m("div", {
712
- className: `flex flex-col ${e.width === "half" ? "w-full md:w-1/2 md:inline-block md:pr-3 align-top" : "w-full"}`,
713
- children: [/* @__PURE__ */ m("label", {
714
- className: "text-sm font-semibold mb-1.5 text-gray-700",
715
- children: [
716
- e.label,
717
- " ",
718
- e.required && /* @__PURE__ */ p("span", {
719
- style: { color: g },
720
- children: "*"
721
- })
722
- ]
723
- }), e.type === "select" ? /* @__PURE__ */ m("select", {
724
- required: e.required,
725
- value: f[e.id] ?? "",
726
- className: "border border-gray-300 rounded-md p-2.5 w-full bg-white outline-none transition-colors",
727
- style: { "--tw-ring-color": g },
728
- onFocus: (e) => e.target.style.borderColor = g,
729
- onBlur: (e) => e.target.style.borderColor = "#d1d5db",
730
- onChange: (t) => _(e.id, t.target.value),
731
- children: [/* @__PURE__ */ p("option", {
732
- value: "",
733
- children: e.placeholder || "Select..."
734
- }), e.options?.map((e) => /* @__PURE__ */ p("option", {
735
- value: e,
736
- children: e
737
- }, e))]
738
- }) : e.type === "file" ? /* @__PURE__ */ m("div", {
739
- className: "flex flex-col",
740
- children: [/* @__PURE__ */ p("input", {
741
- type: "file",
742
- required: !f[e.id] && e.required,
743
- className: "border border-gray-300 rounded-md p-2 w-full outline-none bg-white",
744
- onChange: (t) => _(e.id, t.target.files?.[0]?.name || "")
745
- }), f[e.id] && /* @__PURE__ */ m("span", {
746
- className: "text-xs text-gray-500 mt-1",
747
- children: ["Saved: ", f[e.id]]
960
+ R.map((e) => {
961
+ let t = P(e);
962
+ return /* @__PURE__ */ m("div", {
963
+ className: `flex flex-col ${e.width === "half" ? "w-full md:w-1/2 md:inline-block md:pr-3 align-top" : "w-full"}`,
964
+ children: [/* @__PURE__ */ m("div", {
965
+ className: "flex items-center justify-between mb-1.5",
966
+ children: [/* @__PURE__ */ m("label", {
967
+ className: `text-sm font-semibold ${f ? "text-zinc-200" : "text-gray-700"}`,
968
+ children: [
969
+ e.label,
970
+ " ",
971
+ e.required && /* @__PURE__ */ p("span", {
972
+ style: { color: N },
973
+ children: "*"
974
+ })
975
+ ]
976
+ }), t && /* @__PURE__ */ m("span", {
977
+ className: `flex items-center gap-1 text-2xs font-medium px-1.5 py-0.5 rounded ${f ? "text-amber-400 bg-amber-950/60 border border-amber-900/50" : "text-amber-700 bg-amber-50 border border-amber-200"}`,
978
+ children: [/* @__PURE__ */ p(q, { size: 10 }), " Under Review"]
979
+ })]
980
+ }), e.type === "select" ? /* @__PURE__ */ m("select", {
981
+ disabled: t,
982
+ required: e.required,
983
+ value: y[e.id] ?? "",
984
+ className: `border rounded-md p-2.5 w-full outline-none transition-colors ${t ? f ? "bg-zinc-800 text-zinc-500 border-zinc-700 cursor-not-allowed" : "bg-gray-100 text-gray-500 border-gray-200 cursor-not-allowed" : f ? "bg-zinc-900 border-zinc-700 text-white" : "bg-white border-gray-300 text-gray-900"}`,
985
+ style: { "--tw-ring-color": N },
986
+ onFocus: (e) => {
987
+ t || (e.target.style.borderColor = N);
988
+ },
989
+ onBlur: (e) => {
990
+ t || (e.target.style.borderColor = f ? "#3f3f46" : "#d1d5db");
991
+ },
992
+ onChange: (t) => F(e.id, t.target.value),
993
+ children: [/* @__PURE__ */ p("option", {
994
+ value: "",
995
+ className: f ? "bg-zinc-900 text-white" : "",
996
+ children: e.placeholder || "Select..."
997
+ }), e.options?.map((e) => /* @__PURE__ */ p("option", {
998
+ value: e,
999
+ className: f ? "bg-zinc-900 text-white" : "",
1000
+ children: e
1001
+ }, e))]
1002
+ }) : e.type === "file" ? /* @__PURE__ */ m("div", {
1003
+ className: "flex flex-col space-y-2",
1004
+ children: [
1005
+ /* @__PURE__ */ m("div", {
1006
+ className: "flex items-center gap-2 flex-wrap",
1007
+ children: [
1008
+ !t && /* @__PURE__ */ m("label", {
1009
+ className: `border border-dashed rounded-lg p-2.5 flex items-center justify-center gap-2 cursor-pointer transition-all hover:border-solid ${f ? "bg-zinc-900/60 border-zinc-700 hover:border-zinc-500 text-zinc-300" : "bg-gray-50 border-gray-300 hover:border-gray-400 text-gray-700"} ${x === e.id ? "opacity-60 pointer-events-none" : ""}`,
1010
+ style: { minWidth: "170px" },
1011
+ children: [
1012
+ /* @__PURE__ */ p("input", {
1013
+ type: "file",
1014
+ className: "hidden",
1015
+ disabled: x === e.id || C === e.id,
1016
+ onChange: (t) => {
1017
+ let n = t.target.files?.[0];
1018
+ n && I(e.id, n), t.target.value = "";
1019
+ }
1020
+ }),
1021
+ /* @__PURE__ */ p(me, {
1022
+ size: 14,
1023
+ className: f ? "text-zinc-400" : "text-gray-500"
1024
+ }),
1025
+ /* @__PURE__ */ p("span", {
1026
+ className: "text-xs font-medium",
1027
+ children: x === e.id ? "Uploading..." : "Choose File to Upload"
1028
+ })
1029
+ ]
1030
+ }),
1031
+ (D[e.id] || y[e.id] && String(y[e.id]).startsWith("http")) && /* @__PURE__ */ m("button", {
1032
+ type: "button",
1033
+ onClick: () => {
1034
+ let t = D[e.id] || y[e.id];
1035
+ t && typeof t == "string" && window.open(t, "_blank", "noopener,noreferrer");
1036
+ },
1037
+ style: { backgroundColor: N },
1038
+ className: "text-white text-xs font-semibold px-3 py-2 rounded-lg flex items-center gap-1.5 shadow-sm hover:opacity-90 transition-opacity shrink-0 cursor-pointer",
1039
+ children: [
1040
+ /* @__PURE__ */ p(U, { size: 13 }),
1041
+ /* @__PURE__ */ p("span", { children: "Open File" }),
1042
+ /* @__PURE__ */ p(ne, { size: 12 })
1043
+ ]
1044
+ }),
1045
+ !t && (T[e.id] || D[e.id] || y[e.id]) && /* @__PURE__ */ m("button", {
1046
+ type: "button",
1047
+ onClick: () => L(e.id),
1048
+ disabled: C === e.id || x === e.id,
1049
+ className: "text-red-600 bg-red-50 hover:bg-red-100 dark:bg-red-950/40 dark:text-red-400 text-xs font-semibold px-3 py-2 rounded-lg flex items-center gap-1.5 transition-colors shrink-0 cursor-pointer disabled:opacity-50",
1050
+ title: "Delete uploaded file",
1051
+ children: [/* @__PURE__ */ p(fe, { size: 13 }), /* @__PURE__ */ p("span", { children: C === e.id ? "Deleting..." : "Delete" })]
1052
+ })
1053
+ ]
1054
+ }),
1055
+ (D[e.id] || y[e.id] && String(y[e.id]).startsWith("http")) && /* @__PURE__ */ m("div", {
1056
+ className: "text-xs text-emerald-600 dark:text-emerald-400 mt-1 flex items-center gap-1",
1057
+ children: [/* @__PURE__ */ p("span", { children: "✓ File attached:" }), /* @__PURE__ */ p("span", {
1058
+ className: "truncate max-w-xs",
1059
+ children: D[e.id] || y[e.id]
1060
+ })]
1061
+ }),
1062
+ k && j === e.id && /* @__PURE__ */ p("div", {
1063
+ className: "text-xs text-red-500 mt-1",
1064
+ children: k
1065
+ })
1066
+ ]
1067
+ }) : /* @__PURE__ */ p("input", {
1068
+ type: e.type === "email" ? "email" : "text",
1069
+ disabled: t,
1070
+ required: e.required,
1071
+ value: y[e.id] ?? "",
1072
+ placeholder: e.placeholder,
1073
+ className: `border rounded-md p-2.5 w-full outline-none transition-colors ${t ? f ? "bg-zinc-800 text-zinc-500 border-zinc-700 cursor-not-allowed" : "bg-gray-100 text-gray-500 border-gray-200 cursor-not-allowed" : f ? "bg-zinc-900 border-zinc-700 text-white placeholder-zinc-500" : "bg-white border-gray-300 text-gray-900"}`,
1074
+ onFocus: (e) => {
1075
+ t || (e.target.style.borderColor = N);
1076
+ },
1077
+ onBlur: (e) => {
1078
+ t || (e.target.style.borderColor = f ? "#3f3f46" : "#d1d5db");
1079
+ },
1080
+ onChange: (t) => F(e.id, t.target.value)
748
1081
  })]
749
- }) : /* @__PURE__ */ p("input", {
750
- type: e.type === "email" ? "email" : "text",
751
- required: e.required,
752
- value: f[e.id] ?? "",
753
- placeholder: e.placeholder,
754
- className: "border border-gray-300 rounded-md p-2.5 w-full outline-none transition-colors bg-white",
755
- onFocus: (e) => e.target.style.borderColor = g,
756
- onBlur: (e) => e.target.style.borderColor = "#d1d5db",
757
- onChange: (t) => _(e.id, t.target.value)
758
- })]
759
- }, e.id)),
1082
+ }, e.id);
1083
+ }),
760
1084
  /* @__PURE__ */ p("div", {
761
1085
  className: "pt-6 pb-2",
762
1086
  children: /* @__PURE__ */ p("button", {
763
1087
  type: "submit",
764
- style: { backgroundColor: g },
765
- className: "w-full text-white font-bold py-3.5 rounded-md hover:opacity-90 transition-opacity shadow-md",
1088
+ style: { backgroundColor: N },
1089
+ className: "w-full text-white font-bold py-3.5 rounded-md hover:opacity-90 transition-opacity shadow-md cursor-pointer",
766
1090
  children: "Complete Registration"
767
1091
  })
768
1092
  })
769
1093
  ]
770
1094
  })]
771
1095
  });
772
- }, he = ({ apiClient: e, storage: t, logger: n, primaryColor: r, onEvent: i }) => {
773
- let [a, o] = d("login"), [c, l] = d(!1), [u, h] = d(!1), [g, _] = d(null), [v, y] = d(null), [b, x] = d(null), [S, C] = d(""), [w, T] = d(""), [E, D] = d(""), [O, k] = d(""), [A, j] = d(""), [M, N] = d(""), [F, L] = d(""), [z, V] = d(!1), [H, W] = d(null), [K, q] = d({}), [J, Y] = d([]), [ae, X] = d({}), [oe, Z] = d(null), [se, le] = d(null), [de, pe] = d(!1);
1096
+ };
1097
+ //#endregion
1098
+ //#region src/widget/utils/formUtils.ts
1099
+ function ve(e, t) {
1100
+ if (!e) return "";
1101
+ if (/^field_\d+/i.test(e) && t && typeof t == "string") {
1102
+ let e = t.trim().toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "");
1103
+ if (e) return e;
1104
+ }
1105
+ return e;
1106
+ }
1107
+ //#endregion
1108
+ //#region src/widget/components/AttendeePortal.tsx
1109
+ var ye = ({ apiClient: e, storage: t, logger: n, primaryColor: r, isDark: i = !1, onEvent: a, onError: o }) => {
1110
+ let [c, l] = d("login"), [u, h] = d(!1), [g, _] = d(!1), [v, y] = d(null), [b, x] = d(null), [S, C] = d(null), [w, T] = d(""), [E, D] = d(""), [O, k] = d(""), [A, j] = d(""), [M, N] = d(""), [F, L] = d(""), [z, B] = d(""), [V, H] = d(!1), [W, K] = d(null), [J, X] = d({}), [ie, ae] = d([]), [Z, oe] = d({}), [Q, se] = d(null), [ce, ue] = d(null), [$, pe] = d(null), [he, ge] = d(!1);
774
1111
  s(() => {
775
1112
  let e = t.getToken();
776
- e && Q(e);
1113
+ e && _e(e);
777
1114
  }, []);
778
- let Q = async (r) => {
779
- l(!0), y(null);
1115
+ let _e = async (r) => {
1116
+ h(!0), x(null);
780
1117
  try {
781
- let a = await e.portalGetProfile(r), s = a?.data || a || {};
782
- W(s);
783
- let c = s.registration || {}, l = c.custom_data || {}, u = c.email || s.email || "", d = null;
1118
+ let i = await e.portalGetProfile(r), o = i?.data || i || {};
1119
+ K(o);
1120
+ let s = o.registration || {}, c = s.custom_data || {}, u = s.email || o.email || "", d = null;
784
1121
  if (u) try {
785
1122
  let t = await e.getDraftByEmail(u);
786
1123
  d = t?.data || t, n.log("Portal resume draft data loaded by email:", d);
@@ -795,302 +1132,407 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
795
1132
  } catch {}
796
1133
  }
797
1134
  let f = d?.custom_data || {};
798
- c.name ? D(c.name) : d?.name ? D(d.name) : s.name && D(s.name);
799
- let p = 0, m = {}, h = s.editable_fields || [];
800
- h.length > 0 ? h.forEach((e) => {
801
- let t = "";
802
- if (c[e.id] !== void 0 && c[e.id] !== null && c[e.id] !== "" ? t = c[e.id] : l[e.id] !== void 0 && l[e.id] !== null && l[e.id] !== "" && (t = l[e.id]), d) {
803
- let n = d[e.id] ?? f[e.id] ?? (e.id === "salutation" ? d.salutation || d.title : void 0) ?? (e.id === "name" ? d.name || d.fullName || d.full_name : void 0) ?? (e.id === "email" ? d.email : void 0) ?? (e.id === "phone" ? d.phone || d.mobile || d.phoneNumber : void 0);
804
- n != null && n !== "" && (t = n, p++);
1135
+ s.name ? k(s.name) : d?.name ? k(d.name) : o.name && k(o.name);
1136
+ let p = 0, m = {}, h = (o.editable_fields || []).filter((e) => e?.is_review !== !0 && e?.is_review !== "true"), g = {};
1137
+ s.asset_id && (g.asset_id = String(s.asset_id)), s.photo_id && (g.photo_id = String(s.photo_id)), c.asset_id && (g.asset_id = String(c.asset_id)), c.photo_id && (g.photo_id = String(c.photo_id)), o.asset_id && (g.asset_id = String(o.asset_id)), h.forEach((e) => {
1138
+ if (e.type === "file") {
1139
+ let t = s[`${e.id}_asset_id`] || c[`${e.id}_asset_id`] || s.asset_id || c.asset_id || o.asset_id;
1140
+ t && (g[e.id] = String(t));
805
1141
  }
806
- m[e.id] = t;
807
- }) : Object.entries(s).forEach(([e, t]) => {
1142
+ }), oe((e) => ({
1143
+ ...g,
1144
+ ...e
1145
+ }));
1146
+ let _ = s.asset_id || s.photo_id || c.asset_id || c.photo_id || o.asset_id;
1147
+ _ && se(String(_)), h.length > 0 ? h.forEach((e) => {
1148
+ let t = ve(e.id, e.label), n = "";
1149
+ if (s[t] !== void 0 && s[t] !== null && s[t] !== "" ? n = s[t] : s[e.id] !== void 0 && s[e.id] !== null && s[e.id] !== "" ? n = s[e.id] : c[t] !== void 0 && c[t] !== null && c[t] !== "" ? n = c[t] : c[e.id] !== void 0 && c[e.id] !== null && c[e.id] !== "" && (n = c[e.id]), d) {
1150
+ let r = d[t] ?? d[e.id] ?? f[t] ?? f[e.id] ?? (e.id === "salutation" ? d.salutation || d.title : void 0) ?? (e.id === "name" ? d.name || d.fullName || d.full_name : void 0) ?? (e.id === "email" ? d.email : void 0) ?? (e.id === "phone" ? d.phone || d.mobile || d.phoneNumber : void 0);
1151
+ r != null && r !== "" && (n = r, p++);
1152
+ }
1153
+ m[e.id] = n;
1154
+ }) : Object.entries(o).forEach(([e, t]) => {
808
1155
  e.toLowerCase() !== "token" && (m[e] = t);
809
- }), q(m), p > 0 && pe(!0);
810
- let g = (s.addons?.items || []).filter((e) => e.purchased).map((e) => e.name);
1156
+ }), X(m), p > 0 && ge(!0);
1157
+ let v = (o.addons?.items || []).filter((e) => e.purchased).map((e) => e.name);
811
1158
  d?.selected_items && Array.isArray(d.selected_items) && d.selected_items.forEach((e) => {
812
1159
  let t = typeof e == "string" ? e : e?.name;
813
- t && !g.includes(t) && g.push(t);
814
- }), Y(g), o("profile"), i?.("attendee_profile_loaded", {
815
- profile: s,
1160
+ t && !v.includes(t) && v.push(t);
1161
+ }), ae(v), l("profile"), a?.("attendee_profile_loaded", {
1162
+ profile: o,
816
1163
  draft: d
817
1164
  });
818
1165
  } catch (e) {
819
- n.error("Failed to load profile", e), t.clearToken(), o("login");
1166
+ n.error("Failed to load profile", e), t.clearToken(), l("login");
820
1167
  } finally {
821
- l(!1);
1168
+ h(!1);
822
1169
  }
823
- }, me = async (r) => {
824
- if (r.preventDefault(), !S.trim() || !w) {
825
- y("Please enter both your identifier and password.");
1170
+ }, ye = async (r) => {
1171
+ if (r.preventDefault(), !w.trim() || !E) {
1172
+ x("Please enter both your identifier and password.");
826
1173
  return;
827
1174
  }
828
- l(!0), y(null), x(null);
1175
+ h(!0), x(null), C(null);
829
1176
  try {
830
1177
  let n = await e.portalLogin({
831
- identifier: S.trim(),
832
- password: w
1178
+ identifier: w.trim(),
1179
+ password: E
833
1180
  }), r = n?.data?.token || n?.token;
834
1181
  if (!r) throw Error(n?.message || "No authentication token received.");
835
- (n?.data?.name || n?.name) && D(n.data?.name || n.name), t.setToken(r), i?.("attendee_logged_in", {
836
- identifier: S,
1182
+ (n?.data?.name || n?.name) && k(n.data?.name || n.name), t.setToken(r), a?.("attendee_logged_in", {
1183
+ identifier: w,
837
1184
  response: n
838
- }), await Q(r);
1185
+ }), await _e(r);
839
1186
  } catch (e) {
840
- n.error("Login failed", e), y(e.message || "Login failed. Please check your credentials.");
1187
+ n.error("Login failed", e);
1188
+ let t = e.message || "Login failed. Please check your credentials.";
1189
+ x(t), o?.({
1190
+ type: "login_error",
1191
+ message: t,
1192
+ error: e
1193
+ });
841
1194
  } finally {
842
- l(!1);
1195
+ h(!1);
843
1196
  }
844
- }, he = async () => {
845
- let t = (O || S).trim();
846
- if (!t) {
847
- y("Please enter your registration number or email to receive a code.");
1197
+ }, be = async (t) => {
1198
+ t.preventDefault();
1199
+ let r = (A || w).trim();
1200
+ if (!r) {
1201
+ x("Please enter your registration number or email to receive a code.");
848
1202
  return;
849
1203
  }
850
- V(!0), y(null), x(null);
1204
+ H(!0), x(null), C(null);
851
1205
  try {
852
- await e.portalRequestPasswordReset(t), x("A verification code has been sent to your registered email."), i?.("password_reset_code_requested", { identifier: t });
1206
+ await e.portalRequestPasswordReset(r), C("A verification code has been sent to your registered email."), a?.("password_reset_code_requested", { identifier: r }), l("reset");
853
1207
  } catch (e) {
854
- n.error("Failed to send reset code", e), y(e.message || "Failed to send code. Please verify your identifier.");
1208
+ n.error("Failed to send reset code", e);
1209
+ let t = e.message || "Failed to send code. Please verify your identifier.";
1210
+ x(t), o?.({
1211
+ type: "portal_error",
1212
+ message: t,
1213
+ error: e
1214
+ });
855
1215
  } finally {
856
- V(!1);
1216
+ H(!1);
857
1217
  }
858
- }, ge = async (r) => {
1218
+ }, xe = async (r) => {
859
1219
  r.preventDefault();
860
- let a = (O || S).trim();
861
- if (!a) {
862
- y("Please enter your registration number or email.");
1220
+ let i = (A || w).trim();
1221
+ if (!i) {
1222
+ x("Please enter your registration number or email.");
863
1223
  return;
864
1224
  }
865
- if (!A.trim()) {
866
- y("Please enter the verification code sent to your email.");
1225
+ if (!M.trim()) {
1226
+ x("Please enter the verification code sent to your email.");
867
1227
  return;
868
1228
  }
869
- if (!M) {
870
- y("Please enter a new password.");
1229
+ if (!F) {
1230
+ x("Please enter a new password.");
871
1231
  return;
872
1232
  }
873
- if (M !== F) {
874
- y("New password and confirm password do not match.");
1233
+ if (F !== z) {
1234
+ x("New password and confirm password do not match.");
875
1235
  return;
876
1236
  }
877
- l(!0), y(null), x(null);
1237
+ h(!0), x(null), C(null);
878
1238
  try {
879
1239
  let n = await e.portalConfirmPasswordReset({
880
- identifier: a,
881
- code: A.trim(),
882
- new_password: M
1240
+ identifier: i,
1241
+ code: M.trim(),
1242
+ new_password: F
883
1243
  }), r = n?.data?.token || n?.token;
884
- (n?.data?.name || n?.name) && D(n.data?.name || n.name), i?.("password_reset_success", {
885
- identifier: a,
1244
+ (n?.data?.name || n?.name) && k(n.data?.name || n.name), a?.("password_reset_success", {
1245
+ identifier: i,
886
1246
  response: n
887
- }), r ? (t.setToken(r), j(""), N(""), L(""), await Q(r)) : (C(a), T(""), j(""), N(""), L(""), o("login"), x("Password updated successfully! Please login with your new password."));
1247
+ }), r ? (t.setToken(r), N(""), L(""), B(""), await _e(r)) : (T(i), D(""), N(""), L(""), B(""), l("login"), C("Password updated successfully! Please login with your new password."));
888
1248
  } catch (e) {
889
- n.error("Password reset failed", e), y(e.message || "Failed to update password. Please check the code.");
1249
+ n.error("Password reset failed", e);
1250
+ let t = e.message || "Failed to update password. Please check the code.";
1251
+ x(t), o?.({
1252
+ type: "portal_error",
1253
+ message: t,
1254
+ error: e
1255
+ });
890
1256
  } finally {
891
- l(!1);
1257
+ h(!1);
1258
+ }
1259
+ }, Se = () => {
1260
+ t.clearToken(), K(null), X({}), ae([]), oe({}), se(null), pe(null), k(""), D(""), l("login"), C("Logged out successfully."), a?.("attendee_logged_out", {});
1261
+ }, Ce = (e) => {
1262
+ let t = W?.review_fields;
1263
+ if (!Array.isArray(t) || t.length === 0) return !1;
1264
+ let n = ve(e.id, e.label);
1265
+ return t.some((r) => {
1266
+ let i = r?.submission?.reviewer;
1267
+ if (!(i != null && i !== "" && (typeof i != "object" || Object.keys(i).length > 0))) return !1;
1268
+ let a = r?.id == null ? null : String(r.id), o = r?.field_id == null ? null : String(r.field_id), s = r?.field == null ? null : String(r.field), c = r?.name == null ? null : String(r.name), l = r?.key == null ? null : String(r.key), u = r?.submission?.field_id == null ? null : String(r.submission.field_id), d = r?.submission?.field == null ? null : String(r.submission.field), f = String(e.id), p = e.label ? String(e.label).toLowerCase().trim() : "", m = r?.label ? String(r.label).toLowerCase().trim() : "";
1269
+ return !!(a && (a === f || a === n) || o && (o === f || o === n) || s && (s === f || s === n) || c && (c === f || c === n) || l && (l === f || l === n) || u && (u === f || u === n) || d && (d === f || d === n) || p && m && p === m || t.length === 1 && e.type === "file");
1270
+ });
1271
+ }, we = async (r, i) => {
1272
+ let s = t.getToken();
1273
+ if (!s) {
1274
+ x("Session expired. Please log in again.");
1275
+ return;
892
1276
  }
893
- }, _e = () => {
894
- t.clearToken(), W(null), q({}), Y([]), X({}), Z(null), le(null), D(""), T(""), o("login"), x("Logged out successfully."), i?.("attendee_logged_out", {});
895
- }, ve = async (r, a) => {
896
- let o = t.getToken();
897
- if (!o) {
898
- y("Session expired. Please log in again.");
1277
+ let c = (W?.editable_fields || []).find((e) => e.id === r);
1278
+ if (c && Ce(c)) {
1279
+ x("This field is under review and cannot be modified.");
899
1280
  return;
900
1281
  }
901
- _(r), y(null), x(null);
1282
+ y(r), x(null), C(null);
1283
+ let l = Z[r] || Q;
902
1284
  try {
903
- let t = await e.portalUploadFile(o, a), n = t?.data?.serve_url || t?.serve_url, s = t?.data?.asset_id || t?.asset_id;
904
- if (!n) throw Error("No file URL returned from upload.");
905
- q((e) => ({
1285
+ let t = await e.portalUploadFile(s, i), o = t?.data?.serve_url || t?.serve_url, c = t?.data?.asset_id || t?.asset_id;
1286
+ if (!o) throw Error("No file URL returned from upload.");
1287
+ if (X((e) => ({
906
1288
  ...e,
907
- [r]: n
908
- })), s && (X((e) => ({
1289
+ [r]: o
1290
+ })), c && (oe((e) => ({
909
1291
  ...e,
910
- [r]: s
911
- })), Z(s)), x(`File "${a.name}" uploaded successfully!`), i?.("portal_file_uploaded", {
1292
+ [r]: String(c)
1293
+ })), se(String(c))), l && String(l) !== String(c)) try {
1294
+ n.log(`Deleting previous asset: ${l}`), await e.portalDeleteFile(s, l), n.log(`Previous asset ${l} deleted successfully.`), a?.("portal_file_deleted", {
1295
+ assetId: l,
1296
+ fieldId: r
1297
+ });
1298
+ } catch (e) {
1299
+ n.warn(`Could not delete previous asset ${l}:`, e);
1300
+ }
1301
+ C(`File "${i.name}" uploaded successfully!`), a?.("portal_file_uploaded", {
912
1302
  fieldId: r,
913
- serveUrl: n,
914
- assetId: s
1303
+ serveUrl: o,
1304
+ assetId: c
915
1305
  });
916
1306
  } catch (e) {
917
- n.error("File upload failed", e), y(e.message || "File upload failed. Please try again.");
1307
+ n.error("File upload failed", e);
1308
+ let t = e.message || "File upload failed. Please try again.";
1309
+ x(t), o?.({
1310
+ type: "file_upload_error",
1311
+ message: t,
1312
+ error: e
1313
+ });
918
1314
  } finally {
919
- _(null);
1315
+ y(null);
920
1316
  }
921
- }, $ = (e, t) => {
922
- t || Y((t) => t.includes(e) ? t.filter((t) => t !== e) : [...t, e]);
923
- }, ye = async (r) => {
1317
+ }, Te = async (r) => {
1318
+ let i = t.getToken();
1319
+ if (!i) {
1320
+ x("Session expired. Please log in again.");
1321
+ return;
1322
+ }
1323
+ let s = (W?.editable_fields || []).find((e) => e.id === r);
1324
+ if (s && Ce(s)) {
1325
+ x("This field is under review and cannot be deleted.");
1326
+ return;
1327
+ }
1328
+ let c = Z[r] || Q;
1329
+ ue(r), x(null), C(null);
1330
+ try {
1331
+ c && (n.log(`Deleting asset ${c} for field ${r}...`), await e.portalDeleteFile(i, c), n.log(`Asset ${c} deleted successfully.`), a?.("portal_file_deleted", {
1332
+ assetId: c,
1333
+ fieldId: r
1334
+ })), X((e) => ({
1335
+ ...e,
1336
+ [r]: ""
1337
+ })), oe((e) => {
1338
+ let t = { ...e };
1339
+ return delete t[r], t;
1340
+ }), Q === c && se(null), C("File removed successfully.");
1341
+ } catch (e) {
1342
+ n.error("Failed to delete file", e);
1343
+ let t = e.message || "Failed to delete file. Please try again.";
1344
+ x(t), o?.({
1345
+ type: "file_delete_error",
1346
+ message: t,
1347
+ error: e
1348
+ });
1349
+ } finally {
1350
+ ue(null);
1351
+ }
1352
+ }, Ee = (e, t) => {
1353
+ t || ae((t) => t.includes(e) ? t.filter((t) => t !== e) : [...t, e]);
1354
+ }, De = async (r) => {
924
1355
  r.preventDefault();
925
- let a = t.getToken();
926
- if (!a) {
927
- y("Session expired. Please log in again.");
1356
+ let i = t.getToken();
1357
+ if (!i) {
1358
+ x("Session expired. Please log in again.");
928
1359
  return;
929
1360
  }
930
- h(!0), y(null), x(null);
1361
+ _(!0), x(null), C(null);
931
1362
  try {
932
- let t = H?.editable_fields || [], n = { ...H?.registration?.custom_data || {} }, r = {};
1363
+ let t = (W?.editable_fields || []).filter((e) => e?.is_review !== !0 && e?.is_review !== "true"), n = { ...W?.registration?.custom_data || {} }, r = {};
933
1364
  t.forEach((e) => {
934
- let t = K[e.id];
935
- e.builtin || (n[e.id] = t), r[e.id] = t;
936
- }), r.custom_data = n, r.addons = J;
937
- let o = oe || Object.values(ae)[0];
1365
+ let t = J[e.id];
1366
+ if (e.type === "file") {
1367
+ let n = Z[e.id] || Q;
1368
+ n && (t = n);
1369
+ }
1370
+ let i = ve(e.id, e.label);
1371
+ e.builtin ? (r[i] = t, i !== e.id && (r[e.id] = t)) : (n[i] = t, r[i] = t, i !== e.id && (n[e.id] = t, r[e.id] = t));
1372
+ }), r.custom_data = n, r.addons = ie;
1373
+ let o = Q || Object.values(Z)[0];
938
1374
  o && (r.asset_id = o, r.photo_id = o);
939
- let s = await e.portalUpdateProfile(a, r);
940
- i?.("attendee_profile_updated", {
1375
+ let s = await e.portalUpdateProfile(i, r);
1376
+ a?.("attendee_profile_updated", {
941
1377
  payload: r,
942
1378
  response: s
943
1379
  });
944
1380
  let c = s?.data?.addon_checkout?.payment_url || s?.addon_checkout?.payment_url || s?.data?.payment_url || s?.payment_url;
945
1381
  if (c && typeof c == "string" && c.trim() !== "") {
946
- le(c), x("Add-ons updated! Opening payment page in a new tab..."), i?.("addon_payment_opened", { payment_url: c }), window.open(c, "_blank", "noopener,noreferrer"), await Q(a);
1382
+ pe(c), C("Add-ons updated! Opening payment page in a new tab..."), a?.("addon_payment_opened", { payment_url: c }), window.open(c, "_blank", "noopener,noreferrer"), await _e(i);
947
1383
  return;
948
1384
  }
949
- x("Profile updated successfully!"), await Q(a);
1385
+ C("Profile updated successfully!"), await _e(i);
950
1386
  } catch (e) {
951
- n.error("Failed to update profile", e), y(e.message || "Failed to update profile. Please try again.");
1387
+ n.error("Failed to update profile", e);
1388
+ let t = e.message || "Failed to update profile. Please try again.";
1389
+ x(t), o?.({
1390
+ type: "profile_update_error",
1391
+ message: t,
1392
+ error: e
1393
+ });
952
1394
  } finally {
953
- h(!1);
1395
+ _(!1);
954
1396
  }
955
1397
  };
956
- if (a === "profile") {
957
- let e = H?.registration || {}, t = H?.editable_fields || [], n = H?.locked_fields || [], i = H?.payment || {}, a = H?.addons?.items || [];
1398
+ if (c === "profile") {
1399
+ let e = W?.registration || {}, t = (W?.editable_fields || []).filter((e) => e?.is_review !== !0 && e?.is_review !== "true"), n = W?.locked_fields || [], a = W?.payment || {}, o = W?.addons?.items || [];
958
1400
  return /* @__PURE__ */ m("div", {
959
- className: "flex flex-col h-full bg-gray-50 overflow-hidden",
1401
+ className: `flex flex-col h-full overflow-hidden ${i ? "bg-black text-white" : "bg-gray-50 text-gray-900"}`,
960
1402
  children: [/* @__PURE__ */ m("div", {
961
- className: "p-4 bg-white border-b border-gray-200 flex justify-between items-center shadow-xs shrink-0",
1403
+ className: `p-4 border-b flex justify-between items-center shadow-xs shrink-0 ${i ? "bg-black border-zinc-800" : "bg-white border-gray-200"}`,
962
1404
  children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h3", {
963
- className: "font-bold text-gray-900 text-base",
964
- children: E || "Attendee Profile"
1405
+ className: `font-bold text-base ${i ? "text-white" : "text-gray-900"}`,
1406
+ children: O || "Attendee Profile"
965
1407
  }), /* @__PURE__ */ p("p", {
966
- className: "text-xs text-gray-500",
1408
+ className: `text-xs ${i ? "text-zinc-400" : "text-gray-500"}`,
967
1409
  children: e.registration_number ? `Reg #: ${e.registration_number}` : "Attendee Portal"
968
1410
  })] }), /* @__PURE__ */ m("button", {
969
- onClick: _e,
970
- className: "flex items-center gap-1.5 px-3 py-1.5 text-xs font-semibold text-red-600 bg-red-50 hover:bg-red-100 rounded-md transition-colors cursor-pointer",
1411
+ onClick: Se,
1412
+ className: `flex items-center gap-1.5 px-3 py-1.5 text-xs font-semibold rounded-md transition-colors cursor-pointer ${i ? "text-red-400 bg-red-950/50 hover:bg-red-900/50 border border-red-900/50" : "text-red-600 bg-red-50 hover:bg-red-100"}`,
971
1413
  title: "Logout",
972
- children: [/* @__PURE__ */ p(re, { size: 14 }), /* @__PURE__ */ p("span", { children: "Logout" })]
1414
+ children: [/* @__PURE__ */ p(Y, { size: 14 }), /* @__PURE__ */ p("span", { children: "Logout" })]
973
1415
  })]
974
1416
  }), /* @__PURE__ */ m("div", {
975
1417
  className: "flex-1 overflow-y-auto p-4 space-y-4",
976
1418
  children: [
977
- se && /* @__PURE__ */ m("div", {
978
- className: "p-3 bg-blue-50 border border-blue-200 rounded-lg flex items-center justify-between text-xs text-blue-800 shadow-2xs",
1419
+ $ && /* @__PURE__ */ m("div", {
1420
+ className: `p-3 border rounded-lg flex items-center justify-between text-xs shadow-2xs ${i ? "bg-blue-950/50 border-blue-800 text-blue-300" : "bg-blue-50 border-blue-200 text-blue-800"}`,
979
1421
  children: [/* @__PURE__ */ m("div", {
980
1422
  className: "flex items-center gap-2",
981
- children: [/* @__PURE__ */ p(ee, {
1423
+ children: [/* @__PURE__ */ p(te, {
982
1424
  size: 16,
983
- className: "shrink-0 text-blue-600"
1425
+ className: "shrink-0 text-blue-400"
984
1426
  }), /* @__PURE__ */ p("span", { children: "Payment page opened in a new tab. If not opened, click:" })]
985
1427
  }), /* @__PURE__ */ m("a", {
986
- href: se,
1428
+ href: $,
987
1429
  target: "_blank",
988
1430
  rel: "noopener noreferrer",
989
- className: "flex items-center gap-1 font-bold underline text-blue-700 hover:text-blue-900 shrink-0 ml-2",
990
- children: [/* @__PURE__ */ p("span", { children: "Complete Payment" }), /* @__PURE__ */ p(U, { size: 12 })]
1431
+ className: "flex items-center gap-1 font-bold underline text-blue-400 hover:text-blue-300 shrink-0 ml-2",
1432
+ children: [/* @__PURE__ */ p("span", { children: "Complete Payment" }), /* @__PURE__ */ p(ne, { size: 12 })]
991
1433
  })]
992
1434
  }),
993
- v && /* @__PURE__ */ m("div", {
994
- className: "p-3 bg-red-50 border border-red-200 rounded-lg flex items-start gap-2 text-xs text-red-700 shadow-2xs",
1435
+ b && /* @__PURE__ */ m("div", {
1436
+ className: `p-3 border rounded-lg flex items-start gap-2 text-xs shadow-2xs ${i ? "bg-red-950/60 border-red-900 text-red-300" : "bg-red-50 border-red-200 text-red-700"}`,
995
1437
  children: [/* @__PURE__ */ p(R, {
996
1438
  size: 16,
997
1439
  className: "shrink-0 mt-0.5"
998
- }), /* @__PURE__ */ p("span", { children: v })]
1440
+ }), /* @__PURE__ */ p("span", { children: b })]
999
1441
  }),
1000
- b && /* @__PURE__ */ m("div", {
1001
- className: "p-3 bg-green-50 border border-green-200 rounded-lg flex items-start gap-2 text-xs text-green-700 shadow-2xs",
1002
- children: [/* @__PURE__ */ p(B, {
1442
+ S && /* @__PURE__ */ m("div", {
1443
+ className: `p-3 border rounded-lg flex items-start gap-2 text-xs shadow-2xs ${i ? "bg-emerald-950/60 border-emerald-900 text-emerald-300" : "bg-green-50 border-green-200 text-green-700"}`,
1444
+ children: [/* @__PURE__ */ p(ee, {
1003
1445
  size: 16,
1004
1446
  className: "shrink-0 mt-0.5"
1005
- }), /* @__PURE__ */ p("span", { children: b })]
1447
+ }), /* @__PURE__ */ p("span", { children: S })]
1006
1448
  }),
1007
1449
  /* @__PURE__ */ m("div", {
1008
- className: "bg-white p-4 rounded-xl border border-gray-200 shadow-xs space-y-3",
1450
+ className: `p-4 rounded-xl border shadow-xs space-y-3 ${i ? "bg-zinc-900 border-zinc-800" : "bg-white border-gray-200"}`,
1009
1451
  children: [
1010
1452
  /* @__PURE__ */ m("div", {
1011
1453
  className: "flex items-center justify-between",
1012
1454
  children: [/* @__PURE__ */ p("span", {
1013
- className: "text-xs font-bold text-gray-400 uppercase tracking-wider",
1455
+ className: `text-xs font-bold uppercase tracking-wider ${i ? "text-zinc-400" : "text-gray-400"}`,
1014
1456
  children: "Registration Details"
1015
1457
  }), e.status && /* @__PURE__ */ p("span", {
1016
- className: "px-2.5 py-0.5 rounded-full text-xs font-semibold bg-green-100 text-green-800 capitalize",
1458
+ className: `px-2.5 py-0.5 rounded-full text-xs font-semibold capitalize ${i ? "bg-emerald-950/80 text-emerald-300 border border-emerald-800/80" : "bg-green-100 text-green-800"}`,
1017
1459
  children: e.status
1018
1460
  })]
1019
1461
  }),
1020
1462
  /* @__PURE__ */ m("div", {
1021
1463
  className: "grid grid-cols-2 gap-3 text-xs",
1022
1464
  children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("span", {
1023
- className: "text-gray-500 block",
1465
+ className: `${i ? "text-zinc-400" : "text-gray-500"} block`,
1024
1466
  children: "Registration No:"
1025
1467
  }), /* @__PURE__ */ p("span", {
1026
- className: "font-bold text-gray-900 font-mono",
1468
+ className: `font-bold font-mono ${i ? "text-white" : "text-gray-900"}`,
1027
1469
  children: e.registration_number || "N/A"
1028
1470
  })] }), /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("span", {
1029
- className: "text-gray-500 block",
1471
+ className: `${i ? "text-zinc-400" : "text-gray-500"} block`,
1030
1472
  children: "Ticket Type:"
1031
1473
  }), /* @__PURE__ */ p("span", {
1032
- className: "font-bold text-gray-900",
1474
+ className: `font-bold ${i ? "text-white" : "text-gray-900"}`,
1033
1475
  children: e.registration_type || "N/A"
1034
1476
  })] })]
1035
1477
  }),
1036
- i && i.state && /* @__PURE__ */ m("div", {
1037
- className: "pt-2 border-t border-gray-100 flex items-center justify-between text-xs",
1478
+ a && a.state && /* @__PURE__ */ m("div", {
1479
+ className: `pt-2 border-t flex items-center justify-between text-xs ${i ? "border-zinc-800 text-zinc-300" : "border-gray-100 text-gray-700"}`,
1038
1480
  children: [/* @__PURE__ */ m("div", {
1039
- className: "flex items-center gap-1.5 text-gray-700",
1040
- children: [/* @__PURE__ */ p(ue, {
1481
+ className: "flex items-center gap-1.5",
1482
+ children: [/* @__PURE__ */ p(de, {
1041
1483
  size: 14,
1042
- className: "text-gray-400"
1484
+ className: i ? "text-zinc-400" : "text-gray-400"
1043
1485
  }), /* @__PURE__ */ m("span", { children: [
1044
1486
  "Payment: ",
1045
1487
  /* @__PURE__ */ p("strong", {
1046
1488
  className: "capitalize",
1047
- children: i.state
1489
+ children: a.state
1048
1490
  }),
1049
1491
  " (",
1050
- i.currency,
1492
+ a.currency,
1051
1493
  " ",
1052
- i.amount,
1494
+ a.amount,
1053
1495
  ")"
1054
1496
  ] })]
1055
- }), i.receipt_url && /* @__PURE__ */ m("a", {
1056
- href: i.receipt_url,
1497
+ }), a.receipt_url && /* @__PURE__ */ m("a", {
1498
+ href: a.receipt_url,
1057
1499
  target: "_blank",
1058
1500
  rel: "noopener noreferrer",
1059
1501
  className: "flex items-center gap-1 font-semibold hover:underline",
1060
1502
  style: { color: r },
1061
- children: [/* @__PURE__ */ p("span", { children: "Receipt" }), /* @__PURE__ */ p(U, { size: 12 })]
1503
+ children: [/* @__PURE__ */ p("span", { children: "Receipt" }), /* @__PURE__ */ p(ne, { size: 12 })]
1062
1504
  })]
1063
1505
  })
1064
1506
  ]
1065
1507
  }),
1066
1508
  /* @__PURE__ */ m("form", {
1067
- onSubmit: ye,
1509
+ onSubmit: De,
1068
1510
  className: "space-y-4",
1069
1511
  children: [
1070
1512
  /* @__PURE__ */ m("div", {
1071
- className: "bg-white p-4 rounded-xl border border-gray-200 shadow-xs space-y-4",
1513
+ className: `p-4 rounded-xl border shadow-xs space-y-4 ${i ? "bg-zinc-900 border-zinc-800" : "bg-white border-gray-200"}`,
1072
1514
  children: [/* @__PURE__ */ m("div", {
1073
1515
  className: "flex items-center justify-between",
1074
1516
  children: [/* @__PURE__ */ p("h4", {
1075
- className: "text-xs font-bold text-gray-400 uppercase tracking-wider",
1517
+ className: `text-xs font-bold uppercase tracking-wider ${i ? "text-zinc-400" : "text-gray-400"}`,
1076
1518
  children: "Attendee Information"
1077
- }), de && /* @__PURE__ */ m("span", {
1078
- className: "inline-flex items-center gap-1 text-2xs font-semibold px-2 py-0.5 rounded-full bg-blue-50 text-blue-700 border border-blue-200",
1519
+ }), he && /* @__PURE__ */ m("span", {
1520
+ className: `inline-flex items-center gap-1 text-2xs font-semibold px-2 py-0.5 rounded-full border ${i ? "bg-blue-950/60 text-blue-300 border-blue-800/80" : "bg-blue-50 text-blue-700 border-blue-200"}`,
1079
1521
  children: [/* @__PURE__ */ p(I, { size: 11 }), " Initial draft choices restored"]
1080
1522
  })]
1081
1523
  }), t.length === 0 ? /* @__PURE__ */ p("div", {
1082
- className: "text-center py-6 text-gray-400 text-xs",
1524
+ className: `text-center py-6 text-xs ${i ? "text-zinc-500" : "text-gray-400"}`,
1083
1525
  children: "No editable fields configured."
1084
1526
  }) : /* @__PURE__ */ p("div", {
1085
1527
  className: "flex flex-wrap -mx-1.5",
1086
1528
  children: t.map((e) => {
1087
- let t = n.includes(e.id), i = e.width === "half", a = K[e.id] ?? "";
1529
+ let t = Ce(e), a = n.includes(e.id) || n.includes(ve(e.id, e.label)) || t, o = e.width === "half", s = J[e.id] ?? "";
1088
1530
  return /* @__PURE__ */ m("div", {
1089
- className: `px-1.5 mb-3.5 ${i ? "w-full md:w-1/2" : "w-full"}`,
1531
+ className: `px-1.5 mb-3.5 ${o ? "w-full md:w-1/2" : "w-full"}`,
1090
1532
  children: [/* @__PURE__ */ m("div", {
1091
1533
  className: "flex items-center justify-between mb-1",
1092
1534
  children: [/* @__PURE__ */ m("label", {
1093
- className: "block text-xs font-semibold text-gray-700",
1535
+ className: `block text-xs font-semibold ${i ? "text-zinc-200" : "text-gray-700"}`,
1094
1536
  children: [
1095
1537
  e.label,
1096
1538
  " ",
@@ -1099,26 +1541,30 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1099
1541
  children: "*"
1100
1542
  })
1101
1543
  ]
1102
- }), t && /* @__PURE__ */ m("span", {
1103
- className: "flex items-center gap-1 text-2xs font-medium text-gray-400 bg-gray-100 px-1.5 py-0.5 rounded",
1104
- children: [/* @__PURE__ */ p(ne, { size: 10 }), " Locked"]
1105
- })]
1544
+ }), t ? /* @__PURE__ */ m("span", {
1545
+ className: `flex items-center gap-1 text-2xs font-medium px-1.5 py-0.5 rounded ${i ? "text-amber-400 bg-amber-950/60 border border-amber-900/50" : "text-amber-700 bg-amber-50 border border-amber-200"}`,
1546
+ children: [/* @__PURE__ */ p(q, { size: 10 }), " Under Review"]
1547
+ }) : a ? /* @__PURE__ */ m("span", {
1548
+ className: `flex items-center gap-1 text-2xs font-medium px-1.5 py-0.5 rounded ${i ? "text-zinc-400 bg-zinc-800" : "text-gray-400 bg-gray-100"}`,
1549
+ children: [/* @__PURE__ */ p(q, { size: 10 }), " Locked"]
1550
+ }) : null]
1106
1551
  }), e.type === "select" ? /* @__PURE__ */ m("select", {
1107
- disabled: t,
1108
- value: a,
1109
- onChange: (t) => q({
1110
- ...K,
1552
+ disabled: a,
1553
+ value: s,
1554
+ onChange: (t) => X({
1555
+ ...J,
1111
1556
  [e.id]: t.target.value
1112
1557
  }),
1113
- className: `w-full px-3 py-2 text-xs border rounded-lg focus:outline-none transition-all ${t ? "bg-gray-100 text-gray-500 border-gray-200 cursor-not-allowed" : "bg-white border-gray-300"}`,
1558
+ className: `w-full px-3 py-2 text-xs border rounded-lg focus:outline-none transition-all ${a ? i ? "bg-zinc-800 text-zinc-500 border-zinc-700 cursor-not-allowed" : "bg-gray-100 text-gray-500 border-gray-200 cursor-not-allowed" : i ? "bg-zinc-950 text-white border-zinc-700" : "bg-white text-gray-900 border-gray-300"}`,
1114
1559
  onFocus: (e) => {
1115
- t || (e.currentTarget.style.borderColor = r);
1560
+ a || (e.currentTarget.style.borderColor = r);
1116
1561
  },
1117
1562
  onBlur: (e) => {
1118
- t || (e.currentTarget.style.borderColor = "#d1d5db");
1563
+ a || (e.currentTarget.style.borderColor = i ? "#3f3f46" : "#d1d5db");
1119
1564
  },
1120
1565
  children: [/* @__PURE__ */ m("option", {
1121
1566
  value: "",
1567
+ className: i ? "bg-zinc-900 text-white" : "",
1122
1568
  children: [
1123
1569
  "Select ",
1124
1570
  e.label,
@@ -1126,94 +1572,105 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1126
1572
  ]
1127
1573
  }), (e.options || []).map((e) => /* @__PURE__ */ p("option", {
1128
1574
  value: e,
1575
+ className: i ? "bg-zinc-900 text-white" : "",
1129
1576
  children: e
1130
1577
  }, e))]
1131
1578
  }) : e.type === "file" ? /* @__PURE__ */ m("div", {
1132
1579
  className: "space-y-2",
1133
1580
  children: [/* @__PURE__ */ m("div", {
1134
1581
  className: "flex items-center gap-2",
1135
- children: [!t && /* @__PURE__ */ m("label", {
1582
+ children: [!a && /* @__PURE__ */ m("label", {
1136
1583
  className: "flex-1 cursor-pointer",
1137
1584
  children: [/* @__PURE__ */ p("input", {
1138
1585
  type: "file",
1139
1586
  className: "sr-only",
1140
- disabled: g === e.id,
1587
+ disabled: v === e.id,
1141
1588
  onChange: (t) => {
1142
1589
  let n = t.target.files?.[0];
1143
- n && ve(e.id, n);
1590
+ n && we(e.id, n);
1144
1591
  }
1145
1592
  }), /* @__PURE__ */ m("div", {
1146
- className: "flex items-center justify-center gap-2 py-2 px-3 border border-dashed border-gray-300 hover:border-gray-400 rounded-lg text-xs font-medium text-gray-700 bg-gray-50 hover:bg-gray-100 transition-colors",
1147
- children: [/* @__PURE__ */ p(fe, {
1593
+ className: `flex items-center justify-center gap-2 py-2 px-3 border border-dashed rounded-lg text-xs font-medium transition-colors ${i ? "border-zinc-700 hover:border-zinc-500 text-zinc-300 bg-zinc-950 hover:bg-zinc-800" : "border-gray-300 hover:border-gray-400 text-gray-700 bg-gray-50 hover:bg-gray-100"}`,
1594
+ children: [/* @__PURE__ */ p(me, {
1148
1595
  size: 14,
1149
- className: "text-gray-500"
1150
- }), /* @__PURE__ */ p("span", { children: g === e.id ? "Uploading..." : "Choose File to Upload" })]
1596
+ className: i ? "text-zinc-400" : "text-gray-500"
1597
+ }), /* @__PURE__ */ p("span", { children: v === e.id ? "Uploading..." : "Choose File to Upload" })]
1598
+ })]
1599
+ }), s && typeof s == "string" && s.trim() !== "" && /* @__PURE__ */ m("div", {
1600
+ className: "flex items-center gap-1.5 shrink-0",
1601
+ children: [/* @__PURE__ */ m("a", {
1602
+ href: s,
1603
+ target: "_blank",
1604
+ rel: "noopener noreferrer",
1605
+ className: "flex items-center gap-1.5 py-2 px-3 rounded-lg text-xs font-semibold text-white shadow-xs transition-opacity hover:opacity-90 shrink-0",
1606
+ style: { backgroundColor: r },
1607
+ title: "Open file in new tab",
1608
+ children: [
1609
+ /* @__PURE__ */ p(U, { size: 14 }),
1610
+ /* @__PURE__ */ p("span", { children: "Open File" }),
1611
+ /* @__PURE__ */ p(ne, { size: 12 })
1612
+ ]
1613
+ }), !a && /* @__PURE__ */ m("button", {
1614
+ type: "button",
1615
+ disabled: ce === e.id || v === e.id,
1616
+ onClick: () => Te(e.id),
1617
+ className: `flex items-center gap-1 py-2 px-2.5 rounded-lg text-xs font-semibold border transition-colors cursor-pointer ${i ? "border-red-900/60 bg-red-950/40 text-red-400 hover:bg-red-900/50" : "border-red-200 bg-red-50 text-red-600 hover:bg-red-100"}`,
1618
+ title: "Delete uploaded file",
1619
+ children: [/* @__PURE__ */ p(fe, { size: 13 }), /* @__PURE__ */ p("span", { children: ce === e.id ? "Deleting..." : "Delete" })]
1151
1620
  })]
1152
- }), a && typeof a == "string" && a.trim() !== "" && /* @__PURE__ */ m("a", {
1153
- href: a,
1154
- target: "_blank",
1155
- rel: "noopener noreferrer",
1156
- className: "flex items-center gap-1.5 py-2 px-3 rounded-lg text-xs font-semibold text-white shadow-xs transition-opacity hover:opacity-90 shrink-0",
1157
- style: { backgroundColor: r },
1158
- title: "Open file in new tab",
1159
- children: [
1160
- /* @__PURE__ */ p(G, { size: 14 }),
1161
- /* @__PURE__ */ p("span", { children: "Open File" }),
1162
- /* @__PURE__ */ p(U, { size: 12 })
1163
- ]
1164
1621
  })]
1165
- }), a && /* @__PURE__ */ m("div", {
1166
- className: "text-2xs text-gray-500 truncate flex items-center gap-1",
1622
+ }), s && /* @__PURE__ */ m("div", {
1623
+ className: `text-2xs truncate flex items-center gap-1 ${i ? "text-zinc-400" : "text-gray-500"}`,
1167
1624
  children: [/* @__PURE__ */ p(I, {
1168
1625
  size: 12,
1169
- className: "text-green-600 shrink-0"
1626
+ className: "text-green-500 shrink-0"
1170
1627
  }), /* @__PURE__ */ m("span", {
1171
1628
  className: "truncate",
1172
- children: ["File attached: ", a]
1629
+ children: ["File attached: ", s]
1173
1630
  })]
1174
1631
  })]
1175
1632
  }) : /* @__PURE__ */ p("input", {
1176
1633
  type: e.type === "phone" ? "tel" : e.type === "email" ? "email" : "text",
1177
- disabled: t,
1178
- value: a,
1634
+ disabled: a,
1635
+ value: s,
1179
1636
  placeholder: e.placeholder || `Enter ${e.label.toLowerCase()}`,
1180
- onChange: (t) => q({
1181
- ...K,
1637
+ onChange: (t) => X({
1638
+ ...J,
1182
1639
  [e.id]: t.target.value
1183
1640
  }),
1184
- className: `w-full px-3 py-2 text-xs border rounded-lg focus:outline-none transition-all ${t ? "bg-gray-100 text-gray-500 border-gray-200 cursor-not-allowed" : "bg-white border-gray-300"}`,
1641
+ className: `w-full px-3 py-2 text-xs border rounded-lg focus:outline-none transition-all ${a ? i ? "bg-zinc-800 text-zinc-500 border-zinc-700 cursor-not-allowed" : "bg-gray-100 text-gray-500 border-gray-200 cursor-not-allowed" : i ? "bg-zinc-950 text-white placeholder-zinc-500 border-zinc-700" : "bg-white text-gray-900 border-gray-300"}`,
1185
1642
  onFocus: (e) => {
1186
- t || (e.currentTarget.style.borderColor = r);
1643
+ a || (e.currentTarget.style.borderColor = r);
1187
1644
  },
1188
1645
  onBlur: (e) => {
1189
- t || (e.currentTarget.style.borderColor = "#d1d5db");
1646
+ a || (e.currentTarget.style.borderColor = i ? "#3f3f46" : "#d1d5db");
1190
1647
  }
1191
1648
  })]
1192
1649
  }, e.id);
1193
1650
  })
1194
1651
  })]
1195
1652
  }),
1196
- a.length > 0 && /* @__PURE__ */ m("div", {
1197
- className: "bg-white p-4 rounded-xl border border-gray-200 shadow-xs space-y-3",
1653
+ o.length > 0 && /* @__PURE__ */ m("div", {
1654
+ className: `p-4 rounded-xl border shadow-xs space-y-3 ${i ? "bg-zinc-900 border-zinc-800" : "bg-white border-gray-200"}`,
1198
1655
  children: [/* @__PURE__ */ m("div", {
1199
1656
  className: "flex items-center justify-between",
1200
1657
  children: [/* @__PURE__ */ p("h4", {
1201
- className: "text-xs font-bold text-gray-400 uppercase tracking-wider",
1658
+ className: `text-xs font-bold uppercase tracking-wider ${i ? "text-zinc-400" : "text-gray-400"}`,
1202
1659
  children: "Available Add-ons"
1203
1660
  }), /* @__PURE__ */ p("span", {
1204
- className: "text-2xs text-gray-500",
1661
+ className: `text-2xs ${i ? "text-zinc-400" : "text-gray-500"}`,
1205
1662
  children: "Select items to add"
1206
1663
  })]
1207
1664
  }), /* @__PURE__ */ p("div", {
1208
1665
  className: "space-y-2",
1209
- children: a.map((e) => {
1210
- let t = !!e.purchased, n = J.includes(e.name);
1666
+ children: o.map((e) => {
1667
+ let t = !!e.purchased, n = ie.includes(e.name);
1211
1668
  return /* @__PURE__ */ m("div", {
1212
- onClick: () => $(e.name, t),
1213
- className: `p-3 rounded-lg border text-xs flex items-center justify-between transition-all ${t ? "bg-gray-50 border-gray-200 opacity-90 cursor-default" : n ? "border-blue-500 bg-blue-50/40 cursor-pointer shadow-xs" : "border-gray-200 bg-white hover:border-gray-300 cursor-pointer"}`,
1669
+ onClick: () => Ee(e.name, t),
1670
+ className: `p-3 rounded-lg border text-xs flex items-center justify-between transition-all ${t ? i ? "bg-zinc-950/60 border-zinc-800 opacity-70 cursor-default" : "bg-gray-50 border-gray-200 opacity-90 cursor-default" : n ? i ? "border-blue-500 bg-blue-950/40 cursor-pointer shadow-xs" : "border-blue-500 bg-blue-50/40 cursor-pointer shadow-xs" : i ? "border-zinc-800 bg-zinc-950 hover:border-zinc-700 cursor-pointer" : "border-gray-200 bg-white hover:border-gray-300 cursor-pointer"}`,
1214
1671
  style: {
1215
1672
  borderColor: n && !t ? r : void 0,
1216
- backgroundColor: n && !t ? `color-mix(in srgb, ${r} 6%, white)` : void 0
1673
+ backgroundColor: n && !t ? i ? `color-mix(in srgb, ${r} 20%, #09090b)` : `color-mix(in srgb, ${r} 6%, white)` : void 0
1217
1674
  },
1218
1675
  children: [/* @__PURE__ */ m("div", {
1219
1676
  className: "flex items-start gap-2.5 flex-1 pr-3",
@@ -1221,10 +1678,10 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1221
1678
  type: "checkbox",
1222
1679
  checked: n,
1223
1680
  disabled: t,
1224
- onChange: () => $(e.name, t),
1681
+ onChange: () => Ee(e.name, t),
1225
1682
  className: "mt-0.5 rounded text-blue-600 focus:ring-0 cursor-pointer"
1226
1683
  }), /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("div", {
1227
- className: "font-semibold text-gray-900 leading-snug",
1684
+ className: `font-semibold leading-snug ${i ? "text-white" : "text-gray-900"}`,
1228
1685
  children: e.name
1229
1686
  }), /* @__PURE__ */ m("div", {
1230
1687
  className: "font-bold text-xs mt-1",
@@ -1236,10 +1693,10 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1236
1693
  ]
1237
1694
  })] })]
1238
1695
  }), t ? /* @__PURE__ */ m("span", {
1239
- className: "px-2 py-0.5 rounded text-2xs font-semibold bg-green-100 text-green-800 flex items-center gap-1 shrink-0",
1696
+ className: `px-2 py-0.5 rounded text-2xs font-semibold flex items-center gap-1 shrink-0 ${i ? "bg-emerald-950/80 text-emerald-300 border border-emerald-800/80" : "bg-green-100 text-green-800"}`,
1240
1697
  children: [/* @__PURE__ */ p(I, { size: 12 }), " Purchased"]
1241
1698
  }) : /* @__PURE__ */ p("span", {
1242
- className: `text-2xs font-semibold px-2 py-0.5 rounded transition-colors shrink-0 ${n ? "bg-blue-600 text-white" : "bg-gray-100 text-gray-600"}`,
1699
+ className: `text-2xs font-semibold px-2 py-0.5 rounded transition-colors shrink-0 ${n ? "bg-blue-600 text-white" : i ? "bg-zinc-800 text-zinc-300" : "bg-gray-100 text-gray-600"}`,
1243
1700
  style: { backgroundColor: n ? r : void 0 },
1244
1701
  children: n ? "Selected" : "Select"
1245
1702
  })]
@@ -1251,10 +1708,10 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1251
1708
  className: "pt-2",
1252
1709
  children: /* @__PURE__ */ p("button", {
1253
1710
  type: "submit",
1254
- disabled: u || g !== null,
1711
+ disabled: g || v !== null,
1255
1712
  style: { backgroundColor: r },
1256
1713
  className: "w-full py-3 px-4 text-white text-sm font-bold rounded-lg hover:opacity-90 transition-opacity shadow-sm flex items-center justify-center gap-2 cursor-pointer disabled:opacity-50",
1257
- children: u ? /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ m("svg", {
1714
+ children: g ? /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ m("svg", {
1258
1715
  className: "animate-spin h-4 w-4 text-white",
1259
1716
  fill: "none",
1260
1717
  viewBox: "0 0 24 24",
@@ -1270,7 +1727,7 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1270
1727
  fill: "currentColor",
1271
1728
  d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
1272
1729
  })]
1273
- }), /* @__PURE__ */ p("span", { children: "Saving Profile..." })] }) : /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(ce, { size: 16 }), /* @__PURE__ */ p("span", { children: "Save & Update Profile" })] })
1730
+ }), /* @__PURE__ */ p("span", { children: "Saving Profile..." })] }) : /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(le, { size: 16 }), /* @__PURE__ */ p("span", { children: "Save & Update Profile" })] })
1274
1731
  })
1275
1732
  })
1276
1733
  ]
@@ -1279,130 +1736,241 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1279
1736
  })]
1280
1737
  });
1281
1738
  }
1282
- return a === "reset" ? /* @__PURE__ */ p("div", {
1283
- className: "flex flex-col h-full bg-gray-50 overflow-y-auto",
1739
+ return c === "request_code" ? /* @__PURE__ */ p("div", {
1740
+ className: `flex flex-col h-full overflow-y-auto ${i ? "bg-black text-white" : "bg-gray-50 text-gray-900"}`,
1741
+ children: /* @__PURE__ */ m("div", {
1742
+ className: "p-5 flex-1 max-w-md mx-auto w-full flex flex-col justify-center",
1743
+ children: [/* @__PURE__ */ m("div", {
1744
+ className: "flex justify-between items-center mb-4",
1745
+ children: [/* @__PURE__ */ m("button", {
1746
+ onClick: () => {
1747
+ l("login"), x(null), C(null);
1748
+ },
1749
+ className: `flex items-center gap-1.5 text-xs font-semibold transition-colors cursor-pointer ${i ? "text-zinc-400 hover:text-white" : "text-gray-500 hover:text-gray-900"}`,
1750
+ children: [/* @__PURE__ */ p(P, { size: 14 }), /* @__PURE__ */ p("span", { children: "Back to Login" })]
1751
+ }), /* @__PURE__ */ p("button", {
1752
+ onClick: () => {
1753
+ l("reset"), x(null), C(null);
1754
+ },
1755
+ className: "text-xs font-semibold hover:underline cursor-pointer",
1756
+ style: { color: r },
1757
+ children: "Generate Password →"
1758
+ })]
1759
+ }), /* @__PURE__ */ m("div", {
1760
+ className: `p-6 rounded-xl border shadow-sm space-y-4 ${i ? "bg-zinc-900 border-zinc-800" : "bg-white border-gray-200"}`,
1761
+ children: [
1762
+ /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h3", {
1763
+ className: `text-lg font-bold ${i ? "text-white" : "text-gray-900"}`,
1764
+ children: "Get Verification Code"
1765
+ }), /* @__PURE__ */ p("p", {
1766
+ className: `text-xs mt-1 ${i ? "text-zinc-400" : "text-gray-500"}`,
1767
+ children: "Enter your registered email or registration number to receive a verification code."
1768
+ })] }),
1769
+ b && /* @__PURE__ */ m("div", {
1770
+ className: `p-3 border rounded-lg flex items-start gap-2 text-xs ${i ? "bg-red-950/60 border-red-900 text-red-300" : "bg-red-50 border-red-200 text-red-700"}`,
1771
+ children: [/* @__PURE__ */ p(R, {
1772
+ size: 16,
1773
+ className: "shrink-0 mt-0.5"
1774
+ }), /* @__PURE__ */ p("span", { children: b })]
1775
+ }),
1776
+ S && /* @__PURE__ */ m("div", {
1777
+ className: `p-3 border rounded-lg flex items-start gap-2 text-xs ${i ? "bg-emerald-950/60 border-emerald-900 text-emerald-300" : "bg-green-50 border-green-200 text-green-700"}`,
1778
+ children: [/* @__PURE__ */ p(ee, {
1779
+ size: 16,
1780
+ className: "shrink-0 mt-0.5"
1781
+ }), /* @__PURE__ */ p("span", { children: S })]
1782
+ }),
1783
+ /* @__PURE__ */ m("form", {
1784
+ onSubmit: be,
1785
+ className: "space-y-4",
1786
+ children: [
1787
+ /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
1788
+ className: `block text-xs font-semibold mb-1 ${i ? "text-zinc-200" : "text-gray-700"}`,
1789
+ children: "Registration Number or Email"
1790
+ }), /* @__PURE__ */ m("div", {
1791
+ className: "relative",
1792
+ children: [/* @__PURE__ */ p("div", {
1793
+ className: `absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none ${i ? "text-zinc-500" : "text-gray-400"}`,
1794
+ children: /* @__PURE__ */ p(re, { size: 16 })
1795
+ }), /* @__PURE__ */ p("input", {
1796
+ type: "text",
1797
+ required: !0,
1798
+ value: A || w,
1799
+ onChange: (e) => {
1800
+ j(e.target.value), T(e.target.value);
1801
+ },
1802
+ placeholder: "e.g. attendee@example.com or REG12345",
1803
+ className: `w-full pl-9 pr-3 py-2 text-sm border rounded-lg focus:outline-none focus:ring-2 ${i ? "bg-zinc-950 border-zinc-700 text-white placeholder-zinc-500" : "bg-white border-gray-300 text-gray-900"}`
1804
+ })]
1805
+ })] }),
1806
+ /* @__PURE__ */ p("button", {
1807
+ type: "submit",
1808
+ disabled: V,
1809
+ style: { backgroundColor: r },
1810
+ className: "w-full py-2.5 px-4 text-white text-sm font-bold rounded-lg hover:opacity-90 transition-opacity shadow-sm flex items-center justify-center cursor-pointer disabled:opacity-50 mt-2",
1811
+ children: V ? /* @__PURE__ */ m("div", {
1812
+ className: "flex items-center gap-2",
1813
+ children: [/* @__PURE__ */ m("svg", {
1814
+ className: "animate-spin h-4 w-4 text-white",
1815
+ fill: "none",
1816
+ viewBox: "0 0 24 24",
1817
+ children: [/* @__PURE__ */ p("circle", {
1818
+ className: "opacity-25",
1819
+ cx: "12",
1820
+ cy: "12",
1821
+ r: "10",
1822
+ stroke: "currentColor",
1823
+ strokeWidth: "4"
1824
+ }), /* @__PURE__ */ p("path", {
1825
+ className: "opacity-75",
1826
+ fill: "currentColor",
1827
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
1828
+ })]
1829
+ }), /* @__PURE__ */ p("span", { children: "Sending Code..." })]
1830
+ }) : "Send Verification Code"
1831
+ }),
1832
+ /* @__PURE__ */ p("div", {
1833
+ className: "text-center pt-2 border-t border-gray-100 dark:border-zinc-800",
1834
+ children: /* @__PURE__ */ p("button", {
1835
+ type: "button",
1836
+ onClick: () => {
1837
+ l("reset"), x(null), C(null);
1838
+ },
1839
+ className: "text-xs font-semibold hover:underline cursor-pointer",
1840
+ style: { color: r },
1841
+ children: "Already have a code? Click here to generate password"
1842
+ })
1843
+ })
1844
+ ]
1845
+ })
1846
+ ]
1847
+ })]
1848
+ })
1849
+ }) : c === "reset" ? /* @__PURE__ */ p("div", {
1850
+ className: `flex flex-col h-full overflow-y-auto ${i ? "bg-black text-white" : "bg-gray-50 text-gray-900"}`,
1284
1851
  children: /* @__PURE__ */ m("div", {
1285
1852
  className: "p-5 flex-1 max-w-md mx-auto w-full",
1286
1853
  children: [/* @__PURE__ */ m("button", {
1287
1854
  onClick: () => {
1288
- o("login"), y(null), x(null);
1855
+ l("login"), x(null), C(null);
1289
1856
  },
1290
- className: "flex items-center gap-1.5 text-xs font-semibold text-gray-500 hover:text-gray-900 mb-4 transition-colors cursor-pointer",
1857
+ className: `flex items-center gap-1.5 text-xs font-semibold mb-4 transition-colors cursor-pointer ${i ? "text-zinc-400 hover:text-white" : "text-gray-500 hover:text-gray-900"}`,
1291
1858
  children: [/* @__PURE__ */ p(P, { size: 14 }), /* @__PURE__ */ p("span", { children: "Back to Login" })]
1292
1859
  }), /* @__PURE__ */ m("div", {
1293
- className: "bg-white p-6 rounded-xl border border-gray-200 shadow-sm space-y-4",
1860
+ className: `p-6 rounded-xl border shadow-sm space-y-4 ${i ? "bg-zinc-900 border-zinc-800" : "bg-white border-gray-200"}`,
1294
1861
  children: [
1295
1862
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h3", {
1296
- className: "text-lg font-bold text-gray-900",
1863
+ className: `text-lg font-bold ${i ? "text-white" : "text-gray-900"}`,
1297
1864
  children: "Generate / Reset Password"
1298
1865
  }), /* @__PURE__ */ p("p", {
1299
- className: "text-xs text-gray-500 mt-1",
1866
+ className: `text-xs mt-1 ${i ? "text-zinc-400" : "text-gray-500"}`,
1300
1867
  children: "You will get a verification code on your registered email."
1301
1868
  })] }),
1302
- v && /* @__PURE__ */ m("div", {
1303
- className: "p-3 bg-red-50 border border-red-200 rounded-lg flex items-start gap-2 text-xs text-red-700",
1869
+ b && /* @__PURE__ */ m("div", {
1870
+ className: `p-3 border rounded-lg flex items-start gap-2 text-xs ${i ? "bg-red-950/60 border-red-900 text-red-300" : "bg-red-50 border-red-200 text-red-700"}`,
1304
1871
  children: [/* @__PURE__ */ p(R, {
1305
1872
  size: 16,
1306
1873
  className: "shrink-0 mt-0.5"
1307
- }), /* @__PURE__ */ p("span", { children: v })]
1874
+ }), /* @__PURE__ */ p("span", { children: b })]
1308
1875
  }),
1309
- b && /* @__PURE__ */ m("div", {
1310
- className: "p-3 bg-green-50 border border-green-200 rounded-lg flex items-start gap-2 text-xs text-green-700",
1311
- children: [/* @__PURE__ */ p(B, {
1876
+ S && /* @__PURE__ */ m("div", {
1877
+ className: `p-3 border rounded-lg flex items-start gap-2 text-xs ${i ? "bg-emerald-950/60 border-emerald-900 text-emerald-300" : "bg-green-50 border-green-200 text-green-700"}`,
1878
+ children: [/* @__PURE__ */ p(ee, {
1312
1879
  size: 16,
1313
1880
  className: "shrink-0 mt-0.5"
1314
- }), /* @__PURE__ */ p("span", { children: b })]
1881
+ }), /* @__PURE__ */ p("span", { children: S })]
1315
1882
  }),
1316
1883
  /* @__PURE__ */ m("form", {
1317
- onSubmit: ge,
1884
+ onSubmit: xe,
1318
1885
  className: "space-y-4",
1319
1886
  children: [
1320
1887
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
1321
- className: "block text-xs font-semibold text-gray-700 mb-1",
1888
+ className: `block text-xs font-semibold mb-1 ${i ? "text-zinc-200" : "text-gray-700"}`,
1322
1889
  children: "Registration Number or Email"
1323
1890
  }), /* @__PURE__ */ m("div", {
1324
1891
  className: "relative",
1325
1892
  children: [/* @__PURE__ */ p("div", {
1326
- className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none text-gray-400",
1327
- children: /* @__PURE__ */ p(ie, { size: 16 })
1893
+ className: `absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none ${i ? "text-zinc-500" : "text-gray-400"}`,
1894
+ children: /* @__PURE__ */ p(re, { size: 16 })
1328
1895
  }), /* @__PURE__ */ p("input", {
1329
1896
  type: "text",
1330
1897
  required: !0,
1331
- value: O || S,
1898
+ value: A || w,
1332
1899
  onChange: (e) => {
1333
- k(e.target.value), C(e.target.value);
1900
+ j(e.target.value), T(e.target.value);
1334
1901
  },
1335
1902
  placeholder: "e.g. attendee@example.com or REG12345",
1336
- className: "w-full pl-9 pr-3 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-2"
1903
+ className: `w-full pl-9 pr-3 py-2 text-sm border rounded-lg focus:outline-none focus:ring-2 ${i ? "bg-zinc-950 border-zinc-700 text-white placeholder-zinc-500" : "bg-white border-gray-300 text-gray-900"}`
1337
1904
  })]
1338
1905
  })] }),
1339
1906
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ m("div", {
1340
1907
  className: "flex justify-between items-center mb-1",
1341
1908
  children: [/* @__PURE__ */ p("label", {
1342
- className: "block text-xs font-semibold text-gray-700",
1909
+ className: `block text-xs font-semibold ${i ? "text-zinc-200" : "text-gray-700"}`,
1343
1910
  children: "Verification Code"
1344
1911
  }), /* @__PURE__ */ p("button", {
1345
1912
  type: "button",
1346
- onClick: he,
1347
- disabled: z,
1348
- className: "text-xs font-semibold hover:underline cursor-pointer disabled:opacity-50",
1913
+ onClick: () => {
1914
+ j(A || w), l("request_code"), x(null), C(null);
1915
+ },
1916
+ className: "text-xs font-semibold hover:underline cursor-pointer",
1349
1917
  style: { color: r },
1350
- children: z ? "Sending code..." : "Resend code on email"
1918
+ children: "Get code on email"
1351
1919
  })]
1352
1920
  }), /* @__PURE__ */ m("div", {
1353
1921
  className: "relative",
1354
1922
  children: [/* @__PURE__ */ p("div", {
1355
- className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none text-gray-400",
1356
- children: /* @__PURE__ */ p(te, { size: 16 })
1923
+ className: `absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none ${i ? "text-zinc-500" : "text-gray-400"}`,
1924
+ children: /* @__PURE__ */ p(G, { size: 16 })
1357
1925
  }), /* @__PURE__ */ p("input", {
1358
1926
  type: "text",
1359
1927
  required: !0,
1360
- value: A,
1361
- onChange: (e) => j(e.target.value),
1928
+ value: M,
1929
+ onChange: (e) => N(e.target.value),
1362
1930
  placeholder: "Enter code from email",
1363
- className: "w-full pl-9 pr-3 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-2"
1931
+ className: `w-full pl-9 pr-3 py-2 text-sm border rounded-lg focus:outline-none focus:ring-2 ${i ? "bg-zinc-950 border-zinc-700 text-white placeholder-zinc-500" : "bg-white border-gray-300 text-gray-900"}`
1364
1932
  })]
1365
1933
  })] }),
1366
1934
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
1367
- className: "block text-xs font-semibold text-gray-700 mb-1",
1935
+ className: `block text-xs font-semibold mb-1 ${i ? "text-zinc-200" : "text-gray-700"}`,
1368
1936
  children: "New Password"
1369
1937
  }), /* @__PURE__ */ m("div", {
1370
1938
  className: "relative",
1371
1939
  children: [/* @__PURE__ */ p("div", {
1372
- className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none text-gray-400",
1373
- children: /* @__PURE__ */ p(ne, { size: 16 })
1940
+ className: `absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none ${i ? "text-zinc-500" : "text-gray-400"}`,
1941
+ children: /* @__PURE__ */ p(q, { size: 16 })
1374
1942
  }), /* @__PURE__ */ p("input", {
1375
1943
  type: "password",
1376
1944
  required: !0,
1377
- value: M,
1378
- onChange: (e) => N(e.target.value),
1945
+ value: F,
1946
+ onChange: (e) => L(e.target.value),
1379
1947
  placeholder: "Enter new password",
1380
- className: "w-full pl-9 pr-3 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-2"
1948
+ className: `w-full pl-9 pr-3 py-2 text-sm border rounded-lg focus:outline-none focus:ring-2 ${i ? "bg-zinc-950 border-zinc-700 text-white placeholder-zinc-500" : "bg-white border-gray-300 text-gray-900"}`
1381
1949
  })]
1382
1950
  })] }),
1383
1951
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
1384
- className: "block text-xs font-semibold text-gray-700 mb-1",
1952
+ className: `block text-xs font-semibold mb-1 ${i ? "text-zinc-200" : "text-gray-700"}`,
1385
1953
  children: "Confirm Password"
1386
1954
  }), /* @__PURE__ */ m("div", {
1387
1955
  className: "relative",
1388
1956
  children: [/* @__PURE__ */ p("div", {
1389
- className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none text-gray-400",
1390
- children: /* @__PURE__ */ p(ne, { size: 16 })
1957
+ className: `absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none ${i ? "text-zinc-500" : "text-gray-400"}`,
1958
+ children: /* @__PURE__ */ p(q, { size: 16 })
1391
1959
  }), /* @__PURE__ */ p("input", {
1392
1960
  type: "password",
1393
1961
  required: !0,
1394
- value: F,
1395
- onChange: (e) => L(e.target.value),
1962
+ value: z,
1963
+ onChange: (e) => B(e.target.value),
1396
1964
  placeholder: "Re-enter new password",
1397
- className: "w-full pl-9 pr-3 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-2"
1965
+ className: `w-full pl-9 pr-3 py-2 text-sm border rounded-lg focus:outline-none focus:ring-2 ${i ? "bg-zinc-950 border-zinc-700 text-white placeholder-zinc-500" : "bg-white border-gray-300 text-gray-900"}`
1398
1966
  })]
1399
1967
  })] }),
1400
1968
  /* @__PURE__ */ p("button", {
1401
1969
  type: "submit",
1402
- disabled: c,
1970
+ disabled: u,
1403
1971
  style: { backgroundColor: r },
1404
1972
  className: "w-full py-2.5 px-4 text-white text-sm font-bold rounded-lg hover:opacity-90 transition-opacity shadow-sm flex items-center justify-center cursor-pointer disabled:opacity-50 mt-2",
1405
- children: c ? "Updating Password..." : "Set New Password"
1973
+ children: u ? "Updating Password..." : "Set New Password"
1406
1974
  })
1407
1975
  ]
1408
1976
  })
@@ -1410,89 +1978,97 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1410
1978
  })]
1411
1979
  })
1412
1980
  }) : /* @__PURE__ */ p("div", {
1413
- className: "flex flex-col h-full bg-gray-50 overflow-y-auto",
1981
+ className: `flex flex-col h-full overflow-y-auto ${i ? "bg-black text-white" : "bg-gray-50 text-gray-900"}`,
1414
1982
  children: /* @__PURE__ */ p("div", {
1415
1983
  className: "p-5 flex-1 max-w-md mx-auto w-full flex flex-col justify-center",
1416
1984
  children: /* @__PURE__ */ m("div", {
1417
- className: "bg-white p-6 rounded-xl border border-gray-200 shadow-sm space-y-4",
1985
+ className: `p-6 rounded-xl border shadow-sm space-y-4 ${i ? "bg-zinc-900 border-zinc-800" : "bg-white border-gray-200"}`,
1418
1986
  children: [
1419
1987
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h3", {
1420
- className: "text-lg font-bold text-gray-900",
1988
+ className: `text-lg font-bold ${i ? "text-white" : "text-gray-900"}`,
1421
1989
  children: "Attendee Login"
1422
1990
  }), /* @__PURE__ */ p("p", {
1423
- className: "text-xs text-gray-500 mt-1",
1991
+ className: `text-xs mt-1 ${i ? "text-zinc-400" : "text-gray-500"}`,
1424
1992
  children: "Sign in with your email or registration number"
1425
1993
  })] }),
1426
- v && /* @__PURE__ */ m("div", {
1427
- className: "p-3 bg-red-50 border border-red-200 rounded-lg flex items-start gap-2 text-xs text-red-700",
1994
+ b && /* @__PURE__ */ m("div", {
1995
+ className: `p-3 border rounded-lg flex items-start gap-2 text-xs ${i ? "bg-red-950/60 border-red-900 text-red-300" : "bg-red-50 border-red-200 text-red-700"}`,
1428
1996
  children: [/* @__PURE__ */ p(R, {
1429
1997
  size: 16,
1430
1998
  className: "shrink-0 mt-0.5"
1431
- }), /* @__PURE__ */ p("span", { children: v })]
1999
+ }), /* @__PURE__ */ p("span", { children: b })]
1432
2000
  }),
1433
- b && /* @__PURE__ */ m("div", {
1434
- className: "p-3 bg-green-50 border border-green-200 rounded-lg flex items-start gap-2 text-xs text-green-700",
1435
- children: [/* @__PURE__ */ p(B, {
2001
+ S && /* @__PURE__ */ m("div", {
2002
+ className: `p-3 border rounded-lg flex items-start gap-2 text-xs ${i ? "bg-emerald-950/60 border-emerald-900 text-emerald-300" : "bg-green-50 border-green-200 text-green-700"}`,
2003
+ children: [/* @__PURE__ */ p(ee, {
1436
2004
  size: 16,
1437
2005
  className: "shrink-0 mt-0.5"
1438
- }), /* @__PURE__ */ p("span", { children: b })]
2006
+ }), /* @__PURE__ */ p("span", { children: S })]
1439
2007
  }),
1440
2008
  /* @__PURE__ */ m("form", {
1441
- onSubmit: me,
2009
+ onSubmit: ye,
1442
2010
  className: "space-y-4",
1443
2011
  children: [
1444
2012
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
1445
- className: "block text-xs font-semibold text-gray-700 mb-1",
2013
+ className: `block text-xs font-semibold mb-1 ${i ? "text-zinc-200" : "text-gray-700"}`,
1446
2014
  children: "Email or Registration Number"
1447
2015
  }), /* @__PURE__ */ m("div", {
1448
2016
  className: "relative",
1449
2017
  children: [/* @__PURE__ */ p("div", {
1450
- className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none text-gray-400",
1451
- children: /* @__PURE__ */ p(ie, { size: 16 })
2018
+ className: `absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none ${i ? "text-zinc-500" : "text-gray-400"}`,
2019
+ children: /* @__PURE__ */ p(re, { size: 16 })
1452
2020
  }), /* @__PURE__ */ p("input", {
1453
2021
  type: "text",
1454
2022
  required: !0,
1455
- value: S,
1456
- onChange: (e) => C(e.target.value),
2023
+ value: w,
2024
+ onChange: (e) => T(e.target.value),
1457
2025
  placeholder: "Enter email or registration number",
1458
- className: "w-full pl-9 pr-3 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-2"
2026
+ className: `w-full pl-9 pr-3 py-2 text-sm border rounded-lg focus:outline-none focus:ring-2 ${i ? "bg-zinc-950 border-zinc-700 text-white placeholder-zinc-500" : "bg-white border-gray-300 text-gray-900"}`
1459
2027
  })]
1460
2028
  })] }),
1461
2029
  /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("label", {
1462
- className: "block text-xs font-semibold text-gray-700 mb-1",
2030
+ className: `block text-xs font-semibold mb-1 ${i ? "text-zinc-200" : "text-gray-700"}`,
1463
2031
  children: "Password"
1464
2032
  }), /* @__PURE__ */ m("div", {
1465
2033
  className: "relative",
1466
2034
  children: [/* @__PURE__ */ p("div", {
1467
- className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none text-gray-400",
1468
- children: /* @__PURE__ */ p(ne, { size: 16 })
2035
+ className: `absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none ${i ? "text-zinc-500" : "text-gray-400"}`,
2036
+ children: /* @__PURE__ */ p(q, { size: 16 })
1469
2037
  }), /* @__PURE__ */ p("input", {
1470
2038
  type: "password",
1471
2039
  required: !0,
1472
- value: w,
1473
- onChange: (e) => T(e.target.value),
2040
+ value: E,
2041
+ onChange: (e) => D(e.target.value),
1474
2042
  placeholder: "Enter password",
1475
- className: "w-full pl-9 pr-3 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-2"
2043
+ className: `w-full pl-9 pr-3 py-2 text-sm border rounded-lg focus:outline-none focus:ring-2 ${i ? "bg-zinc-950 border-zinc-700 text-white placeholder-zinc-500" : "bg-white border-gray-300 text-gray-900"}`
1476
2044
  })]
1477
2045
  })] }),
1478
- /* @__PURE__ */ p("div", {
1479
- className: "text-right",
1480
- children: /* @__PURE__ */ p("button", {
2046
+ /* @__PURE__ */ m("div", {
2047
+ className: "flex justify-between items-center text-xs",
2048
+ children: [/* @__PURE__ */ p("button", {
1481
2049
  type: "button",
1482
2050
  onClick: () => {
1483
- k(S), o("reset"), y(null), x(null);
2051
+ j(w), l("request_code"), x(null), C(null);
1484
2052
  },
1485
- className: "text-xs font-semibold hover:underline cursor-pointer",
2053
+ className: "font-semibold hover:underline cursor-pointer",
2054
+ style: { color: r },
2055
+ children: "Get Code"
2056
+ }), /* @__PURE__ */ p("button", {
2057
+ type: "button",
2058
+ onClick: () => {
2059
+ j(w), l("reset"), x(null), C(null);
2060
+ },
2061
+ className: "font-semibold hover:underline cursor-pointer",
1486
2062
  style: { color: r },
1487
2063
  children: "Click to generate password"
1488
- })
2064
+ })]
1489
2065
  }),
1490
2066
  /* @__PURE__ */ p("button", {
1491
2067
  type: "submit",
1492
- disabled: c,
2068
+ disabled: u,
1493
2069
  style: { backgroundColor: r },
1494
2070
  className: "w-full py-2.5 px-4 text-white text-sm font-bold rounded-lg hover:opacity-90 transition-opacity shadow-sm flex items-center justify-center cursor-pointer disabled:opacity-50",
1495
- children: c ? /* @__PURE__ */ m("div", {
2071
+ children: u ? /* @__PURE__ */ m("div", {
1496
2072
  className: "flex items-center gap-2",
1497
2073
  children: [/* @__PURE__ */ m("svg", {
1498
2074
  className: "animate-spin h-4 w-4 text-white",
@@ -1519,44 +2095,101 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1519
2095
  })
1520
2096
  })
1521
2097
  });
1522
- }, ge = ({ config: e }) => {
1523
- let [t, n] = d("registration"), [r, i] = d(e.displayMode !== "popup"), [o, c] = d(!1), [f, h] = d([]), [y, b] = d("FOGSI YUVA 2026"), [x, S] = d(null), [C, w] = d(!0), [T, E] = d(!1), [D, O] = d(null), [k, A] = d(null), j = e.theme?.primaryColor || "#2563eb", M = l(() => new g(e.debug), [e.debug]), N = l(() => new _(e.baseUrl, e.eventSlug, M), [
2098
+ };
2099
+ //#endregion
2100
+ //#region src/widget/components/EventWidgetReact.tsx
2101
+ function be(e) {
2102
+ if (!e) return "bottom-right";
2103
+ switch (e) {
2104
+ case "bottom-left":
2105
+ case "left-bottom": return "bottom-left";
2106
+ case "top-right":
2107
+ case "right-top": return "top-right";
2108
+ case "top-left":
2109
+ case "left-top": return "top-left";
2110
+ default: return "bottom-right";
2111
+ }
2112
+ }
2113
+ var xe = (e) => {
2114
+ switch (e) {
2115
+ case "bottom-left": return {
2116
+ bottom: "20px",
2117
+ left: "20px",
2118
+ top: "auto",
2119
+ right: "auto"
2120
+ };
2121
+ case "top-right": return {
2122
+ top: "20px",
2123
+ right: "20px",
2124
+ bottom: "auto",
2125
+ left: "auto"
2126
+ };
2127
+ case "top-left": return {
2128
+ top: "20px",
2129
+ left: "20px",
2130
+ bottom: "auto",
2131
+ right: "auto"
2132
+ };
2133
+ default: return {
2134
+ bottom: "20px",
2135
+ right: "20px",
2136
+ top: "auto",
2137
+ left: "auto"
2138
+ };
2139
+ }
2140
+ }, Se = (e) => {
2141
+ switch (e) {
2142
+ case "bottom-left": return "bottom-5 left-5";
2143
+ case "top-right": return "top-5 right-5";
2144
+ case "top-left": return "top-5 left-5";
2145
+ default: return "bottom-5 right-5";
2146
+ }
2147
+ }, Ce = ({ config: e }) => {
2148
+ let [t, n] = d("registration"), [r, i] = d(e.displayMode !== "popup"), [o, c] = d(!1), [h, y] = d([]), [b, x] = d("FOGSI YUVA 2026"), [S, C] = d(null), [w, T] = d(!0), [E, D] = d(!1), [O, k] = d(null), [A, j] = d(null), [M, N] = d(() => be(e.position)), [P, F] = d(null), [I, L] = d(null), [R, z] = d(!1), [ee, B] = d(!1), te = u(null), V = u(null), H = u(!1);
2149
+ s(() => {
2150
+ e.position && N(be(e.position));
2151
+ }, [e.position]);
2152
+ let U = e.themeMode === "dark" || e.theme?.mode === "dark", W = e.theme?.primaryColor || "#2563eb", G = l(() => new g(e.debug), [e.debug]), K = l(() => new _(e.baseUrl, e.eventSlug, G, e.timeoutMs ?? 12e4), [
1524
2153
  e.baseUrl,
1525
2154
  e.eventSlug,
1526
- M
1527
- ]), P = l(() => new v(e.eventSlug), [e.eventSlug]), F = u(e.displayMode), I = u(null), [L, R] = d(null);
2155
+ G,
2156
+ e.timeoutMs
2157
+ ]), q = l(() => new v(e.eventSlug), [e.eventSlug]), J = u(e.displayMode), Y = u(null), [X, re] = d(null);
1528
2158
  s(() => {
1529
- P.getXrefId();
1530
- }, [P]), s(() => {
2159
+ q.getXrefId();
2160
+ }, [q]), s(() => {
1531
2161
  if (!r) return;
1532
- let t = P.getXrefId();
1533
- t && N.getDraft(t).then((t) => {
2162
+ let t = q.getXrefId();
2163
+ t && K.getDraft(t).then((t) => {
1534
2164
  let n = t?.data || t;
1535
- n && n.registration_type && (R(n), e.onEvent?.("draft_loaded", n));
2165
+ n && n.registration_type && (re(n), e.onEvent?.("draft_loaded", n));
1536
2166
  }).catch((e) => {
1537
- M.log("No draft found for this session", e);
2167
+ G.log("No draft found for this session", e);
1538
2168
  });
1539
2169
  }, [
1540
2170
  r,
1541
- N,
1542
- P,
1543
- M
2171
+ K,
2172
+ q,
2173
+ G
1544
2174
  ]);
1545
- let z = l(() => {
1546
- if (!L || !x || String(L.registration_type) !== String(x.id)) return {};
1547
- let e = { ...L.custom_data || {} };
1548
- if (L.salutation && (e.salutation = L.salutation, e.title = L.salutation), L.name) {
1549
- e.name = L.name, e.full_name = L.name, e.fullName = L.name;
1550
- let t = L.name.trim().split(/\s+/);
2175
+ let ie = l(() => {
2176
+ if (!X || !S || String(X.registration_type) !== String(S.id)) return {};
2177
+ let e = { ...X.custom_data || {} };
2178
+ if (X.salutation && (e.salutation = X.salutation, e.title = X.salutation), X.name) {
2179
+ e.name = X.name, e.full_name = X.name, e.fullName = X.name;
2180
+ let t = X.name.trim().split(/\s+/);
1551
2181
  t.length > 0 && !e.first_name && (e.first_name = t[0]), t.length > 1 && !e.last_name && (e.last_name = t.slice(1).join(" "));
1552
2182
  }
1553
- return L.email && (e.email = L.email), L.phone && (e.phone = L.phone, e.mobile = L.phone, e.phoneNumber = L.phone), e;
1554
- }, [L, x]);
2183
+ return X.email && (e.email = X.email), X.phone && (e.phone = X.phone, e.mobile = X.phone, e.phoneNumber = X.phone), (S?.form_schema?.fields || []).forEach((t) => {
2184
+ let n = ve(t.id, t.label);
2185
+ e[t.id] === void 0 && e[n] !== void 0 && (e[t.id] = e[n]);
2186
+ }), e;
2187
+ }, [X, S]);
1555
2188
  s(() => () => {
1556
- I.current && clearTimeout(I.current);
2189
+ Y.current && clearTimeout(Y.current);
1557
2190
  }, []);
1558
- let B = a((t) => {
1559
- I.current && clearTimeout(I.current), I.current = setTimeout(async () => {
2191
+ let Z = a((t) => {
2192
+ Y.current && clearTimeout(Y.current), Y.current = setTimeout(async () => {
1560
2193
  if (!Object.values(t).some((e) => e !== "" && e != null)) return;
1561
2194
  let n = /* @__PURE__ */ new Set([
1562
2195
  "salutation",
@@ -1572,84 +2205,208 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1572
2205
  "phoneNumber",
1573
2206
  "selected_items",
1574
2207
  "custom_data"
1575
- ]), r = { ...t.custom_data || {} };
1576
- for (let [e, i] of Object.entries(t)) n.has(e) || (r[e] = i);
1577
- let i = {
1578
- xref_id: P.getXrefId(),
2208
+ ]), r = S?.form_schema?.fields || [], i = /* @__PURE__ */ new Map();
2209
+ r.forEach((e) => i.set(e.id, e));
2210
+ let a = { ...t.custom_data || {} };
2211
+ for (let [e, r] of Object.entries(t)) if (!n.has(e)) {
2212
+ let t = ve(e, i.get(e)?.label);
2213
+ a[t] = r, t !== e && (a[e] = r);
2214
+ }
2215
+ let o = {
2216
+ xref_id: q.getXrefId(),
1579
2217
  salutation: t.salutation || t.title || "",
1580
2218
  name: t.name || t.fullName || t.full_name || [t.firstName, t.lastName].filter(Boolean).join(" ") || "",
1581
2219
  email: t.email || "",
1582
2220
  phone: t.phone || t.mobile || t.phoneNumber || "",
1583
- registration_type: x?.id,
1584
- custom_data: r,
2221
+ registration_type: S?.id,
2222
+ custom_data: a,
1585
2223
  selected_items: t.selected_items || []
1586
2224
  };
1587
2225
  try {
1588
- await N.trackProgress(i), e.onEvent?.("draft_saved", i);
2226
+ await K.trackProgress(o), e.onEvent?.("draft_saved", o);
1589
2227
  } catch (e) {
1590
- M.error("Failed to save draft progress", e);
2228
+ G.error("Failed to save draft progress", e);
1591
2229
  }
1592
2230
  }, 600);
1593
2231
  }, [
1594
- P,
1595
- N,
1596
- x,
2232
+ q,
2233
+ K,
2234
+ S,
1597
2235
  e,
1598
- M
2236
+ G
1599
2237
  ]);
1600
2238
  s(() => {
1601
- F.current !== e.displayMode && (F.current = e.displayMode, i(e.displayMode !== "popup"), c(!1));
2239
+ J.current !== e.displayMode && (J.current = e.displayMode, i(e.displayMode !== "popup"), c(!1));
1602
2240
  }, [e.displayMode]), s(() => {
1603
- r && N.getFormSchema().then((t) => {
1604
- h(t?.data?.types || []), (t?.data?.event_name || t?.data?.title || t?.data?.name) && b(t.data.event_name || t.data.title || t.data.name), e.onEvent?.("form_loaded", t.data);
2241
+ K.getFormSchema().then((t) => {
2242
+ y(t?.data?.types || []), (t?.data?.event_name || t?.data?.title || t?.data?.name) && x(t.data.event_name || t.data.title || t.data.name), e.onEvent?.("form_loaded", t.data);
1605
2243
  }).catch((t) => {
1606
- M.error("Failed to load schema", t), e.onEvent?.("error", {
2244
+ G.error("Failed to load schema", t);
2245
+ let n = {
1607
2246
  type: "schema_load",
1608
- err: t
1609
- });
1610
- }).finally(() => w(!1));
1611
- }, [r]);
1612
- let V = async (t) => {
1613
- I.current && clearTimeout(I.current), w(!0), O(null);
1614
- let n = {
1615
- xref_id: P.getXrefId(),
1616
- registration_type: x.id,
1617
- ...t
2247
+ message: t?.message || "Failed to load event schema",
2248
+ error: t
2249
+ };
2250
+ e.onEvent?.("error", n), e.onError?.(n);
2251
+ }).finally(() => T(!1));
2252
+ }, [K]);
2253
+ let Q = async (t) => {
2254
+ Y.current && clearTimeout(Y.current), T(!0), k(null);
2255
+ let n = q.getXrefId(), r = /* @__PURE__ */ new Set([
2256
+ "salutation",
2257
+ "title",
2258
+ "name",
2259
+ "fullName",
2260
+ "full_name",
2261
+ "firstName",
2262
+ "lastName",
2263
+ "email",
2264
+ "phone",
2265
+ "mobile",
2266
+ "phoneNumber",
2267
+ "registration_type",
2268
+ "selected_items",
2269
+ "custom_data",
2270
+ "xref_id"
2271
+ ]), i = S?.form_schema?.fields || [], a = /* @__PURE__ */ new Map();
2272
+ i.forEach((e) => a.set(e.id, e));
2273
+ let o = { ...t.custom_data || {} };
2274
+ for (let [e, n] of Object.entries(t)) if (!r.has(e)) {
2275
+ let t = ve(e, a.get(e)?.label);
2276
+ o[t] = n, t !== e && (o[e] = n);
2277
+ }
2278
+ let s = {
2279
+ xref_id: n,
2280
+ salutation: t.salutation || t.title || "",
2281
+ name: t.name || t.fullName || t.full_name || [t.firstName, t.lastName].filter(Boolean).join(" ") || "",
2282
+ email: t.email || "",
2283
+ phone: t.phone || t.mobile || t.phoneNumber || "",
2284
+ registration_type: S.id,
2285
+ custom_data: o,
2286
+ selected_items: t.selected_items || []
1618
2287
  };
1619
2288
  try {
1620
- let t = await N.submitRegistration(n);
1621
- P.updateXrefId(), R(null);
1622
- let r = t?.data?.payment_url || t?.payment_url || null;
1623
- A(r), r && typeof r == "string" && r.trim() !== "" && window.open(r, "_blank", "noopener,noreferrer"), E(!0), e.onEvent?.("submitted", n);
2289
+ let t = await K.submitRegistration(s);
2290
+ q.updateXrefId(), re(null);
2291
+ let n = t?.data?.payment_url || t?.payment_url || null;
2292
+ j(n), n && typeof n == "string" && n.trim() !== "" && window.open(n, "_blank", "noopener,noreferrer"), D(!0);
2293
+ let r = {
2294
+ registrationType: S.id,
2295
+ payload: s,
2296
+ response: t,
2297
+ paymentUrl: n
2298
+ };
2299
+ e.onEvent?.("submitted", r), e.onRegister?.(r), e.onRegistered?.(r);
1624
2300
  } catch (t) {
1625
- M.error("Submission failed", t), e.onEvent?.("error", {
2301
+ G.error("Submission failed", t);
2302
+ let n = t?.message || "Registration failed. Please check your information and try again.", r = {
1626
2303
  type: "submit_error",
1627
- err: t
1628
- });
1629
- let n = t?.message || "Registration failed. Please check your information and try again.";
1630
- O(n);
2304
+ message: n,
2305
+ error: t
2306
+ };
2307
+ e.onEvent?.("error", r), e.onError?.(r), k(n);
1631
2308
  } finally {
1632
- w(!1);
2309
+ T(!1);
1633
2310
  }
1634
- }, ee = () => {
1635
- E(!1), O(null), A(null), S(null), R(null);
1636
- };
1637
- if (!r && e.displayMode === "popup") return /* @__PURE__ */ p("button", {
1638
- onClick: () => i(!0),
1639
- className: "fixed bottom-5 right-5 w-16 h-16 rounded-full text-white shadow-xl flex items-center justify-center z-50 cursor-pointer hover:scale-105 transition-transform",
1640
- style: { backgroundColor: j },
1641
- children: /* @__PURE__ */ p("span", {
1642
- className: "font-bold text-sm tracking-wide",
1643
- children: "Join"
1644
- })
1645
- });
1646
- let H = e.displayMode === "fullscreen" || e.displayMode === "popup" && o, W = "bg-white overflow-hidden flex flex-col shadow-2xl border border-gray-200 transition-all duration-300 ease-in-out ", G = { fontFamily: e.theme?.fontFamily || "sans-serif" };
1647
- return H ? (W += "fixed inset-0 z-[9999] rounded-none ", G.width = "100vw", G.height = "100vh") : e.displayMode === "popup" ? (W += "fixed bottom-5 right-5 z-50 rounded-xl ", G.width = e.width || "400px", G.height = e.height || "700px", G.maxHeight = "90vh") : (W += "rounded-xl relative ", G.width = "100%", G.height = "100%"), /* @__PURE__ */ p("div", {
1648
- className: W,
1649
- style: G,
1650
- children: C ? /* @__PURE__ */ m("div", {
2311
+ }, ce = () => {
2312
+ D(!1), k(null), j(null), C(null), re(null);
2313
+ }, le = a((e) => {
2314
+ if (e.stopPropagation(), e.button !== 0 || !te.current) return;
2315
+ let t = te.current.getBoundingClientRect();
2316
+ V.current = {
2317
+ startX: e.clientX,
2318
+ startY: e.clientY,
2319
+ rect: t,
2320
+ corner: M
2321
+ }, H.current = !1, z(!0);
2322
+ }, [M]);
2323
+ if (s(() => {
2324
+ if (!R) return;
2325
+ let t = (e) => {
2326
+ if (!V.current) return;
2327
+ let t = e.clientX - V.current.startX, n = e.clientY - V.current.startY;
2328
+ H.current || Math.hypot(t, n) > 5 && (H.current = !0), H.current && F({
2329
+ x: t,
2330
+ y: n
2331
+ });
2332
+ }, n = (t) => {
2333
+ if (!V.current) {
2334
+ z(!1), F(null), H.current = !1;
2335
+ return;
2336
+ }
2337
+ let { rect: n, startX: r, startY: i } = V.current, a = t.clientX - r, o = t.clientY - i, s = H.current;
2338
+ if (V.current = null, z(!1), setTimeout(() => {
2339
+ H.current = !1;
2340
+ }, 100), !s) {
2341
+ F(null);
2342
+ return;
2343
+ }
2344
+ let c = n.left + a, l = n.top + o, u = c + n.width / 2, d = l + n.height / 2, f = typeof window < "u" ? window.innerWidth : 1024, p = typeof window < "u" ? window.innerHeight : 768, m = u >= f / 2, h = d >= p / 2, g = h ? m ? "bottom-right" : "bottom-left" : m ? "top-right" : "top-left", _ = m ? f - n.width - 20 : 20, v = h ? p - n.height - 20 : 20, y = c - _, b = l - v;
2345
+ L({
2346
+ transform: `translate3d(${y}px, ${b}px, 0)`,
2347
+ transition: "none"
2348
+ }), F(null), N(g), e.onEvent?.("position_changed", { position: g }), requestAnimationFrame(() => {
2349
+ requestAnimationFrame(() => {
2350
+ L({
2351
+ transform: "translate3d(0, 0, 0)",
2352
+ transition: "transform 0.35s cubic-bezier(0.16, 1, 0.3, 1)"
2353
+ }), setTimeout(() => {
2354
+ L(null);
2355
+ }, 360);
2356
+ });
2357
+ });
2358
+ };
2359
+ return window.addEventListener("pointermove", t), window.addEventListener("pointerup", n), window.addEventListener("pointercancel", n), () => {
2360
+ window.removeEventListener("pointermove", t), window.removeEventListener("pointerup", n), window.removeEventListener("pointercancel", n);
2361
+ };
2362
+ }, [R, e]), !r && e.displayMode === "popup") {
2363
+ let e = {
2364
+ ...xe(M),
2365
+ ...P ? {
2366
+ transform: `translate3d(${P.x}px, ${P.y}px, 0) scale(1.05)`,
2367
+ transition: "none",
2368
+ userSelect: "none"
2369
+ } : I ? {
2370
+ transform: I.transform,
2371
+ transition: I.transition
2372
+ } : { transition: "all 0.3s cubic-bezier(0.16, 1, 0.3, 1)" }
2373
+ }, t = ee || R;
2374
+ return /* @__PURE__ */ m("div", {
2375
+ ref: te,
2376
+ onMouseEnter: () => B(!0),
2377
+ onMouseLeave: () => B(!1),
2378
+ className: `fixed ${Se(M)} z-50 select-none group`,
2379
+ style: e,
2380
+ children: [/* @__PURE__ */ p("div", {
2381
+ onPointerDown: le,
2382
+ className: `absolute -top-1.5 -left-1.5 w-7 h-7 rounded-full bg-slate-900 text-white shadow-lg border-2 border-white flex items-center justify-center cursor-grab active:cursor-grabbing hover:bg-black hover:scale-110 active:scale-95 transition-all duration-200 z-10 touch-none ${t ? "opacity-100 scale-100 pointer-events-auto" : "opacity-0 scale-75 pointer-events-none group-hover:opacity-100 group-hover:scale-100 group-hover:pointer-events-auto"}`,
2383
+ title: "Hold and drag to change position",
2384
+ children: /* @__PURE__ */ p(se, {
2385
+ size: 13,
2386
+ className: "pointer-events-none text-white"
2387
+ })
2388
+ }), /* @__PURE__ */ p("button", {
2389
+ type: "button",
2390
+ onClick: (e) => {
2391
+ e.stopPropagation(), !R && i(!0);
2392
+ },
2393
+ className: "w-16 h-16 rounded-full text-white shadow-xl flex items-center justify-center cursor-pointer hover:scale-105 active:scale-95 transition-transform",
2394
+ style: { backgroundColor: W },
2395
+ title: "Click to open registration",
2396
+ children: /* @__PURE__ */ p("span", {
2397
+ className: "font-bold text-sm tracking-wide pointer-events-none",
2398
+ children: "Join"
2399
+ })
2400
+ })]
2401
+ });
2402
+ }
2403
+ let ue = e.displayMode === "fullscreen" || e.displayMode === "popup" && o, de = `${U ? "bg-black text-white border-zinc-800" : "bg-white text-gray-900 border-gray-200"} overflow-hidden flex flex-col shadow-2xl border transition-all duration-300 ease-in-out `, $ = { fontFamily: e.theme?.fontFamily || "sans-serif" };
2404
+ return ue ? (de += "fixed inset-0 z-[9999] rounded-none ", $.width = "100vw", $.height = "100vh") : e.displayMode === "popup" ? (de += `fixed ${Se(M)} z-50 rounded-xl `, $.width = e.width || "400px", $.height = e.height || "700px", $.maxHeight = "90vh", $.maxWidth = "calc(100vw - 32px)", Object.assign($, xe(M))) : (de += "rounded-xl relative ", $.width = "100%", $.height = "100%"), /* @__PURE__ */ p("div", {
2405
+ className: de,
2406
+ style: $,
2407
+ children: w ? /* @__PURE__ */ m("div", {
1651
2408
  className: "flex h-full items-center justify-center font-medium",
1652
- style: { color: j },
2409
+ style: { color: W },
1653
2410
  children: [/* @__PURE__ */ m("svg", {
1654
2411
  className: "animate-spin -ml-1 mr-3 h-8 w-8",
1655
2412
  xmlns: "http://www.w3.org/2000/svg",
@@ -1668,12 +2425,12 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1668
2425
  d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
1669
2426
  })]
1670
2427
  }), "Processing..."]
1671
- }) : T ? k ? /* @__PURE__ */ m("div", {
1672
- className: "flex flex-col h-full bg-white relative overflow-y-auto",
2428
+ }) : E ? A ? /* @__PURE__ */ m("div", {
2429
+ className: `flex flex-col h-full relative overflow-y-auto ${U ? "bg-black text-white" : "bg-white text-gray-900"}`,
1673
2430
  children: [/* @__PURE__ */ m("div", {
1674
2431
  className: "p-4 shadow-sm flex justify-between items-center z-10",
1675
2432
  style: {
1676
- backgroundColor: j,
2433
+ backgroundColor: W,
1677
2434
  color: "white"
1678
2435
  },
1679
2436
  children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h2", {
@@ -1682,18 +2439,18 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1682
2439
  }), /* @__PURE__ */ p("p", {
1683
2440
  className: "text-xs opacity-90 mt-0.5",
1684
2441
  children: "Registration Submitted"
1685
- })] }), e.displayMode === "popup" && /* @__PURE__ */ m("div", {
1686
- className: "flex items-center gap-4",
1687
- children: [/* @__PURE__ */ p("button", {
2442
+ })] }), /* @__PURE__ */ p("div", {
2443
+ className: "flex items-center gap-3",
2444
+ children: e.displayMode === "popup" && /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p("button", {
1688
2445
  onClick: () => c(!o),
1689
2446
  title: o ? "Minimize" : "Expand",
1690
- className: "opacity-80 hover:opacity-100 transition-opacity",
1691
- children: p(o ? Z : X, { size: 18 })
2447
+ className: "opacity-80 hover:opacity-100 transition-opacity cursor-pointer",
2448
+ children: p(o ? oe : ae, { size: 18 })
1692
2449
  }), /* @__PURE__ */ p("button", {
1693
2450
  onClick: () => i(!1),
1694
- className: "opacity-80 hover:opacity-100 transition-opacity",
1695
- children: /* @__PURE__ */ p(Q, { size: 24 })
1696
- })]
2451
+ className: "opacity-80 hover:opacity-100 transition-opacity cursor-pointer",
2452
+ children: /* @__PURE__ */ p(ge, { size: 24 })
2453
+ })] })
1697
2454
  })]
1698
2455
  }), /* @__PURE__ */ m("div", {
1699
2456
  className: "flex-1 flex flex-col items-center justify-center p-6 text-center",
@@ -1701,69 +2458,72 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1701
2458
  /* @__PURE__ */ p("div", {
1702
2459
  className: "w-16 h-16 rounded-full flex items-center justify-center mb-4 text-2xl shadow-md",
1703
2460
  style: {
1704
- backgroundColor: `color-mix(in srgb, ${j} 12%, transparent)`,
1705
- color: j
2461
+ backgroundColor: `color-mix(in srgb, ${W} 12%, transparent)`,
2462
+ color: W
1706
2463
  },
1707
2464
  children: "💳"
1708
2465
  }),
1709
2466
  /* @__PURE__ */ p("h3", {
1710
- className: "text-2xl font-bold text-gray-900 mb-2",
2467
+ className: `text-2xl font-bold mb-2 ${U ? "text-white" : "text-gray-900"}`,
1711
2468
  children: "Done Your Payment First"
1712
2469
  }),
1713
2470
  /* @__PURE__ */ p("p", {
1714
- className: "text-sm text-gray-600 mb-6 max-w-xs leading-relaxed",
2471
+ className: `text-sm mb-6 max-w-xs leading-relaxed ${U ? "text-zinc-300" : "text-gray-600"}`,
1715
2472
  children: "Please complete your payment in the new tab to confirm your booking and finalize your registration."
1716
2473
  }),
1717
2474
  /* @__PURE__ */ m("div", {
1718
2475
  className: "w-full max-w-xs space-y-3",
1719
2476
  children: [/* @__PURE__ */ m("a", {
1720
- href: k,
2477
+ href: A,
1721
2478
  target: "_blank",
1722
2479
  rel: "noopener noreferrer",
1723
2480
  className: "flex items-center justify-center gap-2 font-bold px-5 py-3 rounded-lg transition-opacity hover:opacity-90 text-white shadow-md w-full",
1724
- style: { backgroundColor: j },
1725
- children: [/* @__PURE__ */ p("span", { children: "Open Payment Page" }), /* @__PURE__ */ p(U, { size: 16 })]
2481
+ style: { backgroundColor: W },
2482
+ children: [/* @__PURE__ */ p("span", { children: "Open Payment Page" }), /* @__PURE__ */ p(ne, { size: 16 })]
1726
2483
  }), /* @__PURE__ */ p("button", {
1727
- onClick: ee,
1728
- className: "w-full py-2.5 px-4 text-sm font-semibold text-gray-500 hover:text-gray-900 transition-colors cursor-pointer",
2484
+ onClick: ce,
2485
+ className: `w-full py-2.5 px-4 text-sm font-semibold transition-colors cursor-pointer ${U ? "text-zinc-400 hover:text-white" : "text-gray-500 hover:text-gray-900"}`,
1729
2486
  children: "Register Another Person"
1730
2487
  })]
1731
2488
  })
1732
2489
  ]
1733
2490
  })]
1734
2491
  }) : /* @__PURE__ */ m("div", {
1735
- className: "flex flex-col h-full items-center justify-center p-8 text-center bg-white relative",
2492
+ className: `flex flex-col h-full items-center justify-center p-8 text-center relative ${U ? "bg-black text-white" : "bg-white text-gray-900"}`,
1736
2493
  children: [
1737
- e.displayMode === "popup" && /* @__PURE__ */ p("button", {
1738
- onClick: () => i(!1),
1739
- className: "absolute top-4 right-4 text-gray-400 hover:text-gray-900",
1740
- children: /* @__PURE__ */ p(Q, { size: 24 })
2494
+ e.displayMode === "popup" && /* @__PURE__ */ p("div", {
2495
+ className: "absolute top-4 right-4 flex items-center gap-2",
2496
+ children: /* @__PURE__ */ p("button", {
2497
+ onClick: () => i(!1),
2498
+ className: `cursor-pointer ${U ? "text-zinc-400 hover:text-white" : "text-gray-400 hover:text-gray-900"}`,
2499
+ children: /* @__PURE__ */ p(ge, { size: 24 })
2500
+ })
1741
2501
  }),
1742
2502
  /* @__PURE__ */ p("div", {
1743
2503
  className: "w-20 h-20 rounded-full flex items-center justify-center mb-6 text-4xl shadow-md",
1744
2504
  style: {
1745
- backgroundColor: j,
2505
+ backgroundColor: W,
1746
2506
  color: "white"
1747
2507
  },
1748
2508
  children: "✓"
1749
2509
  }),
1750
2510
  /* @__PURE__ */ p("h2", {
1751
- className: "text-3xl font-bold mb-3 text-gray-900",
2511
+ className: `text-3xl font-bold mb-3 ${U ? "text-white" : "text-gray-900"}`,
1752
2512
  children: "Thank You!"
1753
2513
  }),
1754
2514
  /* @__PURE__ */ p("p", {
1755
- className: "text-gray-600 mb-8",
2515
+ className: `mb-8 ${U ? "text-zinc-300" : "text-gray-600"}`,
1756
2516
  children: "Your registration has been successfully received."
1757
2517
  }),
1758
2518
  /* @__PURE__ */ p("button", {
1759
- onClick: ee,
1760
- style: { backgroundColor: j },
1761
- className: "text-white font-bold py-3 px-8 rounded-md hover:opacity-90 transition-opacity shadow-md",
2519
+ onClick: ce,
2520
+ style: { backgroundColor: W },
2521
+ className: "text-white font-bold py-3 px-8 rounded-md hover:opacity-90 transition-opacity shadow-md cursor-pointer",
1762
2522
  children: "Register Another Person"
1763
2523
  })
1764
2524
  ]
1765
- }) : D ? /* @__PURE__ */ m("div", {
1766
- className: "flex flex-col h-full bg-white relative overflow-y-auto",
2525
+ }) : O ? /* @__PURE__ */ m("div", {
2526
+ className: `flex flex-col h-full relative overflow-y-auto ${U ? "bg-black text-white" : "bg-white text-gray-900"}`,
1767
2527
  children: [/* @__PURE__ */ m("div", {
1768
2528
  className: "p-4 shadow-sm flex justify-between items-center z-10 bg-red-600 text-white",
1769
2529
  children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h2", {
@@ -1772,66 +2532,71 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1772
2532
  }), /* @__PURE__ */ p("p", {
1773
2533
  className: "text-xs opacity-90 mt-0.5",
1774
2534
  children: "Please try again"
1775
- })] }), e.displayMode === "popup" && /* @__PURE__ */ p("div", {
1776
- className: "flex items-center gap-4",
1777
- children: /* @__PURE__ */ p("button", {
2535
+ })] }), /* @__PURE__ */ p("div", {
2536
+ className: "flex items-center gap-3",
2537
+ children: e.displayMode === "popup" && /* @__PURE__ */ p("button", {
1778
2538
  onClick: () => i(!1),
1779
2539
  className: "opacity-80 hover:opacity-100 transition-opacity cursor-pointer",
1780
- children: /* @__PURE__ */ p(Q, { size: 24 })
2540
+ children: /* @__PURE__ */ p(ge, { size: 24 })
1781
2541
  })
1782
2542
  })]
1783
2543
  }), /* @__PURE__ */ m("div", {
1784
2544
  className: "flex-1 flex flex-col items-center justify-center p-6 text-center",
1785
2545
  children: [
1786
2546
  /* @__PURE__ */ p("div", {
1787
- className: "w-16 h-16 rounded-full flex items-center justify-center mb-4 text-2xl shadow-md bg-red-50 text-red-600 border border-red-200",
2547
+ className: `w-16 h-16 rounded-full flex items-center justify-center mb-4 text-2xl shadow-md border ${U ? "bg-red-950/60 text-red-400 border-red-900" : "bg-red-50 text-red-600 border-red-200"}`,
1788
2548
  children: "✕"
1789
2549
  }),
1790
2550
  /* @__PURE__ */ p("h3", {
1791
- className: "text-2xl font-bold text-gray-900 mb-2",
2551
+ className: `text-2xl font-bold mb-2 ${U ? "text-white" : "text-gray-900"}`,
1792
2552
  children: "Submission Error"
1793
2553
  }),
1794
2554
  /* @__PURE__ */ p("p", {
1795
- className: "text-sm text-gray-600 mb-6 max-w-xs leading-relaxed",
1796
- children: D
2555
+ className: `text-sm mb-6 max-w-xs leading-relaxed ${U ? "text-zinc-300" : "text-gray-600"}`,
2556
+ children: O
1797
2557
  }),
1798
2558
  /* @__PURE__ */ m("div", {
1799
2559
  className: "w-full max-w-xs space-y-3",
1800
2560
  children: [/* @__PURE__ */ p("button", {
1801
- onClick: () => O(null),
1802
- style: { backgroundColor: j },
2561
+ onClick: () => k(null),
2562
+ style: { backgroundColor: W },
1803
2563
  className: "flex items-center justify-center gap-2 font-bold px-5 py-3 rounded-lg transition-opacity hover:opacity-90 text-white shadow-md w-full cursor-pointer",
1804
2564
  children: /* @__PURE__ */ p("span", { children: "Try Again" })
1805
2565
  }), /* @__PURE__ */ p("button", {
1806
2566
  onClick: () => {
1807
- O(null), S(null);
2567
+ k(null), C(null);
1808
2568
  },
1809
- className: "w-full py-2.5 px-4 text-sm font-semibold text-gray-500 hover:text-gray-900 transition-colors cursor-pointer",
2569
+ className: `w-full py-2.5 px-4 text-sm font-semibold transition-colors cursor-pointer ${U ? "text-zinc-400 hover:text-white" : "text-gray-500 hover:text-gray-900"}`,
1810
2570
  children: "Choose Another Ticket"
1811
2571
  })]
1812
2572
  })
1813
2573
  ]
1814
2574
  })]
1815
- }) : x ? /* @__PURE__ */ p(me, {
1816
- schema: x.form_schema,
2575
+ }) : S ? /* @__PURE__ */ p(_e, {
2576
+ schema: S.form_schema,
1817
2577
  theme: e.theme,
1818
2578
  displayMode: e.displayMode,
1819
2579
  isExpanded: o,
1820
2580
  onToggleExpand: () => c(!o),
1821
2581
  onClose: () => i(!1),
1822
- onSubmit: V,
1823
- onChange: B,
1824
- initialValues: z,
2582
+ onSubmit: Q,
2583
+ onChange: Z,
2584
+ initialValues: ie,
2585
+ isDark: U,
2586
+ apiClient: K,
2587
+ storage: q,
2588
+ onError: e.onError,
2589
+ onEvent: e.onEvent,
1825
2590
  onBack: () => {
1826
- I.current && clearTimeout(I.current), S(null);
2591
+ Y.current && clearTimeout(Y.current), C(null);
1827
2592
  }
1828
2593
  }) : /* @__PURE__ */ m("div", {
1829
- className: "flex flex-col h-full bg-gray-50 overflow-hidden",
2594
+ className: `flex flex-col h-full overflow-hidden ${U ? "bg-black text-white" : "bg-gray-50 text-gray-900"}`,
1830
2595
  children: [
1831
2596
  /* @__PURE__ */ m("div", {
1832
2597
  className: "p-4 shadow-sm flex justify-between items-center z-10 shrink-0",
1833
2598
  style: {
1834
- backgroundColor: j,
2599
+ backgroundColor: W,
1835
2600
  color: "white"
1836
2601
  },
1837
2602
  children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h2", {
@@ -1839,60 +2604,60 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1839
2604
  children: t === "registration" ? "Select Ticket" : "Attendee Portal"
1840
2605
  }), /* @__PURE__ */ p("p", {
1841
2606
  className: "text-xs opacity-90 mt-0.5",
1842
- children: t === "registration" ? y : "Registration & Profile Management"
1843
- })] }), e.displayMode === "popup" && /* @__PURE__ */ m("div", {
2607
+ children: t === "registration" ? b : "Registration & Profile Management"
2608
+ })] }), /* @__PURE__ */ p("div", {
1844
2609
  className: "flex items-center gap-3",
1845
- children: [/* @__PURE__ */ p("button", {
2610
+ children: e.displayMode === "popup" && /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p("button", {
1846
2611
  onClick: () => c(!o),
1847
2612
  title: o ? "Minimize" : "Expand",
1848
2613
  className: "opacity-80 hover:opacity-100 transition-opacity cursor-pointer",
1849
- children: p(o ? Z : X, { size: 18 })
2614
+ children: p(o ? oe : ae, { size: 18 })
1850
2615
  }), /* @__PURE__ */ p("button", {
1851
2616
  onClick: () => i(!1),
1852
2617
  className: "opacity-80 hover:opacity-100 transition-opacity cursor-pointer",
1853
- children: /* @__PURE__ */ p(Q, { size: 22 })
1854
- })]
2618
+ children: /* @__PURE__ */ p(ge, { size: 22 })
2619
+ })] })
1855
2620
  })]
1856
2621
  }),
1857
2622
  /* @__PURE__ */ m("div", {
1858
- className: "flex border-b border-gray-200 bg-white shrink-0 shadow-2xs",
2623
+ className: `flex border-b shrink-0 shadow-2xs ${U ? "border-zinc-800 bg-black" : "border-gray-200 bg-white"}`,
1859
2624
  children: [/* @__PURE__ */ m("button", {
1860
2625
  type: "button",
1861
2626
  onClick: () => n("registration"),
1862
2627
  className: "flex-1 py-3 text-sm font-semibold text-center transition-all cursor-pointer relative",
1863
- style: { color: t === "registration" ? j : "#6b7280" },
2628
+ style: { color: t === "registration" ? W : U ? "#a1a1aa" : "#6b7280" },
1864
2629
  children: ["Registration", t === "registration" && /* @__PURE__ */ p("span", {
1865
2630
  className: "absolute bottom-0 left-0 right-0 h-0.5",
1866
- style: { backgroundColor: j }
2631
+ style: { backgroundColor: W }
1867
2632
  })]
1868
2633
  }), /* @__PURE__ */ m("button", {
1869
2634
  type: "button",
1870
2635
  onClick: () => n("attendee"),
1871
2636
  className: "flex-1 py-3 text-sm font-semibold text-center transition-all cursor-pointer relative",
1872
- style: { color: t === "attendee" ? j : "#6b7280" },
2637
+ style: { color: t === "attendee" ? W : U ? "#a1a1aa" : "#6b7280" },
1873
2638
  children: ["Attendee Login", t === "attendee" && /* @__PURE__ */ p("span", {
1874
2639
  className: "absolute bottom-0 left-0 right-0 h-0.5",
1875
- style: { backgroundColor: j }
2640
+ style: { backgroundColor: W }
1876
2641
  })]
1877
2642
  })]
1878
2643
  }),
1879
2644
  t === "registration" ? /* @__PURE__ */ p("div", {
1880
- className: "p-5 space-y-4 overflow-y-auto flex-1 bg-gray-50",
1881
- children: f.length === 0 ? /* @__PURE__ */ p("div", {
1882
- className: "text-center py-10 text-gray-400 text-sm",
2645
+ className: `p-5 space-y-4 overflow-y-auto flex-1 ${U ? "bg-black" : "bg-gray-50"}`,
2646
+ children: h.length === 0 ? /* @__PURE__ */ p("div", {
2647
+ className: `text-center py-10 text-sm ${U ? "text-zinc-500" : "text-gray-400"}`,
1883
2648
  children: "No tickets currently available."
1884
- }) : f.map((e) => /* @__PURE__ */ m("div", {
1885
- onClick: () => S(e),
1886
- className: "p-5 border-2 rounded-xl bg-white cursor-pointer transition-all shadow-sm hover:shadow-md",
1887
- style: { borderColor: "#e5e7eb" },
1888
- onMouseEnter: (e) => e.currentTarget.style.borderColor = j,
1889
- onMouseLeave: (e) => e.currentTarget.style.borderColor = "#e5e7eb",
2649
+ }) : h.map((e) => /* @__PURE__ */ m("div", {
2650
+ onClick: () => C(e),
2651
+ className: `p-5 border-2 rounded-xl cursor-pointer transition-all shadow-sm hover:shadow-md ${U ? "bg-zinc-900" : "bg-white"}`,
2652
+ style: { borderColor: U ? "#27272a" : "#e5e7eb" },
2653
+ onMouseEnter: (e) => e.currentTarget.style.borderColor = W,
2654
+ onMouseLeave: (e) => e.currentTarget.style.borderColor = U ? "#27272a" : "#e5e7eb",
1890
2655
  children: [/* @__PURE__ */ p("div", {
1891
- className: "font-bold text-lg text-gray-900",
2656
+ className: `font-bold text-lg ${U ? "text-white" : "text-gray-900"}`,
1892
2657
  children: e.type
1893
2658
  }), /* @__PURE__ */ m("div", {
1894
2659
  className: "font-semibold mt-1",
1895
- style: { color: j },
2660
+ style: { color: W },
1896
2661
  children: [
1897
2662
  e.currency,
1898
2663
  " ",
@@ -1902,18 +2667,20 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1902
2667
  }, e.id))
1903
2668
  }) : /* @__PURE__ */ p("div", {
1904
2669
  className: "flex-1 overflow-hidden flex flex-col",
1905
- children: /* @__PURE__ */ p(he, {
1906
- apiClient: N,
1907
- storage: P,
1908
- logger: M,
1909
- primaryColor: j,
1910
- onEvent: e.onEvent
2670
+ children: /* @__PURE__ */ p(ye, {
2671
+ apiClient: K,
2672
+ storage: q,
2673
+ logger: G,
2674
+ primaryColor: W,
2675
+ isDark: U,
2676
+ onEvent: e.onEvent,
2677
+ onError: e.onError
1911
2678
  })
1912
2679
  })
1913
2680
  ]
1914
2681
  })
1915
2682
  });
1916
- }, _e = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-800:oklch(43.2% .095 166.913);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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(--default-font-family,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--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:where(:not(iframe)){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}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.bottom-0{bottom:0}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-0{left:0}.left-2\\.5{left:calc(var(--spacing) * 2.5)}.z-10{z-index:10}.z-50{z-index:50}.z-\\[9999\\]{z-index:9999}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1\\.5{margin-inline:calc(var(--spacing) * -1.5)}.mx-1{margin-inline:var(--spacing)}.mx-auto{margin-inline:auto}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.h-0\\.5{height:calc(var(--spacing) * .5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-\\[650px\\]{height:650px}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-gray-900{border-color:var(--color-gray-900)}.border-green-200{border-color:var(--color-green-200)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\\/40{background-color:#eff6ff66}@supports (color:color-mix(in lab, red, red)){.bg-blue-50\\/40{background-color:color-mix(in oklab, var(--color-blue-50) 40%, transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-600{background-color:var(--color-red-600)}.bg-white{background-color:var(--color-white)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-800{color:var(--color-emerald-800)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.contrast-200{--tw-contrast:contrast(200%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\\:text-blue-900:hover{color:var(--color-blue-900)}.hover\\:text-gray-900:hover{color:var(--color-gray-900)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}}.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)}.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)}.focus\\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\\:opacity-50:disabled{opacity:.5}@media (width>=48rem){.md\\:inline-block{display:inline-block}.md\\:w-1\\/2{width:50%}.md\\:pr-3{padding-right:calc(var(--spacing) * 3)}}@media (width>=64rem){.lg\\:w-1\\/3{width:33.3333%}.lg\\:w-2\\/3{width:66.6667%}.lg\\:flex-row{flex-direction:row}}}:host{all:initial;font-family:inherit}@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-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{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-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}", ve = ({ children: e, useShadow: t = !0 }) => {
2683
+ }, we = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-950:oklch(28.2% .091 267.935);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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(--default-font-family,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--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:where(:not(iframe)){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}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-y-0{inset-block:0}.-top-1\\.5{top:calc(var(--spacing) * -1.5)}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.bottom-0{bottom:0}.bottom-5{bottom:calc(var(--spacing) * 5)}.-left-1\\.5{left:calc(var(--spacing) * -1.5)}.left-0{left:0}.left-2\\.5{left:calc(var(--spacing) * 2.5)}.left-5{left:calc(var(--spacing) * 5)}.z-10{z-index:10}.z-50{z-index:50}.z-\\[9999\\]{z-index:9999}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1\\.5{margin-inline:calc(var(--spacing) * -1.5)}.mx-1{margin-inline:var(--spacing)}.mx-auto{margin-inline:auto}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-0\\.5{height:calc(var(--spacing) * .5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-\\[650px\\]{height:650px}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-900\\/50{border-color:#7b330680}@supports (color:color-mix(in lab, red, red)){.border-amber-900\\/50{border-color:color-mix(in oklab, var(--color-amber-900) 50%, transparent)}}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-800{border-color:var(--color-blue-800)}.border-blue-800\\/80{border-color:#193cb8cc}@supports (color:color-mix(in lab, red, red)){.border-blue-800\\/80{border-color:color-mix(in oklab, var(--color-blue-800) 80%, transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-800\\/80{border-color:#005f46cc}@supports (color:color-mix(in lab, red, red)){.border-emerald-800\\/80{border-color:color-mix(in oklab, var(--color-emerald-800) 80%, transparent)}}.border-emerald-900{border-color:var(--color-emerald-900)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-gray-900{border-color:var(--color-gray-900)}.border-green-200{border-color:var(--color-green-200)}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-600{border-color:var(--color-purple-600)}.border-red-200{border-color:var(--color-red-200)}.border-red-900{border-color:var(--color-red-900)}.border-red-900\\/50{border-color:#82181a80}@supports (color:color-mix(in lab, red, red)){.border-red-900\\/50{border-color:color-mix(in oklab, var(--color-red-900) 50%, transparent)}}.border-red-900\\/60{border-color:#82181a99}@supports (color:color-mix(in lab, red, red)){.border-red-900\\/60{border-color:color-mix(in oklab, var(--color-red-900) 60%, transparent)}}.border-slate-200{border-color:var(--color-slate-200)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-zinc-700{border-color:var(--color-zinc-700)}.border-zinc-800{border-color:var(--color-zinc-800)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-950\\/60{background-color:#46190199}@supports (color:color-mix(in lab, red, red)){.bg-amber-950\\/60{background-color:color-mix(in oklab, var(--color-amber-950) 60%, transparent)}}.bg-black{background-color:var(--color-black)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\\/40{background-color:#eff6ff66}@supports (color:color-mix(in lab, red, red)){.bg-blue-50\\/40{background-color:color-mix(in oklab, var(--color-blue-50) 40%, transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-950\\/40{background-color:#16245666}@supports (color:color-mix(in lab, red, red)){.bg-blue-950\\/40{background-color:color-mix(in oklab, var(--color-blue-950) 40%, transparent)}}.bg-blue-950\\/50{background-color:#16245680}@supports (color:color-mix(in lab, red, red)){.bg-blue-950\\/50{background-color:color-mix(in oklab, var(--color-blue-950) 50%, transparent)}}.bg-blue-950\\/60{background-color:#16245699}@supports (color:color-mix(in lab, red, red)){.bg-blue-950\\/60{background-color:color-mix(in oklab, var(--color-blue-950) 60%, transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-950\\/60{background-color:#002c2299}@supports (color:color-mix(in lab, red, red)){.bg-emerald-950\\/60{background-color:color-mix(in oklab, var(--color-emerald-950) 60%, transparent)}}.bg-emerald-950\\/80{background-color:#002c22cc}@supports (color:color-mix(in lab, red, red)){.bg-emerald-950\\/80{background-color:color-mix(in oklab, var(--color-emerald-950) 80%, transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-950\\/40{background-color:#46080966}@supports (color:color-mix(in lab, red, red)){.bg-red-950\\/40{background-color:color-mix(in oklab, var(--color-red-950) 40%, transparent)}}.bg-red-950\\/50{background-color:#46080980}@supports (color:color-mix(in lab, red, red)){.bg-red-950\\/50{background-color:color-mix(in oklab, var(--color-red-950) 50%, transparent)}}.bg-red-950\\/60{background-color:#46080999}@supports (color:color-mix(in lab, red, red)){.bg-red-950\\/60{background-color:color-mix(in oklab, var(--color-red-950) 60%, transparent)}}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-white{background-color:var(--color-white)}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-900\\/60{background-color:#18181b99}@supports (color:color-mix(in lab, red, red)){.bg-zinc-900\\/60{background-color:color-mix(in oklab, var(--color-zinc-900) 60%, transparent)}}.bg-zinc-950{background-color:var(--color-zinc-950)}.bg-zinc-950\\/60{background-color:#09090b99}@supports (color:color-mix(in lab, red, red)){.bg-zinc-950\\/60{background-color:color-mix(in oklab, var(--color-zinc-950) 60%, transparent)}}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-amber-400{color:var(--color-amber-400)}.text-amber-700{color:var(--color-amber-700)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-800{color:var(--color-emerald-800)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.placeholder-zinc-500::placeholder{color:var(--color-zinc-500)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.contrast-200{--tw-contrast:contrast(200%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.group-hover\\:scale-100:is(:where(.group):hover *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:border-solid:hover{--tw-border-style:solid;border-style:solid}.hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\\:border-zinc-500:hover{border-color:var(--color-zinc-500)}.hover\\:border-zinc-700:hover{border-color:var(--color-zinc-700)}.hover\\:bg-black:hover{background-color:var(--color-black)}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\\:bg-red-900\\/50:hover{background-color:#82181a80}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-red-900\\/50:hover{background-color:color-mix(in oklab, var(--color-red-900) 50%, transparent)}}.hover\\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\\:text-blue-300:hover{color:var(--color-blue-300)}.hover\\:text-gray-900:hover{color:var(--color-gray-900)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}}.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)}.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)}.focus\\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:opacity-50:disabled{opacity:.5}@media (width>=48rem){.md\\:inline-block{display:inline-block}.md\\:w-1\\/2{width:50%}.md\\:pr-3{padding-right:calc(var(--spacing) * 3)}}@media (width>=64rem){.lg\\:w-1\\/3{width:33.3333%}.lg\\:w-2\\/3{width:66.6667%}.lg\\:flex-row{flex-direction:row}}@media (prefers-color-scheme:dark){.dark\\:border-zinc-800{border-color:var(--color-zinc-800)}.dark\\:bg-red-950\\/40{background-color:#46080966}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-red-950\\/40{background-color:color-mix(in oklab, var(--color-red-950) 40%, transparent)}}.dark\\:text-emerald-400{color:var(--color-emerald-400)}.dark\\:text-red-400{color:var(--color-red-400)}}}:host{all:initial;font-family:inherit}@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-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{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-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}", Te = ({ children: e, useShadow: t = !0 }) => {
1917
2684
  let n = u(null), [r, i] = d(null);
1918
2685
  return c(() => {
1919
2686
  if (typeof document > "u" || !n.current || !t) return;
@@ -1924,7 +2691,7 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1924
2691
  let t = document.createElement("style");
1925
2692
  t.innerText = ":host, *, *::before, *::after, ::backdrop {\n --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate-x: initial;\n --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial;\n --tw-skew-y: initial; --tw-space-y-reverse: 0; --tw-space-x-reverse: 0;\n --tw-border-style: solid; --tw-shadow: 0 0 #0000;\n --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff;\n }", e.appendChild(t);
1926
2693
  let i = document.createElement("style");
1927
- i.textContent = _e, e.appendChild(i), r = document.createElement("div"), r.className = "voxket-widget-root", r.style.cssText = "\n all: initial;\n box-sizing: border-box !important;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, sans-serif !important;\n font-size: 14px !important;\n color: #1a1a1a !important; \n position: relative !important;\n background-color: transparent !important;\n ", e.appendChild(r);
2694
+ i.textContent = we, e.appendChild(i), r = document.createElement("div"), r.className = "voxket-widget-root", r.style.cssText = "\n all: initial;\n box-sizing: border-box !important;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, sans-serif !important;\n font-size: 14px !important;\n color: #1a1a1a !important; \n position: relative !important;\n background-color: transparent !important;\n ", e.appendChild(r);
1928
2695
  }
1929
2696
  r && i(r);
1930
2697
  }, [t]), t ? /* @__PURE__ */ p("div", {
@@ -1932,7 +2699,7 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1932
2699
  className: "w-full h-full",
1933
2700
  children: r && e ? h(e, r) : null
1934
2701
  }) : /* @__PURE__ */ p(f, { children: e });
1935
- }, $ = ({ config: e }) => t.createElement(ve, { useShadow: !0 }, t.createElement(ge, { config: e })), ye = class {
2702
+ }, Ee = ({ config: e }) => t.createElement(Te, { useShadow: !0 }, t.createElement(Ce, { config: e })), De = class {
1936
2703
  config;
1937
2704
  container = null;
1938
2705
  root = null;
@@ -1941,16 +2708,16 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1941
2708
  }
1942
2709
  mount(n) {
1943
2710
  if (this.container = typeof n == "string" ? document.getElementById(n) : n, !this.container) throw Error("EventWidget: Mount container not found.");
1944
- this.root ||= e(this.container), this.root.render(t.createElement($, { config: this.config }));
2711
+ this.root ||= e(this.container), this.root.render(t.createElement(Ee, { config: this.config }));
1945
2712
  }
1946
2713
  updateConfig(e) {
1947
2714
  this.config = {
1948
2715
  ...this.config,
1949
2716
  ...e
1950
- }, this.root && this.root.render(t.createElement($, { config: this.config }));
2717
+ }, this.root && this.root.render(t.createElement(Ee, { config: this.config }));
1951
2718
  }
1952
2719
  setConfig(e) {
1953
- this.config = e, this.root && this.root.render(t.createElement($, { config: this.config }));
2720
+ this.config = e, this.root && this.root.render(t.createElement(Ee, { config: this.config }));
1954
2721
  }
1955
2722
  unmount() {
1956
2723
  if (this.root) {
@@ -1960,4 +2727,4 @@ var Q = M(pe), me = ({ schema: e, onSubmit: t, onBack: n, theme: r, displayMode:
1960
2727
  }
1961
2728
  };
1962
2729
  //#endregion
1963
- export { $ as EventWidget, ye as EventWidgetClient };
2730
+ export { Ee as EventWidget, De as EventWidgetClient };