@getmicdrop/venue-calendar 4.0.84 → 4.0.86

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.
Files changed (68) hide show
  1. package/README.md +740 -740
  2. package/dist/{CartView-DwAGELwG.js → CartView-e2hG7cOV.js} +5 -5
  3. package/dist/CartView-e2hG7cOV.js.map +1 -0
  4. package/dist/{Checkout-CHo11MsU.js → Checkout-BpTUMyLk.js} +7 -7
  5. package/dist/Checkout-BpTUMyLk.js.map +1 -0
  6. package/dist/Checkout-DmnOMwhl.js +809 -0
  7. package/dist/Checkout-DmnOMwhl.js.map +1 -0
  8. package/dist/{CheckoutTimer-CAGR7L-7.js → CheckoutTimer-Dv0c-X6O.js} +4 -4
  9. package/dist/CheckoutTimer-Dv0c-X6O.js.map +1 -0
  10. package/dist/{CollectionView-Dstgu8sR.js → CollectionView-CyxK6aI9.js} +5 -5
  11. package/dist/CollectionView-CyxK6aI9.js.map +1 -0
  12. package/dist/{Event-kfRjkMzQ.js → Event-Cw7b9UEd.js} +6 -6
  13. package/dist/{Event-kfRjkMzQ.js.map → Event-Cw7b9UEd.js.map} +1 -1
  14. package/dist/{EventPage-CnhccVCI.js → EventPage-BKtFiZL1.js} +7 -7
  15. package/dist/EventPage-BKtFiZL1.js.map +1 -0
  16. package/dist/{Heading-Ielp7dS-.js → Heading-D0grC8vd.js} +2 -2
  17. package/dist/{Heading-Ielp7dS-.js.map → Heading-D0grC8vd.js.map} +1 -1
  18. package/dist/{ModalHeader-Q7levd4l.js → ModalHeader-V5AlK1dt.js} +2 -2
  19. package/dist/{ModalHeader-Q7levd4l.js.map → ModalHeader-V5AlK1dt.js.map} +1 -1
  20. package/dist/{ScarcityBadge-CG7Mz5YN.js → ScarcityBadge-Co7gZXuW.js} +2 -2
  21. package/dist/ScarcityBadge-Co7gZXuW.js.map +1 -0
  22. package/dist/{SeriesPage-C8fIvt63.js → SeriesPage-USYe3APQ.js} +5 -5
  23. package/dist/SeriesPage-USYe3APQ.js.map +1 -0
  24. package/dist/{Success-SZNXo-Ou.js → Success-C387RvIY.js} +7 -7
  25. package/dist/Success-C387RvIY.js.map +1 -0
  26. package/dist/{Text-DHgQP4rA.js → Text-ZUPglf_o.js} +2 -2
  27. package/dist/{Text-DHgQP4rA.js.map → Text-ZUPglf_o.js.map} +1 -1
  28. package/dist/{VenueCalendar-DTOyAhDU.js → VenueCalendar-tmWZSmhT.js} +21 -18
  29. package/dist/VenueCalendar-tmWZSmhT.js.map +1 -0
  30. package/dist/{ViewTicketsEmbed-DBEOjijY.js → ViewTicketsEmbed--091XJJn.js} +4 -4
  31. package/dist/ViewTicketsEmbed--091XJJn.js.map +1 -0
  32. package/dist/api/api.cjs +1 -1
  33. package/dist/api/api.cjs.map +1 -1
  34. package/dist/api/api.mjs +18 -15
  35. package/dist/api/api.mjs.map +1 -1
  36. package/dist/api/gift-cards.d.ts +3 -2
  37. package/dist/{data-toggle-store.svelte-E2JyoGTV.js → data-toggle-store.svelte-Bn0h8FT_.js} +2 -2
  38. package/dist/data-toggle-store.svelte-Bn0h8FT_.js.map +1 -0
  39. package/dist/{labels-nQIooadc.js → labels-C7Znep_T.js} +3 -3
  40. package/dist/labels-C7Znep_T.js.map +1 -0
  41. package/dist/seo/seo.cjs.map +1 -1
  42. package/dist/seo/seo.mjs.map +1 -1
  43. package/dist/{transform-C1Rmuzlt.js → transform-BxgTZDAD.js} +2 -2
  44. package/dist/transform-BxgTZDAD.js.map +1 -0
  45. package/dist/types/index.d.ts +442 -442
  46. package/dist/venue-calendar.css +1 -1
  47. package/dist/venue-calendar.es.js +2 -2
  48. package/dist/venue-calendar.iife.js +20 -20
  49. package/dist/venue-calendar.iife.js.map +1 -1
  50. package/dist/venue-calendar.umd.js +19 -19
  51. package/dist/venue-calendar.umd.js.map +1 -1
  52. package/package.json +170 -170
  53. package/src/lib/theme.js +222 -222
  54. package/dist/CartView-DwAGELwG.js.map +0 -1
  55. package/dist/Checkout-CHo11MsU.js.map +0 -1
  56. package/dist/Checkout-_NuoBAKt.js +0 -789
  57. package/dist/Checkout-_NuoBAKt.js.map +0 -1
  58. package/dist/CheckoutTimer-CAGR7L-7.js.map +0 -1
  59. package/dist/CollectionView-Dstgu8sR.js.map +0 -1
  60. package/dist/EventPage-CnhccVCI.js.map +0 -1
  61. package/dist/ScarcityBadge-CG7Mz5YN.js.map +0 -1
  62. package/dist/SeriesPage-C8fIvt63.js.map +0 -1
  63. package/dist/Success-SZNXo-Ou.js.map +0 -1
  64. package/dist/VenueCalendar-DTOyAhDU.js.map +0 -1
  65. package/dist/ViewTicketsEmbed-DBEOjijY.js.map +0 -1
  66. package/dist/data-toggle-store.svelte-E2JyoGTV.js.map +0 -1
  67. package/dist/labels-nQIooadc.js.map +0 -1
  68. package/dist/transform-C1Rmuzlt.js.map +0 -1
@@ -1,789 +0,0 @@
1
- import "svelte/internal/disclose-version";
2
- import * as e from "svelte/internal/client";
3
- import { j as he, C as me, m as fe, s as de, D as ce, G as Se, r as Te, n as we, o as Pe, W as ke, q as Ee, u as Fe, w as Ae, x as De, y as Ne, z as Oe, A as ge, E as pe, F as Re, H as je, I as ze } from "./VenueCalendar-DTOyAhDU.js";
4
- import { onMount as Ge } from "svelte";
5
- import { g as Le, C as qe, a as Me } from "./Checkout-CHo11MsU.js";
6
- function le(v) {
7
- "@babel/helpers - typeof";
8
- return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? le = function(t) {
9
- return typeof t;
10
- } : le = function(t) {
11
- return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
12
- }, le(v);
13
- }
14
- var _e = "clover", Ue = function(t) {
15
- return t === 3 ? "v3" : t;
16
- }, be = "https://js.stripe.com", Ve = "".concat(be, "/").concat(_e, "/stripe.js"), Be = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/, We = /^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/;
17
- var Ke = function(t) {
18
- return Be.test(t) || We.test(t);
19
- }, He = function() {
20
- for (var t = document.querySelectorAll('script[src^="'.concat(be, '"]')), l = 0; l < t.length; l++) {
21
- var c = t[l];
22
- if (Ke(c.src))
23
- return c;
24
- }
25
- return null;
26
- }, ve = function(t) {
27
- var l = "", c = document.createElement("script");
28
- c.src = "".concat(Ve).concat(l);
29
- var s = document.head || document.body;
30
- if (!s)
31
- throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");
32
- return s.appendChild(c), c;
33
- }, Je = function(t, l) {
34
- !t || !t._registerWrapper || t._registerWrapper({
35
- name: "stripe-js",
36
- version: "8.8.0",
37
- startTime: l
38
- });
39
- }, ae = null, se = null, oe = null, Ye = function(t) {
40
- return function(l) {
41
- t(new Error("Failed to load Stripe.js", {
42
- cause: l
43
- }));
44
- };
45
- }, Xe = function(t, l) {
46
- return function() {
47
- window.Stripe ? t(window.Stripe) : l(new Error("Stripe.js not available"));
48
- };
49
- }, Ze = function(t) {
50
- return ae !== null ? ae : (ae = new Promise(function(l, c) {
51
- if (typeof window > "u" || typeof document > "u") {
52
- l(null);
53
- return;
54
- }
55
- if (window.Stripe) {
56
- l(window.Stripe);
57
- return;
58
- }
59
- try {
60
- var s = He();
61
- if (!(s && t)) {
62
- if (!s)
63
- s = ve(t);
64
- else if (s && oe !== null && se !== null) {
65
- var f;
66
- s.removeEventListener("load", oe), s.removeEventListener("error", se), (f = s.parentNode) === null || f === void 0 || f.removeChild(s), s = ve(t);
67
- }
68
- }
69
- oe = Xe(l, c), se = Ye(c), s.addEventListener("load", oe), s.addEventListener("error", se);
70
- } catch (I) {
71
- c(I);
72
- return;
73
- }
74
- }), ae.catch(function(l) {
75
- return ae = null, Promise.reject(l);
76
- }));
77
- }, Qe = function(t, l, c) {
78
- if (t === null)
79
- return null;
80
- var s = l[0];
81
- if (typeof s != "string")
82
- throw new Error("Expected publishable key to be of type string, got type ".concat(le(s), " instead."));
83
- var f = s.match(/^pk_test/), I = Ue(t.version), d = _e;
84
- f && I !== d && console.warn("Stripe.js@".concat(I, " was loaded on the page, but @stripe/stripe-js@").concat("8.8.0", " expected Stripe.js@").concat(d, ". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));
85
- var _ = t.apply(void 0, l);
86
- return Je(_, c), _;
87
- }, ne, xe = !1, Ie = function() {
88
- return ne || (ne = Ze(null).catch(function(t) {
89
- return ne = null, Promise.reject(t);
90
- }), ne);
91
- };
92
- Promise.resolve().then(function() {
93
- return Ie();
94
- }).catch(function(v) {
95
- xe || console.warn(v);
96
- });
97
- var $e = function() {
98
- for (var t = arguments.length, l = new Array(t), c = 0; c < t; c++)
99
- l[c] = arguments[c];
100
- xe = !0;
101
- var s = Date.now();
102
- return Ie().then(function(f) {
103
- return Qe(f, l, s);
104
- });
105
- };
106
- function Z(v) {
107
- const t = v?.code || v?.decline_code || "", l = v?.type || "", c = v?.message || "";
108
- if (t === "card_declined" || l === "card_error") {
109
- const s = v?.decline_code || "";
110
- return s === "insufficient_funds" ? {
111
- type: "card_declined",
112
- title: "Insufficient funds",
113
- message: "Your card has insufficient funds to complete this purchase.",
114
- suggestion: "Please try a different payment method or contact your bank.",
115
- retryable: !0
116
- } : s === "lost_card" || s === "stolen_card" ? {
117
- type: "card_declined",
118
- title: "Card cannot be used",
119
- message: "This card cannot be used for this transaction.",
120
- suggestion: "Please use a different payment method.",
121
- retryable: !0
122
- } : s === "expired_card" ? {
123
- type: "card_declined",
124
- title: "Card expired",
125
- message: "Your card has expired.",
126
- suggestion: "Please use a different card or update your card details.",
127
- retryable: !0
128
- } : {
129
- type: "card_declined",
130
- title: "Card declined",
131
- message: "Your card was declined by your bank.",
132
- suggestion: "Please try a different card or contact your bank for more information.",
133
- retryable: !0
134
- };
135
- }
136
- return l === "api_connection_error" || c.includes("network") || c.includes("connection") ? {
137
- type: "network",
138
- title: "Connection error",
139
- message: "We couldn't connect to the payment server.",
140
- suggestion: "Please check your internet connection and try again.",
141
- retryable: !0
142
- } : t === "rate_limit" ? {
143
- type: "rate_limit",
144
- title: "Too many attempts",
145
- message: "Too many payment attempts. Please wait a moment.",
146
- suggestion: "Wait 30 seconds before trying again.",
147
- retryable: !0
148
- } : t === "incorrect_number" || t === "invalid_number" ? {
149
- type: "validation",
150
- title: "Invalid card number",
151
- message: "The card number you entered is invalid.",
152
- suggestion: "Please check your card number and try again.",
153
- retryable: !0
154
- } : t === "incorrect_cvc" || t === "invalid_cvc" ? {
155
- type: "validation",
156
- title: "Invalid security code",
157
- message: "The security code (CVC) is incorrect.",
158
- suggestion: "Please check the 3-digit code on the back of your card.",
159
- retryable: !0
160
- } : t === "invalid_expiry_month" || t === "invalid_expiry_year" ? {
161
- type: "validation",
162
- title: "Invalid expiration date",
163
- message: "The expiration date is invalid.",
164
- suggestion: "Please check your card's expiration date.",
165
- retryable: !0
166
- } : {
167
- type: "general",
168
- title: "Payment failed",
169
- message: c || "Something went wrong with your payment.",
170
- suggestion: "Please try again or use a different payment method.",
171
- retryable: !0
172
- };
173
- }
174
- const ye = he("GiftCardInput");
175
- var et = e.from_html('<span class="gc-spinner gc-spinner-sm svelte-emw0hd"></span>'), tt = e.from_html('<div class="full-coverage-badge svelte-emw0hd"><!> <span> </span></div>'), rt = e.from_html('<div class="flex justify-between items-center text-sm mt-1.5"><span class="text-text-secondary"> </span> <span class="font-medium text-text-primary"> </span></div>'), at = e.from_html('<div class="applied-card svelte-emw0hd"><div class="flex items-center gap-3"><div class="applied-icon svelte-emw0hd"><!></div> <div class="flex flex-col flex-1"><span class="text-xs text-status-success-text font-medium"> </span> <span class="text-sm font-mono text-text-primary"> </span></div> <button class="remove-btn svelte-emw0hd"><!></button></div> <div class="applied-details svelte-emw0hd"><div class="flex justify-between items-center text-sm"><span class="text-text-secondary"> </span> <span class="font-medium text-accent-success"> </span></div> <!></div></div>'), nt = e.from_html('<span class="gc-spinner svelte-emw0hd"></span>'), it = e.from_html('<div class="flex items-center gap-1.5 mt-2 text-sm text-accent-danger"><!> <span> </span></div>'), st = e.from_html('<div class="input-section svelte-emw0hd"><div class="flex gap-2"><input type="text" name="giftCardCode" autocomplete="off" autocapitalize="characters"/> <button class="apply-btn svelte-emw0hd"><!></button></div> <!></div>'), ot = e.from_html('<button class="gift-card-toggle svelte-emw0hd"><!> <span> </span> <span class="toggle-indicator svelte-emw0hd"> </span></button> <!>', 1), lt = e.from_html('<div class="mb-4"><!></div>');
176
- function dt(v, t) {
177
- e.push(t, !0);
178
- let l = e.prop(t, "onApplied", 3, () => {
179
- }), c = e.prop(t, "onRemoved", 3, () => {
180
- }), s = e.prop(t, "disabled", 3, !1), f = e.prop(t, "labels", 19, () => ({})), I = e.state(""), d = e.state(!1), _ = e.state(""), P = e.state(null), D = e.state(!1);
181
- async function g() {
182
- if (!(!e.get(I).trim() || e.get(d) || !t.cartId)) {
183
- e.set(d, !0), e.set(_, "");
184
- try {
185
- const o = await Pe(t.cartId, e.get(I).trim().toUpperCase());
186
- o.valid ? (e.set(
187
- P,
188
- {
189
- code: o.giftCardCode || e.get(I).trim().toUpperCase(),
190
- giftCardAmount: o.giftCardAmount,
191
- giftCardBalance: o.giftCardBalance,
192
- paymentType: o.paymentType,
193
- stripeAmount: o.stripeAmount,
194
- orderTotal: o.orderTotal,
195
- requiresStripe: o.requiresStripe
196
- },
197
- !0
198
- ), e.set(I, ""), e.set(D, !1), l()(e.get(P))) : e.set(_, o.error || f().invalidGiftCardCode || "Invalid gift card code", !0);
199
- } catch (o) {
200
- ye.error("Error applying gift card:", o), e.set(_, f().failedToApplyGiftCard || "Failed to apply gift card. Please try again.", !0);
201
- }
202
- e.set(d, !1);
203
- }
204
- }
205
- async function y() {
206
- if (!(e.get(d) || !t.cartId)) {
207
- e.set(d, !0), e.set(_, "");
208
- try {
209
- const o = await Te(t.cartId);
210
- if (o.error)
211
- e.set(_, o.error, !0);
212
- else {
213
- const S = e.get(P);
214
- e.set(P, null), e.set(D, !1), c()(S);
215
- }
216
- } catch (o) {
217
- ye.error("Error removing gift card:", o), e.set(_, f().failedToRemoveGiftCard || "Failed to remove gift card. Please try again.", !0);
218
- }
219
- e.set(d, !1);
220
- }
221
- }
222
- function j(o) {
223
- o.key === "Enter" && !e.get(d) && g();
224
- }
225
- function Q() {
226
- e.get(P) || (e.set(D, !e.get(D)), e.get(D) || (e.set(I, ""), e.set(_, "")));
227
- }
228
- var z = lt(), H = e.child(z);
229
- {
230
- var ie = (o) => {
231
- var S = at(), C = e.child(S), p = e.child(C), q = e.child(p);
232
- me(q, { size: 16 }), e.reset(p);
233
- var M = e.sibling(p, 2), N = e.child(M), b = e.child(N, !0);
234
- e.reset(N);
235
- var k = e.sibling(N, 2), U = e.child(k, !0);
236
- e.reset(k), e.reset(M);
237
- var O = e.sibling(M, 2), V = e.child(O);
238
- {
239
- var W = (h) => {
240
- var w = et();
241
- e.append(h, w);
242
- }, A = (h) => {
243
- we(h, { size: 16 });
244
- };
245
- e.if(V, (h) => {
246
- e.get(d) ? h(W) : h(A, -1);
247
- });
248
- }
249
- e.reset(O), e.reset(C);
250
- var B = e.sibling(C, 2), G = e.child(B), K = e.child(G), $ = e.child(K, !0);
251
- e.reset(K);
252
- var J = e.sibling(K, 2), ee = e.child(J);
253
- e.reset(J), e.reset(G);
254
- var te = e.sibling(G, 2);
255
- {
256
- var x = (h) => {
257
- var w = tt(), L = e.child(w);
258
- me(L, { size: 16 });
259
- var Y = e.sibling(L, 2), X = e.child(Y, !0);
260
- e.reset(Y), e.reset(w), e.template_effect(() => e.set_text(X, f().fullyCoveredByGiftCard || "Fully covered by gift card")), e.append(h, w);
261
- }, E = (h) => {
262
- var w = rt(), L = e.child(w), Y = e.child(L, !0);
263
- e.reset(L);
264
- var X = e.sibling(L, 2), r = e.child(X, !0);
265
- e.reset(X), e.reset(w), e.template_effect(
266
- (a) => {
267
- e.set_text(Y, f().remainingToPay || "Remaining to pay"), e.set_text(r, a);
268
- },
269
- [() => fe(e.get(P).stripeAmount)]
270
- ), e.append(h, w);
271
- };
272
- e.if(te, (h) => {
273
- e.get(P).paymentType === "gift_card_only" ? h(x) : e.get(P).paymentType === "split" && h(E, 1);
274
- });
275
- }
276
- e.reset(B), e.reset(S), e.template_effect(
277
- (h) => {
278
- e.set_text(b, f().giftCardApplied || "Gift card applied"), e.set_text(U, e.get(P).code), O.disabled = e.get(d) || s(), e.set_attribute(O, "aria-label", f().removeGiftCard || "Remove gift card"), e.set_text($, f().appliedToOrder || "Applied to order"), e.set_text(ee, `-${h ?? ""}`);
279
- },
280
- [() => fe(e.get(P).giftCardAmount)]
281
- ), e.delegated("click", O, y), e.transition(3, S, () => de, () => ({ duration: ce.fast })), e.append(o, S);
282
- }, F = (o) => {
283
- var S = ot(), C = e.first_child(S), p = e.child(C);
284
- Se(p, { size: 20, class: "gift-icon" });
285
- var q = e.sibling(p, 2), M = e.child(q, !0);
286
- e.reset(q);
287
- var N = e.sibling(q, 2), b = e.child(N, !0);
288
- e.reset(N), e.reset(C);
289
- var k = e.sibling(C, 2);
290
- {
291
- var U = (O) => {
292
- var V = st(), W = e.child(V), A = e.child(W);
293
- e.remove_input_defaults(A);
294
- let B;
295
- var G = e.sibling(A, 2), K = e.child(G);
296
- {
297
- var $ = (x) => {
298
- var E = nt();
299
- e.append(x, E);
300
- }, J = (x) => {
301
- var E = e.text();
302
- e.template_effect(() => e.set_text(E, f().apply || "Apply")), e.append(x, E);
303
- };
304
- e.if(K, (x) => {
305
- e.get(d) ? x($) : x(J, -1);
306
- });
307
- }
308
- e.reset(G), e.reset(W);
309
- var ee = e.sibling(W, 2);
310
- {
311
- var te = (x) => {
312
- var E = it(), h = e.child(E);
313
- ke(h, { size: 16 });
314
- var w = e.sibling(h, 2), L = e.child(w, !0);
315
- e.reset(w), e.reset(E), e.template_effect(() => e.set_text(L, e.get(_))), e.transition(3, E, () => de, () => ({ duration: ce.micro })), e.append(x, E);
316
- };
317
- e.if(ee, (x) => {
318
- e.get(_) && x(te);
319
- });
320
- }
321
- e.reset(V), e.template_effect(
322
- (x) => {
323
- e.set_attribute(A, "aria-label", f().enterGiftCardCode || "Enter gift card code"), e.set_attribute(A, "placeholder", f().enterGiftCardCode || "Enter gift card code"), A.disabled = e.get(d) || s(), B = e.set_class(A, 1, "gift-input svelte-emw0hd", null, B, { "has-error": !!e.get(_) }), G.disabled = x;
324
- },
325
- [() => !e.get(I).trim() || e.get(d) || s()]
326
- ), e.delegated("keydown", A, j), e.bind_value(A, () => e.get(I), (x) => e.set(I, x)), e.delegated("click", G, g), e.transition(3, V, () => de, () => ({ duration: ce.fast })), e.append(O, V);
327
- };
328
- e.if(k, (O) => {
329
- e.get(D) && O(U);
330
- });
331
- }
332
- e.template_effect(() => {
333
- C.disabled = s(), e.set_attribute(C, "aria-expanded", e.get(D)), e.set_text(M, f().haveAGiftCard || "Have a gift card?"), e.set_text(b, e.get(D) ? "-" : "+");
334
- }), e.delegated("click", C, Q), e.append(o, S);
335
- };
336
- e.if(H, (o) => {
337
- e.get(P) ? o(ie) : o(F, -1);
338
- });
339
- }
340
- e.reset(z), e.append(v, z), e.pop();
341
- }
342
- e.delegate(["click", "keydown"]);
343
- const R = he("Checkout");
344
- var ct = e.from_html('<div class="max-w-6xl mx-auto px-4 md:px-6 -mt-4 mb-8"><!></div>'), ut = e.from_html("<!> <!>", 1), mt = e.from_html('<div class="p-8 text-center"><p class="text-accent-danger"> </p></div>'), ft = e.from_html('<div class="p-8 text-center"><p class="text-muted-foreground"> </p></div>');
345
- function ht(v, t) {
346
- e.push(t, !0);
347
- let l = e.prop(t, "availableTickets", 23, () => []);
348
- e.prop(t, "value", 3, "");
349
- let c = e.prop(t, "venueId", 3, ""), s = e.prop(t, "organizationId", 3, ""), f = e.prop(t, "onNavigateBack", 3, void 0), I = e.prop(t, "initialError", 3, void 0), d = e.prop(t, "labels", 19, () => ({})), _ = e.derived(() => (t.data || {}).id);
350
- e.derived(() => (t.data || {}).orgSlug);
351
- let P = e.derived(() => (t.data || {}).slug), D = e.derived(() => (t.data || {}).event), g = e.derived(() => e.get(D) ? Ee(e.get(D)) : t.data && (t.data.id || e.get(_)) ? {
352
- id: t.data.id || e.get(_),
353
- eventID: t.data.id || e.get(_),
354
- venueID: t.data.venueID ?? t.data.venueId ?? null,
355
- venueId: t.data.venueId ?? t.data.venueID ?? null,
356
- eventTicketingType: 0,
357
- ticketType: 0,
358
- availableTickets: []
359
- } : null), y = e.state(""), j = e.state(e.proxy({})), Q = e.state(e.proxy({})), z = e.state(e.proxy([])), H = e.state(""), ie = e.state(0), F = e.state(!1), o = e.state(null), S = e.state(""), C = e.state(void 0), p = e.state(""), q = e.state(!1), M = e.state(""), N = e.state(null), b = e.state(null), k = null;
360
- Ge(async () => {
361
- if (e.set(y, Le(Me.CHECKOUT_CARTID), !0), !e.get(y)) {
362
- e.set(q, !0), e.set(M, d().noCheckoutSession || "No checkout session found. Please select tickets first.", !0);
363
- return;
364
- }
365
- try {
366
- const i = Fe(e.get(g)?.eventID || e.get(g)?.id || e.get(_));
367
- e.set(j, i.quantities || {}, !0), e.set(Q, i.donationAmounts || {}, !0), e.set(H, i.promocode || "", !0), e.set(ie, i.promoDiscountAmount || 0, !0), e.set(z, i.tickets || [], !0);
368
- } catch (i) {
369
- R.error("Error loading checkout state:", i), e.set(j, {}, !0), e.set(z, [], !0);
370
- }
371
- e.get(z).length > 0 && e.get(g) && (e.get(g).availableTickets = e.get(z), l(e.get(z)));
372
- let r = {
373
- serviceFeeCents: 0,
374
- serviceFeePercentage: 0,
375
- serviceFeeChargeType: "both",
376
- maxServiceFeeCents: 0,
377
- taxPercentage: 0
378
- };
379
- try {
380
- const i = (
381
- /** @type {any} */
382
- await Ae(e.get(g)?.venueID || e.get(g)?.venueId || c())
383
- );
384
- r = {
385
- serviceFeeCents: Number(i?.serviceFeeCents ?? 0),
386
- serviceFeePercentage: Number(i?.serviceFeePercentage ?? 0),
387
- serviceFeeChargeType: String(i?.serviceFeeChargeType ?? "both"),
388
- maxServiceFeeCents: Number(i?.maxServiceFeeCents ?? 0),
389
- taxPercentage: Number(i?.taxPercentage ?? 0)
390
- };
391
- } catch (i) {
392
- R.error("Error fetching venue data:", i);
393
- }
394
- const a = V(e.get(j), e.get(z), r);
395
- Object.keys(e.get(j)).length > 0 && await U();
396
- let n = 900;
397
- if (e.get(y)) {
398
- const i = typeof localStorage < "u" ? localStorage.getItem(`checkout-expiry-${e.get(
399
- y
400
- // @storage-escape: checkout-timer state (intentional raw localStorage)
401
- )}`) : null;
402
- if (i) {
403
- const u = Math.max(0, Math.floor((parseInt(i, 10) - Date.now()) / 1e3));
404
- u > 0 && (n = u);
405
- }
406
- try {
407
- const u = await De(e.get(y));
408
- !u.error && u.expiresAt && (n = Math.max(0, Math.floor((new Date(u.expiresAt).getTime() - Date.now()) / 1e3)), localStorage.setItem(
409
- // @storage-escape: checkout-timer state (intentional raw localStorage)
410
- `checkout-expiry-${e.get(y)}`,
411
- String(new Date(u.expiresAt).getTime())
412
- ));
413
- } catch {
414
- }
415
- }
416
- if (e.set(
417
- b,
418
- {
419
- event: O(e.get(g), r),
420
- lines: a,
421
- timerStart: n,
422
- promoApplied: !!e.get(H),
423
- promoDiscount: e.get(ie),
424
- forceExpired: !1,
425
- ...k ? { serverTotals: k } : {}
426
- },
427
- !0
428
- ), I()) {
429
- const i = Z(typeof I() == "object" ? I() : {
430
- code: "card_declined",
431
- message: "Your card was declined. Please try a different payment method."
432
- });
433
- e.set(p, i.message, !0);
434
- }
435
- });
436
- async function U() {
437
- if (!e.get(y)) {
438
- R.error("Missing cartId!");
439
- return;
440
- }
441
- const r = Object.fromEntries(Object.entries(e.get(j)).filter(([a, n]) => n > 0));
442
- try {
443
- const a = Object.fromEntries(Object.entries(e.get(Q)).filter(([, m]) => parseFloat(String(m)) > 0).map(([m, T]) => [parseInt(m, 10), parseFloat(String(T))]));
444
- if (e.get(H)) {
445
- const m = await Ne(e.get(y), e.get(H));
446
- m.success || R.error("Failed to apply promo code to cart:", m.error);
447
- }
448
- const n = await Oe(e.get(y), r, Object.keys(a).length > 0 ? a : void 0);
449
- if (!n) {
450
- e.set(p, d().failedToCreatePaymentIntent || "Failed to create payment intent. Please try again.", !0);
451
- return;
452
- }
453
- const i = (
454
- /** @type {any} */
455
- n
456
- );
457
- if (k = {
458
- subtotal: (i.subtotal ?? 0) / 100,
459
- fees: (i.service_fee ?? 0) / 100,
460
- taxes: (i.tax_amount_exclusive ?? 0) / 100,
461
- total: (i.amount_total ?? 0) / 100,
462
- promoDiscount: (i.discount ?? 0) / 100,
463
- giftCardAmount: (i.gift_card_amount ?? 0) / 100,
464
- stripeAmount: (i.stripe_amount ?? 0) / 100
465
- }, e.get(b) && e.set(
466
- b,
467
- {
468
- ...e.get(b),
469
- serverTotals: k
470
- },
471
- !0
472
- ), i.requires_stripe === !1 || i.payment_type === "free") {
473
- e.set(S, "free");
474
- return;
475
- }
476
- const u = n.stripe_publishable_key;
477
- if (!u) {
478
- R.error("No Stripe publishable key in payment intent response"), e.set(p, d().paymentConfigError || "Payment configuration error. Please try again.", !0);
479
- return;
480
- }
481
- e.set(o, await $e(u), !0), n.client_secret ? e.set(S, n.client_secret, !0) : e.set(p, d().failedToInitPayment || "Failed to initialize payment. Please try again.", !0);
482
- } catch (a) {
483
- R.error("Failed to initialize Stripe payment:", a), e.set(p, a.message || d().failedToInitPayment || "Failed to initialize payment. Please try again.", !0);
484
- }
485
- }
486
- function O(r, a) {
487
- return r ? {
488
- id: r.id || r.eventID,
489
- title: r.name || r.title || "",
490
- slug: r.slug || e.get(P) || "",
491
- description: r.description || "",
492
- date: r.date || "",
493
- startDateTime: r.startDateTime || "",
494
- endDateTime: r.endDateTime || "",
495
- doorsOpenTime: r.doorsOpenTime || "",
496
- timezone: r.timeZone || r.timezone || ge(),
497
- imageUrl: r.imageUrl || r.image || "",
498
- venue: {
499
- id: r.venueID || r.venueId || 0,
500
- name: r.venueName || "",
501
- address: r.venueAddress || "",
502
- timezone: r.timeZone || r.timezone || ge(),
503
- serviceFeePercentage: a.serviceFeePercentage,
504
- serviceFeeCents: a.serviceFeeCents,
505
- taxPercentage: a.taxPercentage,
506
- serviceFeeChargeType: a.serviceFeeChargeType,
507
- maxServiceFeeCents: a.maxServiceFeeCents
508
- },
509
- performers: r.performers || [],
510
- tickets: (r.availableTickets || []).map((n) => ({
511
- id: n.ID || n.id,
512
- name: n.name || "",
513
- description: n.description || "",
514
- price: (n.price || 0) / 100,
515
- fee: 0,
516
- quantityAvailable: n.quantityAvailable || 0,
517
- quantityTotal: n.quantityTotal || 0,
518
- minPerOrder: n.minPerOrder || 1,
519
- maxPerOrder: n.maxPerOrder || 10,
520
- status: "on_sale",
521
- isDonation: n.type === 2,
522
- isHidden: !1
523
- })),
524
- faqs: r.faqs || [],
525
- status: "on_sale",
526
- isPasswordProtected: !1,
527
- isRegistrationEvent: r.eventTicketingType === 1 || r.ticketType === 1,
528
- totalTicketsRemaining: 100,
529
- totalTicketsCapacity: 100
530
- } : null;
531
- }
532
- function V(r, a, n) {
533
- const i = [];
534
- for (const [u, m] of Object.entries(r)) {
535
- if (m <= 0) continue;
536
- const T = a.find((ue) => String(ue.ID) === u || String(ue.id) === u);
537
- if (!T) continue;
538
- const re = T.price || 0, Ce = W(re, n);
539
- i.push({
540
- ticketId: parseInt(u),
541
- ticketName: T.name || "",
542
- quantity: m,
543
- unitPrice: re,
544
- fee: Ce,
545
- subtotal: pe(re * m)
546
- });
547
- }
548
- return i;
549
- }
550
- function W(r, a) {
551
- if (r === 0) return 0;
552
- const {
553
- serviceFeePercentage: n = 0,
554
- serviceFeeCents: i = 0,
555
- serviceFeeChargeType: u = "both",
556
- maxServiceFeeCents: m = 0
557
- } = a;
558
- let T = 0;
559
- return (u === "percentage" || u === "both") && (T += r * (n / 100)), (u === "fixed" || u === "flat" || u === "cents" || u === "both") && (T += i / 100), m > 0 && (T = Math.min(T, m / 100)), pe(T);
560
- }
561
- let A = e.derived(() => Object.values(e.get(Q)).some((r) => (Number(r) || 0) > 0)), B = e.derived(() => !e.get(A) && (e.get(b) ? e.get(b).lines.every((r) => r.unitPrice === 0) : !0));
562
- async function G(r) {
563
- if (!e.get(F)) {
564
- e.set(F, !0), e.set(p, "");
565
- try {
566
- if (e.get(N) && !e.get(N).requiresStripe) {
567
- await K(r);
568
- return;
569
- }
570
- if (e.get(B)) {
571
- await $(r);
572
- return;
573
- }
574
- if (!e.get(C)) {
575
- e.set(p, d().paymentFormNotReady || "Payment form is not ready. Please wait a moment and try again.", !0), e.set(F, !1);
576
- return;
577
- }
578
- if (!e.get(o)) {
579
- e.set(p, d().paymentSystemNotInitialized || "Payment system is not initialized. Please refresh the page.", !0), e.set(F, !1);
580
- return;
581
- }
582
- const { error: a } = await e.get(C).submit();
583
- if (a) {
584
- const m = Z(a);
585
- e.set(p, m.message, !0), e.set(F, !1);
586
- return;
587
- }
588
- const n = await e.get(o).confirmPayment({ elements: e.get(C), redirect: "if_required" });
589
- if (n.error) {
590
- const m = Z(n.error);
591
- e.set(p, m.message, !0), e.set(F, !1);
592
- return;
593
- }
594
- const i = {
595
- id: e.get(y),
596
- paymentIntentId: n.paymentIntent.id,
597
- tickets: e.get(j),
598
- firstName: r.firstName,
599
- lastName: r.lastName,
600
- email: r.email,
601
- paymentMethod: "credit-card",
602
- mailingList: r.keepMeUpdated,
603
- saleType: "online"
604
- }, u = await je(e.get(y), i);
605
- if (u?.status === "Payment succeeded") {
606
- const m = {
607
- orderId: e.get(y),
608
- eventId: e.get(g)?.id || e.get(g)?.eventID || null,
609
- event: e.get(g) || null,
610
- venueId: c() || e.get(g)?.venueId || null,
611
- organizationId: s() || e.get(g)?.organizationId || null
612
- };
613
- t.onNavigateToSuccess && t.onNavigateToSuccess(m);
614
- } else u?.status === "Payment amount does not match the total price" ? e.set(p, d().paymentAmountMismatch || "Payment amount mismatch. Please refresh and try again.", !0) : e.set(p, d().paymentValidationFailed || "Payment validation failed. Please try again.", !0);
615
- } catch (a) {
616
- R.error("Payment execution error:", a);
617
- const n = Z(a);
618
- e.set(p, n.message, !0);
619
- } finally {
620
- e.set(F, !1);
621
- }
622
- }
623
- }
624
- async function K(r) {
625
- try {
626
- const a = await ze(e.get(y), {
627
- firstName: r.firstName,
628
- lastName: r.lastName,
629
- email: r.email,
630
- phoneNumber: null,
631
- mailingList: r.keepMeUpdated
632
- });
633
- if (a?.success) {
634
- const n = {
635
- orderId: a.orderId || e.get(y),
636
- eventId: e.get(g)?.id || e.get(g)?.eventID || null,
637
- event: e.get(g) || null,
638
- venueId: c() || e.get(g)?.venueId || null,
639
- organizationId: s() || e.get(g)?.organizationId || null,
640
- paymentType: "gift_card_only"
641
- };
642
- t.onNavigateToSuccess && t.onNavigateToSuccess(n);
643
- } else
644
- e.set(p, a?.error || d().failedToCompleteOrder || "Failed to complete order. Please try again.", !0);
645
- } catch (a) {
646
- R.error("Gift card payment error:", a);
647
- const n = Z(a);
648
- e.set(p, n.message, !0);
649
- } finally {
650
- e.set(F, !1);
651
- }
652
- }
653
- async function $(r) {
654
- try {
655
- if (e.get(S) !== "free" && await U(), e.get(S) !== "free") {
656
- e.set(p, d().failedToCompleteOrder || "Could not complete the order. Please try again.", !0);
657
- return;
658
- }
659
- const a = {
660
- orderId: e.get(y),
661
- eventId: e.get(g)?.id || e.get(g)?.eventID || null,
662
- event: e.get(g) || null,
663
- venueId: c() || e.get(g)?.venueId || null,
664
- organizationId: s() || e.get(g)?.organizationId || null,
665
- paymentType: "free"
666
- };
667
- t.onNavigateToSuccess && t.onNavigateToSuccess(a);
668
- } catch (a) {
669
- R.error("Free order completion error:", a);
670
- const n = Z(a);
671
- e.set(p, n.message, !0);
672
- } finally {
673
- e.set(F, !1);
674
- }
675
- }
676
- function J(r) {
677
- if (e.set(N, r, !0), e.get(b) && k) {
678
- const a = r.requiresStripe ? r.stripeAmount ?? 0 : 0;
679
- e.set(
680
- b,
681
- {
682
- ...e.get(b),
683
- serverTotals: {
684
- ...k,
685
- giftCardAmount: r.giftCardAmount ?? 0,
686
- total: a
687
- }
688
- },
689
- !0
690
- );
691
- }
692
- r.requiresStripe ? e.get(y) && Object.keys(e.get(j)).length > 0 && U() : (e.set(C, void 0), e.set(o, null), e.set(S, ""));
693
- }
694
- function ee() {
695
- e.set(N, null), e.get(b) && k && e.set(
696
- b,
697
- {
698
- ...e.get(b),
699
- serverTotals: k
700
- },
701
- !0
702
- ), e.get(y) && Object.keys(e.get(j)).length > 0 && U();
703
- }
704
- function te() {
705
- f() ? f()() : window.history.back();
706
- }
707
- function x() {
708
- f() ? f()() : window.history.back();
709
- }
710
- async function E() {
711
- if (!e.get(y)) return null;
712
- try {
713
- const r = await Re(e.get(y));
714
- return r.success ? {
715
- newExpiryTime: r.newExpiryTime,
716
- remainingExtensions: r.remainingExtensions
717
- } : (R.error("Failed to extend session:", r.error), null);
718
- } catch (r) {
719
- return R.error("Error extending checkout session:", r), null;
720
- }
721
- }
722
- var h = e.comment(), w = e.first_child(h);
723
- {
724
- var L = (r) => {
725
- var a = ut(), n = e.first_child(a);
726
- qe(n, {
727
- get config() {
728
- return e.get(b);
729
- },
730
- onPlaceOrder: G,
731
- onBack: te,
732
- onRetryExpired: x,
733
- onExtendSession: E,
734
- get stripe() {
735
- return e.get(o);
736
- },
737
- get paymentIntent() {
738
- return e.get(S);
739
- },
740
- get paymentError() {
741
- return e.get(p);
742
- },
743
- get labels() {
744
- return d();
745
- },
746
- get elements() {
747
- return e.get(C);
748
- },
749
- set elements(m) {
750
- e.set(C, m, !0);
751
- }
752
- });
753
- var i = e.sibling(n, 2);
754
- {
755
- var u = (m) => {
756
- var T = ct(), re = e.child(T);
757
- dt(re, {
758
- get cartId() {
759
- return e.get(y);
760
- },
761
- onApplied: J,
762
- onRemoved: ee,
763
- get disabled() {
764
- return e.get(F);
765
- }
766
- }), e.reset(T), e.append(m, T);
767
- };
768
- e.if(i, (m) => {
769
- e.get(B) || m(u);
770
- });
771
- }
772
- e.append(r, a);
773
- }, Y = (r) => {
774
- var a = mt(), n = e.child(a), i = e.child(n, !0);
775
- e.reset(n), e.reset(a), e.template_effect(() => e.set_text(i, e.get(M))), e.append(r, a);
776
- }, X = (r) => {
777
- var a = ft(), n = e.child(a), i = e.child(n, !0);
778
- e.reset(n), e.reset(a), e.template_effect(() => e.set_text(i, d().loadingSecurePaymentForm || "Loading secure payment form...")), e.append(r, a);
779
- };
780
- e.if(w, (r) => {
781
- e.get(b) ? r(L) : e.get(q) ? r(Y, 1) : r(X, -1);
782
- });
783
- }
784
- e.append(v, h), e.pop();
785
- }
786
- export {
787
- ht as default
788
- };
789
- //# sourceMappingURL=Checkout-_NuoBAKt.js.map