tf-checkout-react 2.0.0-beta.1 → 2.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.esm.js +662 -341
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +662 -341
- package/dist/index.js.map +1 -1
- package/dist/styles/tickets.css +18 -1
- package/package.json +1 -1
- package/src/EmbeddedCheckout.tsx +9 -6
- package/src/auth/AuthModal.tsx +3 -3
- package/src/auth/ForgotPasswordForm.tsx +4 -6
- package/src/auth/LoginForm.tsx +2 -2
- package/src/auth/RegisterForm.tsx +2 -2
- package/src/auth/ResetPasswordForm.tsx +7 -7
- package/src/configure.ts +1 -5
- package/src/confirmer.ts +1 -5
- package/src/sections/AddOns.tsx +14 -7
- package/src/sections/BillingInfo.tsx +40 -33
- package/src/sections/Confirmation.tsx +10 -8
- package/src/sections/IDVerification.tsx +16 -9
- package/src/sections/OrderConfirmation.tsx +32 -23
- package/src/sections/OrderIDVerification.tsx +23 -11
- package/src/sections/OrderSummary.tsx +7 -5
- package/src/sections/Payment.tsx +18 -14
- package/src/sections/Tickets.tsx +48 -25
- package/src/sections/billing/BillingAddressFields.tsx +19 -13
- package/src/sections/billing/TicketHoldersCard.tsx +103 -94
- package/src/styles/tickets.css +18 -1
- package/src/ui/CheckoutProvider.tsx +5 -1
- package/src/ui/InstallmentPicker.tsx +8 -4
- package/src/ui/Loader.tsx +11 -7
- package/src/ui/PaymentMethods.tsx +82 -76
- package/src/ui/Stepper.tsx +27 -23
- package/src/ui/TimerBanner.tsx +7 -3
package/dist/index.esm.js
CHANGED
|
@@ -1467,7 +1467,7 @@ var buildXenditCheckoutHtml = (options) => {
|
|
|
1467
1467
|
|
|
1468
1468
|
// ../tf-checkout-shared/src/engine/errors.ts
|
|
1469
1469
|
var errorMessage = (error) => toTtfError(error).message;
|
|
1470
|
-
var EXPIRED_WORDS = /expir|caduc|scadut|abgelaufen|verlopen|udløbet|löpt ut|utløpt|vypršel|wygasł|истек|expirou|kedaluwarsa|hết hạn|期限切れ|已过期|已過期|만료/i;
|
|
1470
|
+
var EXPIRED_WORDS = /expir|caduc|scadut|abgelaufen|verlopen|udløbet|löpt ut|utløpt|vypršel|wygasł|истек|expirou|kedaluwarsa|vanhentu|hết hạn|期限切れ|已过期|已過期|만료/i;
|
|
1471
1471
|
var isCartExpiredError = (error) => {
|
|
1472
1472
|
const e = toTtfError(error);
|
|
1473
1473
|
if (e.status !== 422) return false;
|
|
@@ -1869,8 +1869,12 @@ var removeReservedSeats = async (eventId, tierId, seatIds) => (
|
|
|
1869
1869
|
var refreshReservation = async (eventId, orderId) => patch(ENDPOINTS.seatmap.refreshReservation(eventId), { order_id: orderId });
|
|
1870
1870
|
|
|
1871
1871
|
// ../tf-checkout-shared/src/api/events.ts
|
|
1872
|
+
var badgeOf = (raw) => {
|
|
1873
|
+
const text = typeof raw === "string" ? raw.trim() : "";
|
|
1874
|
+
return text || null;
|
|
1875
|
+
};
|
|
1872
1876
|
var mapTicket = (t) => {
|
|
1873
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
1877
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
1874
1878
|
return {
|
|
1875
1879
|
id: String(t.id),
|
|
1876
1880
|
name: (_a = t.displayName) != null ? _a : "",
|
|
@@ -1898,7 +1902,8 @@ var mapTicket = (t) => {
|
|
|
1898
1902
|
allowDirectPurchase: Boolean(t.allowDirectPurchase),
|
|
1899
1903
|
waitingListEnabled: Boolean(t.waitingListEnabled),
|
|
1900
1904
|
waitingListMaxQuantity: t.waitingListMaxQuantity != null ? Number(t.waitingListMaxQuantity) : void 0,
|
|
1901
|
-
descriptionRich: (_m = t.descriptionRich) != null ? _m : null
|
|
1905
|
+
descriptionRich: (_m = t.descriptionRich) != null ? _m : null,
|
|
1906
|
+
badgeText: badgeOf((_n = t.badgeText) != null ? _n : t.badge_text)
|
|
1902
1907
|
};
|
|
1903
1908
|
};
|
|
1904
1909
|
var getEventTickets = async (eventId) => {
|
|
@@ -1952,7 +1957,7 @@ var getEventConditions = async (eventId) => {
|
|
|
1952
1957
|
}).filter((c) => c.content || c.name);
|
|
1953
1958
|
};
|
|
1954
1959
|
var getEventTimeSlotTickets = async (eventId, date, options) => {
|
|
1955
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
|
|
1960
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
|
|
1956
1961
|
const body = await get(ENDPOINTS.events.timeSlotByDate(eventId), {
|
|
1957
1962
|
params: {
|
|
1958
1963
|
date,
|
|
@@ -1989,6 +1994,7 @@ var getEventTimeSlotTickets = async (eventId, date, options) => {
|
|
|
1989
1994
|
isTable: Boolean(s.is_table),
|
|
1990
1995
|
allowDirectPurchase: true,
|
|
1991
1996
|
descriptionRich: (_t = s.description) != null ? _t : null,
|
|
1997
|
+
badgeText: badgeOf((_u = s.badge_text) != null ? _u : s.badgeText),
|
|
1992
1998
|
timeSlot: { date: slotDate, time: timeKey }
|
|
1993
1999
|
});
|
|
1994
2000
|
}
|
|
@@ -4103,7 +4109,137 @@ var en = {
|
|
|
4103
4109
|
"referral.inviteFriends": "Invite friends",
|
|
4104
4110
|
"referral.howToInvite": "How do you invite your friends?",
|
|
4105
4111
|
"referral.sendThisLink": "Send them this link:",
|
|
4106
|
-
"referral.howMuchCheaper": "How much cheaper?"
|
|
4112
|
+
"referral.howMuchCheaper": "How much cheaper?",
|
|
4113
|
+
// --- Checkout body (localization pass) ---------------------------------
|
|
4114
|
+
"common.submit": "Submit",
|
|
4115
|
+
"common.each": "each",
|
|
4116
|
+
"billing.heading": "Billing Information",
|
|
4117
|
+
"billing.continueToPayment": "Continue to payment",
|
|
4118
|
+
"billing.ttfOptIn": "Keep me updated about future events from The Ticket Fairy",
|
|
4119
|
+
"billing.fieldRequired": "This field is required.",
|
|
4120
|
+
"billing.firstNamePlaceholder": "First name *",
|
|
4121
|
+
"billing.lastNamePlaceholder": "Last name *",
|
|
4122
|
+
"billing.emailMustMatch": "Email addresses must match.",
|
|
4123
|
+
"billing.emailInvalid": "Enter a valid email address.",
|
|
4124
|
+
"billing.emailRegistered": "This email is already registered.",
|
|
4125
|
+
"billing.loginAutofill": "Log in to autofill your details",
|
|
4126
|
+
"billing.loginAutofillPlain": "Log in to autofill your details.",
|
|
4127
|
+
"billing.firstNameRequired": "First name is required.",
|
|
4128
|
+
"billing.lastNameRequired": "Last name is required.",
|
|
4129
|
+
"billing.streetRequired": "Street address is required.",
|
|
4130
|
+
"billing.cityRequired": "City is required.",
|
|
4131
|
+
"billing.postcodeRequired": "ZIP / postcode is required.",
|
|
4132
|
+
"billing.countryRequired": "Country is required.",
|
|
4133
|
+
"billing.stateRequired": "State / county is required.",
|
|
4134
|
+
"billing.countryEmpty": "\u2014 country * \u2014",
|
|
4135
|
+
"billing.stateEmpty": "\u2014 state / county \u2014",
|
|
4136
|
+
"billing.stateEmptyRequired": "\u2014 state / county * \u2014",
|
|
4137
|
+
"billing.holderTitle": "Ticket {{number}}",
|
|
4138
|
+
"billing.nationality": "Nationality",
|
|
4139
|
+
"billing.gender": "Gender",
|
|
4140
|
+
"billing.instagramHandle": "Instagram handle",
|
|
4141
|
+
"billing.phoneOptional": "Phone",
|
|
4142
|
+
"billing.phoneAria": "Phone",
|
|
4143
|
+
"billing.phoneInvalid": "Enter a valid phone number.",
|
|
4144
|
+
"billing.phonePlaceholder": "Phone number",
|
|
4145
|
+
"billing.dob": "Date of birth *",
|
|
4146
|
+
"billing.dobWithAge": "Date of birth * (must be {{age}}+)",
|
|
4147
|
+
"billing.dobRequired": "Date of birth is required.",
|
|
4148
|
+
"billing.ageMinimum": "You must be {{age}} or older.",
|
|
4149
|
+
"billing.privacyAgree": "I have read and agree to {{brand}}",
|
|
4150
|
+
"billing.privacyLink": "Privacy Policy.",
|
|
4151
|
+
"tickets.getTickets": "Get tickets",
|
|
4152
|
+
"tickets.selectOnMap": "Select on map",
|
|
4153
|
+
"tickets.selectSeats": "Select seats",
|
|
4154
|
+
"tickets.hideInfo": "Hide info",
|
|
4155
|
+
"tickets.viewInfo": "View info",
|
|
4156
|
+
"tickets.salesNotStarted": "Sales not started",
|
|
4157
|
+
"tickets.salesEnded": "Sales Ended",
|
|
4158
|
+
"tickets.accessCode": "Access code",
|
|
4159
|
+
"tickets.promoCode": "Promo code",
|
|
4160
|
+
"tickets.reserving": "Reserving\u2026",
|
|
4161
|
+
"addons.eyebrow": "Get Your Tickets",
|
|
4162
|
+
"addons.heading": "UPGRADES & ADD-ONS",
|
|
4163
|
+
"addons.confirmSelection": "CONFIRM SELECTION",
|
|
4164
|
+
"addons.updating": "Updating\u2026",
|
|
4165
|
+
"payment.title": "Payment",
|
|
4166
|
+
"payment.card": "Card",
|
|
4167
|
+
"payment.paymentPlan": "Payment plan",
|
|
4168
|
+
"payment.oxxo": "OXXO (pay in cash)",
|
|
4169
|
+
"payment.submitPayment": "Submit Payment",
|
|
4170
|
+
"payment.completeRegistration": "Complete Registration",
|
|
4171
|
+
"payment.placing": "Placing\u2026",
|
|
4172
|
+
"payment.testCard": "Test card: 4242 4242 4242 4242 \xB7 any future date \xB7 any CVC",
|
|
4173
|
+
"payment.testCardXendit": "Test card: 4000 0000 0000 0002 \xB7 any future date \xB7 any CVC",
|
|
4174
|
+
"confirmation.pending": "Payment pending",
|
|
4175
|
+
"confirmation.confirmed": "Your Tickets are Confirmed!",
|
|
4176
|
+
"confirmation.pendingBody": "We\u2019ll email your tickets as soon as the payment settles.",
|
|
4177
|
+
"confirmation.alreadyPaid": "This order was already paid \u2014 nothing was charged again.",
|
|
4178
|
+
"confirmation.available": "Your tickets are available in the My Tickets section \u2014 please bring them with you to the event.",
|
|
4179
|
+
"referral.copied": "Copied!",
|
|
4180
|
+
"referral.copyLink": "Copy link",
|
|
4181
|
+
"timer.completePurchase": "Please complete your purchase before the timer reaches zero.",
|
|
4182
|
+
"auth.logIn": "Log in",
|
|
4183
|
+
"auth.signUp": "Sign Up",
|
|
4184
|
+
"auth.passwordReset": "Password reset",
|
|
4185
|
+
"auth.backToLogin": "Back to log in",
|
|
4186
|
+
"auth.sendResetInstructions": "Send reset instructions",
|
|
4187
|
+
"auth.createAccount": "Create Account",
|
|
4188
|
+
"auth.forgotPassword": "Forgot password?",
|
|
4189
|
+
"auth.forgotIntro": "Enter your email and we\u2019ll send you instructions to reset your password.",
|
|
4190
|
+
"auth.missingToken": "This password-reset link is missing its token.",
|
|
4191
|
+
"auth.passwordTooShort": "Password must have at least 8 characters.",
|
|
4192
|
+
"auth.passwordNeedsSpecial": "Password must contain at least one special character.",
|
|
4193
|
+
"auth.passwordsMustMatch": "Passwords must match.",
|
|
4194
|
+
"auth.passwordChanged": "Your password has been changed. You can now log in.",
|
|
4195
|
+
"auth.selectState": "Select state / region",
|
|
4196
|
+
"auth.notRequired": "Not required",
|
|
4197
|
+
// --- Previously hardcoded in components ---------------------------------
|
|
4198
|
+
"tickets.waitingListJoined": "You\u2019re on the waiting list \u2014 we\u2019ll email you if a spot opens.",
|
|
4199
|
+
"tickets.firstName": "First name",
|
|
4200
|
+
"tickets.lastName": "Last name",
|
|
4201
|
+
"tickets.email": "Email",
|
|
4202
|
+
"tickets.joinWaitingList": "Join the waiting list",
|
|
4203
|
+
"tickets.free": "FREE",
|
|
4204
|
+
"tickets.withFees": "({{price}} with fees)",
|
|
4205
|
+
"tickets.deposit": "{{percent}}% DEPOSIT",
|
|
4206
|
+
"tickets.gotPromoCode": "Got a promo code? Click here",
|
|
4207
|
+
"payment.conditionRequired": "You must accept this condition to continue.",
|
|
4208
|
+
"payment.payInFull": "Pay in full instead",
|
|
4209
|
+
"payment.installmentTotal": "{{amount}} total",
|
|
4210
|
+
"confirmation.viewVoucher": "View payment voucher",
|
|
4211
|
+
"confirmation.viewTickets": "View my tickets",
|
|
4212
|
+
"confirmation.orderConfirmed": "Your order has been confirmed!",
|
|
4213
|
+
"confirmation.emailed": "Your tickets have been emailed to you",
|
|
4214
|
+
"confirmation.inMyTickets": "Your tickets are available in My Tickets.",
|
|
4215
|
+
"confirmation.bringThem": "Please bring them with you to the event",
|
|
4216
|
+
"confirmation.viewOrder": "View Order",
|
|
4217
|
+
"confirmation.missingReference": "The order reference is missing.",
|
|
4218
|
+
"referral.titleStart": "Your ticket can become",
|
|
4219
|
+
"referral.titleCheaper": "cheaper",
|
|
4220
|
+
"referral.titleOr": "or even",
|
|
4221
|
+
"referral.titleFree": "FREE!",
|
|
4222
|
+
"referral.inviteMiddle": "and we'll refund up to",
|
|
4223
|
+
"referral.inviteEnd": "of your ticket money, if they buy tickets as well!",
|
|
4224
|
+
"referral.copy": "Copy",
|
|
4225
|
+
"referral.currentPrice": "Your ticket is currently",
|
|
4226
|
+
"referral.ifFriendsBuy": "If your friends buy {{count}} tickets",
|
|
4227
|
+
"referral.becomes": "Your ticket becomes",
|
|
4228
|
+
"referral.goesDownTo": "Your ticket goes down to",
|
|
4229
|
+
"verification.title": "Account Verification",
|
|
4230
|
+
"verification.checking": "Checking your verification status\u2026",
|
|
4231
|
+
"verification.idle": "To complete the purchase, please verify your identity.",
|
|
4232
|
+
"verification.starting": "Opening the verification page\u2026",
|
|
4233
|
+
"verification.polling": "Waiting for verification to complete in the other tab\u2026",
|
|
4234
|
+
"verification.verified": "Identity verified \u2014 your tickets are on their way.",
|
|
4235
|
+
"verification.timeoutCheckAgain": "Still not confirmed. Finish in the other tab, then check again.",
|
|
4236
|
+
"verification.timeoutSafe": "Verification is taking longer than usual. Your payment is safe.",
|
|
4237
|
+
"verification.error": "We couldn\u2019t reach the verification service. Try again.",
|
|
4238
|
+
"verification.verify": "Verify",
|
|
4239
|
+
"verification.verifying": "Verifying\u2026",
|
|
4240
|
+
"verification.checkAgain": "Check again",
|
|
4241
|
+
"verification.tryAgain": "Try again",
|
|
4242
|
+
"auth.existingAccount": "This email already has an account. Log in to autofill your checkout details."
|
|
4107
4243
|
};
|
|
4108
4244
|
|
|
4109
4245
|
// ../tf-checkout-shared/src/i18n/resolve.ts
|
|
@@ -4235,7 +4371,137 @@ var esMX = {
|
|
|
4235
4371
|
"referral.inviteFriends": "Invita a tus amigos",
|
|
4236
4372
|
"referral.howToInvite": "\xBFC\xF3mo invitas a tus amigos?",
|
|
4237
4373
|
"referral.sendThisLink": "Env\xEDales este enlace:",
|
|
4238
|
-
"referral.howMuchCheaper": "\xBFCu\xE1nto m\xE1s barato?"
|
|
4374
|
+
"referral.howMuchCheaper": "\xBFCu\xE1nto m\xE1s barato?",
|
|
4375
|
+
// --- Checkout body (localization pass) ---------------------------------
|
|
4376
|
+
"common.submit": "Enviar",
|
|
4377
|
+
"common.each": "c/u",
|
|
4378
|
+
"billing.heading": "Informaci\xF3n de facturaci\xF3n",
|
|
4379
|
+
"billing.continueToPayment": "Continuar al pago",
|
|
4380
|
+
"billing.ttfOptIn": "Quiero recibir novedades sobre pr\xF3ximos eventos de The Ticket Fairy",
|
|
4381
|
+
"billing.fieldRequired": "Este campo es obligatorio.",
|
|
4382
|
+
"billing.firstNamePlaceholder": "Nombre *",
|
|
4383
|
+
"billing.lastNamePlaceholder": "Apellido *",
|
|
4384
|
+
"billing.emailMustMatch": "Los correos electr\xF3nicos deben coincidir.",
|
|
4385
|
+
"billing.emailInvalid": "Ingresa un correo electr\xF3nico v\xE1lido.",
|
|
4386
|
+
"billing.emailRegistered": "Este correo ya est\xE1 registrado.",
|
|
4387
|
+
"billing.loginAutofill": "Inicia sesi\xF3n para completar tus datos",
|
|
4388
|
+
"billing.loginAutofillPlain": "Inicia sesi\xF3n para completar tus datos.",
|
|
4389
|
+
"billing.firstNameRequired": "El nombre es obligatorio.",
|
|
4390
|
+
"billing.lastNameRequired": "El apellido es obligatorio.",
|
|
4391
|
+
"billing.streetRequired": "La calle y n\xFAmero son obligatorios.",
|
|
4392
|
+
"billing.cityRequired": "La ciudad es obligatoria.",
|
|
4393
|
+
"billing.postcodeRequired": "El c\xF3digo postal es obligatorio.",
|
|
4394
|
+
"billing.countryRequired": "El pa\xEDs es obligatorio.",
|
|
4395
|
+
"billing.stateRequired": "El estado es obligatorio.",
|
|
4396
|
+
"billing.countryEmpty": "\u2014 pa\xEDs * \u2014",
|
|
4397
|
+
"billing.stateEmpty": "\u2014 estado \u2014",
|
|
4398
|
+
"billing.stateEmptyRequired": "\u2014 estado * \u2014",
|
|
4399
|
+
"billing.holderTitle": "Boleto {{number}}",
|
|
4400
|
+
"billing.nationality": "Nacionalidad",
|
|
4401
|
+
"billing.gender": "G\xE9nero",
|
|
4402
|
+
"billing.instagramHandle": "Usuario de Instagram",
|
|
4403
|
+
"billing.phoneOptional": "Tel\xE9fono",
|
|
4404
|
+
"billing.phoneAria": "Tel\xE9fono",
|
|
4405
|
+
"billing.phoneInvalid": "Ingresa un n\xFAmero de tel\xE9fono v\xE1lido.",
|
|
4406
|
+
"billing.phonePlaceholder": "N\xFAmero de tel\xE9fono",
|
|
4407
|
+
"billing.dob": "Fecha de nacimiento *",
|
|
4408
|
+
"billing.dobWithAge": "Fecha de nacimiento * (debes tener {{age}}+)",
|
|
4409
|
+
"billing.dobRequired": "La fecha de nacimiento es obligatoria.",
|
|
4410
|
+
"billing.ageMinimum": "Debes tener {{age}} a\xF1os o m\xE1s.",
|
|
4411
|
+
"billing.privacyAgree": "He le\xEDdo y acepto el",
|
|
4412
|
+
"billing.privacyLink": "Aviso de Privacidad.",
|
|
4413
|
+
"tickets.getTickets": "Comprar boletos",
|
|
4414
|
+
"tickets.selectOnMap": "Seleccionar en el mapa",
|
|
4415
|
+
"tickets.selectSeats": "Seleccionar asientos",
|
|
4416
|
+
"tickets.hideInfo": "Ocultar informaci\xF3n",
|
|
4417
|
+
"tickets.viewInfo": "Ver informaci\xF3n",
|
|
4418
|
+
"tickets.salesNotStarted": "Venta no iniciada",
|
|
4419
|
+
"tickets.salesEnded": "Venta finalizada",
|
|
4420
|
+
"tickets.accessCode": "C\xF3digo de acceso",
|
|
4421
|
+
"tickets.promoCode": "C\xF3digo promocional",
|
|
4422
|
+
"tickets.reserving": "Reservando\u2026",
|
|
4423
|
+
"addons.eyebrow": "Obt\xE9n tus boletos",
|
|
4424
|
+
"addons.heading": "MEJORAS Y COMPLEMENTOS",
|
|
4425
|
+
"addons.confirmSelection": "CONFIRMAR SELECCI\xD3N",
|
|
4426
|
+
"addons.updating": "Actualizando\u2026",
|
|
4427
|
+
"payment.title": "Pago",
|
|
4428
|
+
"payment.card": "Tarjeta",
|
|
4429
|
+
"payment.paymentPlan": "Plan de pagos",
|
|
4430
|
+
"payment.oxxo": "OXXO (pago en efectivo)",
|
|
4431
|
+
"payment.submitPayment": "Pagar",
|
|
4432
|
+
"payment.completeRegistration": "Completar registro",
|
|
4433
|
+
"payment.placing": "Procesando\u2026",
|
|
4434
|
+
"payment.testCard": "Tarjeta de prueba: 4242 4242 4242 4242 \xB7 cualquier fecha futura \xB7 cualquier CVC",
|
|
4435
|
+
"payment.testCardXendit": "Tarjeta de prueba: 4000 0000 0000 0002 \xB7 cualquier fecha futura \xB7 cualquier CVC",
|
|
4436
|
+
"confirmation.pending": "Pago pendiente",
|
|
4437
|
+
"confirmation.confirmed": "\xA1Tus boletos est\xE1n confirmados!",
|
|
4438
|
+
"confirmation.pendingBody": "Te enviaremos tus boletos por correo en cuanto se acredite el pago.",
|
|
4439
|
+
"confirmation.alreadyPaid": "Esta orden ya estaba pagada: no se te cobr\xF3 de nuevo.",
|
|
4440
|
+
"confirmation.available": "Tus boletos est\xE1n disponibles en la secci\xF3n Mis boletos. Recuerda llevarlos contigo al evento.",
|
|
4441
|
+
"referral.copied": "\xA1Copiado!",
|
|
4442
|
+
"referral.copyLink": "Copiar enlace",
|
|
4443
|
+
"timer.completePurchase": "Completa tu compra antes de que el temporizador llegue a cero.",
|
|
4444
|
+
"auth.logIn": "Iniciar sesi\xF3n",
|
|
4445
|
+
"auth.signUp": "Crear cuenta",
|
|
4446
|
+
"auth.passwordReset": "Restablecer contrase\xF1a",
|
|
4447
|
+
"auth.backToLogin": "Volver a iniciar sesi\xF3n",
|
|
4448
|
+
"auth.sendResetInstructions": "Enviar instrucciones",
|
|
4449
|
+
"auth.createAccount": "Crear cuenta",
|
|
4450
|
+
"auth.forgotPassword": "\xBFOlvidaste tu contrase\xF1a?",
|
|
4451
|
+
"auth.forgotIntro": "Ingresa tu correo y te enviaremos instrucciones para restablecer tu contrase\xF1a.",
|
|
4452
|
+
"auth.missingToken": "A este enlace de restablecimiento le falta el token.",
|
|
4453
|
+
"auth.passwordTooShort": "La contrase\xF1a debe tener al menos 8 caracteres.",
|
|
4454
|
+
"auth.passwordNeedsSpecial": "La contrase\xF1a debe incluir al menos un car\xE1cter especial.",
|
|
4455
|
+
"auth.passwordsMustMatch": "Las contrase\xF1as deben coincidir.",
|
|
4456
|
+
"auth.passwordChanged": "Tu contrase\xF1a se cambi\xF3. Ya puedes iniciar sesi\xF3n.",
|
|
4457
|
+
"auth.selectState": "Selecciona estado / regi\xF3n",
|
|
4458
|
+
"auth.notRequired": "No requerido",
|
|
4459
|
+
// --- Previously hardcoded in components ---------------------------------
|
|
4460
|
+
"tickets.waitingListJoined": "Ya est\xE1s en la lista de espera \u2014 te escribiremos si se libera un lugar.",
|
|
4461
|
+
"tickets.firstName": "Nombre",
|
|
4462
|
+
"tickets.lastName": "Apellido",
|
|
4463
|
+
"tickets.email": "Correo electr\xF3nico",
|
|
4464
|
+
"tickets.joinWaitingList": "Unirme a la lista de espera",
|
|
4465
|
+
"tickets.free": "GRATIS",
|
|
4466
|
+
"tickets.withFees": "({{price}} con cargos)",
|
|
4467
|
+
"tickets.deposit": "{{percent}}% DE ANTICIPO",
|
|
4468
|
+
"tickets.gotPromoCode": "\xBFTienes un c\xF3digo promocional? Haz clic aqu\xED",
|
|
4469
|
+
"payment.conditionRequired": "Debes aceptar esta condici\xF3n para continuar.",
|
|
4470
|
+
"payment.payInFull": "Mejor pagar en una sola exhibici\xF3n",
|
|
4471
|
+
"payment.installmentTotal": "{{amount}} en total",
|
|
4472
|
+
"confirmation.viewVoucher": "Ver ficha de pago",
|
|
4473
|
+
"confirmation.viewTickets": "Ver mis boletos",
|
|
4474
|
+
"confirmation.orderConfirmed": "\xA1Tu pedido est\xE1 confirmado!",
|
|
4475
|
+
"confirmation.emailed": "Te enviamos tus boletos por correo",
|
|
4476
|
+
"confirmation.inMyTickets": "Tus boletos est\xE1n disponibles en Mis boletos.",
|
|
4477
|
+
"confirmation.bringThem": "Ll\xE9valos contigo al evento",
|
|
4478
|
+
"confirmation.viewOrder": "Ver pedido",
|
|
4479
|
+
"confirmation.missingReference": "Falta la referencia del pedido.",
|
|
4480
|
+
"referral.titleStart": "Tu boleto puede salirte",
|
|
4481
|
+
"referral.titleCheaper": "m\xE1s barato",
|
|
4482
|
+
"referral.titleOr": "o incluso",
|
|
4483
|
+
"referral.titleFree": "\xA1GRATIS!",
|
|
4484
|
+
"referral.inviteMiddle": "y te reembolsamos hasta el",
|
|
4485
|
+
"referral.inviteEnd": "de lo que pagaste por tu boleto si ellos tambi\xE9n compran.",
|
|
4486
|
+
"referral.copy": "Copiar",
|
|
4487
|
+
"referral.currentPrice": "Tu boleto cuesta ahora",
|
|
4488
|
+
"referral.ifFriendsBuy": "Si tus amigos compran {{count}} boletos",
|
|
4489
|
+
"referral.becomes": "Tu boleto queda",
|
|
4490
|
+
"referral.goesDownTo": "Tu boleto baja a",
|
|
4491
|
+
"verification.title": "Verificaci\xF3n de cuenta",
|
|
4492
|
+
"verification.checking": "Revisando el estado de tu verificaci\xF3n\u2026",
|
|
4493
|
+
"verification.idle": "Para completar la compra, verifica tu identidad.",
|
|
4494
|
+
"verification.starting": "Abriendo la p\xE1gina de verificaci\xF3n\u2026",
|
|
4495
|
+
"verification.polling": "Esperando a que termines la verificaci\xF3n en la otra pesta\xF1a\u2026",
|
|
4496
|
+
"verification.verified": "Identidad verificada \u2014 tus boletos van en camino.",
|
|
4497
|
+
"verification.timeoutCheckAgain": "A\xFAn no se confirma. Termina en la otra pesta\xF1a y vuelve a revisar.",
|
|
4498
|
+
"verification.timeoutSafe": "La verificaci\xF3n est\xE1 tardando m\xE1s de lo normal. Tu pago est\xE1 seguro.",
|
|
4499
|
+
"verification.error": "No pudimos conectar con el servicio de verificaci\xF3n. Int\xE9ntalo de nuevo.",
|
|
4500
|
+
"verification.verify": "Verificar",
|
|
4501
|
+
"verification.verifying": "Verificando\u2026",
|
|
4502
|
+
"verification.checkAgain": "Revisar de nuevo",
|
|
4503
|
+
"verification.tryAgain": "Intentar de nuevo",
|
|
4504
|
+
"auth.existingAccount": "Este correo ya tiene una cuenta. Inicia sesi\xF3n para autocompletar tus datos de compra."
|
|
4239
4505
|
};
|
|
4240
4506
|
|
|
4241
4507
|
// ../tf-checkout-shared/src/i18n/locales/index.ts
|
|
@@ -5101,14 +5367,17 @@ import React4, { forwardRef } from "react";
|
|
|
5101
5367
|
|
|
5102
5368
|
// src/ui/Loader.tsx
|
|
5103
5369
|
import React3 from "react";
|
|
5104
|
-
var Loader = ({ className }) =>
|
|
5105
|
-
|
|
5106
|
-
|
|
5107
|
-
|
|
5108
|
-
|
|
5109
|
-
|
|
5110
|
-
|
|
5111
|
-
)
|
|
5370
|
+
var Loader = ({ className }) => {
|
|
5371
|
+
const t = useT();
|
|
5372
|
+
return /* @__PURE__ */ React3.createElement(
|
|
5373
|
+
"span",
|
|
5374
|
+
{
|
|
5375
|
+
className: cx("tf-checkout-loader", className),
|
|
5376
|
+
role: "status",
|
|
5377
|
+
"aria-label": t("common.loading")
|
|
5378
|
+
}
|
|
5379
|
+
);
|
|
5380
|
+
};
|
|
5112
5381
|
|
|
5113
5382
|
// src/ui/Button.tsx
|
|
5114
5383
|
var Button = forwardRef(
|
|
@@ -5134,6 +5403,7 @@ Button.displayName = "Button";
|
|
|
5134
5403
|
|
|
5135
5404
|
// src/ui/InstallmentPicker.tsx
|
|
5136
5405
|
var useInstallmentPicker = () => {
|
|
5406
|
+
const t = useT();
|
|
5137
5407
|
const [pending, setPending] = useState4(null);
|
|
5138
5408
|
const onInstallmentOffers = useCallback3(
|
|
5139
5409
|
(offers) => new Promise((resolve) => setPending({ offers, resolve })),
|
|
@@ -5148,9 +5418,9 @@ var useInstallmentPicker = () => {
|
|
|
5148
5418
|
{
|
|
5149
5419
|
className: "tf-checkout-installments",
|
|
5150
5420
|
role: "dialog",
|
|
5151
|
-
"aria-label": "
|
|
5421
|
+
"aria-label": t("payment.chooseInstallments")
|
|
5152
5422
|
},
|
|
5153
|
-
/* @__PURE__ */ React5.createElement("div", { className: "tf-checkout-installments__box" }, /* @__PURE__ */ React5.createElement("strong", null, "
|
|
5423
|
+
/* @__PURE__ */ React5.createElement("div", { className: "tf-checkout-installments__box" }, /* @__PURE__ */ React5.createElement("strong", null, t("payment.payInInstallments")), /* @__PURE__ */ React5.createElement("div", { className: "tf-checkout-installments__list" }, pending.offers.map((o, i) => {
|
|
5154
5424
|
var _a;
|
|
5155
5425
|
return /* @__PURE__ */ React5.createElement(
|
|
5156
5426
|
"button",
|
|
@@ -5161,9 +5431,9 @@ var useInstallmentPicker = () => {
|
|
|
5161
5431
|
onClick: () => choose(o)
|
|
5162
5432
|
},
|
|
5163
5433
|
/* @__PURE__ */ React5.createElement("span", null, o.count, " \xD7 ", (_a = o.per_installment_formatted) != null ? _a : o.per_installment),
|
|
5164
|
-
/* @__PURE__ */ React5.createElement("span", { className: "tf-checkout-installments__meta" }, o.total_formatted ?
|
|
5434
|
+
/* @__PURE__ */ React5.createElement("span", { className: "tf-checkout-installments__meta" }, o.total_formatted ? t("payment.installmentTotal", { amount: o.total_formatted }) : "", o.diff_from_original_formatted ? ` \xB7 ${o.diff_from_original_formatted}` : "")
|
|
5165
5435
|
);
|
|
5166
|
-
})), /* @__PURE__ */ React5.createElement(Button, { variant: "ghost", block: true, onClick: () => choose(null) }, "
|
|
5436
|
+
})), /* @__PURE__ */ React5.createElement(Button, { variant: "ghost", block: true, onClick: () => choose(null) }, t("payment.payInFull")))
|
|
5167
5437
|
) : null;
|
|
5168
5438
|
return { onInstallmentOffers, picker };
|
|
5169
5439
|
};
|
|
@@ -5496,87 +5766,100 @@ var PaymentMethods = ({
|
|
|
5496
5766
|
children,
|
|
5497
5767
|
inputSlotFor,
|
|
5498
5768
|
className
|
|
5499
|
-
}) =>
|
|
5500
|
-
|
|
5501
|
-
|
|
5502
|
-
|
|
5503
|
-
|
|
5504
|
-
|
|
5505
|
-
|
|
5506
|
-
|
|
5507
|
-
|
|
5508
|
-
|
|
5509
|
-
|
|
5510
|
-
|
|
5511
|
-
|
|
5512
|
-
|
|
5513
|
-
|
|
5514
|
-
|
|
5515
|
-
className: cx(
|
|
5516
|
-
"tf-checkout-payment__method",
|
|
5517
|
-
isSelected && "tf-checkout-payment__method--selected"
|
|
5518
|
-
)
|
|
5519
|
-
},
|
|
5520
|
-
/* @__PURE__ */ React10.createElement("span", { className: "tf-checkout-payment__method-head" }, /* @__PURE__ */ React10.createElement(
|
|
5521
|
-
"input",
|
|
5522
|
-
{
|
|
5523
|
-
type: "radio",
|
|
5524
|
-
name: "tf-pay-method",
|
|
5525
|
-
className: "tf-checkout-payment__method-radio",
|
|
5526
|
-
checked: isSelected,
|
|
5527
|
-
onChange: () => onSelect(o.value)
|
|
5528
|
-
}
|
|
5529
|
-
), o.iconUrl && /* @__PURE__ */ React10.createElement("img", { className: "tf-checkout-payment__method-icon", src: o.iconUrl, alt: "" }), /* @__PURE__ */ React10.createElement("span", { className: "tf-checkout-payment__method-label" }, o.label)),
|
|
5530
|
-
isSelected && (o.value === inputSlotFor || o.extra) && /* @__PURE__ */ React10.createElement("div", { className: "tf-checkout-payment__method-body" }, o.value === inputSlotFor && children, o.extra && /* @__PURE__ */ React10.createElement(
|
|
5531
|
-
Field,
|
|
5769
|
+
}) => {
|
|
5770
|
+
const t = useT();
|
|
5771
|
+
return /* @__PURE__ */ React10.createElement(
|
|
5772
|
+
"div",
|
|
5773
|
+
{
|
|
5774
|
+
className: cx("tf-checkout-payment__methods", className),
|
|
5775
|
+
role: "radiogroup",
|
|
5776
|
+
"aria-label": t("payment.method")
|
|
5777
|
+
},
|
|
5778
|
+
options.map((o) => {
|
|
5779
|
+
var _a, _b, _c, _d, _e, _f;
|
|
5780
|
+
const isSelected = o.value === selected;
|
|
5781
|
+
const extraValue = o.extra === "phoneNumber" ? (_a = extraValues[o.value]) == null ? void 0 : _a.phoneNumber : (_b = extraValues[o.value]) == null ? void 0 : _b.cashtag;
|
|
5782
|
+
const extraInvalid = Boolean(isSelected && o.extra && showValidation) && !(extraValue == null ? void 0 : extraValue.trim());
|
|
5783
|
+
return /* @__PURE__ */ React10.createElement(
|
|
5784
|
+
"label",
|
|
5532
5785
|
{
|
|
5533
|
-
|
|
5534
|
-
|
|
5535
|
-
|
|
5786
|
+
key: o.value,
|
|
5787
|
+
className: cx(
|
|
5788
|
+
"tf-checkout-payment__method",
|
|
5789
|
+
isSelected && "tf-checkout-payment__method--selected"
|
|
5790
|
+
)
|
|
5536
5791
|
},
|
|
5537
|
-
/* @__PURE__ */ React10.createElement(
|
|
5538
|
-
|
|
5792
|
+
/* @__PURE__ */ React10.createElement("span", { className: "tf-checkout-payment__method-head" }, /* @__PURE__ */ React10.createElement(
|
|
5793
|
+
"input",
|
|
5539
5794
|
{
|
|
5540
|
-
|
|
5541
|
-
|
|
5542
|
-
|
|
5543
|
-
|
|
5544
|
-
|
|
5545
|
-
value: o.extra === "phoneNumber" ? (_d = (_c = extraValues[o.value]) == null ? void 0 : _c.phoneNumber) != null ? _d : "" : (_f = (_e = extraValues[o.value]) == null ? void 0 : _e.cashtag) != null ? _f : "",
|
|
5546
|
-
onChange: (e) => onExtraChange(
|
|
5547
|
-
o.value,
|
|
5548
|
-
o.extra === "phoneNumber" ? { phoneNumber: e.target.value } : { cashtag: e.target.value }
|
|
5549
|
-
)
|
|
5795
|
+
type: "radio",
|
|
5796
|
+
name: "tf-pay-method",
|
|
5797
|
+
className: "tf-checkout-payment__method-radio",
|
|
5798
|
+
checked: isSelected,
|
|
5799
|
+
onChange: () => onSelect(o.value)
|
|
5550
5800
|
}
|
|
5551
|
-
)
|
|
5552
|
-
|
|
5553
|
-
|
|
5554
|
-
|
|
5555
|
-
|
|
5801
|
+
), o.iconUrl && /* @__PURE__ */ React10.createElement(
|
|
5802
|
+
"img",
|
|
5803
|
+
{
|
|
5804
|
+
className: "tf-checkout-payment__method-icon",
|
|
5805
|
+
src: o.iconUrl,
|
|
5806
|
+
alt: ""
|
|
5807
|
+
}
|
|
5808
|
+
), /* @__PURE__ */ React10.createElement("span", { className: "tf-checkout-payment__method-label" }, o.label)),
|
|
5809
|
+
isSelected && (o.value === inputSlotFor || o.extra) && /* @__PURE__ */ React10.createElement("div", { className: "tf-checkout-payment__method-body" }, o.value === inputSlotFor && children, o.extra && /* @__PURE__ */ React10.createElement(
|
|
5810
|
+
Field,
|
|
5811
|
+
{
|
|
5812
|
+
label: `${EXTRA_LABEL[o.extra]} *`,
|
|
5813
|
+
error: extraInvalid ? t("billing.fieldRequired") : void 0,
|
|
5814
|
+
invalid: extraInvalid
|
|
5815
|
+
},
|
|
5816
|
+
/* @__PURE__ */ React10.createElement(
|
|
5817
|
+
Input,
|
|
5818
|
+
{
|
|
5819
|
+
inputMode: o.extra === "phoneNumber" ? "tel" : "text",
|
|
5820
|
+
required: true,
|
|
5821
|
+
invalid: extraInvalid,
|
|
5822
|
+
"aria-invalid": extraInvalid,
|
|
5823
|
+
placeholder: o.extra === "phoneNumber" ? "e.g. 081234567890" : "$cashtag",
|
|
5824
|
+
value: o.extra === "phoneNumber" ? (_d = (_c = extraValues[o.value]) == null ? void 0 : _c.phoneNumber) != null ? _d : "" : (_f = (_e = extraValues[o.value]) == null ? void 0 : _e.cashtag) != null ? _f : "",
|
|
5825
|
+
onChange: (e) => onExtraChange(
|
|
5826
|
+
o.value,
|
|
5827
|
+
o.extra === "phoneNumber" ? { phoneNumber: e.target.value } : { cashtag: e.target.value }
|
|
5828
|
+
)
|
|
5829
|
+
}
|
|
5830
|
+
)
|
|
5831
|
+
))
|
|
5832
|
+
);
|
|
5833
|
+
})
|
|
5834
|
+
);
|
|
5835
|
+
};
|
|
5556
5836
|
|
|
5557
5837
|
// src/ui/Stepper.tsx
|
|
5558
5838
|
import React11 from "react";
|
|
5559
|
-
var Stepper = ({ value, onChange, min = 0, max = Infinity, step = 1, disabled, className }) =>
|
|
5560
|
-
|
|
5561
|
-
{
|
|
5562
|
-
|
|
5563
|
-
|
|
5564
|
-
|
|
5565
|
-
|
|
5566
|
-
|
|
5567
|
-
|
|
5568
|
-
|
|
5569
|
-
|
|
5570
|
-
|
|
5571
|
-
{
|
|
5572
|
-
|
|
5573
|
-
|
|
5574
|
-
|
|
5575
|
-
|
|
5576
|
-
|
|
5577
|
-
|
|
5578
|
-
|
|
5579
|
-
|
|
5839
|
+
var Stepper = ({ value, onChange, min = 0, max = Infinity, step = 1, disabled, className }) => {
|
|
5840
|
+
const t = useT();
|
|
5841
|
+
return /* @__PURE__ */ React11.createElement("div", { className: cx("tf-checkout-stepper", className) }, /* @__PURE__ */ React11.createElement(
|
|
5842
|
+
"button",
|
|
5843
|
+
{
|
|
5844
|
+
type: "button",
|
|
5845
|
+
className: "tf-checkout-stepper__btn",
|
|
5846
|
+
"aria-label": t("common.decrease"),
|
|
5847
|
+
disabled: disabled || value <= min,
|
|
5848
|
+
onClick: () => onChange(Math.max(min, value - step))
|
|
5849
|
+
},
|
|
5850
|
+
"\u2212"
|
|
5851
|
+
), /* @__PURE__ */ React11.createElement("span", { className: "tf-checkout-stepper__value" }, value), /* @__PURE__ */ React11.createElement(
|
|
5852
|
+
"button",
|
|
5853
|
+
{
|
|
5854
|
+
type: "button",
|
|
5855
|
+
className: "tf-checkout-stepper__btn",
|
|
5856
|
+
"aria-label": t("common.increase"),
|
|
5857
|
+
disabled: disabled || value >= max,
|
|
5858
|
+
onClick: () => onChange(Math.min(max, value + step))
|
|
5859
|
+
},
|
|
5860
|
+
"+"
|
|
5861
|
+
));
|
|
5862
|
+
};
|
|
5580
5863
|
|
|
5581
5864
|
// src/ui/QuantitySelect.tsx
|
|
5582
5865
|
import React12 from "react";
|
|
@@ -5641,9 +5924,10 @@ var clock2 = (s) => {
|
|
|
5641
5924
|
var TimerBanner = ({
|
|
5642
5925
|
seconds,
|
|
5643
5926
|
urgentAt = 60,
|
|
5644
|
-
message
|
|
5927
|
+
message,
|
|
5645
5928
|
className
|
|
5646
5929
|
}) => {
|
|
5930
|
+
const t = useT();
|
|
5647
5931
|
const [dismissed, setDismissed] = useState6(false);
|
|
5648
5932
|
if (seconds === void 0 || seconds <= 0 || dismissed) return null;
|
|
5649
5933
|
const urgent = seconds <= urgentAt;
|
|
@@ -5657,14 +5941,14 @@ var TimerBanner = ({
|
|
|
5657
5941
|
className
|
|
5658
5942
|
)
|
|
5659
5943
|
},
|
|
5660
|
-
/* @__PURE__ */ React15.createElement("span", { className: "tf-checkout-timerbanner__msg" }, message),
|
|
5944
|
+
/* @__PURE__ */ React15.createElement("span", { className: "tf-checkout-timerbanner__msg" }, message != null ? message : t("timer.completePurchase")),
|
|
5661
5945
|
/* @__PURE__ */ React15.createElement("span", { className: "tf-checkout-timerbanner__clock" }, clock2(seconds)),
|
|
5662
5946
|
/* @__PURE__ */ React15.createElement(
|
|
5663
5947
|
"button",
|
|
5664
5948
|
{
|
|
5665
5949
|
type: "button",
|
|
5666
5950
|
className: "tf-checkout-timerbanner__close",
|
|
5667
|
-
"aria-label": "
|
|
5951
|
+
"aria-label": t("common.dismiss"),
|
|
5668
5952
|
onClick: () => setDismissed(true)
|
|
5669
5953
|
},
|
|
5670
5954
|
"\xD7"
|
|
@@ -5697,9 +5981,9 @@ var ForgotPasswordForm = ({
|
|
|
5697
5981
|
void onSubmit(email);
|
|
5698
5982
|
};
|
|
5699
5983
|
if (successMessage) {
|
|
5700
|
-
return /* @__PURE__ */ React16.createElement("div", { className: "tf-checkout-auth__form" }, /* @__PURE__ */ React16.createElement("div", { className: "tf-checkout-auth__success", role: "status" }, successMessage), /* @__PURE__ */ React16.createElement(Button, { type: "button", block: true, onClick: () => onBackToLogin(email) }, "
|
|
5984
|
+
return /* @__PURE__ */ React16.createElement("div", { className: "tf-checkout-auth__form" }, /* @__PURE__ */ React16.createElement("div", { className: "tf-checkout-auth__success", role: "status" }, successMessage), /* @__PURE__ */ React16.createElement(Button, { type: "button", block: true, onClick: () => onBackToLogin(email) }, t("auth.backToLogin")));
|
|
5701
5985
|
}
|
|
5702
|
-
return /* @__PURE__ */ React16.createElement("form", { className: "tf-checkout-auth__form", onSubmit: submit, noValidate: true }, /* @__PURE__ */ React16.createElement("p", { className: "tf-checkout-auth__intro" }, "
|
|
5986
|
+
return /* @__PURE__ */ React16.createElement("form", { className: "tf-checkout-auth__form", onSubmit: submit, noValidate: true }, /* @__PURE__ */ React16.createElement("p", { className: "tf-checkout-auth__intro" }, t("auth.forgotIntro")), error && /* @__PURE__ */ React16.createElement("div", { className: "tf-checkout-auth__alert", role: "alert" }, error), /* @__PURE__ */ React16.createElement(Field, { label: t("auth.email"), error: errors.email }, /* @__PURE__ */ React16.createElement(
|
|
5703
5987
|
Input,
|
|
5704
5988
|
{
|
|
5705
5989
|
type: "email",
|
|
@@ -5714,14 +5998,14 @@ var ForgotPasswordForm = ({
|
|
|
5714
5998
|
onFieldChange == null ? void 0 : onFieldChange();
|
|
5715
5999
|
}
|
|
5716
6000
|
}
|
|
5717
|
-
)), /* @__PURE__ */ React16.createElement(Button, { type: "submit", block: true, loading }, "
|
|
6001
|
+
)), /* @__PURE__ */ React16.createElement(Button, { type: "submit", block: true, loading }, t("auth.sendResetInstructions")), /* @__PURE__ */ React16.createElement(
|
|
5718
6002
|
"button",
|
|
5719
6003
|
{
|
|
5720
6004
|
type: "button",
|
|
5721
6005
|
className: "tf-checkout-auth__text-button tf-checkout-auth__back",
|
|
5722
6006
|
onClick: () => onBackToLogin(email)
|
|
5723
6007
|
},
|
|
5724
|
-
"
|
|
6008
|
+
t("auth.backToLogin")
|
|
5725
6009
|
));
|
|
5726
6010
|
};
|
|
5727
6011
|
|
|
@@ -5823,14 +6107,14 @@ var LoginForm = ({
|
|
|
5823
6107
|
}
|
|
5824
6108
|
}
|
|
5825
6109
|
)
|
|
5826
|
-
), /* @__PURE__ */ React18.createElement(Button, { type: "submit", block: true, loading }, "
|
|
6110
|
+
), /* @__PURE__ */ React18.createElement(Button, { type: "submit", block: true, loading }, t("auth.logIn")), allowPasswordReset && onForgotPassword && /* @__PURE__ */ React18.createElement(
|
|
5827
6111
|
"button",
|
|
5828
6112
|
{
|
|
5829
6113
|
type: "button",
|
|
5830
6114
|
className: "tf-checkout-auth__text-button tf-checkout-auth__forgot",
|
|
5831
6115
|
onClick: () => onForgotPassword(email)
|
|
5832
6116
|
},
|
|
5833
|
-
"
|
|
6117
|
+
t("auth.forgotPassword")
|
|
5834
6118
|
));
|
|
5835
6119
|
};
|
|
5836
6120
|
|
|
@@ -6057,7 +6341,7 @@ var RegisterForm = ({
|
|
|
6057
6341
|
invalid: Boolean(errors.stateId),
|
|
6058
6342
|
onChange: (event) => setField("stateId", event.target.value)
|
|
6059
6343
|
},
|
|
6060
|
-
/* @__PURE__ */ React19.createElement("option", { value: "" }, states.length > 0 ? "
|
|
6344
|
+
/* @__PURE__ */ React19.createElement("option", { value: "" }, states.length > 0 ? t("auth.selectState") : t("auth.notRequired")),
|
|
6061
6345
|
states.map((state) => /* @__PURE__ */ React19.createElement("option", { key: state.id, value: state.id }, state.name))
|
|
6062
6346
|
)
|
|
6063
6347
|
), /* @__PURE__ */ React19.createElement(
|
|
@@ -6151,7 +6435,7 @@ var RegisterForm = ({
|
|
|
6151
6435
|
}
|
|
6152
6436
|
)
|
|
6153
6437
|
)),
|
|
6154
|
-
/* @__PURE__ */ React19.createElement(Button, { type: "submit", block: true, loading }, "
|
|
6438
|
+
/* @__PURE__ */ React19.createElement(Button, { type: "submit", block: true, loading }, t("auth.createAccount"))
|
|
6155
6439
|
);
|
|
6156
6440
|
};
|
|
6157
6441
|
|
|
@@ -6243,7 +6527,7 @@ var AuthModal = ({
|
|
|
6243
6527
|
if (event.target === event.currentTarget && !auth.isSubmitting) onClose();
|
|
6244
6528
|
};
|
|
6245
6529
|
const isPasswordReset = auth.view === "forgot-password";
|
|
6246
|
-
const title = isPasswordReset ? "
|
|
6530
|
+
const title = isPasswordReset ? t("auth.passwordReset") : t("auth.title");
|
|
6247
6531
|
return /* @__PURE__ */ React20.createElement("div", { className: cx("tf-checkout-auth", className), onMouseDown: closeFromBackdrop }, /* @__PURE__ */ React20.createElement(
|
|
6248
6532
|
"div",
|
|
6249
6533
|
{
|
|
@@ -6285,7 +6569,7 @@ var AuthModal = ({
|
|
|
6285
6569
|
),
|
|
6286
6570
|
onClick: () => auth.showLogin(auth.suggestedEmail)
|
|
6287
6571
|
},
|
|
6288
|
-
"
|
|
6572
|
+
t("auth.logIn")
|
|
6289
6573
|
),
|
|
6290
6574
|
/* @__PURE__ */ React20.createElement(
|
|
6291
6575
|
"button",
|
|
@@ -6299,7 +6583,7 @@ var AuthModal = ({
|
|
|
6299
6583
|
),
|
|
6300
6584
|
onClick: () => auth.showRegister(auth.suggestedEmail)
|
|
6301
6585
|
},
|
|
6302
|
-
"
|
|
6586
|
+
t("auth.signUp")
|
|
6303
6587
|
)
|
|
6304
6588
|
),
|
|
6305
6589
|
logoUrl && /* @__PURE__ */ React20.createElement("div", { className: "tf-checkout-auth__logo-wrap" }, /* @__PURE__ */ React20.createElement(
|
|
@@ -6368,9 +6652,9 @@ var ResetPasswordForm = ({
|
|
|
6368
6652
|
const validation = useMemo3(() => {
|
|
6369
6653
|
if (!submitted) return {};
|
|
6370
6654
|
return {
|
|
6371
|
-
token: token ? "" : "
|
|
6372
|
-
password: password.length < 8 ? "
|
|
6373
|
-
confirmation: password !== confirmation ? "
|
|
6655
|
+
token: token ? "" : t("auth.missingToken"),
|
|
6656
|
+
password: password.length < 8 ? t("auth.passwordTooShort") : !/[@$!%*#?&]/.test(password) ? t("auth.passwordNeedsSpecial") : "",
|
|
6657
|
+
confirmation: password !== confirmation ? t("auth.passwordsMustMatch") : ""
|
|
6374
6658
|
};
|
|
6375
6659
|
}, [confirmation, password, submitted, token]);
|
|
6376
6660
|
const reset = hooks_exports.useResetPassword({
|
|
@@ -6387,7 +6671,7 @@ var ResetPasswordForm = ({
|
|
|
6387
6671
|
reset.mutate({ token, password, passwordConfirmation: confirmation });
|
|
6388
6672
|
};
|
|
6389
6673
|
if (success) {
|
|
6390
|
-
return /* @__PURE__ */ React21.createElement("div", { className: "tf-checkout-auth__form" }, /* @__PURE__ */ React21.createElement("div", { className: "tf-checkout-auth__success", role: "status" }, "
|
|
6674
|
+
return /* @__PURE__ */ React21.createElement("div", { className: "tf-checkout-auth__form" }, /* @__PURE__ */ React21.createElement("div", { className: "tf-checkout-auth__success", role: "status" }, t("auth.passwordChanged")), onBackToLogin && /* @__PURE__ */ React21.createElement(Button, { type: "button", block: true, onClick: onBackToLogin }, t("auth.logIn")));
|
|
6391
6675
|
}
|
|
6392
6676
|
return /* @__PURE__ */ React21.createElement("form", { className: "tf-checkout-auth__form", onSubmit: submit, noValidate: true }, /* @__PURE__ */ React21.createElement("h2", { className: "tf-checkout-auth__title" }, t("auth.changePassword")), validation.token && /* @__PURE__ */ React21.createElement("div", { className: "tf-checkout-auth__alert", role: "alert" }, validation.token), reset.error && /* @__PURE__ */ React21.createElement("div", { className: "tf-checkout-auth__alert", role: "alert" }, errorMessage(reset.error)), /* @__PURE__ */ React21.createElement(Field, { label: t("auth.newPassword"), error: validation.password }, /* @__PURE__ */ React21.createElement(
|
|
6393
6677
|
Input,
|
|
@@ -6411,7 +6695,7 @@ var ResetPasswordForm = ({
|
|
|
6411
6695
|
invalid: Boolean(validation.confirmation),
|
|
6412
6696
|
onChange: (event) => setConfirmation(event.target.value)
|
|
6413
6697
|
}
|
|
6414
|
-
)), /* @__PURE__ */ React21.createElement(Button, { type: "submit", block: true, loading: reset.isPending, disabled: !token }, "
|
|
6698
|
+
)), /* @__PURE__ */ React21.createElement(Button, { type: "submit", block: true, loading: reset.isPending, disabled: !token }, t("common.submit")));
|
|
6415
6699
|
};
|
|
6416
6700
|
|
|
6417
6701
|
// src/sections/Tickets.tsx
|
|
@@ -6422,30 +6706,31 @@ import React22, {
|
|
|
6422
6706
|
useState as useState12
|
|
6423
6707
|
} from "react";
|
|
6424
6708
|
var WaitingListForm = ({ ticket, onJoin }) => {
|
|
6709
|
+
const tr = useT();
|
|
6425
6710
|
const [form, setForm] = useState12({ firstName: "", lastName: "", email: "" });
|
|
6426
6711
|
const [state, setState] = useState12("idle");
|
|
6427
6712
|
const [error, setError] = useState12("");
|
|
6428
6713
|
const ok = form.firstName.trim() && form.lastName.trim() && form.email.trim();
|
|
6429
6714
|
if (state === "done")
|
|
6430
|
-
return /* @__PURE__ */ React22.createElement("p", { className: "tf-checkout-note tf-checkout-tickets__wl-done" }, "
|
|
6715
|
+
return /* @__PURE__ */ React22.createElement("p", { className: "tf-checkout-note tf-checkout-tickets__wl-done" }, tr("tickets.waitingListJoined"));
|
|
6431
6716
|
return /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__wl" }, /* @__PURE__ */ React22.createElement(FieldRow, null, /* @__PURE__ */ React22.createElement(Field, null, /* @__PURE__ */ React22.createElement(
|
|
6432
6717
|
Input,
|
|
6433
6718
|
{
|
|
6434
|
-
placeholder: "
|
|
6719
|
+
placeholder: tr("tickets.firstName"),
|
|
6435
6720
|
value: form.firstName,
|
|
6436
6721
|
onChange: (e) => setForm((f) => ({ ...f, firstName: e.target.value }))
|
|
6437
6722
|
}
|
|
6438
6723
|
)), /* @__PURE__ */ React22.createElement(Field, null, /* @__PURE__ */ React22.createElement(
|
|
6439
6724
|
Input,
|
|
6440
6725
|
{
|
|
6441
|
-
placeholder: "
|
|
6726
|
+
placeholder: tr("tickets.lastName"),
|
|
6442
6727
|
value: form.lastName,
|
|
6443
6728
|
onChange: (e) => setForm((f) => ({ ...f, lastName: e.target.value }))
|
|
6444
6729
|
}
|
|
6445
6730
|
))), /* @__PURE__ */ React22.createElement(Field, null, /* @__PURE__ */ React22.createElement(
|
|
6446
6731
|
Input,
|
|
6447
6732
|
{
|
|
6448
|
-
placeholder: "
|
|
6733
|
+
placeholder: tr("tickets.email"),
|
|
6449
6734
|
value: form.email,
|
|
6450
6735
|
onChange: (e) => setForm((f) => ({ ...f, email: e.target.value }))
|
|
6451
6736
|
}
|
|
@@ -6464,14 +6749,14 @@ var WaitingListForm = ({ ticket, onJoin }) => {
|
|
|
6464
6749
|
disabled: !ok || state === "busy",
|
|
6465
6750
|
variant: "secondary"
|
|
6466
6751
|
},
|
|
6467
|
-
"
|
|
6752
|
+
tr("tickets.joinWaitingList")
|
|
6468
6753
|
), error && /* @__PURE__ */ React22.createElement("p", { className: "tf-checkout-error-text" }, error));
|
|
6469
6754
|
};
|
|
6470
6755
|
var Tickets = ({
|
|
6471
6756
|
eventId,
|
|
6472
6757
|
title = false,
|
|
6473
6758
|
onContinue,
|
|
6474
|
-
buttonLabel
|
|
6759
|
+
buttonLabel,
|
|
6475
6760
|
timeSlotDates,
|
|
6476
6761
|
step,
|
|
6477
6762
|
onSelectSeats,
|
|
@@ -6481,7 +6766,9 @@ var Tickets = ({
|
|
|
6481
6766
|
className
|
|
6482
6767
|
}) => {
|
|
6483
6768
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
6769
|
+
const tr = useT();
|
|
6484
6770
|
const checkout = useCheckoutContext();
|
|
6771
|
+
const buttonText = buttonLabel != null ? buttonLabel : tr("tickets.getTickets");
|
|
6485
6772
|
const ticketsQuery = hooks_exports.useTicketsWithMeta(eventId);
|
|
6486
6773
|
const promoMeta = (_a = ticketsQuery.data) == null ? void 0 : _a.promo;
|
|
6487
6774
|
const showWaitingList = (_c = (_b = ticketsQuery.data) == null ? void 0 : _b.showWaitingList) != null ? _c : false;
|
|
@@ -6567,7 +6854,7 @@ var Tickets = ({
|
|
|
6567
6854
|
const seatMapRow = (t) => isSeated && !t.allowDirectPurchase;
|
|
6568
6855
|
const hasSeatMapTickets = tickets.some(seatMapRow);
|
|
6569
6856
|
const directPurchasable = tickets.filter((t) => !seatMapRow(t));
|
|
6570
|
-
const seatCtaLabel = (eventInfo == null ? void 0 : eventInfo.tableMapEnabled) ? "
|
|
6857
|
+
const seatCtaLabel = (eventInfo == null ? void 0 : eventInfo.tableMapEnabled) ? tr("tickets.selectOnMap") : tr("tickets.selectSeats");
|
|
6571
6858
|
const firstTableIndex = tickets.findIndex((t) => t.isTable);
|
|
6572
6859
|
const firstTableId = firstTableIndex > 0 && tickets.slice(0, firstTableIndex).some((t) => !t.isTable) ? tickets[firstTableIndex].id : void 0;
|
|
6573
6860
|
const prime = () => {
|
|
@@ -6600,7 +6887,7 @@ var Tickets = ({
|
|
|
6600
6887
|
const ticketIndex = tickets.findIndex((candidate) => candidate.id === t.id);
|
|
6601
6888
|
const previousTicket = ticketIndex > 0 ? tickets[ticketIndex - 1] : void 0;
|
|
6602
6889
|
const startsNamedGroup = Boolean(t.groupName) && t.groupName !== (previousTicket == null ? void 0 : previousTicket.groupName);
|
|
6603
|
-
return /* @__PURE__ */ React22.createElement(Fragment, { key: t.id }, startsNamedGroup ? /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__group" }, t.groupName) : t.id === firstTableId && /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__group" }, "
|
|
6890
|
+
return /* @__PURE__ */ React22.createElement(Fragment, { key: t.id }, startsNamedGroup ? /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__group" }, t.groupName) : t.id === firstTableId && /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__group" }, tr("tickets.reserveTables")), /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__row-wrap" }, /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__row" }, /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__info" }, /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__name" }, /* @__PURE__ */ React22.createElement("span", null, t.name), t.descriptionRich && /* @__PURE__ */ React22.createElement(
|
|
6604
6891
|
"button",
|
|
6605
6892
|
{
|
|
6606
6893
|
type: "button",
|
|
@@ -6609,8 +6896,8 @@ var Tickets = ({
|
|
|
6609
6896
|
"aria-controls": `ticket-description-${t.id}`,
|
|
6610
6897
|
onClick: () => setVisibleDescription((current2) => current2 === t.id ? null : t.id)
|
|
6611
6898
|
},
|
|
6612
|
-
visibleDescription === t.id ? "
|
|
6613
|
-
)), /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__price" }, discounted && /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__old" }, money(sym, original)), /* @__PURE__ */ React22.createElement(
|
|
6899
|
+
visibleDescription === t.id ? tr("tickets.hideInfo") : tr("tickets.viewInfo")
|
|
6900
|
+
)), t.badgeText && !unavailable && /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__badge" }, t.badgeText), /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__price" }, discounted && /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__old" }, money(sym, original)), /* @__PURE__ */ React22.createElement(
|
|
6614
6901
|
"span",
|
|
6615
6902
|
{
|
|
6616
6903
|
className: cx(
|
|
@@ -6618,8 +6905,8 @@ var Tickets = ({
|
|
|
6618
6905
|
isFree && "tf-checkout-tickets__amount--free"
|
|
6619
6906
|
)
|
|
6620
6907
|
},
|
|
6621
|
-
isFree ? "
|
|
6622
|
-
), !isFree && !t.soldOut && /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__fees" },
|
|
6908
|
+
isFree ? tr("tickets.free") : money(sym, t.price)
|
|
6909
|
+
), !isFree && !t.soldOut && /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__fees" }, tr("tickets.withFees", { price: money(sym, t.priceWithFees) })), t.depositPercent != null && /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__deposit" }, tr("tickets.deposit", { percent: t.depositPercent.toFixed(2) })))), seatMapRow(t) ? null : unavailable ? /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__soldout" }, t.soldOut ? tr("tickets.soldOut") : notStarted ? tr("tickets.salesNotStarted") : tr("tickets.salesEnded")) : /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__qty" }, t.isTable && /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__guests" }, tr("tickets.guests")), /* @__PURE__ */ React22.createElement(
|
|
6623
6910
|
QuantitySelect,
|
|
6624
6911
|
{
|
|
6625
6912
|
value: (_a2 = qty[t.id]) != null ? _a2 : 0,
|
|
@@ -6648,7 +6935,7 @@ var Tickets = ({
|
|
|
6648
6935
|
className: "tf-checkout-tickets__wl-toggle",
|
|
6649
6936
|
onClick: () => setWlOpen((w) => ({ ...w, [t.id]: true }))
|
|
6650
6937
|
},
|
|
6651
|
-
"
|
|
6938
|
+
tr("tickets.joinWaitingList")
|
|
6652
6939
|
))));
|
|
6653
6940
|
};
|
|
6654
6941
|
const timeGroups = [];
|
|
@@ -6666,7 +6953,7 @@ var Tickets = ({
|
|
|
6666
6953
|
title: title || "",
|
|
6667
6954
|
pills: listQuery.isFetching && !listQuery.isLoading ? /* @__PURE__ */ React22.createElement(Loader, null) : void 0
|
|
6668
6955
|
}
|
|
6669
|
-
), listQuery.isLoading && /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__loading" }, /* @__PURE__ */ React22.createElement(Loader, { className: "tf-checkout-tickets__loading-spinner" })), listQuery.error && /* @__PURE__ */ React22.createElement("p", { className: "tf-checkout-error-text" }, listQuery.error.message), isTimeSlot && dates.length > 0 && /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__currency" }, /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__currency-label" }, "
|
|
6956
|
+
), listQuery.isLoading && /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__loading" }, /* @__PURE__ */ React22.createElement(Loader, { className: "tf-checkout-tickets__loading-spinner" })), listQuery.error && /* @__PURE__ */ React22.createElement("p", { className: "tf-checkout-error-text" }, listQuery.error.message), isTimeSlot && dates.length > 0 && /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__currency" }, /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__currency-label" }, tr("common.date")), /* @__PURE__ */ React22.createElement(
|
|
6670
6957
|
"select",
|
|
6671
6958
|
{
|
|
6672
6959
|
className: "tf-checkout-select",
|
|
@@ -6677,7 +6964,7 @@ var Tickets = ({
|
|
|
6677
6964
|
}
|
|
6678
6965
|
},
|
|
6679
6966
|
dates.map((d) => /* @__PURE__ */ React22.createElement("option", { key: d, value: d }, d))
|
|
6680
|
-
)), checkout.currency && checkout.currency.available.length > 1 && /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__currency" }, /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__currency-label" }, "
|
|
6967
|
+
)), checkout.currency && checkout.currency.available.length > 1 && /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__currency" }, /* @__PURE__ */ React22.createElement("span", { className: "tf-checkout-tickets__currency-label" }, tr("common.currency")), /* @__PURE__ */ React22.createElement(
|
|
6681
6968
|
"select",
|
|
6682
6969
|
{
|
|
6683
6970
|
className: "tf-checkout-select",
|
|
@@ -6685,18 +6972,18 @@ var Tickets = ({
|
|
|
6685
6972
|
onChange: (e) => changeCurrency(e.target.value)
|
|
6686
6973
|
},
|
|
6687
6974
|
checkout.currency.available.map((c) => /* @__PURE__ */ React22.createElement("option", { key: c.code, value: c.code }, c.name, " (", c.code, ")"))
|
|
6688
|
-
)), isTimeSlot && !slotQuery.isLoading && tickets.length === 0 && slotDate && /* @__PURE__ */ React22.createElement("p", { className: "tf-checkout-note" }, "
|
|
6975
|
+
)), isTimeSlot && !slotQuery.isLoading && tickets.length === 0 && slotDate && /* @__PURE__ */ React22.createElement("p", { className: "tf-checkout-note" }, tr("tickets.noSessions")), isTimeSlot ? timeGroups.map((g) => /* @__PURE__ */ React22.createElement(Fragment, { key: g.time }, g.time && /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__slot-time" }, g.time), g.items.map(renderRow))) : tickets.map(renderRow), showCodeInput && /* @__PURE__ */ React22.createElement("div", { className: "tf-checkout-tickets__promo" }, !isAccess && !promoOpen ? /* @__PURE__ */ React22.createElement(
|
|
6689
6976
|
"button",
|
|
6690
6977
|
{
|
|
6691
6978
|
type: "button",
|
|
6692
6979
|
className: "tf-checkout-tickets__promo-toggle",
|
|
6693
6980
|
onClick: () => setPromoOpen(true)
|
|
6694
6981
|
},
|
|
6695
|
-
"
|
|
6982
|
+
tr("tickets.gotPromoCode")
|
|
6696
6983
|
) : /* @__PURE__ */ React22.createElement(React22.Fragment, null, /* @__PURE__ */ React22.createElement(FieldRow, null, /* @__PURE__ */ React22.createElement(Field, null, /* @__PURE__ */ React22.createElement(
|
|
6697
6984
|
Input,
|
|
6698
6985
|
{
|
|
6699
|
-
placeholder: isAccess ? "
|
|
6986
|
+
placeholder: isAccess ? tr("tickets.accessCode") : tr("tickets.promoCode"),
|
|
6700
6987
|
value: code,
|
|
6701
6988
|
onChange: (e) => setCode(e.target.value),
|
|
6702
6989
|
onKeyDown: (e) => e.key === "Enter" && applyCode()
|
|
@@ -6727,7 +7014,7 @@ var Tickets = ({
|
|
|
6727
7014
|
loading: checkout.isBusy,
|
|
6728
7015
|
disabled: checkout.isBusy || selected.length === 0
|
|
6729
7016
|
},
|
|
6730
|
-
checkout.isBusy ? "
|
|
7017
|
+
checkout.isBusy ? tr("tickets.reserving") : selectionIsTable ? tr("tickets.reserveTables") : buttonText
|
|
6731
7018
|
), hasSeatMapTickets && /* @__PURE__ */ React22.createElement(Button, { block: true, onClick: () => onSelectSeats == null ? void 0 : onSelectSeats() }, seatCtaLabel), (error || checkout.error) && /* @__PURE__ */ React22.createElement("p", { className: "tf-checkout-error-text" }, error || checkout.error));
|
|
6732
7019
|
};
|
|
6733
7020
|
|
|
@@ -7093,13 +7380,17 @@ var AddOns = ({
|
|
|
7093
7380
|
eventId,
|
|
7094
7381
|
onContinue,
|
|
7095
7382
|
onSkip,
|
|
7096
|
-
buttonLabel
|
|
7097
|
-
eyebrow
|
|
7098
|
-
heading
|
|
7383
|
+
buttonLabel,
|
|
7384
|
+
eyebrow,
|
|
7385
|
+
heading,
|
|
7099
7386
|
className
|
|
7100
7387
|
}) => {
|
|
7101
7388
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
7389
|
+
const t = useT();
|
|
7102
7390
|
const checkout = useCheckoutContext();
|
|
7391
|
+
const buttonText = buttonLabel != null ? buttonLabel : t("addons.confirmSelection");
|
|
7392
|
+
const eyebrowText = eyebrow != null ? eyebrow : t("addons.eyebrow");
|
|
7393
|
+
const headingText = heading != null ? heading : t("addons.heading");
|
|
7103
7394
|
const combined = !onContinue;
|
|
7104
7395
|
const addonsQuery = hooks_exports.useEventAddons(eventId);
|
|
7105
7396
|
const all = (_a = addonsQuery.data) != null ? _a : [];
|
|
@@ -7129,14 +7420,14 @@ var AddOns = ({
|
|
|
7129
7420
|
return ((_a3 = selection[id]) != null ? _a3 : 0) > 0;
|
|
7130
7421
|
})
|
|
7131
7422
|
);
|
|
7132
|
-
const
|
|
7423
|
+
const t2 = setTimeout(() => {
|
|
7133
7424
|
checkout.setAddonDataCapture(captureForSelected);
|
|
7134
7425
|
checkout.setAddons(selection).catch((e) => setError(errorMessage(e)));
|
|
7135
7426
|
}, 500);
|
|
7136
|
-
return () => clearTimeout(
|
|
7427
|
+
return () => clearTimeout(t2);
|
|
7137
7428
|
}, [combined, qty, capture]);
|
|
7138
7429
|
const hasRequired = ((_f = checkout.requiredAddOns) != null ? _f : []).some((a) => a.required);
|
|
7139
|
-
const head = /* @__PURE__ */ React24.createElement("div", { className: "tf-checkout-addons__head" },
|
|
7430
|
+
const head = /* @__PURE__ */ React24.createElement("div", { className: "tf-checkout-addons__head" }, eyebrowText && /* @__PURE__ */ React24.createElement("span", { className: "tf-checkout-addons__eyebrow" }, eyebrowText), /* @__PURE__ */ React24.createElement("span", { className: "tf-checkout-addons__heading" }, headingText), onSkip && !hasRequired && /* @__PURE__ */ React24.createElement("button", { type: "button", className: "tf-checkout-addons__skip", onClick: onSkip }, "Skip"));
|
|
7140
7431
|
if (addonsQuery.isLoading) {
|
|
7141
7432
|
return /* @__PURE__ */ React24.createElement(Card, { className }, head, /* @__PURE__ */ React24.createElement("div", { className: "tf-checkout-section-loader" }, /* @__PURE__ */ React24.createElement(Loader, null)));
|
|
7142
7433
|
}
|
|
@@ -7183,7 +7474,7 @@ var AddOns = ({
|
|
|
7183
7474
|
className: "tf-checkout-addons__desc",
|
|
7184
7475
|
dangerouslySetInnerHTML: { __html: a.description }
|
|
7185
7476
|
}
|
|
7186
|
-
)), soldOut(a) ? /* @__PURE__ */ React24.createElement("span", { className: "tf-checkout-tickets__soldout" }, "
|
|
7477
|
+
)), soldOut(a) ? /* @__PURE__ */ React24.createElement("span", { className: "tf-checkout-tickets__soldout" }, t("tickets.soldOut")) : /* @__PURE__ */ React24.createElement(
|
|
7187
7478
|
QuantitySelect,
|
|
7188
7479
|
{
|
|
7189
7480
|
value: n,
|
|
@@ -7214,7 +7505,7 @@ var AddOns = ({
|
|
|
7214
7505
|
loading: checkout.isBusy,
|
|
7215
7506
|
disabled: checkout.isBusy || selectedCount === 0
|
|
7216
7507
|
},
|
|
7217
|
-
checkout.isBusy ? "
|
|
7508
|
+
checkout.isBusy ? t("addons.updating") : buttonText
|
|
7218
7509
|
), missing.length > 0 && /* @__PURE__ */ React24.createElement("p", { className: "tf-checkout-note" }, "Required add-on: ", missing.join(", "), "."), (error || checkout.error) && /* @__PURE__ */ React24.createElement("p", { className: "tf-checkout-error-text" }, error || checkout.error));
|
|
7219
7510
|
};
|
|
7220
7511
|
|
|
@@ -7238,17 +7529,18 @@ var BillingAddressFields = ({
|
|
|
7238
7529
|
setBilling
|
|
7239
7530
|
}) => {
|
|
7240
7531
|
var _a, _b, _c, _d, _e;
|
|
7532
|
+
const t = useT();
|
|
7241
7533
|
const setValue = (key) => (event) => setBilling((current2) => ({ ...current2, [key]: event.target.value }));
|
|
7242
|
-
return /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement("div", { className: "tf-checkout-billing__section-label" }, "
|
|
7534
|
+
return /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement("div", { className: "tf-checkout-billing__section-label" }, t("billing.address")), /* @__PURE__ */ React25.createElement(
|
|
7243
7535
|
Field,
|
|
7244
7536
|
{
|
|
7245
|
-
error: fieldError("Street address", "
|
|
7537
|
+
error: fieldError("Street address", t("billing.streetRequired")),
|
|
7246
7538
|
invalid: Boolean(fieldError("Street address"))
|
|
7247
7539
|
},
|
|
7248
7540
|
/* @__PURE__ */ React25.createElement(
|
|
7249
7541
|
Input,
|
|
7250
7542
|
{
|
|
7251
|
-
placeholder: "
|
|
7543
|
+
placeholder: t("billing.streetPlaceholder"),
|
|
7252
7544
|
autoComplete: "street-address",
|
|
7253
7545
|
value: (_a = billing.streetAddress) != null ? _a : "",
|
|
7254
7546
|
required: true,
|
|
@@ -7260,13 +7552,13 @@ var BillingAddressFields = ({
|
|
|
7260
7552
|
), /* @__PURE__ */ React25.createElement(FieldRow, null, /* @__PURE__ */ React25.createElement(
|
|
7261
7553
|
Field,
|
|
7262
7554
|
{
|
|
7263
|
-
error: fieldError("City", "
|
|
7555
|
+
error: fieldError("City", t("billing.cityRequired")),
|
|
7264
7556
|
invalid: Boolean(fieldError("City"))
|
|
7265
7557
|
},
|
|
7266
7558
|
/* @__PURE__ */ React25.createElement(
|
|
7267
7559
|
Input,
|
|
7268
7560
|
{
|
|
7269
|
-
placeholder: "
|
|
7561
|
+
placeholder: t("billing.cityPlaceholder"),
|
|
7270
7562
|
autoComplete: "address-level2",
|
|
7271
7563
|
value: (_b = billing.city) != null ? _b : "",
|
|
7272
7564
|
required: true,
|
|
@@ -7278,13 +7570,13 @@ var BillingAddressFields = ({
|
|
|
7278
7570
|
), /* @__PURE__ */ React25.createElement(
|
|
7279
7571
|
Field,
|
|
7280
7572
|
{
|
|
7281
|
-
error: fieldError("ZIP / postcode", "
|
|
7573
|
+
error: fieldError("ZIP / postcode", t("billing.postcodeRequired")),
|
|
7282
7574
|
invalid: Boolean(fieldError("ZIP / postcode"))
|
|
7283
7575
|
},
|
|
7284
7576
|
/* @__PURE__ */ React25.createElement(
|
|
7285
7577
|
Input,
|
|
7286
7578
|
{
|
|
7287
|
-
placeholder: "
|
|
7579
|
+
placeholder: t("billing.postcodePlaceholder"),
|
|
7288
7580
|
autoComplete: "postal-code",
|
|
7289
7581
|
value: (_c = billing.zip) != null ? _c : "",
|
|
7290
7582
|
required: true,
|
|
@@ -7296,14 +7588,14 @@ var BillingAddressFields = ({
|
|
|
7296
7588
|
)), /* @__PURE__ */ React25.createElement(FieldRow, null, /* @__PURE__ */ React25.createElement(
|
|
7297
7589
|
Field,
|
|
7298
7590
|
{
|
|
7299
|
-
error: fieldError("Country", "
|
|
7591
|
+
error: fieldError("Country", t("billing.countryRequired")),
|
|
7300
7592
|
invalid: Boolean(fieldError("Country"))
|
|
7301
7593
|
},
|
|
7302
7594
|
/* @__PURE__ */ React25.createElement(
|
|
7303
7595
|
Select,
|
|
7304
7596
|
{
|
|
7305
7597
|
value: (_d = billing.countryId) != null ? _d : "",
|
|
7306
|
-
"aria-label": "
|
|
7598
|
+
"aria-label": t("billing.countryLabel"),
|
|
7307
7599
|
required: true,
|
|
7308
7600
|
invalid: Boolean(fieldError("Country")),
|
|
7309
7601
|
"aria-invalid": Boolean(fieldError("Country")),
|
|
@@ -7323,13 +7615,13 @@ var BillingAddressFields = ({
|
|
|
7323
7615
|
});
|
|
7324
7616
|
}
|
|
7325
7617
|
},
|
|
7326
|
-
/* @__PURE__ */ React25.createElement("option", { value: "" }, "
|
|
7618
|
+
/* @__PURE__ */ React25.createElement("option", { value: "" }, t("billing.countryEmpty")),
|
|
7327
7619
|
countries.map((country) => /* @__PURE__ */ React25.createElement("option", { key: country.id, value: country.id }, country.name))
|
|
7328
7620
|
)
|
|
7329
7621
|
), /* @__PURE__ */ React25.createElement(
|
|
7330
7622
|
Field,
|
|
7331
7623
|
{
|
|
7332
|
-
error: fieldError("State / county", "
|
|
7624
|
+
error: fieldError("State / county", t("billing.stateRequired")),
|
|
7333
7625
|
invalid: Boolean(fieldError("State / county"))
|
|
7334
7626
|
},
|
|
7335
7627
|
/* @__PURE__ */ React25.createElement(
|
|
@@ -7337,7 +7629,7 @@ var BillingAddressFields = ({
|
|
|
7337
7629
|
{
|
|
7338
7630
|
value: (_e = billing.stateId) != null ? _e : "",
|
|
7339
7631
|
disabled: !billing.countryId || states.length === 0,
|
|
7340
|
-
"aria-label": "
|
|
7632
|
+
"aria-label": t("billing.stateLabel"),
|
|
7341
7633
|
required: states.length > 0,
|
|
7342
7634
|
invalid: Boolean(fieldError("State / county")),
|
|
7343
7635
|
"aria-invalid": Boolean(fieldError("State / county")),
|
|
@@ -7352,7 +7644,7 @@ var BillingAddressFields = ({
|
|
|
7352
7644
|
}));
|
|
7353
7645
|
}
|
|
7354
7646
|
},
|
|
7355
|
-
/* @__PURE__ */ React25.createElement("option", { value: "" },
|
|
7647
|
+
/* @__PURE__ */ React25.createElement("option", { value: "" }, states.length > 0 ? t("billing.stateEmptyRequired") : t("billing.stateEmpty")),
|
|
7356
7648
|
states.map((state) => /* @__PURE__ */ React25.createElement("option", { key: state.id, value: state.id }, state.name))
|
|
7357
7649
|
)
|
|
7358
7650
|
)));
|
|
@@ -7432,114 +7724,121 @@ var TicketHoldersCard = ({
|
|
|
7432
7724
|
fieldError,
|
|
7433
7725
|
renderCustomFields,
|
|
7434
7726
|
patchHolder
|
|
7435
|
-
}) =>
|
|
7436
|
-
const
|
|
7437
|
-
|
|
7438
|
-
|
|
7439
|
-
|
|
7440
|
-
|
|
7441
|
-
|
|
7442
|
-
{
|
|
7443
|
-
|
|
7444
|
-
error: fieldError(firstNameKey, "First name is required."),
|
|
7445
|
-
invalid: Boolean(fieldError(firstNameKey))
|
|
7446
|
-
},
|
|
7447
|
-
/* @__PURE__ */ React27.createElement(
|
|
7448
|
-
Input,
|
|
7727
|
+
}) => {
|
|
7728
|
+
const t = useT();
|
|
7729
|
+
return /* @__PURE__ */ React27.createElement(Card, { className: "tf-checkout-billing__holders-card" }, /* @__PURE__ */ React27.createElement(SectionHeader, { title: t("billing.ticketHolders") }), holders.map((holder, index) => {
|
|
7730
|
+
const firstNameKey = `Ticket ${index + 1} holder first name`;
|
|
7731
|
+
const lastNameKey = `Ticket ${index + 1} holder last name`;
|
|
7732
|
+
const emailKey = `Ticket ${index + 1} holder email`;
|
|
7733
|
+
const phoneKey = `Ticket ${index + 1} holder phone`;
|
|
7734
|
+
return /* @__PURE__ */ React27.createElement("div", { key: index, className: "tf-checkout-billing__holder" }, /* @__PURE__ */ React27.createElement("div", { className: "tf-checkout-billing__holder-title" }, t("billing.holderTitle", { number: index + 1 })), holderNamesRequired && /* @__PURE__ */ React27.createElement(FieldRow, null, /* @__PURE__ */ React27.createElement(
|
|
7735
|
+
Field,
|
|
7449
7736
|
{
|
|
7450
|
-
|
|
7451
|
-
|
|
7452
|
-
invalid: Boolean(fieldError(firstNameKey))
|
|
7453
|
-
|
|
7454
|
-
|
|
7455
|
-
|
|
7456
|
-
|
|
7457
|
-
|
|
7458
|
-
|
|
7459
|
-
|
|
7460
|
-
|
|
7461
|
-
|
|
7462
|
-
|
|
7463
|
-
|
|
7464
|
-
/* @__PURE__ */ React27.createElement(
|
|
7465
|
-
|
|
7737
|
+
label: t("billing.holderFirstName"),
|
|
7738
|
+
error: fieldError(firstNameKey, t("billing.firstNameRequired")),
|
|
7739
|
+
invalid: Boolean(fieldError(firstNameKey))
|
|
7740
|
+
},
|
|
7741
|
+
/* @__PURE__ */ React27.createElement(
|
|
7742
|
+
Input,
|
|
7743
|
+
{
|
|
7744
|
+
value: holder.firstName,
|
|
7745
|
+
required: true,
|
|
7746
|
+
invalid: Boolean(fieldError(firstNameKey)),
|
|
7747
|
+
"aria-invalid": Boolean(fieldError(firstNameKey)),
|
|
7748
|
+
onChange: (event) => patchHolder(index, { firstName: event.target.value })
|
|
7749
|
+
}
|
|
7750
|
+
)
|
|
7751
|
+
), /* @__PURE__ */ React27.createElement(
|
|
7752
|
+
Field,
|
|
7466
7753
|
{
|
|
7467
|
-
|
|
7468
|
-
|
|
7469
|
-
invalid: Boolean(fieldError(lastNameKey))
|
|
7470
|
-
|
|
7471
|
-
|
|
7472
|
-
|
|
7473
|
-
|
|
7474
|
-
|
|
7475
|
-
|
|
7476
|
-
|
|
7477
|
-
|
|
7478
|
-
|
|
7479
|
-
|
|
7480
|
-
|
|
7481
|
-
/* @__PURE__ */ React27.createElement(
|
|
7482
|
-
|
|
7754
|
+
label: t("billing.holderLastName"),
|
|
7755
|
+
error: fieldError(lastNameKey, t("billing.lastNameRequired")),
|
|
7756
|
+
invalid: Boolean(fieldError(lastNameKey))
|
|
7757
|
+
},
|
|
7758
|
+
/* @__PURE__ */ React27.createElement(
|
|
7759
|
+
Input,
|
|
7760
|
+
{
|
|
7761
|
+
value: holder.lastName,
|
|
7762
|
+
required: true,
|
|
7763
|
+
invalid: Boolean(fieldError(lastNameKey)),
|
|
7764
|
+
"aria-invalid": Boolean(fieldError(lastNameKey)),
|
|
7765
|
+
onChange: (event) => patchHolder(index, { lastName: event.target.value })
|
|
7766
|
+
}
|
|
7767
|
+
)
|
|
7768
|
+
)), collectHolderContact && /* @__PURE__ */ React27.createElement(FieldRow, null, /* @__PURE__ */ React27.createElement(
|
|
7769
|
+
Field,
|
|
7483
7770
|
{
|
|
7484
|
-
|
|
7485
|
-
|
|
7486
|
-
|
|
7487
|
-
|
|
7488
|
-
|
|
7489
|
-
|
|
7490
|
-
|
|
7491
|
-
|
|
7492
|
-
|
|
7493
|
-
|
|
7494
|
-
|
|
7495
|
-
|
|
7496
|
-
|
|
7497
|
-
|
|
7498
|
-
|
|
7499
|
-
|
|
7500
|
-
/* @__PURE__ */ React27.createElement(
|
|
7501
|
-
|
|
7771
|
+
label: t("billing.email"),
|
|
7772
|
+
error: fieldError(emailKey, t("billing.emailInvalid")),
|
|
7773
|
+
invalid: Boolean(fieldError(emailKey))
|
|
7774
|
+
},
|
|
7775
|
+
/* @__PURE__ */ React27.createElement(
|
|
7776
|
+
Input,
|
|
7777
|
+
{
|
|
7778
|
+
type: "email",
|
|
7779
|
+
autoComplete: "email",
|
|
7780
|
+
value: holder.email,
|
|
7781
|
+
required: true,
|
|
7782
|
+
invalid: Boolean(fieldError(emailKey)),
|
|
7783
|
+
"aria-invalid": Boolean(fieldError(emailKey)),
|
|
7784
|
+
onChange: (event) => patchHolder(index, { email: event.target.value })
|
|
7785
|
+
}
|
|
7786
|
+
)
|
|
7787
|
+
), /* @__PURE__ */ React27.createElement(
|
|
7788
|
+
Field,
|
|
7502
7789
|
{
|
|
7503
|
-
|
|
7504
|
-
|
|
7505
|
-
|
|
7506
|
-
|
|
7507
|
-
|
|
7508
|
-
|
|
7509
|
-
|
|
7510
|
-
|
|
7511
|
-
|
|
7512
|
-
|
|
7513
|
-
|
|
7514
|
-
|
|
7515
|
-
|
|
7516
|
-
|
|
7517
|
-
|
|
7518
|
-
|
|
7519
|
-
|
|
7520
|
-
|
|
7790
|
+
label: t("billing.phone"),
|
|
7791
|
+
error: fieldError(phoneKey, t("billing.phoneInvalid")),
|
|
7792
|
+
invalid: Boolean(fieldError(phoneKey))
|
|
7793
|
+
},
|
|
7794
|
+
/* @__PURE__ */ React27.createElement(
|
|
7795
|
+
PhoneInput2,
|
|
7796
|
+
{
|
|
7797
|
+
className: "tf-checkout-phone",
|
|
7798
|
+
inputClassName: `tf-checkout-input tf-checkout-phone__input${fieldError(phoneKey) ? " tf-checkout-input--invalid" : ""}`,
|
|
7799
|
+
defaultCountry: phoneCountry,
|
|
7800
|
+
disableDialCodeAndPrefix: true,
|
|
7801
|
+
showDisabledDialCodeAndPrefix: true,
|
|
7802
|
+
disableDialCodePrefill: true,
|
|
7803
|
+
value: holder.phone,
|
|
7804
|
+
required: true,
|
|
7805
|
+
inputProps: {
|
|
7806
|
+
autoComplete: "tel",
|
|
7807
|
+
"aria-label": phoneKey,
|
|
7808
|
+
"aria-invalid": Boolean(fieldError(phoneKey))
|
|
7809
|
+
},
|
|
7810
|
+
onChange: (phone) => patchHolder(index, { phone })
|
|
7811
|
+
}
|
|
7812
|
+
)
|
|
7813
|
+
)), renderCustomFields(holder, index));
|
|
7814
|
+
}));
|
|
7815
|
+
};
|
|
7521
7816
|
|
|
7522
7817
|
// src/sections/BillingInfo.tsx
|
|
7523
7818
|
var BillingInfo = ({
|
|
7524
7819
|
eventId,
|
|
7525
7820
|
onContinue,
|
|
7526
|
-
heading
|
|
7527
|
-
buttonLabel
|
|
7821
|
+
heading,
|
|
7822
|
+
buttonLabel,
|
|
7528
7823
|
onLogin,
|
|
7529
7824
|
skipWhenProfileComplete = false,
|
|
7530
7825
|
requireEmailConfirmation = false,
|
|
7531
7826
|
collectTicketHolders = false,
|
|
7532
7827
|
collectHolderContact = false,
|
|
7533
|
-
ttfOptInLabel
|
|
7828
|
+
ttfOptInLabel,
|
|
7534
7829
|
brandOptInLabel,
|
|
7535
7830
|
privacyPolicy,
|
|
7536
7831
|
showPrivacyError = false,
|
|
7537
7832
|
step,
|
|
7538
7833
|
className
|
|
7539
7834
|
}) => {
|
|
7540
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D;
|
|
7835
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E;
|
|
7836
|
+
const t = useT();
|
|
7541
7837
|
const checkout = useCheckoutContext();
|
|
7542
7838
|
const validation = useCheckoutValidation();
|
|
7839
|
+
const headingText = heading != null ? heading : t("billing.heading");
|
|
7840
|
+
const buttonText = buttonLabel != null ? buttonLabel : t("billing.continueToPayment");
|
|
7841
|
+
const ttfOptInText = ttfOptInLabel != null ? ttfOptInLabel : t("billing.ttfOptIn");
|
|
7543
7842
|
const profile = hooks_exports.useProfile({ retry: false });
|
|
7544
7843
|
const event = hooks_exports.useEvent(eventId);
|
|
7545
7844
|
const combined = !onContinue;
|
|
@@ -7680,11 +7979,11 @@ var BillingInfo = ({
|
|
|
7680
7979
|
useEffect11(() => {
|
|
7681
7980
|
const email = billing.email.trim();
|
|
7682
7981
|
if (checkout.isLoggedIn || !isEmail(email)) return;
|
|
7683
|
-
const
|
|
7982
|
+
const t2 = setTimeout(
|
|
7684
7983
|
() => checkout.checkBuyerEmail(email).catch(() => void 0),
|
|
7685
7984
|
600
|
|
7686
7985
|
);
|
|
7687
|
-
return () => clearTimeout(
|
|
7986
|
+
return () => clearTimeout(t2);
|
|
7688
7987
|
}, [billing.email, checkout.isLoggedIn]);
|
|
7689
7988
|
const emailTaken = !checkout.isLoggedIn && checkout.existingAccountEmail === billing.email.trim();
|
|
7690
7989
|
const needsNationality = checkout.buyerFields.some((f) => f.kind === "nationality");
|
|
@@ -7808,7 +8107,7 @@ var BillingInfo = ({
|
|
|
7808
8107
|
const complete = missingDetails.length === 0;
|
|
7809
8108
|
const showValidation = validation.attempt > 0;
|
|
7810
8109
|
const missingSet = new Set(missingDetails);
|
|
7811
|
-
const fieldError = (key, message = "
|
|
8110
|
+
const fieldError = (key, message = t("billing.fieldRequired")) => showValidation && missingSet.has(key) ? message : void 0;
|
|
7812
8111
|
const dobError = showValidation ? missingDetails.find(
|
|
7813
8112
|
(detail) => detail === "Date of birth" || detail.startsWith("Age ")
|
|
7814
8113
|
) : void 0;
|
|
@@ -7816,7 +8115,7 @@ var BillingInfo = ({
|
|
|
7816
8115
|
const commit = () => {
|
|
7817
8116
|
checkout.setBilling(committedBilling);
|
|
7818
8117
|
checkout.setHolders(committedHolders);
|
|
7819
|
-
if (
|
|
8118
|
+
if (ttfOptInText || brandOptInLabel) checkout.setConsent(consent);
|
|
7820
8119
|
};
|
|
7821
8120
|
useEffect11(() => {
|
|
7822
8121
|
if (combined) commit();
|
|
@@ -7838,7 +8137,7 @@ var BillingInfo = ({
|
|
|
7838
8137
|
const hasEventSpecificDetails = checkout.buyerFields.length > 0 || checkout.customFields.some((group) => group.fields.length > 0) || showHolders || gates.showDob;
|
|
7839
8138
|
const skipBilling = skipWhenProfileComplete && checkout.isLoggedIn && profile.isSuccess && complete && !hasEventSpecificDetails;
|
|
7840
8139
|
if (skipBilling) return null;
|
|
7841
|
-
return /* @__PURE__ */ React28.createElement(React28.Fragment, null, /* @__PURE__ */ React28.createElement(Card, { className }, /* @__PURE__ */ React28.createElement(SectionHeader, { step, title:
|
|
8140
|
+
return /* @__PURE__ */ React28.createElement(React28.Fragment, null, /* @__PURE__ */ React28.createElement(Card, { className }, /* @__PURE__ */ React28.createElement(SectionHeader, { step, title: headingText }), onLogin && !checkout.isLoggedIn && /* @__PURE__ */ React28.createElement("div", { className: "tf-checkout-billing__login" }, /* @__PURE__ */ React28.createElement("span", null, "Login & skip ahead:"), /* @__PURE__ */ React28.createElement(
|
|
7842
8141
|
"button",
|
|
7843
8142
|
{
|
|
7844
8143
|
type: "button",
|
|
@@ -7855,7 +8154,7 @@ var BillingInfo = ({
|
|
|
7855
8154
|
/* @__PURE__ */ React28.createElement(
|
|
7856
8155
|
Input,
|
|
7857
8156
|
{
|
|
7858
|
-
placeholder: "
|
|
8157
|
+
placeholder: t("billing.firstNamePlaceholder"),
|
|
7859
8158
|
value: billing.firstName,
|
|
7860
8159
|
required: true,
|
|
7861
8160
|
invalid: Boolean(fieldError("First name")),
|
|
@@ -7872,7 +8171,7 @@ var BillingInfo = ({
|
|
|
7872
8171
|
/* @__PURE__ */ React28.createElement(
|
|
7873
8172
|
Input,
|
|
7874
8173
|
{
|
|
7875
|
-
placeholder: "
|
|
8174
|
+
placeholder: t("billing.lastNamePlaceholder"),
|
|
7876
8175
|
value: billing.lastName,
|
|
7877
8176
|
required: true,
|
|
7878
8177
|
invalid: Boolean(fieldError("Last name")),
|
|
@@ -7891,7 +8190,7 @@ var BillingInfo = ({
|
|
|
7891
8190
|
{
|
|
7892
8191
|
type: "email",
|
|
7893
8192
|
autoComplete: "email",
|
|
7894
|
-
placeholder: "
|
|
8193
|
+
placeholder: t("billing.emailPlaceholder"),
|
|
7895
8194
|
value: billing.email,
|
|
7896
8195
|
required: true,
|
|
7897
8196
|
invalid: Boolean(fieldError("Valid email address")),
|
|
@@ -7904,7 +8203,7 @@ var BillingInfo = ({
|
|
|
7904
8203
|
{
|
|
7905
8204
|
error: fieldError(
|
|
7906
8205
|
"Matching email confirmation",
|
|
7907
|
-
"
|
|
8206
|
+
t("billing.emailMustMatch")
|
|
7908
8207
|
),
|
|
7909
8208
|
invalid: Boolean(fieldError("Matching email confirmation"))
|
|
7910
8209
|
},
|
|
@@ -7913,7 +8212,7 @@ var BillingInfo = ({
|
|
|
7913
8212
|
{
|
|
7914
8213
|
type: "email",
|
|
7915
8214
|
autoComplete: "email",
|
|
7916
|
-
placeholder: "
|
|
8215
|
+
placeholder: t("billing.confirmEmailPlaceholder"),
|
|
7917
8216
|
value: (_C = billing.confirmEmail) != null ? _C : "",
|
|
7918
8217
|
required: true,
|
|
7919
8218
|
invalid: Boolean(fieldError("Matching email confirmation")),
|
|
@@ -7921,15 +8220,15 @@ var BillingInfo = ({
|
|
|
7921
8220
|
onChange: setB("confirmEmail")
|
|
7922
8221
|
}
|
|
7923
8222
|
)
|
|
7924
|
-
)), !showValidation && requireEmailConfirmation && billing.confirmEmail && billing.confirmEmail.trim().toLowerCase() !== billing.email.trim().toLowerCase() && /* @__PURE__ */ React28.createElement("p", { className: "tf-checkout-error-text" }, "
|
|
8223
|
+
)), !showValidation && requireEmailConfirmation && billing.confirmEmail && billing.confirmEmail.trim().toLowerCase() !== billing.email.trim().toLowerCase() && /* @__PURE__ */ React28.createElement("p", { className: "tf-checkout-error-text" }, t("billing.emailMismatch")), emailTaken && /* @__PURE__ */ React28.createElement("p", { className: "tf-checkout-note tf-checkout-billing__email-taken" }, t("billing.emailRegistered"), " ", onLogin ? /* @__PURE__ */ React28.createElement(
|
|
7925
8224
|
"button",
|
|
7926
8225
|
{
|
|
7927
8226
|
type: "button",
|
|
7928
8227
|
className: "tf-checkout-billing__login-link",
|
|
7929
8228
|
onClick: () => onLogin(billing.email)
|
|
7930
8229
|
},
|
|
7931
|
-
"
|
|
7932
|
-
) : "
|
|
8230
|
+
t("billing.loginAutofill")
|
|
8231
|
+
) : t("billing.loginAutofillPlain")), checkout.buyerFields.map((f) => {
|
|
7933
8232
|
var _a2;
|
|
7934
8233
|
return /* @__PURE__ */ React28.createElement(
|
|
7935
8234
|
BuyerField,
|
|
@@ -7940,15 +8239,15 @@ var BillingInfo = ({
|
|
|
7940
8239
|
onChange: (v) => setBilling((b) => ({ ...b, [f.key]: v })),
|
|
7941
8240
|
countries,
|
|
7942
8241
|
error: fieldError(
|
|
7943
|
-
f.kind === "nationality" ? "
|
|
8242
|
+
f.kind === "nationality" ? t("billing.nationality") : f.kind === "gender" ? t("billing.gender") : t("billing.instagramHandle")
|
|
7944
8243
|
)
|
|
7945
8244
|
}
|
|
7946
8245
|
);
|
|
7947
8246
|
}), gates.showPhone && /* @__PURE__ */ React28.createElement(
|
|
7948
8247
|
Field,
|
|
7949
8248
|
{
|
|
7950
|
-
label:
|
|
7951
|
-
error: fieldError("Valid phone number", "
|
|
8249
|
+
label: gates.phoneRequired ? t("billing.phone") : t("billing.phoneOptional"),
|
|
8250
|
+
error: fieldError("Valid phone number", t("billing.phoneInvalid")),
|
|
7952
8251
|
invalid: Boolean(fieldError("Valid phone number"))
|
|
7953
8252
|
},
|
|
7954
8253
|
/* @__PURE__ */ React28.createElement(
|
|
@@ -7962,10 +8261,10 @@ var BillingInfo = ({
|
|
|
7962
8261
|
disableDialCodePrefill: true,
|
|
7963
8262
|
value: (_D = billing.phone) != null ? _D : "",
|
|
7964
8263
|
required: gates.phoneRequired,
|
|
7965
|
-
placeholder: "
|
|
8264
|
+
placeholder: t("billing.phonePlaceholder"),
|
|
7966
8265
|
inputProps: {
|
|
7967
8266
|
autoComplete: "tel",
|
|
7968
|
-
"aria-label": "
|
|
8267
|
+
"aria-label": t("billing.phoneAria"),
|
|
7969
8268
|
"aria-invalid": Boolean(fieldError("Valid phone number"))
|
|
7970
8269
|
},
|
|
7971
8270
|
onChange: (phone) => setBilling((current2) => ({ ...current2, phone }))
|
|
@@ -7974,8 +8273,8 @@ var BillingInfo = ({
|
|
|
7974
8273
|
), gates.showDob && /* @__PURE__ */ React28.createElement(
|
|
7975
8274
|
Field,
|
|
7976
8275
|
{
|
|
7977
|
-
label:
|
|
7978
|
-
error: dobError === "Date of birth" ? "
|
|
8276
|
+
label: gates.minimumAge ? t("billing.dobWithAge", { age: gates.minimumAge }) : t("billing.dob"),
|
|
8277
|
+
error: dobError === "Date of birth" ? t("billing.dobRequired") : dobError ? t("billing.ageMinimum", { age: (_E = gates.minimumAge) != null ? _E : "" }) : void 0,
|
|
7979
8278
|
invalid: Boolean(dobError)
|
|
7980
8279
|
},
|
|
7981
8280
|
/* @__PURE__ */ React28.createElement(
|
|
@@ -8026,17 +8325,17 @@ var BillingInfo = ({
|
|
|
8026
8325
|
"aria-invalid": (showPrivacyError || showValidation) && !consent.ttfOptIn,
|
|
8027
8326
|
onChange: (e) => setConsent((c) => ({ ...c, ttfOptIn: e.target.checked })),
|
|
8028
8327
|
className: "tf-checkout-checkbox--consent",
|
|
8029
|
-
label: /* @__PURE__ */ React28.createElement(React28.Fragment, null, "
|
|
8328
|
+
label: /* @__PURE__ */ React28.createElement(React28.Fragment, null, t("billing.privacyAgree", { brand: privacyPolicy.brandName }), " ", /* @__PURE__ */ React28.createElement("a", { href: privacyPolicy.url, target: "_blank", rel: "noreferrer" }, privacyPolicy.linkLabel || t("billing.privacyLink")), " *")
|
|
8030
8329
|
}
|
|
8031
8330
|
),
|
|
8032
|
-
(showPrivacyError || showValidation) && !consent.ttfOptIn && /* @__PURE__ */ React28.createElement("div", { className: "tf-checkout-consent__error" }, "
|
|
8033
|
-
) :
|
|
8331
|
+
(showPrivacyError || showValidation) && !consent.ttfOptIn && /* @__PURE__ */ React28.createElement("div", { className: "tf-checkout-consent__error" }, t("common.required"))
|
|
8332
|
+
) : ttfOptInText ? /* @__PURE__ */ React28.createElement(
|
|
8034
8333
|
Checkbox,
|
|
8035
8334
|
{
|
|
8036
8335
|
checked: consent.ttfOptIn,
|
|
8037
8336
|
onChange: (e) => setConsent((c) => ({ ...c, ttfOptIn: e.target.checked })),
|
|
8038
8337
|
className: "tf-checkout-checkbox--consent",
|
|
8039
|
-
label:
|
|
8338
|
+
label: ttfOptInText
|
|
8040
8339
|
}
|
|
8041
8340
|
) : null, !combined && /* @__PURE__ */ React28.createElement(React28.Fragment, null, /* @__PURE__ */ React28.createElement(
|
|
8042
8341
|
Button,
|
|
@@ -8051,7 +8350,7 @@ var BillingInfo = ({
|
|
|
8051
8350
|
onContinue == null ? void 0 : onContinue();
|
|
8052
8351
|
}
|
|
8053
8352
|
},
|
|
8054
|
-
|
|
8353
|
+
buttonText
|
|
8055
8354
|
))), showHolders && /* @__PURE__ */ React28.createElement(
|
|
8056
8355
|
TicketHoldersCard,
|
|
8057
8356
|
{
|
|
@@ -8086,12 +8385,13 @@ import React30, { useEffect as useEffect12, useMemo as useMemo6, useRef as useRe
|
|
|
8086
8385
|
import React29 from "react";
|
|
8087
8386
|
var OrderSummary = ({ eventId, className }) => {
|
|
8088
8387
|
var _a, _b, _c;
|
|
8388
|
+
const t = useT();
|
|
8089
8389
|
const checkout = useCheckoutContext();
|
|
8090
8390
|
const event = hooks_exports.useEvent(eventId);
|
|
8091
8391
|
const breakdown = checkout.breakdown;
|
|
8092
8392
|
const detailed = checkout.priceBreakdown;
|
|
8093
8393
|
if (!breakdown || breakdown.tickets.length === 0) return null;
|
|
8094
|
-
return /* @__PURE__ */ React29.createElement(Card, { className: ["tf-checkout-order-summary", className].filter(Boolean).join(" ") }, ((_a = event.data) == null ? void 0 : _a.name) && /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__group" }, /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__label" }, "
|
|
8394
|
+
return /* @__PURE__ */ React29.createElement(Card, { className: ["tf-checkout-order-summary", className].filter(Boolean).join(" ") }, ((_a = event.data) == null ? void 0 : _a.name) && /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__group" }, /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__label" }, t("common.event")), /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__event" }, event.data.name)), /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__group" }, /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__label" }, t("tickets.yourTickets")), breakdown.tickets.map((ticket, index) => {
|
|
8095
8395
|
var _a2;
|
|
8096
8396
|
const detail = detailed == null ? void 0 : detailed.tickets[index];
|
|
8097
8397
|
return /* @__PURE__ */ React29.createElement(
|
|
@@ -8100,7 +8400,7 @@ var OrderSummary = ({ eventId, className }) => {
|
|
|
8100
8400
|
key: `${ticket.ticketTypeId}-${index}`,
|
|
8101
8401
|
className: "tf-checkout-order-summary__item"
|
|
8102
8402
|
},
|
|
8103
|
-
/* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__ticket" }, ticket.quantity, " x ", ticket.name, " - ", (_a2 = detail == null ? void 0 : detail.unit_price) != null ? _a2 : ticket.unit, " ", "each"),
|
|
8403
|
+
/* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__ticket" }, ticket.quantity, " x ", ticket.name, " - ", (_a2 = detail == null ? void 0 : detail.unit_price) != null ? _a2 : ticket.unit, " ", t("common.each")),
|
|
8104
8404
|
(detail == null ? void 0 : detail.line_total) && detail.line_total !== detail.unit_price && /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__fees" }, "(", detail.line_total, " with fees)")
|
|
8105
8405
|
);
|
|
8106
8406
|
})), ((_b = detailed == null ? void 0 : detailed.add_ons.length) != null ? _b : 0) > 0 && /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__group" }, /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__label" }, (detailed == null ? void 0 : detailed.add_ons_title) || "Add-ons"), detailed == null ? void 0 : detailed.add_ons.map((addOn, index) => /* @__PURE__ */ React29.createElement(
|
|
@@ -8109,8 +8409,8 @@ var OrderSummary = ({ eventId, className }) => {
|
|
|
8109
8409
|
key: `${addOn.name}-${index}`,
|
|
8110
8410
|
className: "tf-checkout-order-summary__item"
|
|
8111
8411
|
},
|
|
8112
|
-
/* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__ticket" }, addOn.quantity, " x ", addOn.name, addOn.show_price ? ` - ${addOn.unit_price} each` : "")
|
|
8113
|
-
))), /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__total" }, /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__label" }, "
|
|
8412
|
+
/* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__ticket" }, addOn.quantity, " x ", addOn.name, addOn.show_price ? ` - ${addOn.unit_price} ${t("common.each")}` : "")
|
|
8413
|
+
))), /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__total" }, /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__label" }, t("common.total")), /* @__PURE__ */ React29.createElement("div", { className: "tf-checkout-order-summary__amount" }, (_c = detailed == null ? void 0 : detailed.total) != null ? _c : `${breakdown.currencySymbol || `${breakdown.currencyCode} `}${Number(
|
|
8114
8414
|
breakdown.total
|
|
8115
8415
|
).toFixed(2)}`)));
|
|
8116
8416
|
};
|
|
@@ -8153,6 +8453,7 @@ var Payment = ({
|
|
|
8153
8453
|
className
|
|
8154
8454
|
}) => {
|
|
8155
8455
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
8456
|
+
const t = useT();
|
|
8156
8457
|
const checkout = useCheckoutContext();
|
|
8157
8458
|
const validation = useCheckoutValidation();
|
|
8158
8459
|
const [error, setError] = useState16("");
|
|
@@ -8182,7 +8483,11 @@ var Payment = ({
|
|
|
8182
8483
|
const out = [];
|
|
8183
8484
|
if (isXendit) {
|
|
8184
8485
|
if (methods.xenditCard)
|
|
8185
|
-
out.push({
|
|
8486
|
+
out.push({
|
|
8487
|
+
id: { kind: "xenditCard" },
|
|
8488
|
+
value: "xenditCard",
|
|
8489
|
+
label: t("payment.card")
|
|
8490
|
+
});
|
|
8186
8491
|
for (const w of methods.xenditEWallets)
|
|
8187
8492
|
out.push({
|
|
8188
8493
|
id: { kind: "xenditEWallet", walletKey: w.key },
|
|
@@ -8194,23 +8499,23 @@ var Payment = ({
|
|
|
8194
8499
|
} else if (checkout.gateway === "razorpay") {
|
|
8195
8500
|
out.push({ id: { kind: "razorpay" }, value: "razorpay", label: "Razorpay" });
|
|
8196
8501
|
} else {
|
|
8197
|
-
out.push({ id: { kind: "card" }, value: "card", label: "
|
|
8198
|
-
for (const
|
|
8199
|
-
if (
|
|
8502
|
+
out.push({ id: { kind: "card" }, value: "card", label: t("payment.card") });
|
|
8503
|
+
for (const t2 of (_b2 = checkout.redirectPaymentMethods) != null ? _b2 : []) {
|
|
8504
|
+
if (t2 === "paypal" && methods.paypal) continue;
|
|
8200
8505
|
out.push({
|
|
8201
|
-
id: { kind: "redirect", methodType:
|
|
8202
|
-
value: `rd:${
|
|
8203
|
-
label: redirectLabel(
|
|
8506
|
+
id: { kind: "redirect", methodType: t2 },
|
|
8507
|
+
value: `rd:${t2}`,
|
|
8508
|
+
label: redirectLabel(t2)
|
|
8204
8509
|
});
|
|
8205
8510
|
}
|
|
8206
8511
|
if ((_c2 = checkout.paymentPlan) == null ? void 0 : _c2.available)
|
|
8207
8512
|
out.push({
|
|
8208
8513
|
id: { kind: "paymentPlan" },
|
|
8209
8514
|
value: "paymentPlan",
|
|
8210
|
-
label: "
|
|
8515
|
+
label: t("payment.paymentPlan")
|
|
8211
8516
|
});
|
|
8212
8517
|
if (offersOxxo)
|
|
8213
|
-
out.push({ id: { kind: "oxxo" }, value: "oxxo", label: "
|
|
8518
|
+
out.push({ id: { kind: "oxxo" }, value: "oxxo", label: t("payment.oxxo") });
|
|
8214
8519
|
}
|
|
8215
8520
|
if (methods.paypal)
|
|
8216
8521
|
out.push({ id: { kind: "paypal" }, value: "paypal", label: "PayPal" });
|
|
@@ -8267,7 +8572,7 @@ var Payment = ({
|
|
|
8267
8572
|
const extra = selectedOption == null ? void 0 : selectedOption.extra;
|
|
8268
8573
|
const extrasOk = !extra || (extra === "cashtag" ? Boolean((_i = (_h = extras[selected]) == null ? void 0 : _h.cashtag) == null ? void 0 : _i.trim()) : Boolean((_k = (_j = extras[selected]) == null ? void 0 : _j.phoneNumber) == null ? void 0 : _k.trim()));
|
|
8269
8574
|
const privacyOk = !requirePrivacyPolicy || checkout.consent.ttfOptIn;
|
|
8270
|
-
const payLabel = isFree ? "
|
|
8575
|
+
const payLabel = isFree ? t("payment.completeRegistration") : isPlanSelected ? planConfirmLabel((_l = checkout.paymentPlan) == null ? void 0 : _l.configuration) : t("payment.submitPayment");
|
|
8271
8576
|
const planTerms = paymentPlanTerms((_m = checkout.paymentPlan) == null ? void 0 : _m.configuration);
|
|
8272
8577
|
const finalizing = checkout.status === "placing" || checkout.status === "succeeded";
|
|
8273
8578
|
const pay = () => {
|
|
@@ -8348,15 +8653,15 @@ var Payment = ({
|
|
|
8348
8653
|
}
|
|
8349
8654
|
}
|
|
8350
8655
|
) : /* @__PURE__ */ React30.createElement(CardInput, null)
|
|
8351
|
-
), isXendit && cardAreaError && /* @__PURE__ */ React30.createElement("p", { className: "tf-checkout-error-text" }, cardAreaError), showTestCardHint && /* @__PURE__ */ React30.createElement("p", { className: "tf-checkout-note" }, isXendit ? "
|
|
8656
|
+
), isXendit && cardAreaError && /* @__PURE__ */ React30.createElement("p", { className: "tf-checkout-error-text" }, cardAreaError), showTestCardHint && /* @__PURE__ */ React30.createElement("p", { className: "tf-checkout-note" }, isXendit ? t("payment.testCardXendit") : t("payment.testCard"))), isPlanSelected && planTerms.length > 0 && /* @__PURE__ */ React30.createElement("div", { className: "tf-checkout-payment__plan" }, /* @__PURE__ */ React30.createElement("strong", null, planTermsTitle(checkout.paymentPlan.configuration)), planTerms.map((part) => /* @__PURE__ */ React30.createElement("p", { key: part.id, className: "tf-checkout-note" }, part.text))), isPlanSelected && savedLast4 && /* @__PURE__ */ React30.createElement("div", { className: "tf-checkout-payment__plan-savedcard" }, /* @__PURE__ */ React30.createElement("p", { className: "tf-checkout-note" }, "Your payment will proceed with the card ending in", " ", /* @__PURE__ */ React30.createElement("strong", null, "**** ", savedLast4)), /* @__PURE__ */ React30.createElement(
|
|
8352
8657
|
Checkbox,
|
|
8353
8658
|
{
|
|
8354
8659
|
checked: useSavedCard,
|
|
8355
8660
|
onChange: (e) => setUseSavedCard(e.target.checked),
|
|
8356
|
-
label: "
|
|
8661
|
+
label: t("payment.useThisCard")
|
|
8357
8662
|
}
|
|
8358
8663
|
)));
|
|
8359
|
-
return /* @__PURE__ */ React30.createElement("div", { className: ["tf-checkout-payment-stack", className].filter(Boolean).join(" ") }, /* @__PURE__ */ React30.createElement(Card, null, /* @__PURE__ */ React30.createElement(SectionHeader, { title: "
|
|
8664
|
+
return /* @__PURE__ */ React30.createElement("div", { className: ["tf-checkout-payment-stack", className].filter(Boolean).join(" ") }, /* @__PURE__ */ React30.createElement(Card, null, /* @__PURE__ */ React30.createElement(SectionHeader, { title: t("payment.title") }), !isFree && /* @__PURE__ */ React30.createElement(React30.Fragment, null, !singleCard && /* @__PURE__ */ React30.createElement("div", { className: "tf-checkout-payment__label" }, t("payment.method")), !methods ? /* @__PURE__ */ React30.createElement("div", { className: "tf-checkout-payment__cardbox" }, /* @__PURE__ */ React30.createElement(Loader, null)) : singleCard ? paymentInput : /* @__PURE__ */ React30.createElement(
|
|
8360
8665
|
PaymentMethods,
|
|
8361
8666
|
{
|
|
8362
8667
|
options,
|
|
@@ -8388,7 +8693,7 @@ var Payment = ({
|
|
|
8388
8693
|
label: /* @__PURE__ */ React30.createElement(React30.Fragment, null, /* @__PURE__ */ React30.createElement("span", { dangerouslySetInnerHTML: { __html: c.content || c.name } }), c.isRequired && " *")
|
|
8389
8694
|
}
|
|
8390
8695
|
),
|
|
8391
|
-
invalid && /* @__PURE__ */ React30.createElement("div", { className: "tf-checkout-consent__error" }, "
|
|
8696
|
+
invalid && /* @__PURE__ */ React30.createElement("div", { className: "tf-checkout-consent__error" }, t("payment.conditionRequired"))
|
|
8392
8697
|
);
|
|
8393
8698
|
})), /* @__PURE__ */ React30.createElement(OrderSummary, { eventId }), /* @__PURE__ */ React30.createElement("div", { className: "tf-checkout-payment__cta" }, /* @__PURE__ */ React30.createElement(
|
|
8394
8699
|
Button,
|
|
@@ -8397,21 +8702,22 @@ var Payment = ({
|
|
|
8397
8702
|
loading: finalizing,
|
|
8398
8703
|
disabled: checkout.isBusy || finalizing || !isFree && !methods
|
|
8399
8704
|
},
|
|
8400
|
-
finalizing ? "
|
|
8705
|
+
finalizing ? t("payment.placing") : payLabel
|
|
8401
8706
|
)), bottomError && /* @__PURE__ */ React30.createElement("p", { className: "tf-checkout-error-text" }, bottomError));
|
|
8402
8707
|
};
|
|
8403
8708
|
|
|
8404
8709
|
// src/sections/IDVerification.tsx
|
|
8405
8710
|
import React31, { useState as useState17 } from "react";
|
|
8406
8711
|
var MESSAGE = {
|
|
8407
|
-
idle: "
|
|
8408
|
-
starting: "
|
|
8409
|
-
polling: "
|
|
8410
|
-
verified: "
|
|
8411
|
-
timeout: "
|
|
8412
|
-
error: "
|
|
8712
|
+
idle: "verification.idle",
|
|
8713
|
+
starting: "verification.starting",
|
|
8714
|
+
polling: "verification.polling",
|
|
8715
|
+
verified: "verification.verified",
|
|
8716
|
+
timeout: "verification.timeoutCheckAgain",
|
|
8717
|
+
error: "verification.error"
|
|
8413
8718
|
};
|
|
8414
8719
|
var IDVerification = ({ className }) => {
|
|
8720
|
+
const t = useT();
|
|
8415
8721
|
const checkout = useCheckoutContext();
|
|
8416
8722
|
const order = checkout.order;
|
|
8417
8723
|
const [phase, setPhase] = useState17("idle");
|
|
@@ -8432,7 +8738,7 @@ var IDVerification = ({ className }) => {
|
|
|
8432
8738
|
setError(errorMessage(e));
|
|
8433
8739
|
});
|
|
8434
8740
|
};
|
|
8435
|
-
return /* @__PURE__ */ React31.createElement(Card, { className: cx("tf-checkout-idverify", className) }, /* @__PURE__ */ React31.createElement(SectionHeader, { title: "
|
|
8741
|
+
return /* @__PURE__ */ React31.createElement(Card, { className: cx("tf-checkout-idverify", className) }, /* @__PURE__ */ React31.createElement(SectionHeader, { title: t("verification.title") }), /* @__PURE__ */ React31.createElement("p", { className: cx("tf-checkout-note", done && "tf-checkout-idverify__done") }, t(MESSAGE[phase])), !done && /* @__PURE__ */ React31.createElement(Button, { block: true, onClick: run, loading: running, disabled: running }, phase === "idle" ? t("verification.verify") : running ? t("verification.verifying") : t("verification.checkAgain")), error && /* @__PURE__ */ React31.createElement("p", { className: "tf-checkout-error-text" }, error));
|
|
8436
8742
|
};
|
|
8437
8743
|
|
|
8438
8744
|
// src/sections/Confirmation.tsx
|
|
@@ -8444,6 +8750,7 @@ var Confirmation = ({
|
|
|
8444
8750
|
children,
|
|
8445
8751
|
className
|
|
8446
8752
|
}) => {
|
|
8753
|
+
const t = useT();
|
|
8447
8754
|
const checkout = useCheckoutContext();
|
|
8448
8755
|
const order = checkout.order;
|
|
8449
8756
|
const [copied, setCopied] = useState18(false);
|
|
@@ -8477,7 +8784,7 @@ var Confirmation = ({
|
|
|
8477
8784
|
() => void 0
|
|
8478
8785
|
);
|
|
8479
8786
|
};
|
|
8480
|
-
return /* @__PURE__ */ React32.createElement(Card, { className: cx("tf-checkout-confirmation", className) }, /* @__PURE__ */ React32.createElement("span", { className: "tf-checkout-confirmation__check" }, pending ? "\u23F3" : "\u2713"), /* @__PURE__ */ React32.createElement("strong", { className: "tf-checkout-confirmation__title" }, pending ? "
|
|
8787
|
+
return /* @__PURE__ */ React32.createElement(Card, { className: cx("tf-checkout-confirmation", className) }, /* @__PURE__ */ React32.createElement("span", { className: "tf-checkout-confirmation__check" }, pending ? "\u23F3" : "\u2713"), /* @__PURE__ */ React32.createElement("strong", { className: "tf-checkout-confirmation__title" }, pending ? t("confirmation.pending") : t("confirmation.confirmed")), /* @__PURE__ */ React32.createElement("p", { className: "tf-checkout-note" }, pending ? t("confirmation.pendingBody") : order.alreadyPaid ? t("confirmation.alreadyPaid") : t("confirmation.available")), order.orderHash && /* @__PURE__ */ React32.createElement("p", { className: "tf-checkout-confirmation__ref" }, "Reference: ", order.orderHash), pending && order.pendingVoucherUrl && /* @__PURE__ */ React32.createElement(
|
|
8481
8788
|
"a",
|
|
8482
8789
|
{
|
|
8483
8790
|
className: "tf-checkout-button tf-checkout-button--secondary tf-checkout-button--block",
|
|
@@ -8485,15 +8792,15 @@ var Confirmation = ({
|
|
|
8485
8792
|
target: "_blank",
|
|
8486
8793
|
rel: "noopener noreferrer"
|
|
8487
8794
|
},
|
|
8488
|
-
"
|
|
8795
|
+
t("confirmation.viewVoucher")
|
|
8489
8796
|
), viewOrderUrl && /* @__PURE__ */ React32.createElement(
|
|
8490
8797
|
"a",
|
|
8491
8798
|
{
|
|
8492
8799
|
className: "tf-checkout-button tf-checkout-button--secondary tf-checkout-button--block",
|
|
8493
8800
|
href: viewOrderUrl
|
|
8494
8801
|
},
|
|
8495
|
-
"
|
|
8496
|
-
), children, !pending && url && /* @__PURE__ */ React32.createElement("div", { className: "tf-checkout-confirmation__share" }, /* @__PURE__ */ React32.createElement("strong", null, "
|
|
8802
|
+
t("confirmation.viewTickets")
|
|
8803
|
+
), children, !pending && url && /* @__PURE__ */ React32.createElement("div", { className: "tf-checkout-confirmation__share" }, /* @__PURE__ */ React32.createElement("strong", null, t("referral.cheaperOrFree")), /* @__PURE__ */ React32.createElement("p", { className: "tf-checkout-note" }, "Invite friends with your link. When they buy, you get rewarded."), /* @__PURE__ */ React32.createElement("div", { className: "tf-checkout-confirmation__share-link" }, /* @__PURE__ */ React32.createElement("input", { className: "tf-checkout-input", readOnly: true, value: url }), /* @__PURE__ */ React32.createElement(Button, { variant: "secondary", onClick: copy }, copied ? t("referral.copied") : t("referral.copyLink"))), /* @__PURE__ */ React32.createElement("div", { className: "tf-checkout-confirmation__socials" }, shares.map((s) => /* @__PURE__ */ React32.createElement(
|
|
8497
8804
|
"a",
|
|
8498
8805
|
{
|
|
8499
8806
|
key: s.label,
|
|
@@ -8515,9 +8822,10 @@ var attributesOf = (response) => {
|
|
|
8515
8822
|
if (data && typeof data === "object") return data;
|
|
8516
8823
|
return response;
|
|
8517
8824
|
};
|
|
8825
|
+
var MISSING_REFERENCE = "\0missing-reference";
|
|
8518
8826
|
var OrderConfirmation = ({
|
|
8519
8827
|
orderHash,
|
|
8520
|
-
title
|
|
8828
|
+
title,
|
|
8521
8829
|
message,
|
|
8522
8830
|
helper,
|
|
8523
8831
|
eventTitle,
|
|
@@ -8531,6 +8839,7 @@ var OrderConfirmation = ({
|
|
|
8531
8839
|
className
|
|
8532
8840
|
}) => {
|
|
8533
8841
|
var _a, _b, _c, _d;
|
|
8842
|
+
const t = useT();
|
|
8534
8843
|
const [data, setData] = useState19(null);
|
|
8535
8844
|
const [failure, setFailure] = useState19("");
|
|
8536
8845
|
const [copied, setCopied] = useState19(false);
|
|
@@ -8542,7 +8851,7 @@ var OrderConfirmation = ({
|
|
|
8542
8851
|
}, [onError, onLoaded]);
|
|
8543
8852
|
useEffect13(() => {
|
|
8544
8853
|
if (!orderHash) {
|
|
8545
|
-
setFailure(
|
|
8854
|
+
setFailure(MISSING_REFERENCE);
|
|
8546
8855
|
return;
|
|
8547
8856
|
}
|
|
8548
8857
|
let active = true;
|
|
@@ -8567,7 +8876,7 @@ var OrderConfirmation = ({
|
|
|
8567
8876
|
};
|
|
8568
8877
|
}, [orderHash]);
|
|
8569
8878
|
if (failure) {
|
|
8570
|
-
return /* @__PURE__ */ React33.createElement("div", { className: cx("confirmation-page tf-checkout-confirmation-page", className) }, /* @__PURE__ */ React33.createElement("div", { className: "tf-checkout-auth__alert", role: "alert" }, failure));
|
|
8879
|
+
return /* @__PURE__ */ React33.createElement("div", { className: cx("confirmation-page tf-checkout-confirmation-page", className) }, /* @__PURE__ */ React33.createElement("div", { className: "tf-checkout-auth__alert", role: "alert" }, failure === MISSING_REFERENCE ? t("confirmation.missingReference") : failure));
|
|
8571
8880
|
}
|
|
8572
8881
|
if (!data) {
|
|
8573
8882
|
return /* @__PURE__ */ React33.createElement("div", { className: "tf-checkout-confirmation-page__loading" }, /* @__PURE__ */ React33.createElement(Loader, { className: "tf-checkout-loader--page" }));
|
|
@@ -8583,14 +8892,14 @@ var OrderConfirmation = ({
|
|
|
8583
8892
|
const pricing = [
|
|
8584
8893
|
...Number.isFinite(currentPrice) ? [
|
|
8585
8894
|
{
|
|
8586
|
-
label: "
|
|
8895
|
+
label: t("referral.currentPrice"),
|
|
8587
8896
|
price: `${symbol}${currentPrice.toFixed(2)}`
|
|
8588
8897
|
}
|
|
8589
8898
|
] : [],
|
|
8590
8899
|
...sales.map((sale) => ({
|
|
8591
|
-
label:
|
|
8592
|
-
subLabel: Number(sale.price) === 0 ? "
|
|
8593
|
-
price: Number(sale.price) === 0 ? "
|
|
8900
|
+
label: t("referral.ifFriendsBuy", { count: sale.sales }),
|
|
8901
|
+
subLabel: Number(sale.price) === 0 ? t("referral.becomes") : t("referral.goesDownTo"),
|
|
8902
|
+
price: Number(sale.price) === 0 ? t("referral.titleFree") : `${symbol}${Number(sale.price).toFixed(2)}`
|
|
8594
8903
|
}))
|
|
8595
8904
|
];
|
|
8596
8905
|
const copy = () => {
|
|
@@ -8600,20 +8909,20 @@ var OrderConfirmation = ({
|
|
|
8600
8909
|
window.setTimeout(() => setCopied(false), 1500);
|
|
8601
8910
|
});
|
|
8602
8911
|
};
|
|
8603
|
-
return /* @__PURE__ */ React33.createElement("div", { className: cx("confirmation-page tf-checkout-confirmation-page", className) }, /* @__PURE__ */ React33.createElement("div", { className: "header-container" }, /* @__PURE__ */ React33.createElement("div", { className: "header-product-text" }, /* @__PURE__ */ React33.createElement("p", { className: "title" }, title), (eventTitle || eventDate || eventLocation) && /* @__PURE__ */ React33.createElement("div", { className: "event-details" }, eventTitle && /* @__PURE__ */ React33.createElement("div", { className: "event-title" }, eventTitle), eventDate && /* @__PURE__ */ React33.createElement("div", { className: "event-date" }, eventDate), eventLocation && /* @__PURE__ */ React33.createElement("div", { className: "event-location" }, eventLocation)), /* @__PURE__ */ React33.createElement("div", { className: "share-message-section" }, customReplacement ? /* @__PURE__ */ React33.createElement("div", { dangerouslySetInnerHTML: { __html: customText } }) : /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement("span", { className: "main" }, attachTickets ? "
|
|
8912
|
+
return /* @__PURE__ */ React33.createElement("div", { className: cx("confirmation-page tf-checkout-confirmation-page", className) }, /* @__PURE__ */ React33.createElement("div", { className: "header-container" }, /* @__PURE__ */ React33.createElement("div", { className: "header-product-text" }, /* @__PURE__ */ React33.createElement("p", { className: "title" }, title != null ? title : t("confirmation.orderConfirmed")), (eventTitle || eventDate || eventLocation) && /* @__PURE__ */ React33.createElement("div", { className: "event-details" }, eventTitle && /* @__PURE__ */ React33.createElement("div", { className: "event-title" }, eventTitle), eventDate && /* @__PURE__ */ React33.createElement("div", { className: "event-date" }, eventDate), eventLocation && /* @__PURE__ */ React33.createElement("div", { className: "event-location" }, eventLocation)), /* @__PURE__ */ React33.createElement("div", { className: "share-message-section" }, customReplacement ? /* @__PURE__ */ React33.createElement("div", { dangerouslySetInnerHTML: { __html: customText } }) : /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement("span", { className: "main" }, attachTickets ? t("confirmation.emailed") : message != null ? message : t("confirmation.inMyTickets")), /* @__PURE__ */ React33.createElement("span", { className: "helper" }, attachTickets ? t("confirmation.bringThem") : helper))))), customText && !customReplacement && /* @__PURE__ */ React33.createElement(
|
|
8604
8913
|
"div",
|
|
8605
8914
|
{
|
|
8606
8915
|
className: "custom-confirmation-page-text tf-checkout-confirmation-page__custom",
|
|
8607
8916
|
dangerouslySetInnerHTML: { __html: customText }
|
|
8608
8917
|
}
|
|
8609
|
-
), orderUrl && /* @__PURE__ */ React33.createElement("div", { className: "order-details-button-container" }, /* @__PURE__ */ React33.createElement("a", { className: "view-order-button", href: orderUrl }, "
|
|
8918
|
+
), orderUrl && /* @__PURE__ */ React33.createElement("div", { className: "order-details-button-container" }, /* @__PURE__ */ React33.createElement("a", { className: "view-order-button", href: orderUrl }, t("confirmation.viewOrder"))), showReferral && data.disable_referral === false && shareUrl && /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement("div", { className: "referral_text_image_section" }, /* @__PURE__ */ React33.createElement("div", { className: "referral_text_section" }, /* @__PURE__ */ React33.createElement("div", { className: "referral_title_text" }, t("referral.titleStart"), /* @__PURE__ */ React33.createElement("span", { className: "strong-text" }, " ", t("referral.titleCheaper"), " "), t("referral.titleOr"), /* @__PURE__ */ React33.createElement("span", { className: "strong-text" }, " ", t("referral.titleFree"))), /* @__PURE__ */ React33.createElement("div", { className: "referral_text" }, /* @__PURE__ */ React33.createElement("span", { className: "strong-text" }, t("referral.inviteFriends"), " "), t("referral.inviteMiddle"), /* @__PURE__ */ React33.createElement("span", { className: "strong-text" }, " 100% "), t("referral.inviteEnd")))), /* @__PURE__ */ React33.createElement("div", { className: "share_wrapper" }, /* @__PURE__ */ React33.createElement("div", { className: "share_section" }, /* @__PURE__ */ React33.createElement("div", { className: "invitation_section" }, /* @__PURE__ */ React33.createElement("div", { className: "invitation_title" }, t("referral.howToInvite")), /* @__PURE__ */ React33.createElement("div", { className: "share_buttons" }, /* @__PURE__ */ React33.createElement("div", { className: "share-by-link" }, /* @__PURE__ */ React33.createElement("h5", { className: "share-by-link label" }, t("referral.sendThisLink")), /* @__PURE__ */ React33.createElement("div", { className: "share-btn-inner" }, /* @__PURE__ */ React33.createElement("input", { className: "share-input", readOnly: true, value: shareUrl }), /* @__PURE__ */ React33.createElement(
|
|
8610
8919
|
"button",
|
|
8611
8920
|
{
|
|
8612
8921
|
className: "share-by-link-copy-icon",
|
|
8613
8922
|
type: "button",
|
|
8614
8923
|
onClick: copy
|
|
8615
8924
|
},
|
|
8616
|
-
/* @__PURE__ */ React33.createElement("span", { className: "copy-icon" }, copied ? "
|
|
8925
|
+
/* @__PURE__ */ React33.createElement("span", { className: "copy-icon" }, copied ? t("referral.copied") : t("referral.copy"))
|
|
8617
8926
|
))), showShareButtons && /* @__PURE__ */ React33.createElement("div", { className: "social-media-btns" }, /* @__PURE__ */ React33.createElement(
|
|
8618
8927
|
"a",
|
|
8619
8928
|
{
|
|
@@ -8634,31 +8943,33 @@ var OrderConfirmation = ({
|
|
|
8634
8943
|
rel: "noopener noreferrer"
|
|
8635
8944
|
},
|
|
8636
8945
|
"WhatsApp"
|
|
8637
|
-
))))), pricing.length > 0 && /* @__PURE__ */ React33.createElement("div", { className: "pricing-section" }, /* @__PURE__ */ React33.createElement("div", { className: "invitation_title" }, "
|
|
8946
|
+
))))), pricing.length > 0 && /* @__PURE__ */ React33.createElement("div", { className: "pricing-section" }, /* @__PURE__ */ React33.createElement("div", { className: "invitation_title" }, t("referral.howMuchCheaper")), pricing.map((item, index) => /* @__PURE__ */ React33.createElement("div", { className: "pricing-section_wrapper", key: `${item.label}-${index}` }, /* @__PURE__ */ React33.createElement("div", { className: "pricing-section_label" }, item.label, item.subLabel && /* @__PURE__ */ React33.createElement("div", { className: "pricing-section_sublabel" }, item.subLabel)), /* @__PURE__ */ React33.createElement("div", { className: "pricing-section_price" }, item.price)))))));
|
|
8638
8947
|
};
|
|
8639
8948
|
|
|
8640
8949
|
// src/sections/OrderIDVerification.tsx
|
|
8641
8950
|
import React34, { useEffect as useEffect14, useState as useState20 } from "react";
|
|
8642
8951
|
var PHASE_MESSAGE = {
|
|
8643
|
-
checking: "
|
|
8644
|
-
idle: "
|
|
8645
|
-
starting: "
|
|
8646
|
-
polling: "
|
|
8647
|
-
verified: "
|
|
8648
|
-
timeout: "
|
|
8649
|
-
error: "
|
|
8650
|
-
};
|
|
8952
|
+
checking: "verification.checking",
|
|
8953
|
+
idle: "verification.idle",
|
|
8954
|
+
starting: "verification.starting",
|
|
8955
|
+
polling: "verification.polling",
|
|
8956
|
+
verified: "verification.verified",
|
|
8957
|
+
timeout: "verification.timeoutSafe",
|
|
8958
|
+
error: "verification.error"
|
|
8959
|
+
};
|
|
8960
|
+
var MISSING_REFERENCE2 = "\0missing-reference";
|
|
8651
8961
|
var OrderIDVerification = ({
|
|
8652
8962
|
orderHash,
|
|
8653
8963
|
onVerified,
|
|
8654
8964
|
className
|
|
8655
8965
|
}) => {
|
|
8966
|
+
const t = useT();
|
|
8656
8967
|
const [phase, setPhase] = useState20("checking");
|
|
8657
8968
|
const [failure, setFailure] = useState20("");
|
|
8658
8969
|
useEffect14(() => {
|
|
8659
8970
|
if (!orderHash) {
|
|
8660
8971
|
setPhase("error");
|
|
8661
|
-
setFailure(
|
|
8972
|
+
setFailure(MISSING_REFERENCE2);
|
|
8662
8973
|
return;
|
|
8663
8974
|
}
|
|
8664
8975
|
let active = true;
|
|
@@ -8711,7 +9022,7 @@ var OrderIDVerification = ({
|
|
|
8711
9022
|
}
|
|
8712
9023
|
);
|
|
8713
9024
|
};
|
|
8714
|
-
return /* @__PURE__ */ React34.createElement(Card, { className: cx("tf-checkout-idverify", className) }, /* @__PURE__ */ React34.createElement(SectionHeader, { title: "
|
|
9025
|
+
return /* @__PURE__ */ React34.createElement(Card, { className: cx("tf-checkout-idverify", className) }, /* @__PURE__ */ React34.createElement(SectionHeader, { title: t("verification.title") }), /* @__PURE__ */ React34.createElement(
|
|
8715
9026
|
"p",
|
|
8716
9027
|
{
|
|
8717
9028
|
className: cx(
|
|
@@ -8719,8 +9030,8 @@ var OrderIDVerification = ({
|
|
|
8719
9030
|
phase === "verified" && "tf-checkout-idverify__done"
|
|
8720
9031
|
)
|
|
8721
9032
|
},
|
|
8722
|
-
failure || PHASE_MESSAGE[phase]
|
|
8723
|
-
), phase !== "verified" && orderHash && /* @__PURE__ */ React34.createElement(Button, { block: true, onClick: run, loading: running, disabled: running || !orderHash }, phase === "idle" ? "
|
|
9033
|
+
failure === MISSING_REFERENCE2 ? t("confirmation.missingReference") : failure || t(PHASE_MESSAGE[phase])
|
|
9034
|
+
), phase !== "verified" && orderHash && /* @__PURE__ */ React34.createElement(Button, { block: true, onClick: run, loading: running, disabled: running || !orderHash }, phase === "idle" ? t("verification.verify") : running ? t("verification.verifying") : t("verification.tryAgain")));
|
|
8724
9035
|
};
|
|
8725
9036
|
|
|
8726
9037
|
// src/EmbeddedCheckout.tsx
|
|
@@ -8748,6 +9059,7 @@ var Flow = ({
|
|
|
8748
9059
|
showTestCardHint
|
|
8749
9060
|
}) => {
|
|
8750
9061
|
var _a;
|
|
9062
|
+
const t = useT();
|
|
8751
9063
|
const checkout = useCheckoutContext();
|
|
8752
9064
|
const [view, setView] = useState21(initialView);
|
|
8753
9065
|
const [selectionView, setSelectionView] = useState21(initialView);
|
|
@@ -8874,7 +9186,7 @@ var Flow = ({
|
|
|
8874
9186
|
key: authRequest.key,
|
|
8875
9187
|
open: true,
|
|
8876
9188
|
initialEmail: authRequest.email,
|
|
8877
|
-
message: authRequest.email ? "
|
|
9189
|
+
message: authRequest.email ? t("auth.existingAccount") : void 0,
|
|
8878
9190
|
allowRegistration: auth == null ? void 0 : auth.allowRegistration,
|
|
8879
9191
|
allowPasswordReset: auth == null ? void 0 : auth.allowPasswordReset,
|
|
8880
9192
|
requireRegistrationAddress: auth == null ? void 0 : auth.requireRegistrationAddress,
|
|
@@ -8909,32 +9221,41 @@ var EmbeddedCheckout = ({
|
|
|
8909
9221
|
locale,
|
|
8910
9222
|
messages,
|
|
8911
9223
|
className
|
|
8912
|
-
}) => /* @__PURE__ */ React35.createElement(
|
|
8913
|
-
|
|
9224
|
+
}) => /* @__PURE__ */ React35.createElement(
|
|
9225
|
+
CheckoutProvider,
|
|
8914
9226
|
{
|
|
8915
|
-
|
|
8916
|
-
|
|
8917
|
-
|
|
8918
|
-
|
|
8919
|
-
|
|
8920
|
-
|
|
8921
|
-
|
|
8922
|
-
|
|
8923
|
-
|
|
8924
|
-
|
|
8925
|
-
|
|
8926
|
-
|
|
8927
|
-
|
|
8928
|
-
|
|
8929
|
-
|
|
8930
|
-
|
|
8931
|
-
|
|
8932
|
-
|
|
8933
|
-
|
|
8934
|
-
|
|
8935
|
-
|
|
8936
|
-
|
|
8937
|
-
|
|
9227
|
+
theme,
|
|
9228
|
+
locale,
|
|
9229
|
+
messages,
|
|
9230
|
+
className
|
|
9231
|
+
},
|
|
9232
|
+
/* @__PURE__ */ React35.createElement(
|
|
9233
|
+
Flow,
|
|
9234
|
+
{
|
|
9235
|
+
key: eventId,
|
|
9236
|
+
eventId,
|
|
9237
|
+
onComplete,
|
|
9238
|
+
confirmationMode,
|
|
9239
|
+
initialView,
|
|
9240
|
+
onViewChange,
|
|
9241
|
+
autoScroll,
|
|
9242
|
+
requireEmailConfirmation,
|
|
9243
|
+
collectTicketHolders,
|
|
9244
|
+
collectHolderContact,
|
|
9245
|
+
onLogin,
|
|
9246
|
+
auth,
|
|
9247
|
+
skipBillingWhenProfileComplete,
|
|
9248
|
+
ttfOptInLabel,
|
|
9249
|
+
brandOptInLabel,
|
|
9250
|
+
privacyPolicy,
|
|
9251
|
+
additionalConditions,
|
|
9252
|
+
initialPromoCode,
|
|
9253
|
+
referrer,
|
|
9254
|
+
readAttributionFromUrl,
|
|
9255
|
+
showTestCardHint
|
|
9256
|
+
}
|
|
9257
|
+
)
|
|
9258
|
+
);
|
|
8938
9259
|
|
|
8939
9260
|
// src/ResumedCheckout.tsx
|
|
8940
9261
|
import React36, { useEffect as useEffect16, useRef as useRef11, useState as useState22 } from "react";
|