@getmicdrop/venue-calendar 4.3.57 → 4.3.59

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 (118) hide show
  1. package/README.md +818 -818
  2. package/dist/AddOnCard-TEUXB3Sd.js +340 -0
  3. package/dist/{ArrowLeftIcon-DjqiKzR8.js → ArrowLeftIcon-C0jreEw8.js} +1 -1
  4. package/dist/{BlockPlaceholder-CgZr2Euq.js → BlockPlaceholder-DdoOD0gZ.js} +1 -1
  5. package/dist/{Calendar-CS_RqyU_.js → Calendar-BWLg7fOl.js} +3 -3
  6. package/dist/{CalendarFoundryView-DKZpskoX.js → CalendarFoundryView-C2le5l-k.js} +2654 -2588
  7. package/dist/{CalendarIcon-D9Z9YFz6.js → CalendarIcon-BOEpooZq.js} +1 -1
  8. package/dist/CartView-CTL1DQem.js +2293 -0
  9. package/dist/Checkout-B9OHWxzh.js +1933 -0
  10. package/dist/Checkout-D7Cgj12j.js +1076 -0
  11. package/dist/{CheckoutTimer-Ch4McYLj.js → CheckoutTimer-DPNmc1BX.js} +5 -5
  12. package/dist/{ChevronDownIcon-D9I-5bmz.js → ChevronDownIcon-Czxsi1W2.js} +1 -1
  13. package/dist/{CloseIcon-DPdjPdoi.js → CloseIcon-hLh5XXvh.js} +1 -1
  14. package/dist/{CollectionView-BBRXKR7L.js → CollectionView-LFCwHiPj.js} +13 -13
  15. package/dist/{Event-lTxMeEFL.js → Event-C63PLQhq.js} +431 -616
  16. package/dist/EventPage-CyDAwaQF.js +1200 -0
  17. package/dist/{Input-CDw-j5fQ.js → Input-dF1ZPavc.js} +1 -1
  18. package/dist/{MailIcon-C__hyCKr.js → MailIcon-T9SmOpQr.js} +1 -1
  19. package/dist/{PasswordInput-D3Pwparw.js → PasswordInput-B64o-TXR.js} +1 -1
  20. package/dist/{PhoneInput-oGG1WJii.js → PhoneInput-CsV2iC8B.js} +202 -202
  21. package/dist/{RecommendationsRail-BAdqxvuS.js → RecommendationsRail-Cb_c4ohM.js} +47 -47
  22. package/dist/ScarcityBadge-14VWzOL2.js +145 -0
  23. package/dist/{SeriesPage-iAbX0ZTM.js → SeriesPage-DeALgf5s.js} +3 -3
  24. package/dist/{Spinner-6QTo7mi8.js → Spinner-CW1KZMkc.js} +1 -1
  25. package/dist/{Success-B2T0Pbuw.js → Success-Dcd9bWCn.js} +85 -86
  26. package/dist/{TagIcon-DwWcRiXS.js → TagIcon-C8DU69Jv.js} +1 -1
  27. package/dist/{ViewTicketsEmbed-D8SEO2Zw.js → ViewTicketsEmbed-CWLSFG06.js} +14 -15
  28. package/dist/{WarningCircleIcon-C2fJjhKf.js → WarningCircleIcon-Cj8SHVfz.js} +26 -5
  29. package/dist/{WarningTriIcon-OqM9Rfwq.js → WarningTriIcon-CfCwvwsQ.js} +1 -1
  30. package/dist/__SKIP_NAVIGATION__-AOx8SI54.js +6 -0
  31. package/dist/api/api.cjs +1 -1
  32. package/dist/api/api.mjs +64 -32
  33. package/dist/api/cart-addons.d.ts +61 -0
  34. package/dist/api/index.d.ts +2 -0
  35. package/dist/{api-DMjowaFJ.js → api-Br260RVo.js} +190 -127
  36. package/dist/{constants-DC0xZ-Ja.js → constants-DWS8C09a.js} +3 -0
  37. package/dist/{copyToClipboard-CL9BmJA4.js → copyToClipboard-C_fcBdn4.js} +1 -1
  38. package/dist/{createErrorGate.svelte-DwTTmYou.js → createErrorGate.svelte-jZMaO7KA.js} +1 -1
  39. package/dist/{de-DWVo-yVF.js → de-BEfuIgIj.js} +3 -0
  40. package/dist/{defaultLabels-BaVkGLw4.js → defaultLabels-CqkC-rOG.js} +530 -427
  41. package/dist/{defaults-C6to4-1V.js → defaults-BLhQWNFt.js} +2 -2
  42. package/dist/{es-D2JTgwLx.js → es-Bd4g_HxR.js} +3 -0
  43. package/dist/{event-xgg-eiTq.js → event-DaWMe2IV.js} +1 -1
  44. package/dist/{event-transform-BF1WYBSP.js → event-transform-WnvEyzV-.js} +19 -19
  45. package/dist/{eventStatusStream-8vyVag0u.js → eventStatusStream-DgWemzCE.js} +1 -1
  46. package/dist/{fr-kMyKMhNC.js → fr-Blc79wvV.js} +3 -0
  47. package/dist/{href-DO3HKeJp.js → href-x-W1j8EY.js} +2 -2
  48. package/dist/{i18n-jISDKw5F.js → i18n-DFWp9lQ_.js} +2 -2
  49. package/dist/{i18n-toTFR5-t.js → i18n-DgjCm8g6.js} +93 -93
  50. package/dist/{id-ePSZ9pc6.js → id-DzzsiF4d.js} +3 -0
  51. package/dist/{it-CBG5vN1f.js → it-B4zXRsxu.js} +3 -0
  52. package/dist/{ja-BEOrhLFG.js → ja-eT4_QPKd.js} +3 -0
  53. package/dist/{ko-D8x_4jV4.js → ko-B8Fmrldj.js} +3 -0
  54. package/dist/locales/4.3.59/flow/de.js +1 -0
  55. package/dist/locales/4.3.59/flow/es.js +1 -0
  56. package/dist/locales/4.3.59/flow/fr.js +1 -0
  57. package/dist/locales/4.3.59/flow/id.js +1 -0
  58. package/dist/locales/4.3.59/flow/it.js +1 -0
  59. package/dist/locales/4.3.59/flow/ja.js +1 -0
  60. package/dist/locales/4.3.59/flow/ko.js +1 -0
  61. package/dist/locales/4.3.59/flow/nl.js +1 -0
  62. package/dist/locales/4.3.59/flow/pl.js +1 -0
  63. package/dist/locales/4.3.59/flow/pt-br.js +1 -0
  64. package/dist/locales/4.3.59/flow/tr.js +1 -0
  65. package/dist/locales/4.3.59/flow/zh.js +1 -0
  66. package/dist/{nl-Vc5Wd3re.js → nl-Dnug8LYt.js} +3 -0
  67. package/dist/{orders-FcXWw6b-.js → orders-DlyjunUM.js} +4 -4
  68. package/dist/{pixels-B85kohqd.js → pixels-n1zu1IhF.js} +1 -1
  69. package/dist/{pl-Dnjh6Wpy.js → pl-C3XxoYWF.js} +3 -0
  70. package/dist/{pt-br-BJa34BZo.js → pt-br-Y40SBe4b.js} +3 -0
  71. package/dist/{scarcity-CR1Pa81F.js → scarcity-KJNxIMxj.js} +100 -100
  72. package/dist/{serverTotals-DeOPPRj6.js → serverTotals-Cb7pt5Z-.js} +8 -8
  73. package/dist/{showcase-state-options-BGmvUaQ_.js → showcase-state-options-Ce1_tYvH.js} +1 -1
  74. package/dist/{to-event-card-props-DLOxO2oP.js → to-event-card-props-KoNvp_D9.js} +15 -16
  75. package/dist/{tr-Do7HmDL7.js → tr-2zIJ-vq2.js} +3 -0
  76. package/dist/types/index.d.ts +597 -597
  77. package/dist/{utils-DpC4fy4Z.js → utils-VHFV7pBb.js} +2 -2
  78. package/dist/venue-calendar.css +1 -1
  79. package/dist/venue-calendar.es.js +191 -192
  80. package/dist/venue-calendar.iife.js +22 -22
  81. package/dist/venue-calendar.umd.js +53 -53
  82. package/dist/{zh-Dn20V0BT.js → zh-vNYvCXO7.js} +3 -0
  83. package/package.json +220 -220
  84. package/src/lib/theme.js +222 -222
  85. package/dist/Badge-BsWJrQII.js +0 -108
  86. package/dist/CartView-Dz3Pet0D.js +0 -2294
  87. package/dist/Checkout-Bqe1P7Jr.js +0 -1849
  88. package/dist/Checkout-CFv2AX68.js +0 -1040
  89. package/dist/ClockIcon-C7nkbmvv.js +0 -25
  90. package/dist/EventPage-Cqkelq-1.js +0 -1201
  91. package/dist/ScarcityBadge-BXn6HM_K.js +0 -116
  92. package/dist/liveAnnouncer-D3xVL7qA.js +0 -32
  93. package/dist/locales/4.3.57/flow/de.js +0 -1
  94. package/dist/locales/4.3.57/flow/es.js +0 -1
  95. package/dist/locales/4.3.57/flow/fr.js +0 -1
  96. package/dist/locales/4.3.57/flow/id.js +0 -1
  97. package/dist/locales/4.3.57/flow/it.js +0 -1
  98. package/dist/locales/4.3.57/flow/ja.js +0 -1
  99. package/dist/locales/4.3.57/flow/ko.js +0 -1
  100. package/dist/locales/4.3.57/flow/nl.js +0 -1
  101. package/dist/locales/4.3.57/flow/pl.js +0 -1
  102. package/dist/locales/4.3.57/flow/pt-br.js +0 -1
  103. package/dist/locales/4.3.57/flow/tr.js +0 -1
  104. package/dist/locales/4.3.57/flow/zh.js +0 -1
  105. package/dist/order-totals-5X0jD77w.js +0 -151
  106. package/dist/promo-BNwWtZjP.js +0 -37
  107. /package/dist/locales/{4.3.57 → 4.3.59}/main/de.js +0 -0
  108. /package/dist/locales/{4.3.57 → 4.3.59}/main/es.js +0 -0
  109. /package/dist/locales/{4.3.57 → 4.3.59}/main/fr.js +0 -0
  110. /package/dist/locales/{4.3.57 → 4.3.59}/main/id.js +0 -0
  111. /package/dist/locales/{4.3.57 → 4.3.59}/main/it.js +0 -0
  112. /package/dist/locales/{4.3.57 → 4.3.59}/main/ja.js +0 -0
  113. /package/dist/locales/{4.3.57 → 4.3.59}/main/ko.js +0 -0
  114. /package/dist/locales/{4.3.57 → 4.3.59}/main/nl.js +0 -0
  115. /package/dist/locales/{4.3.57 → 4.3.59}/main/pl.js +0 -0
  116. /package/dist/locales/{4.3.57 → 4.3.59}/main/pt-br.js +0 -0
  117. /package/dist/locales/{4.3.57 → 4.3.59}/main/tr.js +0 -0
  118. /package/dist/locales/{4.3.57 → 4.3.59}/main/zh.js +0 -0
@@ -0,0 +1,1076 @@
1
+ import { g as e, m as t, p as n } from "./sizing-CFDo_qh_.js";
2
+ import { n as r, r as i, t as a } from "./CloseIcon-hLh5XXvh.js";
3
+ import { r as o } from "./Input-dF1ZPavc.js";
4
+ import { E as s, f as c, x as l } from "./scarcity-KJNxIMxj.js";
5
+ import { o as u, r as d } from "./ScarcityBadge-14VWzOL2.js";
6
+ import { t as f } from "./TagIcon-C8DU69Jv.js";
7
+ import { t as p } from "./WarningTriIcon-CfCwvwsQ.js";
8
+ import { d as m, n as h } from "./z-index-Bo0dqmiq.js";
9
+ import { A as g, L as _, b as v, n as y, t as b } from "./defaultLabels-CqkC-rOG.js";
10
+ import { t as x } from "./Button-AZ8OLQqj.js";
11
+ import { W as S, c as C, i as w, n as T, o as E, p as ee, r as te, t as ne } from "./orders-DlyjunUM.js";
12
+ import { n as re, t as ie } from "./serverTotals-Cb7pt5Z-.js";
13
+ import { A as ae, c as oe, f as se, l as ce, o as le, s as D } from "./api-Br260RVo.js";
14
+ import { a as O, i as k, n as A, r as j, t as M } from "./ModalFooter-ngqovl_z.js";
15
+ import { t as ue } from "./event-transform-WnvEyzV-.js";
16
+ import { t as de } from "./venue-BBoZBuhu.js";
17
+ import { b as fe, g as pe, h as me, l as he, r as ge, v as _e } from "./utils-VHFV7pBb.js";
18
+ import { a as ve } from "./AddOnCard-TEUXB3Sd.js";
19
+ import ye, { n as be, t as xe } from "./Checkout-B9OHWxzh.js";
20
+ import { n as Se } from "./buyerEmail-BfCq-gDt.js";
21
+ import "svelte/internal/disclose-version";
22
+ import * as N from "svelte/internal/client";
23
+ import { onMount as Ce } from "svelte";
24
+ //#region node_modules/@stripe/stripe-js/dist/index.mjs
25
+ function P(e) {
26
+ "@babel/helpers - typeof";
27
+ return P = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
28
+ return typeof e;
29
+ } : function(e) {
30
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
31
+ }, P(e);
32
+ }
33
+ var we = "dahlia", F = function(e) {
34
+ return e === 3 ? "v3" : e;
35
+ }, Te = "https://js.stripe.com", I = `${Te}/${we}/stripe.js`, L = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/, Ee = /^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/, R = "loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used", De = function(e) {
36
+ return L.test(e) || Ee.test(e);
37
+ }, z = function() {
38
+ for (var e = document.querySelectorAll(`script[src^="${Te}"]`), t = 0; t < e.length; t++) {
39
+ var n = e[t];
40
+ if (De(n.src)) return n;
41
+ }
42
+ return null;
43
+ }, B = function(e) {
44
+ var t = e && !e.advancedFraudSignals ? "?advancedFraudSignals=false" : "", n = document.createElement("script");
45
+ n.src = `${I}${t}`;
46
+ var r = document.head || document.body;
47
+ if (!r) throw Error("Expected document.body not to be null. Stripe.js requires a <body> element.");
48
+ return r.appendChild(n), n;
49
+ }, V = function(e, t) {
50
+ !e || !e._registerWrapper || e._registerWrapper({
51
+ name: "stripe-js",
52
+ version: "9.13.0",
53
+ startTime: t
54
+ });
55
+ }, H = null, U = null, W = null, Oe = function(e) {
56
+ return function(t) {
57
+ e(Error("Failed to load Stripe.js", { cause: t }));
58
+ };
59
+ }, G = function(e, t) {
60
+ return function() {
61
+ window.Stripe ? e(window.Stripe) : t(/* @__PURE__ */ Error("Stripe.js not available"));
62
+ };
63
+ }, ke = function(e) {
64
+ return H === null ? (H = new Promise(function(t, n) {
65
+ if (typeof window > "u" || typeof document > "u") {
66
+ t(null);
67
+ return;
68
+ }
69
+ if (window.Stripe && e && console.warn(R), window.Stripe) {
70
+ t(window.Stripe);
71
+ return;
72
+ }
73
+ try {
74
+ var r = z();
75
+ if (r && e) console.warn(R);
76
+ else if (!r) r = B(e);
77
+ else if (r && W !== null && U !== null) {
78
+ var i;
79
+ r.removeEventListener("load", W), r.removeEventListener("error", U), (i = r.parentNode) == null || i.removeChild(r), r = B(e);
80
+ }
81
+ W = G(t, n), U = Oe(n), r.addEventListener("load", W), r.addEventListener("error", U);
82
+ } catch (e) {
83
+ n(e);
84
+ return;
85
+ }
86
+ }), H.catch(function(e) {
87
+ return H = null, Promise.reject(e);
88
+ })) : H;
89
+ }, K = function(e, t, n) {
90
+ if (e === null) return null;
91
+ var r = t[0];
92
+ if (typeof r != "string") throw Error(`Expected publishable key to be of type string, got type ${P(r)} instead.`);
93
+ var i = r.match(/^pk_test/), a = F(e.version), o = we;
94
+ i && a !== o && console.warn(`Stripe.js@${a} was loaded on the page, but @stripe/stripe-js@9.13.0 expected Stripe.js@${o}. This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning`);
95
+ var s = e.apply(void 0, t);
96
+ return V(s, n), s;
97
+ }, q, J = !1, Y = function() {
98
+ return q || (q = ke(null).catch(function(e) {
99
+ return q = null, Promise.reject(e);
100
+ }), q);
101
+ };
102
+ Promise.resolve().then(function() {
103
+ return Y();
104
+ }).catch(function(e) {
105
+ J || console.warn(e);
106
+ });
107
+ var Ae = function() {
108
+ var e = [...arguments];
109
+ J = !0;
110
+ var t = Date.now();
111
+ return Y().then(function(n) {
112
+ return K(n, e, t);
113
+ });
114
+ };
115
+ //#endregion
116
+ //#region src/lib/utils/stripe-errors.ts
117
+ function X(e, t = b) {
118
+ let n = e?.code || e?.decline_code || "", r = e?.type || "", i = e?.message || "";
119
+ if (n === "card_declined" || r === "card_error") {
120
+ let n = e?.decline_code || "";
121
+ return n === "insufficient_funds" ? {
122
+ type: "card_declined",
123
+ title: t.cardInsufficientFundsTitle || "Insufficient funds",
124
+ message: t.cardInsufficientFundsMessage || "Your card has insufficient funds to complete this purchase",
125
+ suggestion: t.cardInsufficientFundsSuggestion || "Please try a different payment method or contact your bank",
126
+ retryable: !0
127
+ } : n === "lost_card" || n === "stolen_card" ? {
128
+ type: "card_declined",
129
+ title: t.cardUnusableTitle || "Card cannot be used",
130
+ message: t.cardUnusableMessage || "This card cannot be used for this transaction",
131
+ suggestion: t.cardUnusableSuggestion || "Please use a different payment method",
132
+ retryable: !0
133
+ } : n === "expired_card" ? {
134
+ type: "card_declined",
135
+ title: t.cardExpiredTitle || "Card expired",
136
+ message: t.cardExpiredMessage || "Your card has expired",
137
+ suggestion: t.cardExpiredSuggestion || "Please use a different card or update your card details",
138
+ retryable: !0
139
+ } : n === "do_not_honor" ? {
140
+ type: "card_declined",
141
+ title: t.cardDeclinedTitle || "Card declined",
142
+ message: t.cardDoNotHonorMessage || "Your bank declined this card",
143
+ suggestion: t.cardDoNotHonorSuggestion || "Try another card or call your bank",
144
+ retryable: !0
145
+ } : {
146
+ type: "card_declined",
147
+ title: t.cardDeclinedTitle || "Card declined",
148
+ message: t.cardDeclinedMessage || "Your card was declined by your bank",
149
+ suggestion: t.cardDeclinedSuggestion || "Please try a different card or contact your bank for more information",
150
+ retryable: !0
151
+ };
152
+ }
153
+ return r === "api_connection_error" || i.includes("network") || i.includes("connection") ? {
154
+ type: "network",
155
+ title: t.connectionError || "Connection error",
156
+ message: t.paymentConnectionErrorMessage || "We couldn't connect to the payment server",
157
+ suggestion: t.paymentConnectionErrorSuggestion || "Please check your internet connection and try again",
158
+ retryable: !0
159
+ } : n === "rate_limit" ? {
160
+ type: "rate_limit",
161
+ title: t.tooManyAttemptsTitle || "Too many attempts",
162
+ message: t.tooManyAttemptsMessage || "Too many payment attempts. Please wait a moment",
163
+ suggestion: t.tooManyAttemptsSuggestion || "Wait 30 seconds before trying again",
164
+ retryable: !0
165
+ } : n === "incorrect_number" || n === "invalid_number" ? {
166
+ type: "validation",
167
+ title: t.invalidCardNumberTitle || "Invalid card number",
168
+ message: t.invalidCardNumberMessage || "The card number you entered is invalid",
169
+ suggestion: t.invalidCardNumberSuggestion || "Please check your card number and try again",
170
+ retryable: !0
171
+ } : n === "incorrect_cvc" || n === "invalid_cvc" ? {
172
+ type: "validation",
173
+ title: t.invalidCvcTitle || "Invalid security code",
174
+ message: t.invalidCvcMessage || "The security code (CVC) is incorrect",
175
+ suggestion: t.invalidCvcSuggestion || "Please check the 3-digit code on the back of your card",
176
+ retryable: !0
177
+ } : n === "invalid_expiry_month" || n === "invalid_expiry_year" ? {
178
+ type: "validation",
179
+ title: t.invalidExpiryTitle || "Invalid expiration date",
180
+ message: t.invalidExpiryMessage || "The expiration date is invalid",
181
+ suggestion: t.invalidExpirySuggestion || "Please check your card's expiration date",
182
+ retryable: !0
183
+ } : {
184
+ type: "general",
185
+ title: t.paymentFailedTitle || "Payment failed",
186
+ message: i || t.paymentFailedMessage || "Something went wrong with your payment",
187
+ suggestion: t.paymentFailedSuggestion || "Please try again or use a different payment method",
188
+ retryable: !0
189
+ };
190
+ }
191
+ //#endregion
192
+ //#region src/components/Events/Checkout/GiftCardInput.svelte
193
+ var Z = e("GiftCardInput"), Q = N.from_html("<div class=\"applied-card mb-2 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=\"type-caption text-status-success-text\"> </span> <span class=\"type-body font-mono text-text-primary\"> </span></div> <span class=\"type-label text-accent-success\"> </span> <!></div></div>"), je = N.from_html("<div class=\"applied-card mb-3 svelte-emw0hd\"><div><!> <span> </span></div></div>"), Me = N.from_html("<div class=\"flex items-center gap-1.5 mt-2 type-body text-accent-danger\"><!> <span> </span></div>"), Ne = N.from_html("<div class=\"input-section svelte-emw0hd\"><div class=\"flex gap-2\"><input type=\"text\" name=\"giftCardCode\" autocomplete=\"off\" autocapitalize=\"characters\"/> <!></div> <!></div>"), Pe = N.from_html("<div class=\"mb-4\"><!> <!> <button type=\"button\"><!> <span> </span> <span class=\"toggle-indicator svelte-emw0hd\"> </span></button> <!></div>");
194
+ function Fe(e, i) {
195
+ N.push(i, !0);
196
+ let o = N.prop(i, "onApplied", 3, () => {}), s = N.prop(i, "onRemoved", 3, () => {}), c = N.prop(i, "disabled", 3, !1), u = N.prop(i, "labels", 3, b), d = N.prop(i, "owedTotal", 3, 0), g = N.prop(i, "serverGiftCardAmount", 3, null), _ = N.state(""), v = N.state(!1), y = N.state(""), S = N.state(N.proxy([])), C = N.state(!1), w = N.state(0);
197
+ N.user_effect(() => {
198
+ if (!i.cartId || N.get(S).length > 0 || g() === 0) return;
199
+ let e = !1;
200
+ return te(i.cartId).then((t) => {
201
+ if (e || !t?.giftCards?.length) return;
202
+ let n = t.giftCards.filter((e) => typeof e.amount == "number");
203
+ n.length !== t.giftCards.length && Z.error("Ignored applied gift card(s) with an unusable amount while restoring the panel"), n.length !== 0 && (N.set(S, n.map((e) => ({
204
+ giftCardId: e.giftCardId,
205
+ code: e.maskedCode,
206
+ giftCardAmount: e.amount
207
+ })), !0), N.set(w, N.get(S).reduce((e, t) => e + (t.giftCardAmount || 0), 0) + (d() || 0)));
208
+ }).catch((e) => Z.error("Could not restore applied gift cards:", e)), () => {
209
+ e = !0;
210
+ };
211
+ });
212
+ let T = N.derived(() => N.get(S).reduce((e, t) => e + (t.giftCardAmount || 0), 0)), E = N.derived(() => Math.max(0, N.get(w) - N.get(T))), ee = N.derived(() => N.get(S).length > 0 && N.get(E) <= 0);
213
+ function ne() {
214
+ if (N.get(S).length === 0) {
215
+ s()();
216
+ return;
217
+ }
218
+ o()({
219
+ code: N.get(S).map((e) => e.code).join(", "),
220
+ giftCardAmount: N.get(T),
221
+ stripeAmount: N.get(E),
222
+ requiresStripe: N.get(E) > 0,
223
+ paymentType: N.get(E) > 0 ? "split" : "gift_card_only",
224
+ orderTotal: N.get(w)
225
+ });
226
+ }
227
+ async function re() {
228
+ let e = N.get(_).trim().toUpperCase();
229
+ if (!(!e || N.get(v) || !i.cartId)) {
230
+ if (N.get(S).some((t) => t.code === e)) {
231
+ N.set(y, u().giftCardAlreadyApplied || "That gift card is already applied", !0);
232
+ return;
233
+ }
234
+ N.set(v, !0), N.set(y, "");
235
+ try {
236
+ let t = await D(i.cartId, e);
237
+ t.valid ? (N.set(S, [...N.get(S), {
238
+ code: t.giftCardCode || e,
239
+ giftCardAmount: t.giftCardAmount || 0
240
+ }], !0), N.set(w, N.get(T) + (t.stripeAmount || 0)), N.set(_, ""), N.set(C, !1), ne()) : N.set(y, t.error || u().invalidGiftCardCode || "Invalid gift card code", !0);
241
+ } catch (e) {
242
+ Z.error("Error applying gift card:", e);
243
+ let t = e && typeof e == "object" && typeof e.message == "string" ? e.message : "";
244
+ N.set(y, t || u().failedToApplyGiftCard || "Failed to apply gift card. Please try again", !0);
245
+ }
246
+ N.set(v, !1);
247
+ }
248
+ }
249
+ async function ie(e) {
250
+ if (!(N.get(v) || !i.cartId)) {
251
+ N.set(v, !0), N.set(y, "");
252
+ try {
253
+ let t = N.get(S).find((t) => t.code === e), n = await ce(i.cartId, t?.giftCardId ? { giftCardId: t.giftCardId } : { code: e });
254
+ n.success !== !1 && !n.error ? (N.set(S, N.get(S).filter((t) => t.code !== e), !0), typeof n.remainingTotal == "number" && N.set(w, N.get(T) + n.remainingTotal), ne()) : N.set(y, n.error || u().failedToRemoveGiftCard || "Failed to remove gift card. Please try again", !0);
255
+ } catch (e) {
256
+ Z.error("Error removing gift card:", e), N.set(y, u().failedToRemoveGiftCard || "Failed to remove gift card. Please try again", !0);
257
+ }
258
+ N.set(v, !1);
259
+ }
260
+ }
261
+ function ae(e) {
262
+ e.key === "Enter" && !N.get(v) && re();
263
+ }
264
+ function oe() {
265
+ N.set(C, !N.get(C)), N.get(C) || (N.set(_, ""), N.set(y, ""));
266
+ }
267
+ var se = Pe(), le = N.child(se);
268
+ N.each(le, 17, () => N.get(S), (e) => e.code, (e, t) => {
269
+ var n = Q(), i = N.child(n), o = N.child(i), s = N.child(o);
270
+ r(s, { size: "16" }), N.reset(o);
271
+ var d = N.sibling(o, 2), f = N.child(d), p = N.child(f, !0);
272
+ N.reset(f);
273
+ var g = N.sibling(f, 2), _ = N.child(g, !0);
274
+ N.reset(g), N.reset(d);
275
+ var y = N.sibling(d, 2), b = N.child(y);
276
+ N.reset(y);
277
+ var S = N.sibling(y, 2);
278
+ {
279
+ let e = N.derived(() => u().removeGiftCard || "Remove gift card");
280
+ x(S, {
281
+ variant: "icon",
282
+ size: "icon-sm",
283
+ class: "rounded-full hover:bg-status-error-bg hover:text-accent-danger",
284
+ onclick: () => ie(N.get(t).code),
285
+ get loading() {
286
+ return N.get(v);
287
+ },
288
+ get disabled() {
289
+ return c();
290
+ },
291
+ get "aria-label"() {
292
+ return N.get(e);
293
+ },
294
+ children: (e, t) => {
295
+ a(e, { size: "16" });
296
+ },
297
+ $$slots: { default: !0 }
298
+ });
299
+ }
300
+ N.reset(i), N.reset(n), N.template_effect((e) => {
301
+ N.set_text(p, u().giftCardApplied || "Gift card applied"), N.set_text(_, N.get(t).code), N.set_text(b, `-${e ?? ""}`);
302
+ }, [() => l(N.get(t).giftCardAmount)]), N.transition(3, n, () => m, () => ({ duration: h.fast })), N.append(e, n);
303
+ });
304
+ var O = N.sibling(le, 2), k = (e) => {
305
+ var i = je(), a = N.child(i), o = N.child(a);
306
+ r(o, { size: "16" });
307
+ var s = N.sibling(o, 2), c = N.child(s, !0);
308
+ N.reset(s), N.reset(a), N.reset(i), N.template_effect(() => {
309
+ N.set_class(a, 1, `full-coverage-badge ${t.caption ?? ""} ${n.emphasis ?? ""}`, "svelte-emw0hd"), N.set_text(c, u().fullyCoveredByGiftCard || "Fully covered by gift card");
310
+ }), N.append(e, i);
311
+ };
312
+ N.if(O, (e) => {
313
+ N.get(ee) && e(k);
314
+ });
315
+ var A = N.sibling(O, 2), j = N.child(A);
316
+ f(j, {
317
+ size: "20",
318
+ class: "gift-icon"
319
+ });
320
+ var M = N.sibling(j, 2), ue = N.child(M, !0);
321
+ N.reset(M);
322
+ var de = N.sibling(M, 2), fe = N.child(de, !0);
323
+ N.reset(de), N.reset(A);
324
+ var pe = N.sibling(A, 2), me = (e) => {
325
+ var n = Ne(), r = N.child(n), i = N.child(r);
326
+ N.remove_input_defaults(i);
327
+ let a;
328
+ var o = N.sibling(i, 2);
329
+ {
330
+ let e = N.derived(() => !N.get(_).trim() || c());
331
+ x(o, {
332
+ variant: "default",
333
+ size: "sm",
334
+ class: "min-w-16 shrink-0",
335
+ onclick: re,
336
+ get loading() {
337
+ return N.get(v);
338
+ },
339
+ get disabled() {
340
+ return N.get(e);
341
+ },
342
+ children: (e, t) => {
343
+ N.next();
344
+ var n = N.text();
345
+ N.template_effect(() => N.set_text(n, u().apply || "Apply")), N.append(e, n);
346
+ },
347
+ $$slots: { default: !0 }
348
+ });
349
+ }
350
+ N.reset(r);
351
+ var s = N.sibling(r, 2), l = (e) => {
352
+ var t = Me(), n = N.child(t);
353
+ p(n, { size: "16" });
354
+ var r = N.sibling(n, 2), i = N.child(r, !0);
355
+ N.reset(r), N.reset(t), N.template_effect(() => N.set_text(i, N.get(y))), N.transition(3, t, () => m, () => ({ duration: h.micro })), N.append(e, t);
356
+ };
357
+ N.if(s, (e) => {
358
+ N.get(y) && e(l);
359
+ }), N.reset(n), N.template_effect(() => {
360
+ N.set_attribute(i, "aria-label", u().enterGiftCardCode || "Enter gift card code"), N.set_attribute(i, "placeholder", u().enterGiftCardCode || "Enter gift card code"), i.disabled = N.get(v) || c(), a = N.set_class(i, 1, `gift-input ${t.body ?? ""}`, "svelte-emw0hd", a, { "has-error": !!N.get(y) });
361
+ }), N.delegated("keydown", i, ae), N.bind_value(i, () => N.get(_), (e) => N.set(_, e)), N.transition(3, n, () => m, () => ({ duration: h.fast })), N.append(e, n);
362
+ };
363
+ N.if(pe, (e) => {
364
+ N.get(C) && e(me);
365
+ }), N.reset(se), N.template_effect(() => {
366
+ N.set_class(A, 1, `gift-card-toggle ${t.label ?? ""}`, "svelte-emw0hd"), A.disabled = c(), N.set_attribute(A, "aria-expanded", N.get(C)), N.set_text(ue, N.get(S).length > 0 ? u().addAnotherGiftCard || "Add another gift card" : u().haveAGiftCard || "Have a gift card?"), N.set_text(fe, N.get(C) ? "-" : "+");
367
+ }), N.delegated("click", A, oe), N.append(e, se), N.pop();
368
+ }
369
+ N.delegate(["click", "keydown"]);
370
+ //#endregion
371
+ //#region src/components/Modals/EventUnavailableModal.svelte
372
+ var Ie = N.from_html("<div class=\"flex flex-col items-center text-center pt-6 px-4 pb-4\"><div aria-hidden=\"true\"><!></div> <h3 id=\"event-unavailable-title\"> </h3> <p id=\"event-unavailable-body\" class=\"type-body tone-secondary max-w-72\"> </p></div>"), Le = N.from_html("<!> <!>", 1);
373
+ function Re(e, n) {
374
+ N.push(n, !0);
375
+ let r = N.prop(n, "open", 15, !1), a = N.prop(n, "onBackToEvents", 3, () => {}), s = N.prop(n, "labels", 3, b), c = N.derived(() => n.reason === "canceled"), l = N.derived(() => N.get(c) ? s().eventCanceledTitle || "Event canceled" : s().eventPostponedTitle || "Event postponed"), u = N.derived(() => N.get(c) ? s().eventCanceledBody || "This event was canceled — you weren't charged" : s().eventPostponedBody || "Sales are paused while this show is rescheduled — you weren't charged"), d = N.derived(() => s().backToEvents || "Back to events");
376
+ O(e, {
377
+ size: "sm",
378
+ role: "alertdialog",
379
+ class: "micdrop",
380
+ get open() {
381
+ return r();
382
+ },
383
+ set open(e) {
384
+ r(e);
385
+ },
386
+ children: (e, n) => {
387
+ var r = Le(), s = N.first_child(r);
388
+ k(s, {});
389
+ var f = N.sibling(s, 2);
390
+ j(f, {
391
+ children: (e, n) => {
392
+ var r = Le(), s = N.first_child(r);
393
+ A(s, {
394
+ children: (e, n) => {
395
+ var r = Ie(), a = N.child(r), s = N.child(a), d = (e) => {
396
+ o(e, { size: "32" });
397
+ }, f = (e) => {
398
+ i(e, { size: "32" });
399
+ };
400
+ N.if(s, (e) => {
401
+ N.get(c) ? e(d) : e(f, -1);
402
+ }), N.reset(a);
403
+ var p = N.sibling(a, 2), m = N.child(p, !0);
404
+ N.reset(p);
405
+ var h = N.sibling(p, 2), g = N.child(h, !0);
406
+ N.reset(h), N.reset(r), N.template_effect(() => {
407
+ N.set_class(a, 1, `w-16 h-16 rounded-full flex items-center justify-center mb-4 ${N.get(c) ? "bg-accent-danger/10 text-accent-danger" : "bg-accent-warning/10 text-accent-warning"}`), N.set_class(p, 1, `mb-2 ${t.heading ?? ""}`), N.set_text(m, N.get(l)), N.set_text(g, N.get(u));
408
+ }), N.append(e, r);
409
+ },
410
+ $$slots: { default: !0 }
411
+ });
412
+ var f = N.sibling(s, 2);
413
+ M(f, {
414
+ children: (e, t) => {
415
+ x(e, {
416
+ size: "full",
417
+ variant: "default",
418
+ get onclick() {
419
+ return a();
420
+ },
421
+ get "aria-label"() {
422
+ return N.get(d);
423
+ },
424
+ children: (e, t) => {
425
+ N.next();
426
+ var n = N.text();
427
+ N.template_effect(() => N.set_text(n, N.get(d))), N.append(e, n);
428
+ },
429
+ $$slots: { default: !0 }
430
+ });
431
+ },
432
+ $$slots: { default: !0 }
433
+ }), N.append(e, r);
434
+ },
435
+ $$slots: { default: !0 }
436
+ }), N.append(e, r);
437
+ },
438
+ $$slots: { default: !0 }
439
+ }), N.pop();
440
+ }
441
+ //#endregion
442
+ //#region src/components/Views/Checkout.svelte
443
+ var $ = e("Checkout"), ze = N.from_html("<div class=\"p-8 text-center\"><p class=\"text-accent-danger\"> </p></div>"), Be = N.from_html("<div class=\"p-8 text-center\"><p class=\"tone-muted\"> </p></div>"), Ve = N.from_html("<!> <!>", 1);
444
+ function He(e, t) {
445
+ N.push(t, !0);
446
+ let n = N.prop(t, "availableTickets", 23, () => []);
447
+ N.prop(t, "value", 3, "");
448
+ let r = N.prop(t, "venueId", 3, ""), i = N.prop(t, "organizationId", 3, ""), a = N.prop(t, "onNavigateBack", 3, void 0), o = N.prop(t, "initialError", 3, void 0), l = N.prop(t, "widgetId", 3, null), f = N.prop(t, "labels", 3, b), p = N.prop(t, "locale", 3, void 0);
449
+ function m(e) {
450
+ if (!e) return {};
451
+ let t = { ...e.venue ?? {} };
452
+ for (let n of [
453
+ "askForPhoneAtCheckout",
454
+ "requiredPhoneAtCheckout",
455
+ "hasCustomCheckout",
456
+ "requiredCustomCheckout",
457
+ "questionPrompt"
458
+ ]) e[n] !== void 0 && (t[n] = e[n]);
459
+ return t;
460
+ }
461
+ let h = N.derived(() => (t.data || {}).id);
462
+ N.derived(() => (t.data || {}).orgSlug);
463
+ let x = N.derived(() => (t.data || {}).slug), te = N.derived(() => (t.data || {}).event), ce = N.derived(() => de(m(N.get(te)))), D = N.derived(() => N.get(te) ? {
464
+ ...ue(N.get(te)),
465
+ ...N.get(ce)
466
+ } : t.data && (t.data.id || N.get(h)) ? {
467
+ id: t.data.id || N.get(h),
468
+ eventID: t.data.id || N.get(h),
469
+ venueID: t.data.venueID ?? t.data.venueId ?? null,
470
+ venueId: t.data.venueId ?? t.data.venueID ?? null,
471
+ eventTicketingType: 0,
472
+ ticketType: 0,
473
+ availableTickets: []
474
+ } : null), O = N.state(""), k = N.state(N.proxy({})), A = N.state(N.proxy({})), j = N.state(N.proxy({})), M = N.state(N.proxy([])), P = N.state(""), we = N.state(0), F = N.state(!1), Te = N.state(!1), I = N.state(!1), L = N.state(!1), Ee = N.state(!1), R = N.state(null), De = N.derived(() => Object.values(N.get(k)).reduce((e, t) => e + (Number(t) || 0), 0)), z = N.state(null), B = N.state(""), V = N.state(void 0), H = N.state(null), U = N.state(""), W = N.state(!1), Oe = N.state(""), G = N.state(null), ke = N.derived(() => N.get(G) !== null), K = N.state(null), q = N.state(null), J = null, Y = N.state(!1);
475
+ function Z() {
476
+ return {
477
+ value: J?.total ?? null,
478
+ currency: J?.currency || "USD"
479
+ };
480
+ }
481
+ Ce(async () => {
482
+ if (N.set(O, be(he) || be(xe.CHECKOUT_CARTID), !0), !N.get(O)) {
483
+ N.set(W, !0), N.set(Oe, f().noCheckoutSession || "No checkout session found. Please select tickets first", !0);
484
+ return;
485
+ }
486
+ ee(N.get(D)?.eventID || N.get(D)?.id || N.get(h), l(), r() || N.get(D)?.venueID || N.get(D)?.venueId || null, N.get(O));
487
+ let e = N.get(D)?.eventID || N.get(D)?.id || N.get(h);
488
+ try {
489
+ let t = pe(e);
490
+ N.set(k, t.quantities || {}, !0), N.set(A, t.donationAmounts || {}, !0), N.set(j, t.addOnQuantities || {}, !0), N.set(P, t.promocode || "", !0), N.set(we, t.promoDiscountAmount || 0, !0), N.set(M, t.tickets || [], !0);
491
+ } catch (e) {
492
+ $.error("Error loading checkout state:", e), N.set(k, {}, !0), N.set(j, {}, !0), N.set(M, [], !0);
493
+ }
494
+ N.get(M).length > 0 && N.get(D) && (N.get(D).availableTickets = N.get(M), n(N.get(M)));
495
+ let t = ge(N.get(D)?.venueID || N.get(D)?.venueId || r()).then((e) => ({ data: e }), (e) => ({ error: e }));
496
+ await (Object.keys(N.get(k)).length > 0 ? je() : null);
497
+ let i = {
498
+ serviceFeeCents: 0,
499
+ serviceFeePercentage: 0,
500
+ serviceFeeChargeType: "both",
501
+ maxServiceFeeCents: 0,
502
+ absorbServiceFee: !1,
503
+ taxPercentage: 0
504
+ };
505
+ try {
506
+ let e = await t;
507
+ if ("error" in e) throw e.error;
508
+ let n = e.data;
509
+ i = {
510
+ serviceFeeCents: Number(n?.serviceFeeCents == null ? 0 : n.serviceFeeCents),
511
+ serviceFeePercentage: Number(n?.serviceFeePercentage ?? 0),
512
+ serviceFeeChargeType: String(n?.serviceFeeChargeType ?? "both"),
513
+ maxServiceFeeCents: Number(n?.maxServiceFeeCents == null ? 0 : n.maxServiceFeeCents),
514
+ absorbServiceFee: n?.absorbServiceFee === !0,
515
+ taxPercentage: Number(n?.taxPercentage ?? 0)
516
+ };
517
+ } catch (e) {
518
+ $.error("Error fetching venue data:", e);
519
+ }
520
+ let a = [...Ne(N.get(k), N.get(M), i), ...Pe(N.get(j), N.get(D)?.addOns)], c = 900, p = "", m, g;
521
+ if (N.get(O)) {
522
+ let e = _e(N.get(O));
523
+ if (e) {
524
+ let t = Math.max(0, Math.floor((e - Date.now()) / 1e3));
525
+ t > 0 && (c = t);
526
+ }
527
+ try {
528
+ let e = await w(N.get(O));
529
+ if (e.error || (e.remainingExtensions !== void 0 && (m = e.remainingExtensions), e.canExtend !== void 0 && (g = e.canExtend)), !e.error && e.expiresAt) {
530
+ let t = v(e.expiresAt).getTime();
531
+ c = Math.max(0, Math.floor((t - Date.now()) / 1e3)), p = e.expiresAt, fe(N.get(O), t);
532
+ }
533
+ } catch {}
534
+ }
535
+ let _ = be(`checkout-promo-discount-type-${e}`), y = [];
536
+ try {
537
+ let t = be(`checkout-promo-ticket-ids-${e}`), n = t ? JSON.parse(t) : [];
538
+ Array.isArray(n) && (y = n);
539
+ } catch {
540
+ y = [];
541
+ }
542
+ let b = s(a.filter((e) => d(y, e.ticketId)).reduce((e, t) => e + (t.subtotal == null ? 0 : t.subtotal), 0)), x = u(b, N.get(we), _);
543
+ if (N.set(q, {
544
+ event: Me(N.get(D), i),
545
+ lines: a,
546
+ timerStart: c,
547
+ ...p ? { deadlineAt: p } : {},
548
+ ...m === void 0 ? {} : { remainingExtensions: m },
549
+ ...g === void 0 ? {} : { canExtend: g },
550
+ promoApplied: !!N.get(P),
551
+ promoDiscount: x,
552
+ forceExpired: !1,
553
+ ...J ? { serverTotals: J } : {}
554
+ }, !0), o()) {
555
+ let e = X(typeof o() == "object" ? o() : {
556
+ code: "card_declined",
557
+ message: "Your card was declined. Please try a different payment method."
558
+ }, f());
559
+ N.set(H, {
560
+ message: e.message,
561
+ suggestion: e.suggestion
562
+ }, !0);
563
+ }
564
+ });
565
+ let Q = 0;
566
+ async function je() {
567
+ let e = ++Q;
568
+ if (!N.get(O)) {
569
+ $.error("Missing cartId!");
570
+ return;
571
+ }
572
+ let t = Object.fromEntries(Object.entries(N.get(k)).filter(([e, t]) => t > 0));
573
+ try {
574
+ let n = Object.fromEntries(Object.entries(N.get(A)).filter(([, e]) => parseFloat(String(e)) > 0).map(([e, t]) => [parseInt(e, 10), parseFloat(String(t))]));
575
+ if (N.get(P)) {
576
+ let t = await ae(N.get(O), N.get(P));
577
+ if (e !== Q) return;
578
+ t.success ? N.set(U, "") : ($.error("Failed to apply promo code to cart:", t.error), N.set(U, (f().promoCodeNotApplied || "We couldn't apply promo code {code}. It isn't included in this total — go back to re-enter it, or continue at the full price").replace("{code}", N.get(P)), !0));
579
+ }
580
+ let r = await ne(N.get(O), t, Object.keys(n).length > 0 ? n : void 0, void 0, p());
581
+ if (e !== Q) return;
582
+ if (!r) {
583
+ N.set(H, { message: f().failedToCreatePaymentIntent || "Failed to create payment intent. Please try again" }, !0);
584
+ return;
585
+ }
586
+ N.set(Y, !1), J = ie(r), N.get(q) && N.set(q, {
587
+ ...N.get(q),
588
+ serverTotals: J
589
+ }, !0);
590
+ let i = r;
591
+ if (i.requires_stripe === !1 || i.payment_type === "free") {
592
+ N.set(B, "free");
593
+ return;
594
+ }
595
+ N.set(Y, J === null);
596
+ let a = r.stripe_publishable_key;
597
+ if (!a) {
598
+ $.error("No Stripe publishable key in payment intent response"), N.set(H, { message: f().paymentConfigError || "Payment configuration error. Please try again" }, !0);
599
+ return;
600
+ }
601
+ let o = await Ae(a);
602
+ if (e !== Q) return;
603
+ N.set(z, o, !0), r.client_secret ? N.set(B, r.client_secret, !0) : N.set(H, { message: f().failedToInitPayment || "Failed to initialize payment. Please try again" }, !0);
604
+ } catch (t) {
605
+ if ($.error("Failed to initialize Stripe payment:", t), e !== Q) return;
606
+ N.set(H, { message: t.message || f().failedToInitPayment || "Failed to initialize payment. Please try again" }, !0);
607
+ }
608
+ }
609
+ function Me(e, t) {
610
+ return e ? {
611
+ id: e.id || e.eventID,
612
+ title: e.name || e.title || "",
613
+ slug: e.slug || N.get(x) || "",
614
+ description: e.description || "",
615
+ date: e.date || "",
616
+ startDateTime: e.startDateTime || "",
617
+ endDateTime: e.endDateTime || "",
618
+ doorsOpenTime: e.doorsOpenTime || "",
619
+ timezone: e.timeZone || e.timezone || y(),
620
+ imageUrl: e.imageUrl || e.image || "",
621
+ ...N.get(ce),
622
+ venue: {
623
+ id: e.venueID || e.venueId || 0,
624
+ name: e.venueName || e.venue?.name || "",
625
+ address: e.venueAddress || "",
626
+ timezone: e.timeZone || e.timezone || y(),
627
+ serviceFeePercentage: t.serviceFeePercentage,
628
+ serviceFeeCents: t.serviceFeeCents,
629
+ taxPercentage: t.taxPercentage,
630
+ serviceFeeChargeType: t.serviceFeeChargeType,
631
+ maxServiceFeeCents: t.maxServiceFeeCents,
632
+ absorbServiceFee: t.absorbServiceFee
633
+ },
634
+ performers: e.performers || [],
635
+ addOns: e.addOns || [],
636
+ tickets: (e.availableTickets || []).map((e) => ({
637
+ id: e.ID || e.id,
638
+ name: e.name || "",
639
+ description: e.description || "",
640
+ price: c(e.price),
641
+ fee: 0,
642
+ quantityAvailable: e.quantityAvailable || 0,
643
+ quantityTotal: e.quantityTotal || 0,
644
+ minPerOrder: e.minPerOrder || 1,
645
+ maxPerOrder: e.maxPerOrder || 10,
646
+ status: "on_sale",
647
+ isDonation: me(e),
648
+ isHidden: !1
649
+ })),
650
+ faqs: e.faqs || [],
651
+ status: "on_sale",
652
+ isPasswordProtected: !1,
653
+ isRegistrationEvent: e.eventTicketingType === 1 || e.ticketType === 1,
654
+ totalTicketsRemaining: 100,
655
+ totalTicketsCapacity: 100
656
+ } : null;
657
+ }
658
+ function Ne(e, t, n) {
659
+ let r = [];
660
+ for (let [i, a] of Object.entries(e)) {
661
+ if (a <= 0) continue;
662
+ let e = t.find((e) => String(e.ID) === i || String(e.id) === i);
663
+ if (!e) continue;
664
+ let o = me(e), c = e.price;
665
+ if (!o && (c == null || !Number.isFinite(c))) {
666
+ r.push({
667
+ ticketId: parseInt(i),
668
+ ticketName: e.name || "",
669
+ quantity: a,
670
+ unitPrice: null,
671
+ fee: 0,
672
+ subtotal: null,
673
+ isDonation: !1
674
+ });
675
+ continue;
676
+ }
677
+ let l = c ?? 0, u = ve(l, n, o);
678
+ r.push({
679
+ ticketId: parseInt(i),
680
+ ticketName: e.name || "",
681
+ quantity: a,
682
+ unitPrice: l,
683
+ fee: u,
684
+ subtotal: s(l * a),
685
+ isDonation: o
686
+ });
687
+ }
688
+ return r;
689
+ }
690
+ function Pe(e, t) {
691
+ let n = t || [], r = [];
692
+ for (let [t, i] of Object.entries(e || {})) {
693
+ if (!(i > 0)) continue;
694
+ let e = n.find((e) => String(e.id) === String(t));
695
+ if (!e) continue;
696
+ let a = g(_(Number(e.priceCents) || 0));
697
+ r.push({
698
+ ticketId: parseInt(t, 10),
699
+ lineKey: `a:${t}`,
700
+ kind: "addon",
701
+ ticketName: e.name || "",
702
+ quantity: i,
703
+ unitPrice: a,
704
+ fee: 0,
705
+ subtotal: s(a * i),
706
+ isDonation: !1
707
+ });
708
+ }
709
+ return r;
710
+ }
711
+ let Ie = N.derived(() => Object.values(N.get(A)).some((e) => (Number(e) || 0) > 0)), Le = N.derived(() => !N.get(Ie) && (!N.get(q) || N.get(q).lines.every((e) => e.unitPrice === 0)));
712
+ async function He(e) {
713
+ if (!N.get(F)) {
714
+ N.set(F, !0), N.set(H, null);
715
+ try {
716
+ if (N.get(I)) {
717
+ N.set(H, { message: f().paymentReinitializing || "Updating your total. Please wait a moment and try again" }, !0);
718
+ return;
719
+ }
720
+ if (N.get(K) && !N.get(K).requiresStripe) {
721
+ await Ue(e);
722
+ return;
723
+ }
724
+ if (N.get(Le) || N.get(B) === "free" || J?.total === 0) {
725
+ await We(e);
726
+ return;
727
+ }
728
+ if (!N.get(V)) {
729
+ N.set(H, {
730
+ message: f().paymentFormNotReady || "Payment form is not ready. Please wait a moment and try again",
731
+ blocking: !0
732
+ }, !0), N.set(F, !1);
733
+ return;
734
+ }
735
+ if (!N.get(z)) {
736
+ N.set(H, {
737
+ message: f().paymentSystemNotInitialized || "Payment system is not initialized. Please refresh the page",
738
+ blocking: !0
739
+ }, !0), N.set(F, !1);
740
+ return;
741
+ }
742
+ let n = await E(N.get(O), Object.fromEntries(Object.entries(N.get(k)).filter(([e, t]) => t > 0)), Object.keys(N.get(A)).length > 0 ? Object.fromEntries(Object.entries(N.get(A)).filter(([, e]) => parseFloat(String(e)) > 0).map(([e, t]) => [parseInt(e, 10), parseFloat(String(t))])) : void 0, {
743
+ firstName: e.firstName,
744
+ lastName: e.lastName,
745
+ email: e.email,
746
+ phone: e.phone,
747
+ questionAnswer: e.questionAnswer,
748
+ mailingList: e.keepMeUpdated
749
+ }, p());
750
+ if (n.refusal) {
751
+ N.set(H, { message: n.refusal }, !0), N.set(F, !1);
752
+ return;
753
+ }
754
+ if (n.clientSecret && n.clientSecret !== N.get(B)) {
755
+ N.set(B, n.clientSecret, !0), N.set(H, { message: f().paymentReinitializing || "Updating your total. Please wait a moment and try again" }, !0), N.set(F, !1);
756
+ return;
757
+ }
758
+ let { error: a } = await N.get(V).submit();
759
+ if (a) {
760
+ let e = X(a, f());
761
+ N.set(H, {
762
+ message: e.message,
763
+ suggestion: e.suggestion
764
+ }, !0), N.set(F, !1);
765
+ return;
766
+ }
767
+ let o = await N.get(z).confirmPayment({
768
+ elements: N.get(V),
769
+ redirect: "if_required",
770
+ confirmParams: { return_url: `${S()}${se(N.get(D)?.id || N.get(D)?.eventID || N.get(h), N.get(D)?.slug || N.get(x) || "", {
771
+ orderId: N.get(O),
772
+ ticketCount: Object.values(N.get(k)).reduce((e, t) => e + (Number(t) || 0), 0)
773
+ })}` }
774
+ });
775
+ if (o.error) {
776
+ let e = X(o.error, f());
777
+ N.set(H, {
778
+ message: e.message,
779
+ suggestion: e.suggestion
780
+ }, !0), N.set(F, !1);
781
+ return;
782
+ }
783
+ let s = {
784
+ id: N.get(O),
785
+ paymentIntentId: o.paymentIntent.id,
786
+ tickets: N.get(k),
787
+ firstName: e.firstName,
788
+ lastName: e.lastName,
789
+ email: e.email,
790
+ phone: e.phone,
791
+ questionAnswer: e.questionAnswer,
792
+ paymentMethod: "credit-card",
793
+ mailingList: e.keepMeUpdated,
794
+ saleType: "online"
795
+ }, c = await C(N.get(O), s, p());
796
+ if (c?.eventCanceled || c?.eventPostponed) {
797
+ N.set(G, c.eventCanceled ? "canceled" : "postponed", !0), N.set(H, null);
798
+ return;
799
+ }
800
+ if (c?.status === "Payment succeeded") {
801
+ Se(N.get(O), e.email);
802
+ let n = {
803
+ orderId: N.get(O),
804
+ eventId: N.get(D)?.id || N.get(D)?.eventID || null,
805
+ event: N.get(D) || null,
806
+ venueId: r() || N.get(D)?.venueId || null,
807
+ organizationId: i() || N.get(D)?.organizationId || null,
808
+ ...Z()
809
+ };
810
+ t.onNavigateToSuccess && t.onNavigateToSuccess(n);
811
+ } else c?.status === "Payment amount does not match the total price" ? N.set(H, { message: f().paymentAmountMismatch || "Payment amount mismatch. Please refresh and try again" }, !0) : N.set(H, { message: f().paymentValidationFailed || "Payment validation failed. Please try again" }, !0);
812
+ } catch (e) {
813
+ $.error("Payment execution error:", e);
814
+ let t = X(e, f());
815
+ N.set(H, {
816
+ message: t.message,
817
+ suggestion: t.suggestion
818
+ }, !0);
819
+ } finally {
820
+ N.set(F, !1);
821
+ }
822
+ }
823
+ }
824
+ async function Ue(e) {
825
+ try {
826
+ let n = await oe(N.get(O), {
827
+ firstName: e.firstName,
828
+ lastName: e.lastName,
829
+ email: e.email,
830
+ phoneNumber: e.phone || null,
831
+ questionAnswer: e.questionAnswer,
832
+ mailingList: e.keepMeUpdated
833
+ }, p());
834
+ if (n?.success) {
835
+ Se(n.orderId || N.get(O), e.email);
836
+ let a = {
837
+ orderId: n.orderId || N.get(O),
838
+ eventId: N.get(D)?.id || N.get(D)?.eventID || null,
839
+ event: N.get(D) || null,
840
+ venueId: r() || N.get(D)?.venueId || null,
841
+ organizationId: i() || N.get(D)?.organizationId || null,
842
+ paymentType: "gift_card_only",
843
+ ...Z()
844
+ };
845
+ t.onNavigateToSuccess && t.onNavigateToSuccess(a);
846
+ } else N.set(H, { message: n?.error || f().failedToCompleteOrder || "Failed to complete order. Please try again" }, !0);
847
+ } catch (e) {
848
+ $.error("Gift card payment error:", e);
849
+ let t = X(e, f());
850
+ N.set(H, {
851
+ message: t.message,
852
+ suggestion: t.suggestion
853
+ }, !0);
854
+ } finally {
855
+ N.set(F, !1);
856
+ }
857
+ }
858
+ async function We(e) {
859
+ try {
860
+ let n = Object.fromEntries(Object.entries(N.get(k)).filter(([e, t]) => t > 0)), a = Object.fromEntries(Object.entries(N.get(A)).filter(([, e]) => parseFloat(String(e)) > 0).map(([e, t]) => [parseInt(e, 10), parseFloat(String(t))])), o = await ne(N.get(O), n, Object.keys(a).length > 0 ? a : void 0, {
861
+ firstName: e.firstName,
862
+ lastName: e.lastName,
863
+ email: e.email,
864
+ phone: e.phone,
865
+ questionAnswer: e.questionAnswer,
866
+ mailingList: e.keepMeUpdated
867
+ }, p());
868
+ if (o?.requires_stripe !== !1 && o?.payment_type !== "free" || o?.order_finalized === !1) {
869
+ N.set(H, { message: f().failedToCompleteOrder || "Failed to complete order. Please try again" }, !0);
870
+ return;
871
+ }
872
+ N.set(B, "free"), Se(N.get(O), e.email);
873
+ let s = {
874
+ orderId: N.get(O),
875
+ eventId: N.get(D)?.id || N.get(D)?.eventID || null,
876
+ event: N.get(D) || null,
877
+ venueId: r() || N.get(D)?.venueId || null,
878
+ organizationId: i() || N.get(D)?.organizationId || null,
879
+ paymentType: "free",
880
+ ...Z()
881
+ };
882
+ t.onNavigateToSuccess && t.onNavigateToSuccess(s);
883
+ } catch (e) {
884
+ $.error("Free order completion error:", e);
885
+ let t = X(e, f());
886
+ N.set(H, {
887
+ message: t.message,
888
+ suggestion: t.suggestion
889
+ }, !0);
890
+ } finally {
891
+ N.set(F, !1);
892
+ }
893
+ }
894
+ async function Ge(e) {
895
+ if (N.set(K, e, !0), N.get(q) && J && N.set(q, {
896
+ ...N.get(q),
897
+ serverTotals: re(J, e)
898
+ }, !0), !e.requiresStripe) Q++, N.set(V, void 0), N.set(z, null), N.set(B, "");
899
+ else if (N.get(O) && Object.keys(N.get(k)).length > 0) {
900
+ N.set(I, !0);
901
+ try {
902
+ await je();
903
+ } finally {
904
+ N.set(I, !1);
905
+ }
906
+ }
907
+ }
908
+ async function Ke() {
909
+ if (N.set(K, null), N.get(q) && J && N.set(q, {
910
+ ...N.get(q),
911
+ serverTotals: J
912
+ }, !0), N.get(O) && Object.keys(N.get(k)).length > 0) {
913
+ N.set(I, !0);
914
+ try {
915
+ await je();
916
+ } finally {
917
+ N.set(I, !1);
918
+ }
919
+ }
920
+ }
921
+ async function qe(e, t) {
922
+ if (!N.get(O) || N.get(L)) return;
923
+ let n = { ...N.get(j) };
924
+ t > 0 ? n[e] = t : delete n[e], N.set(L, !0), N.set(Ee, !1), N.set(R, null), N.set(I, !0);
925
+ try {
926
+ let e = await le(N.get(O), n);
927
+ if (!e.success) {
928
+ N.set(Ee, !0), N.set(R, e.error, !0);
929
+ return;
930
+ }
931
+ let t = {};
932
+ for (let n of e.lines) t[n.addOnId] = n.quantity;
933
+ N.set(j, t, !0), e.repriced && await je();
934
+ } finally {
935
+ N.set(L, !1), N.set(I, !1);
936
+ }
937
+ }
938
+ function Je() {
939
+ a() ? a()() : window.history.back();
940
+ }
941
+ function Ye() {
942
+ a() ? a()() : window.history.back();
943
+ }
944
+ function Xe() {
945
+ N.set(G, null), Je();
946
+ }
947
+ async function Ze() {
948
+ if (!N.get(O)) return null;
949
+ try {
950
+ let e = await T(N.get(O));
951
+ return e.success ? {
952
+ newExpiryTime: e.newExpiryTime,
953
+ remainingExtensions: e.remainingExtensions
954
+ } : ($.error("Failed to extend session:", e.error), null);
955
+ } catch (e) {
956
+ return $.error("Error extending checkout session:", e), null;
957
+ }
958
+ }
959
+ var Qe = Ve(), $e = N.first_child(Qe), et = (e) => {
960
+ {
961
+ let t = (e) => {
962
+ {
963
+ let t = N.derived(() => N.get(F) || N.get(I)), n = N.derived(() => N.get(q)?.serverTotals?.total ?? 0), r = N.derived(() => N.get(q)?.serverTotals?.giftCardAmount ?? null);
964
+ Fe(e, {
965
+ get cartId() {
966
+ return N.get(O);
967
+ },
968
+ onApplied: Ge,
969
+ onRemoved: Ke,
970
+ get disabled() {
971
+ return N.get(t);
972
+ },
973
+ get owedTotal() {
974
+ return N.get(n);
975
+ },
976
+ get serverGiftCardAmount() {
977
+ return N.get(r);
978
+ },
979
+ get labels() {
980
+ return f();
981
+ }
982
+ });
983
+ }
984
+ }, n = N.derived(() => N.get(H) ?? (N.get(U) ? { message: N.get(U) } : null)), r = N.derived(() => N.get(D)?.addOns || []);
985
+ ye(e, {
986
+ get config() {
987
+ return N.get(q);
988
+ },
989
+ onPlaceOrder: He,
990
+ onBack: Je,
991
+ onRetryExpired: Ye,
992
+ onExtendSession: Ze,
993
+ get stripe() {
994
+ return N.get(z);
995
+ },
996
+ get paymentIntent() {
997
+ return N.get(B);
998
+ },
999
+ get serverTotalsUnavailable() {
1000
+ return N.get(Y);
1001
+ },
1002
+ get repricing() {
1003
+ return N.get(I);
1004
+ },
1005
+ get paymentError() {
1006
+ return N.get(n);
1007
+ },
1008
+ get labels() {
1009
+ return f();
1010
+ },
1011
+ get locale() {
1012
+ return p();
1013
+ },
1014
+ get checkoutAddOns() {
1015
+ return N.get(r);
1016
+ },
1017
+ get addOnQuantities() {
1018
+ return N.get(j);
1019
+ },
1020
+ get addOnTicketCount() {
1021
+ return N.get(De);
1022
+ },
1023
+ onAddOnQuantityChange: qe,
1024
+ get addOnsBusy() {
1025
+ return N.get(L);
1026
+ },
1027
+ get addOnsFailed() {
1028
+ return N.get(Ee);
1029
+ },
1030
+ get addOnsError() {
1031
+ return N.get(R);
1032
+ },
1033
+ get elements() {
1034
+ return N.get(V);
1035
+ },
1036
+ set elements(e) {
1037
+ N.set(V, e, !0);
1038
+ },
1039
+ get eventEnded() {
1040
+ return N.get(Te);
1041
+ },
1042
+ set eventEnded(e) {
1043
+ N.set(Te, e, !0);
1044
+ },
1045
+ giftCard: t,
1046
+ $$slots: { giftCard: !0 }
1047
+ });
1048
+ }
1049
+ }, tt = (e) => {
1050
+ var t = ze(), n = N.child(t), r = N.child(n, !0);
1051
+ N.reset(n), N.reset(t), N.template_effect(() => N.set_text(r, N.get(Oe))), N.append(e, t);
1052
+ }, nt = (e) => {
1053
+ var t = Be(), n = N.child(t), r = N.child(n, !0);
1054
+ N.reset(n), N.reset(t), N.template_effect(() => N.set_text(r, f().loadingSecurePaymentForm || "Loading secure payment form...")), N.append(e, t);
1055
+ };
1056
+ N.if($e, (e) => {
1057
+ N.get(q) ? e(et) : N.get(W) ? e(tt, 1) : e(nt, -1);
1058
+ });
1059
+ var rt = N.sibling($e, 2), it = (e) => {
1060
+ Re(e, {
1061
+ open: !0,
1062
+ get reason() {
1063
+ return N.get(G);
1064
+ },
1065
+ onBackToEvents: Xe,
1066
+ get labels() {
1067
+ return f();
1068
+ }
1069
+ });
1070
+ };
1071
+ N.if(rt, (e) => {
1072
+ N.get(ke) && e(it);
1073
+ }), N.append(e, Qe), N.pop();
1074
+ }
1075
+ //#endregion
1076
+ export { He as default };