tf-checkout-react-native 2.0.0-beta.5 → 2.0.0-beta.6

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.js CHANGED
@@ -102,6 +102,8 @@ __export(index_exports, {
102
102
  SeatMap: () => SeatMap,
103
103
  SectionHeader: () => SectionHeader,
104
104
  Select: () => Select,
105
+ Streaming: () => Streaming,
106
+ StreamingView: () => StreamingView,
105
107
  TICKET_CHANGE_PAYMENT_WINDOW_MS: () => TICKET_CHANGE_PAYMENT_WINDOW_MS,
106
108
  TicketChange: () => TicketChange,
107
109
  TicketGift: () => TicketGift,
@@ -4178,15 +4180,15 @@ var ticketChangeDoneCopy = (result2) => {
4178
4180
  var slotAlternativesFromError = (error) => {
4179
4181
  const e = error != null ? error : {};
4180
4182
  const payload = e.data && typeof e.data === "object" ? e.data : e;
4181
- return list(payload.alternatives).map((s4) => {
4183
+ return list(payload.alternatives).map((s5) => {
4182
4184
  var _a, _b, _c, _d, _e;
4183
4185
  return {
4184
- ticketTypeId: String((_a = s4.ticketTypeId) != null ? _a : ""),
4185
- label: String((_c = (_b = s4.label) != null ? _b : s4.startsAt) != null ? _c : ""),
4186
- startsAt: String((_d = s4.startsAt) != null ? _d : ""),
4187
- slotValue: String((_e = s4.slotValue) != null ? _e : "")
4186
+ ticketTypeId: String((_a = s5.ticketTypeId) != null ? _a : ""),
4187
+ label: String((_c = (_b = s5.label) != null ? _b : s5.startsAt) != null ? _c : ""),
4188
+ startsAt: String((_d = s5.startsAt) != null ? _d : ""),
4189
+ slotValue: String((_e = s5.slotValue) != null ? _e : "")
4188
4190
  };
4189
- }).filter((s4) => s4.ticketTypeId !== "" && s4.label !== "").slice(0, 3);
4191
+ }).filter((s5) => s5.ticketTypeId !== "" && s5.label !== "").slice(0, 3);
4190
4192
  };
4191
4193
  var ticketChangeView = (options) => options.canChange ? "choose" : "closed";
4192
4194
  var resolveSiteUrl = (path3, origin) => /^https?:\/\//i.test(path3) ? path3 : `${origin.replace(/\/+$/, "")}/${path3.replace(/^\/+/, "")}`;
@@ -4387,8 +4389,8 @@ var signaturePngDataUrl = (strokes, { padWidth, padHeight, width = 600, lineWidt
4387
4389
  const a = points[i - 1];
4388
4390
  const b = points[i];
4389
4391
  const steps = Math.max(1, Math.ceil(Math.hypot(b.x - a.x, b.y - a.y) * 2));
4390
- for (let s4 = 0; s4 <= steps; s4++) {
4391
- ink(a.x + (b.x - a.x) * s4 / steps, a.y + (b.y - a.y) * s4 / steps);
4392
+ for (let s5 = 0; s5 <= steps; s5++) {
4393
+ ink(a.x + (b.x - a.x) * s5 / steps, a.y + (b.y - a.y) * s5 / steps);
4392
4394
  }
4393
4395
  }
4394
4396
  }
@@ -4651,23 +4653,23 @@ var waiverSignaturesAttribute = (waiver, signatures, holders, billing, backfille
4651
4653
  backfilledHolderIndexes
4652
4654
  );
4653
4655
  if (!waiver || !counted) return [];
4654
- return Object.entries(counted).map(([index, s4]) => [Number(index), s4]).filter(([index]) => Number.isInteger(index) && index >= 0 && index < holders.length).sort(([a], [b]) => a - b).map(([index, s4]) => {
4656
+ return Object.entries(counted).map(([index, s5]) => [Number(index), s5]).filter(([index]) => Number.isInteger(index) && index >= 0 && index < holders.length).sort(([a], [b]) => a - b).map(([index, s5]) => {
4655
4657
  var _a, _b, _c, _d;
4656
4658
  return {
4657
4659
  holder_index: index,
4658
4660
  version_id: waiver.versionId,
4659
4661
  body_sha256: waiver.bodySha256,
4660
- signer_role: s4.signerRole,
4661
- first_name: s4.firstName,
4662
- last_name: s4.lastName,
4663
- ...s4.signerRole === "guardian" ? {
4664
- minor_name: (_a = s4.minorName) != null ? _a : "",
4665
- guardian_relationship: (_b = s4.guardianRelationship) != null ? _b : "",
4666
- ...s4.minorDob ? { minor_dob: s4.minorDob } : {}
4662
+ signer_role: s5.signerRole,
4663
+ first_name: s5.firstName,
4664
+ last_name: s5.lastName,
4665
+ ...s5.signerRole === "guardian" ? {
4666
+ minor_name: (_a = s5.minorName) != null ? _a : "",
4667
+ guardian_relationship: (_b = s5.guardianRelationship) != null ? _b : "",
4668
+ ...s5.minorDob ? { minor_dob: s5.minorDob } : {}
4667
4669
  } : {},
4668
- method: s4.method,
4669
- ...s4.method === "typed" ? { typed_name: (_c = s4.typedName) != null ? _c : "" } : { image_reference: (_d = s4.imageReference) != null ? _d : "" },
4670
- agree_electronic: s4.agreeElectronic
4670
+ method: s5.method,
4671
+ ...s5.method === "typed" ? { typed_name: (_c = s5.typedName) != null ? _c : "" } : { image_reference: (_d = s5.imageReference) != null ? _d : "" },
4672
+ agree_electronic: s5.agreeElectronic
4671
4673
  };
4672
4674
  });
4673
4675
  };
@@ -4745,7 +4747,7 @@ var checkoutIsBusy = (snapshot) => {
4745
4747
  };
4746
4748
  var cartTicketCount = (cart) => {
4747
4749
  var _a, _b;
4748
- return cart.selections.reduce((n, s4) => n + s4.quantity, 0) || ((_b = (_a = cart.breakdown) == null ? void 0 : _a.tickets) != null ? _b : []).reduce((n, line) => n + line.quantity, 0) || 1;
4750
+ return cart.selections.reduce((n, s5) => n + s5.quantity, 0) || ((_b = (_a = cart.breakdown) == null ? void 0 : _a.tickets) != null ? _b : []).reduce((n, line) => n + line.quantity, 0) || 1;
4749
4751
  };
4750
4752
  var cartTicketSlots = (cart) => {
4751
4753
  var _a, _b;
@@ -5838,6 +5840,7 @@ __export2(api_exports, {
5838
5840
  confirmPreRegistration: () => confirmPreRegistration,
5839
5841
  confirmRedirect: () => confirmRedirect,
5840
5842
  connectAppleMusic: () => connectAppleMusic,
5843
+ connectSpotify: () => connectSpotify,
5841
5844
  createEventComment: () => createEventComment,
5842
5845
  createOrder: () => createOrder,
5843
5846
  createPack: () => createPack,
@@ -5846,6 +5849,7 @@ __export2(api_exports, {
5846
5849
  decodeShareActionToken: () => decodeShareActionToken,
5847
5850
  disconnectAccount: () => disconnectAccount,
5848
5851
  disconnectAppleMusic: () => disconnectAppleMusic,
5852
+ disconnectSpotify: () => disconnectSpotify,
5849
5853
  exchangeBrowserSignIn: () => exchangeBrowserSignIn,
5850
5854
  exchangeCheckoutBrowserCode: () => exchangeCheckoutBrowserCode,
5851
5855
  filterAddonsForTickets: () => filterAddonsForTickets,
@@ -6875,30 +6879,30 @@ var getEventTimeSlotTickets = async (eventId, date, options) => {
6875
6879
  for (const hourKey of Object.keys(hours != null ? hours : {}).sort()) {
6876
6880
  const times = (_e = hours[hourKey]) != null ? _e : {};
6877
6881
  for (const timeKey of Object.keys(times).sort()) {
6878
- for (const s4 of Object.values((_f = times[timeKey]) != null ? _f : {})) {
6879
- if (!(s4 == null ? void 0 : s4.matrix_record_id)) continue;
6880
- const stock = Number((_h = (_g = s4.in_stock) != null ? _g : s4.real_stock) != null ? _h : 0);
6882
+ for (const s5 of Object.values((_f = times[timeKey]) != null ? _f : {})) {
6883
+ if (!(s5 == null ? void 0 : s5.matrix_record_id)) continue;
6884
+ const stock = Number((_h = (_g = s5.in_stock) != null ? _g : s5.real_stock) != null ? _h : 0);
6881
6885
  out.push({
6882
- id: String(s4.matrix_record_id),
6883
- name: s4.display_name || s4.option_value || "Ticket",
6884
- groupName: (_j = (_i = s4.group_name) != null ? _i : s4.groupName) != null ? _j : null,
6885
- optionName: String((_k = s4.option_key) != null ? _k : ""),
6886
- price: Number((_l = s4.base_price) != null ? _l : 0),
6887
- priceWithFees: Number((_n = (_m = s4.price_with_fees) != null ? _m : s4.base_price) != null ? _n : 0),
6888
- priceSymbol: (_p = (_o = s4.price_symbol) != null ? _o : s4.priceSymbol) != null ? _p : "",
6886
+ id: String(s5.matrix_record_id),
6887
+ name: s5.display_name || s5.option_value || "Ticket",
6888
+ groupName: (_j = (_i = s5.group_name) != null ? _i : s5.groupName) != null ? _j : null,
6889
+ optionName: String((_k = s5.option_key) != null ? _k : ""),
6890
+ price: Number((_l = s5.base_price) != null ? _l : 0),
6891
+ priceWithFees: Number((_n = (_m = s5.price_with_fees) != null ? _m : s5.base_price) != null ? _n : 0),
6892
+ priceSymbol: (_p = (_o = s5.price_symbol) != null ? _o : s5.priceSymbol) != null ? _p : "",
6889
6893
  currency: "",
6890
6894
  feeIncluded: false,
6891
- depositPercent: s4.deposit_percent != null ? Number(s4.deposit_percent) : null,
6892
- soldOut: Boolean(s4.sold_out) || stock <= 0,
6893
- salesStarted: s4.sales_started != null ? Boolean(s4.sales_started) : true,
6894
- salesEnded: Boolean(s4.sales_ended),
6895
- minQuantity: Number((_q = s4.min_quantity) != null ? _q : 1) || 1,
6896
- maxQuantity: Number((_r = s4.max_quantity) != null ? _r : 10) || 10,
6897
- multiplier: Number((_s = s4.multiplier) != null ? _s : 1) || 1,
6898
- isTable: Boolean(s4.is_table),
6895
+ depositPercent: s5.deposit_percent != null ? Number(s5.deposit_percent) : null,
6896
+ soldOut: Boolean(s5.sold_out) || stock <= 0,
6897
+ salesStarted: s5.sales_started != null ? Boolean(s5.sales_started) : true,
6898
+ salesEnded: Boolean(s5.sales_ended),
6899
+ minQuantity: Number((_q = s5.min_quantity) != null ? _q : 1) || 1,
6900
+ maxQuantity: Number((_r = s5.max_quantity) != null ? _r : 10) || 10,
6901
+ multiplier: Number((_s = s5.multiplier) != null ? _s : 1) || 1,
6902
+ isTable: Boolean(s5.is_table),
6899
6903
  allowDirectPurchase: true,
6900
- descriptionRich: (_t = s4.description) != null ? _t : null,
6901
- badgeText: badgeOf((_u = s4.badge_text) != null ? _u : s4.badgeText),
6904
+ descriptionRich: (_t = s5.description) != null ? _t : null,
6905
+ badgeText: badgeOf((_u = s5.badge_text) != null ? _u : s5.badgeText),
6902
6906
  timeSlot: { date: slotDate, time: timeKey }
6903
6907
  });
6904
6908
  }
@@ -7417,8 +7421,8 @@ var mapProfileToBilling = (profile) => {
7417
7421
  var _a, _b, _c, _d;
7418
7422
  const str = (v) => v == null || v === "" ? void 0 : String(v);
7419
7423
  const idStr = (v) => {
7420
- const s4 = str(v);
7421
- return s4 === void 0 || s4 === "0" || s4 === "-1" ? void 0 : s4;
7424
+ const s5 = str(v);
7425
+ return s5 === void 0 || s5 === "0" || s5 === "-1" ? void 0 : s5;
7422
7426
  };
7423
7427
  const dobParts = /^(\d{4})-(\d{2})-(\d{2})/.exec((_a = profile.dateOfBirth) != null ? _a : "");
7424
7428
  const dob = dobParts && Number(dobParts[1]) > 1900 ? {
@@ -8439,6 +8443,29 @@ var disconnectAppleMusic = async (revision) => {
8439
8443
  })
8440
8444
  );
8441
8445
  };
8446
+ var connectSpotify = async () => {
8447
+ const epoch = getSessionEpoch();
8448
+ const security2 = await sessionWriteSecurity(epoch);
8449
+ assertSessionEpoch(epoch);
8450
+ return unwrap2(
8451
+ await post(
8452
+ "/customer/music/spotify/connect",
8453
+ {},
8454
+ security2
8455
+ )
8456
+ );
8457
+ };
8458
+ var disconnectSpotify = async (revision) => {
8459
+ const epoch = getSessionEpoch();
8460
+ const security2 = await sessionWriteSecurity(epoch);
8461
+ assertSessionEpoch(epoch);
8462
+ return unwrap2(
8463
+ await del("/customer/music/spotify", {
8464
+ ...security2,
8465
+ data: { revision }
8466
+ })
8467
+ );
8468
+ };
8442
8469
  var endpoint = (postId) => {
8443
8470
  if (!/^[1-9][0-9]*$/.test(String(postId)))
8444
8471
  throw new TtfError("This article is not available.", 422, "VALIDATION_ERROR");
@@ -10289,7 +10316,7 @@ var bundleFlowAvailable = (draft, catalog, catalogState) => {
10289
10316
  ];
10290
10317
  const slots = bundleHolderSlots(catalog, bundleSelectionAttribute(qty));
10291
10318
  const holders = draft.holders.filter(
10292
- (h) => !changed.includes(h.bundleId) || slots.some((s4) => s4.bundleId === h.bundleId && s4.ticketIndex === h.ticketIndex)
10319
+ (h) => !changed.includes(h.bundleId) || slots.some((s5) => s5.bundleId === h.bundleId && s5.ticketIndex === h.ticketIndex)
10293
10320
  );
10294
10321
  return { draft: { ...draft, qty, holders }, removed, reduced, belowMinimum };
10295
10322
  };
@@ -10334,7 +10361,7 @@ var bundleDraftWithHolder = (draft, slot, next) => {
10334
10361
  var bundleFlowInput = (eventId, draft, slots) => {
10335
10362
  const selection = bundleSelectionAttribute(draft.qty);
10336
10363
  const holders = draft.holders.filter(
10337
- (h) => slots.some((s4) => s4.bundleId === h.bundleId && s4.ticketIndex === h.ticketIndex) && (h.firstName.trim() || h.lastName.trim())
10364
+ (h) => slots.some((s5) => s5.bundleId === h.bundleId && s5.ticketIndex === h.ticketIndex) && (h.firstName.trim() || h.lastName.trim())
10338
10365
  );
10339
10366
  const buyer2 = holders.length ? { ...draft.buyer, holders } : { ...draft.buyer };
10340
10367
  return {
@@ -10916,7 +10943,9 @@ var ttf = {
10916
10943
  get: getPreferences,
10917
10944
  save: saveInterests,
10918
10945
  connectAppleMusic,
10919
- disconnectAppleMusic
10946
+ disconnectAppleMusic,
10947
+ connectSpotify,
10948
+ disconnectSpotify
10920
10949
  },
10921
10950
  comments: {
10922
10951
  list: getEventComments,
@@ -14654,7 +14683,12 @@ var useAccountPreferences = (enabled = true) => {
14654
14683
  const ownedEpoch = (0, import_react22.useMemo)(() => getSessionEpoch(), [scope]);
14655
14684
  const pending2 = (0, import_react22.useRef)({ scope, locked: false });
14656
14685
  const client = (0, import_react_query12.useQueryClient)();
14657
- const query = useSessionQuery({ queryKey: key2, queryFn: getPreferences, retry: false, enabled });
14686
+ const query = useSessionQuery({
14687
+ queryKey: key2,
14688
+ queryFn: getPreferences,
14689
+ retry: false,
14690
+ enabled
14691
+ });
14658
14692
  const perform = async (action, message) => {
14659
14693
  if (getSessionCacheScope() !== scope || getSessionEpoch() !== ownedEpoch || pending2.current.scope === scope && pending2.current.locked)
14660
14694
  return;
@@ -14690,10 +14724,19 @@ var useAccountPreferences = (enabled = true) => {
14690
14724
  "Your interests have been updated."
14691
14725
  ) : Promise.resolve(void 0),
14692
14726
  connectAppleMusic: () => perform(connectAppleMusic),
14727
+ connectSpotify: () => perform(connectSpotify),
14693
14728
  disconnectAppleMusic: () => query.data ? perform(
14694
14729
  () => disconnectAppleMusic(query.data.revision),
14695
14730
  "Apple Music disconnected. Your saved interests stay."
14696
- ) : Promise.resolve(void 0)
14731
+ ) : Promise.resolve(void 0),
14732
+ disconnectSpotify: () => {
14733
+ var _a;
14734
+ const revision = (_a = query.data) == null ? void 0 : _a.revision;
14735
+ return revision === void 0 ? Promise.resolve(void 0) : perform(
14736
+ () => disconnectSpotify(revision),
14737
+ "Spotify disconnected. Your saved interests stay."
14738
+ );
14739
+ }
14697
14740
  };
14698
14741
  };
14699
14742
  var useInterestSelection = () => {
@@ -16467,6 +16510,46 @@ Object.assign(accountEs, {
16467
16510
  "account.choose_images_totaling_no_more_than_5_mib_after_processing": "Elige im\xE1genes que no sumen m\xE1s de 5 MiB despu\xE9s del procesamiento.",
16468
16511
  "account.write_a_comment_or_choose_an_image": "Escribe un comentario o elige una imagen."
16469
16512
  });
16513
+ Object.assign(accountEn, {
16514
+ "account.spotify_disconnected_your_saved_interests_stay": "Spotify disconnected. Your saved interests stay.",
16515
+ "account.choose_which_artist_and_genre_names_to_use_for_event_suggestions": "Choose which artist and genre names to use for event suggestions.",
16516
+ "account.disconnect_spotify_and_remove_its_imported_data_and_approved_names_your_saved_interests_stay": "Disconnect Spotify and remove its imported data and approved names? Your saved interests stay.",
16517
+ "account.review_choices": "Review choices",
16518
+ "account.no_artist_or_genre_names_approved_yet": "No artist or genre names approved yet.",
16519
+ "account.refresh_connections": "Refresh connections",
16520
+ "account.only_the_artist_and_genre_names_you_approve_are_used_for_these_event_suggestions": "Only the artist and genre names you approve are used for these event suggestions.",
16521
+ "account.continue_in_a_new_tab_to_review_your_spotify_choices_return_here_when_you_finish": "Continue in a new tab to review your Spotify choices. Return here when you finish.",
16522
+ "account.continue_to_spotify": "Continue to Spotify",
16523
+ "account.spotify_connections_are_not_available_right_now": "Spotify connections are not available right now.",
16524
+ "account.spotify_could_not_confirm_this_account_please_try_again": "Spotify could not confirm this account. Please try again.",
16525
+ "account.this_spotify_connection_expired_open_a_new_connection": "This Spotify connection expired. Open a new connection.",
16526
+ "account.your_account_changed_open_a_new_spotify_connection": "Your account changed. Open a new Spotify connection.",
16527
+ "account.choose_only_the_spotify_names_shown_for_this_connection": "Choose only the Spotify names shown for this connection.",
16528
+ "account.spotify_artist_names_could_not_be_loaded_please_try_again": "Spotify artist names could not be loaded. Please try again.",
16529
+ "account.disconnect_spotify": "Disconnect Spotify?",
16530
+ "account.your_imported_spotify_data_and_approved_names_will_be_removed_your_saved_interests_stay": "Your imported Spotify data and approved names will be removed. Your saved interests stay.",
16531
+ "account.sign_in_to_manage_your_music_connections": "Sign in to manage your music connections."
16532
+ });
16533
+ Object.assign(accountEs, {
16534
+ "account.spotify_disconnected_your_saved_interests_stay": "Spotify se desconect\xF3. Tus intereses guardados se conservan.",
16535
+ "account.choose_which_artist_and_genre_names_to_use_for_event_suggestions": "Elige qu\xE9 nombres de artistas y g\xE9neros usar para sugerirte eventos.",
16536
+ "account.disconnect_spotify_and_remove_its_imported_data_and_approved_names_your_saved_interests_stay": "\xBFDesconectar Spotify y eliminar sus datos importados y los nombres aprobados? Tus intereses guardados se conservan.",
16537
+ "account.review_choices": "Revisar selecciones",
16538
+ "account.no_artist_or_genre_names_approved_yet": "A\xFAn no has aprobado nombres de artistas o g\xE9neros.",
16539
+ "account.refresh_connections": "Actualizar conexiones",
16540
+ "account.only_the_artist_and_genre_names_you_approve_are_used_for_these_event_suggestions": "Solo se usan los nombres de artistas y g\xE9neros que apruebas para estas sugerencias de eventos.",
16541
+ "account.continue_in_a_new_tab_to_review_your_spotify_choices_return_here_when_you_finish": "Contin\xFAa en una pesta\xF1a nueva para revisar tus selecciones de Spotify. Vuelve aqu\xED cuando termines.",
16542
+ "account.continue_to_spotify": "Continuar a Spotify",
16543
+ "account.spotify_connections_are_not_available_right_now": "Las conexiones de Spotify no est\xE1n disponibles en este momento.",
16544
+ "account.spotify_could_not_confirm_this_account_please_try_again": "Spotify no pudo confirmar esta cuenta. Int\xE9ntalo de nuevo.",
16545
+ "account.this_spotify_connection_expired_open_a_new_connection": "Esta conexi\xF3n de Spotify ha caducado. Abre una nueva conexi\xF3n.",
16546
+ "account.your_account_changed_open_a_new_spotify_connection": "Tu cuenta ha cambiado. Abre una nueva conexi\xF3n de Spotify.",
16547
+ "account.choose_only_the_spotify_names_shown_for_this_connection": "Elige solo los nombres de Spotify que se muestran para esta conexi\xF3n.",
16548
+ "account.spotify_artist_names_could_not_be_loaded_please_try_again": "No se pudieron cargar los nombres de artistas de Spotify. Int\xE9ntalo de nuevo.",
16549
+ "account.disconnect_spotify": "\xBFDesconectar Spotify?",
16550
+ "account.your_imported_spotify_data_and_approved_names_will_be_removed_your_saved_interests_stay": "Se eliminar\xE1n tus datos importados de Spotify y los nombres aprobados. Tus intereses guardados se conservan.",
16551
+ "account.sign_in_to_manage_your_music_connections": "Inicia sesi\xF3n para gestionar tus conexiones de m\xFAsica."
16552
+ });
16470
16553
  var en = {
16471
16554
  "auth.completionAgree": "I agree to the Terms of Service and Privacy Policy.",
16472
16555
  "auth.completionTerms": "Read Terms of Service",
@@ -17608,48 +17691,48 @@ var Card = ({
17608
17691
  style
17609
17692
  }) => {
17610
17693
  const theme = useTheme();
17611
- const s4 = useStyles(theme);
17612
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.View, { style: [s4.card, style], children });
17694
+ const s5 = useStyles(theme);
17695
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.View, { style: [s5.card, style], children });
17613
17696
  };
17614
17697
  var SectionHeader = ({
17615
17698
  title,
17616
17699
  subtitle
17617
17700
  }) => {
17618
17701
  const theme = useTheme();
17619
- const s4 = useStyles(theme);
17620
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_native.View, { style: s4.sectionHeader, children: [
17621
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: s4.sectionTitle, children: title }),
17622
- subtitle ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: s4.sectionSubtitle, children: subtitle }) : null
17702
+ const s5 = useStyles(theme);
17703
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_native.View, { style: s5.sectionHeader, children: [
17704
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: s5.sectionTitle, children: title }),
17705
+ subtitle ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: s5.sectionSubtitle, children: subtitle }) : null
17623
17706
  ] });
17624
17707
  };
17625
17708
  var Divider = () => {
17626
17709
  const theme = useTheme();
17627
- const s4 = useStyles(theme);
17628
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.View, { style: s4.divider });
17710
+ const s5 = useStyles(theme);
17711
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.View, { style: s5.divider });
17629
17712
  };
17630
17713
  var BodyText = ({
17631
17714
  children,
17632
17715
  style
17633
17716
  }) => {
17634
17717
  const theme = useTheme();
17635
- const s4 = useStyles(theme);
17636
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [s4.body, style], children });
17718
+ const s5 = useStyles(theme);
17719
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [s5.body, style], children });
17637
17720
  };
17638
17721
  var MutedText = ({
17639
17722
  children,
17640
17723
  style
17641
17724
  }) => {
17642
17725
  const theme = useTheme();
17643
- const s4 = useStyles(theme);
17644
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [s4.muted, style], children });
17726
+ const s5 = useStyles(theme);
17727
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [s5.muted, style], children });
17645
17728
  };
17646
17729
  var ErrorText = ({ children }) => {
17647
17730
  const theme = useTheme();
17648
- const s4 = useStyles(theme);
17731
+ const s5 = useStyles(theme);
17649
17732
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
17650
17733
  import_react_native.Text,
17651
17734
  {
17652
- style: s4.errorText,
17735
+ style: s5.errorText,
17653
17736
  accessibilityRole: "alert",
17654
17737
  accessibilityLiveRegion: "assertive",
17655
17738
  children
@@ -17664,7 +17747,7 @@ var Button = ({
17664
17747
  variant = "primary"
17665
17748
  }) => {
17666
17749
  const theme = useTheme();
17667
- const s4 = useStyles(theme);
17750
+ const s5 = useStyles(theme);
17668
17751
  const frozen = useFrozen();
17669
17752
  const isDisabled = disabled || loading || frozen;
17670
17753
  const ghost = variant === "ghost";
@@ -17676,10 +17759,10 @@ var Button = ({
17676
17759
  disabled: isDisabled,
17677
17760
  onPress,
17678
17761
  style: ({ pressed }) => [
17679
- s4.button,
17680
- ghost && s4.buttonGhost,
17681
- isDisabled && s4.buttonDisabled,
17682
- pressed && !isDisabled && s4.buttonPressed
17762
+ s5.button,
17763
+ ghost && s5.buttonGhost,
17764
+ isDisabled && s5.buttonDisabled,
17765
+ pressed && !isDisabled && s5.buttonPressed
17683
17766
  ],
17684
17767
  children: loading ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
17685
17768
  import_react_native.ActivityIndicator,
@@ -17687,7 +17770,7 @@ var Button = ({
17687
17770
  size: "small",
17688
17771
  color: ghost ? theme.accent : theme.accentContrast
17689
17772
  }
17690
- ) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [s4.buttonLabel, ghost && s4.buttonLabelGhost], children })
17773
+ ) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [s5.buttonLabel, ghost && s5.buttonLabelGhost], children })
17691
17774
  }
17692
17775
  );
17693
17776
  };
@@ -17773,7 +17856,7 @@ var useInstallmentPicker = () => {
17773
17856
  };
17774
17857
  var InstallmentModal = ({ offers, onChoose, onClose }) => {
17775
17858
  const theme = useTheme();
17776
- const s4 = useStyles2(theme);
17859
+ const s5 = useStyles2(theme);
17777
17860
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
17778
17861
  import_react_native2.Modal,
17779
17862
  {
@@ -17781,25 +17864,25 @@ var InstallmentModal = ({ offers, onChoose, onClose }) => {
17781
17864
  transparent: true,
17782
17865
  animationType: "fade",
17783
17866
  onRequestClose: onClose,
17784
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.Pressable, { style: s4.backdrop, onPress: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native2.Pressable, { style: s4.box, onPress: () => {
17867
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.Pressable, { style: s5.backdrop, onPress: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native2.Pressable, { style: s5.box, onPress: () => {
17785
17868
  }, children: [
17786
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.Text, { style: s4.title, accessibilityRole: "header", children: "Pay in installments?" }),
17787
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.View, { style: s4.list, children: (offers != null ? offers : []).map((offer, i) => {
17869
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.Text, { style: s5.title, accessibilityRole: "header", children: "Pay in installments?" }),
17870
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.View, { style: s5.list, children: (offers != null ? offers : []).map((offer, i) => {
17788
17871
  var _a;
17789
17872
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
17790
17873
  import_react_native2.Pressable,
17791
17874
  {
17792
17875
  accessibilityRole: "button",
17793
- style: ({ pressed }) => [s4.option, pressed && s4.optionPressed],
17876
+ style: ({ pressed }) => [s5.option, pressed && s5.optionPressed],
17794
17877
  onPress: () => onChoose(offer),
17795
17878
  children: [
17796
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native2.Text, { style: s4.optionMain, children: [
17879
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native2.Text, { style: s5.optionMain, children: [
17797
17880
  offer.count,
17798
17881
  " \xD7",
17799
17882
  " ",
17800
17883
  (_a = offer.per_installment_formatted) != null ? _a : offer.per_installment
17801
17884
  ] }),
17802
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native2.Text, { style: s4.optionMeta, children: [
17885
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native2.Text, { style: s5.optionMeta, children: [
17803
17886
  offer.total_formatted ? `${offer.total_formatted} total` : "",
17804
17887
  offer.diff_from_original_formatted ? ` \xB7 ${offer.diff_from_original_formatted}` : ""
17805
17888
  ] })
@@ -18389,14 +18472,14 @@ var import_react_native6 = require("react-native");
18389
18472
  var import_jsx_runtime7 = require("react/jsx-runtime");
18390
18473
  var Field = ({ label, error, required, children }) => {
18391
18474
  const theme = useTheme();
18392
- const s4 = useFieldStyles(theme);
18393
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native6.View, { style: s4.field, children: [
18394
- label ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native6.Text, { style: s4.label, children: [
18475
+ const s5 = useFieldStyles(theme);
18476
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native6.View, { style: s5.field, children: [
18477
+ label ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native6.Text, { style: s5.label, children: [
18395
18478
  label,
18396
- required ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s4.required, children: " *" }) : null
18479
+ required ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s5.required, children: " *" }) : null
18397
18480
  ] }) : null,
18398
18481
  children,
18399
- error ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s4.error, children: error }) : null
18482
+ error ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s5.error, children: error }) : null
18400
18483
  ] });
18401
18484
  };
18402
18485
  var Input = ({
@@ -18414,17 +18497,17 @@ var Input = ({
18414
18497
  const frozen = useFrozen();
18415
18498
  const editable = editableProp && !frozen;
18416
18499
  const theme = useTheme();
18417
- const s4 = useFieldStyles(theme);
18500
+ const s5 = useFieldStyles(theme);
18418
18501
  const [focused, setFocused] = (0, import_react38.useState)(false);
18419
18502
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
18420
18503
  import_react_native6.TextInput,
18421
18504
  {
18422
18505
  ...nativeProps,
18423
18506
  style: [
18424
- s4.input,
18425
- focused && s4.inputFocused,
18426
- invalid && s4.inputInvalid,
18427
- !editable && s4.inputDisabled
18507
+ s5.input,
18508
+ focused && s5.inputFocused,
18509
+ invalid && s5.inputInvalid,
18510
+ !editable && s5.inputDisabled
18428
18511
  ],
18429
18512
  value: value6,
18430
18513
  onChangeText,
@@ -18445,7 +18528,7 @@ var Input = ({
18445
18528
  };
18446
18529
  var Checkbox = ({ checked, onChange, label, invalid = false }) => {
18447
18530
  const theme = useTheme();
18448
- const s4 = useFieldStyles(theme);
18531
+ const s5 = useFieldStyles(theme);
18449
18532
  const frozen = useFrozen();
18450
18533
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
18451
18534
  import_react_native6.Pressable,
@@ -18454,20 +18537,20 @@ var Checkbox = ({ checked, onChange, label, invalid = false }) => {
18454
18537
  accessibilityState: { checked, disabled: frozen },
18455
18538
  disabled: frozen,
18456
18539
  onPress: () => onChange(!checked),
18457
- style: s4.checkboxRow,
18540
+ style: s5.checkboxRow,
18458
18541
  children: [
18459
18542
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
18460
18543
  import_react_native6.View,
18461
18544
  {
18462
18545
  style: [
18463
- s4.checkboxBox,
18464
- checked && s4.checkboxBoxChecked,
18465
- invalid && !checked && s4.checkboxBoxInvalid
18546
+ s5.checkboxBox,
18547
+ checked && s5.checkboxBoxChecked,
18548
+ invalid && !checked && s5.checkboxBoxInvalid
18466
18549
  ],
18467
- children: checked ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s4.checkboxMark, children: "\u2713" }) : null
18550
+ children: checked ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s5.checkboxMark, children: "\u2713" }) : null
18468
18551
  }
18469
18552
  ),
18470
- typeof label === "string" ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s4.checkboxLabel, children: label }) : label
18553
+ typeof label === "string" ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s5.checkboxLabel, children: label }) : label
18471
18554
  ]
18472
18555
  }
18473
18556
  );
@@ -18536,7 +18619,7 @@ function Select({
18536
18619
  const frozen = useFrozen();
18537
18620
  const disabled = disabledProp || frozen;
18538
18621
  const theme = useTheme();
18539
- const s4 = useSelectStyles(theme);
18622
+ const s5 = useSelectStyles(theme);
18540
18623
  const [open, setOpen] = (0, import_react39.useState)(false);
18541
18624
  const selected = options.find((o) => o.value === value6);
18542
18625
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
@@ -18546,10 +18629,10 @@ function Select({
18546
18629
  accessibilityRole: "button",
18547
18630
  disabled,
18548
18631
  onPress: () => setOpen(true),
18549
- style: [s4.control, invalid && s4.controlInvalid, disabled && s4.controlDisabled],
18632
+ style: [s5.control, invalid && s5.controlInvalid, disabled && s5.controlDisabled],
18550
18633
  children: [
18551
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: [s4.value, !selected && s4.placeholder], numberOfLines: 1, children: selected ? selected.label : placeholder }),
18552
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: s4.chevron, children: "\u25BE" })
18634
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: [s5.value, !selected && s5.placeholder], numberOfLines: 1, children: selected ? selected.label : placeholder }),
18635
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: s5.chevron, children: "\u25BE" })
18553
18636
  ]
18554
18637
  }
18555
18638
  ),
@@ -18560,7 +18643,7 @@ function Select({
18560
18643
  transparent: true,
18561
18644
  animationType: "fade",
18562
18645
  onRequestClose: () => setOpen(false),
18563
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Pressable, { style: s4.backdrop, onPress: () => setOpen(false), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Pressable, { style: s4.sheet, onPress: () => {
18646
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Pressable, { style: s5.backdrop, onPress: () => setOpen(false), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Pressable, { style: s5.sheet, onPress: () => {
18564
18647
  }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
18565
18648
  import_react_native7.FlatList,
18566
18649
  {
@@ -18572,19 +18655,19 @@ function Select({
18572
18655
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
18573
18656
  import_react_native7.Pressable,
18574
18657
  {
18575
- style: s4.option,
18658
+ style: s5.option,
18576
18659
  onPress: () => {
18577
18660
  onChange(item.value);
18578
18661
  setOpen(false);
18579
18662
  },
18580
18663
  children: [
18581
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: [s4.optionLabel, isSelected && s4.optionLabelSelected], children: item.label }),
18582
- isSelected ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: s4.optionCheck, children: "\u2713" }) : null
18664
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: [s5.optionLabel, isSelected && s5.optionLabelSelected], children: item.label }),
18665
+ isSelected ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: s5.optionCheck, children: "\u2713" }) : null
18583
18666
  ]
18584
18667
  }
18585
18668
  );
18586
18669
  },
18587
- ItemSeparatorComponent: () => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.View, { style: s4.sep })
18670
+ ItemSeparatorComponent: () => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.View, { style: s5.sep })
18588
18671
  }
18589
18672
  ) }) })
18590
18673
  }
@@ -18667,7 +18750,7 @@ var QuantitySelect = ({
18667
18750
  const frozen = useFrozen();
18668
18751
  const disabled = disabledProp || frozen;
18669
18752
  const theme = useTheme();
18670
- const s4 = useQuantityStyles(theme);
18753
+ const s5 = useQuantityStyles(theme);
18671
18754
  const lo = Math.max(1, min);
18672
18755
  const cap = Math.min(max, 50);
18673
18756
  const atZero = value6 <= 0;
@@ -18683,7 +18766,7 @@ var QuantitySelect = ({
18683
18766
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
18684
18767
  import_react_native8.View,
18685
18768
  {
18686
- style: s4.stepper,
18769
+ style: s5.stepper,
18687
18770
  accessible: Boolean(label),
18688
18771
  accessibilityRole: label ? "adjustable" : void 0,
18689
18772
  accessibilityLabel: label,
@@ -18702,11 +18785,11 @@ var QuantitySelect = ({
18702
18785
  accessibilityLabel: "Remove one",
18703
18786
  disabled: disabled || atZero,
18704
18787
  onPress: dec,
18705
- style: [s4.btn, (disabled || atZero) && s4.btnDisabled],
18706
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style: s4.glyph, children: "\u2212" })
18788
+ style: [s5.btn, (disabled || atZero) && s5.btnDisabled],
18789
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style: s5.glyph, children: "\u2212" })
18707
18790
  }
18708
18791
  ),
18709
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style: s4.value, children: value6 }),
18792
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style: s5.value, children: value6 }),
18710
18793
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
18711
18794
  import_react_native8.Pressable,
18712
18795
  {
@@ -18714,8 +18797,8 @@ var QuantitySelect = ({
18714
18797
  accessibilityLabel: "Add one",
18715
18798
  disabled: disabled || atCap,
18716
18799
  onPress: inc,
18717
- style: [s4.btn, (disabled || atCap) && s4.btnDisabled],
18718
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style: s4.glyph, children: "+" })
18800
+ style: [s5.btn, (disabled || atCap) && s5.btnDisabled],
18801
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style: s5.glyph, children: "+" })
18719
18802
  }
18720
18803
  )
18721
18804
  ]
@@ -18752,8 +18835,8 @@ var useQuantityStyles = (theme) => (0, import_react40.useMemo)(
18752
18835
  var import_react41 = require("react");
18753
18836
  var import_react_native9 = require("react-native");
18754
18837
  var import_jsx_runtime10 = require("react/jsx-runtime");
18755
- var clock = (s4) => {
18756
- const v = Math.max(0, Math.floor(s4));
18838
+ var clock = (s5) => {
18839
+ const v = Math.max(0, Math.floor(s5));
18757
18840
  return v >= 3600 ? `${Math.floor(v / 3600)}:${String(Math.floor(v % 3600 / 60)).padStart(
18758
18841
  2,
18759
18842
  "0"
@@ -18761,11 +18844,11 @@ var clock = (s4) => {
18761
18844
  };
18762
18845
  var Timer = ({ seconds, urgentAt = 60, label }) => {
18763
18846
  const theme = useTheme();
18764
- const s4 = useTimerStyles(theme);
18847
+ const s5 = useTimerStyles(theme);
18765
18848
  const urgent = seconds <= urgentAt;
18766
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react_native9.View, { style: s4.row, children: [
18767
- label != null ? typeof label === "string" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native9.Text, { style: s4.label, children: label }) : label : null,
18768
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native9.Text, { style: [s4.clock, urgent && s4.clockUrgent], children: clock(seconds) })
18849
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react_native9.View, { style: s5.row, children: [
18850
+ label != null ? typeof label === "string" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native9.Text, { style: s5.label, children: label }) : label : null,
18851
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native9.Text, { style: [s5.clock, urgent && s5.clockUrgent], children: clock(seconds) })
18769
18852
  ] });
18770
18853
  };
18771
18854
  var useTimerStyles = (theme) => (0, import_react41.useMemo)(
@@ -18796,9 +18879,9 @@ var import_jsx_runtime11 = (
18796
18879
  // `role="status"` — announce the countdown without stealing focus.
18797
18880
  require("react/jsx-runtime")
18798
18881
  );
18799
- var clock2 = (s4) => {
18800
- const m = String(Math.floor(s4 / 60)).padStart(2, "0");
18801
- const ss = String(s4 % 60).padStart(2, "0");
18882
+ var clock2 = (s5) => {
18883
+ const m = String(Math.floor(s5 / 60)).padStart(2, "0");
18884
+ const ss = String(s5 % 60).padStart(2, "0");
18802
18885
  return `${m}:${ss}`;
18803
18886
  };
18804
18887
  var TimerBanner = ({
@@ -18807,13 +18890,13 @@ var TimerBanner = ({
18807
18890
  message = "Please complete your purchase before the timer reaches zero."
18808
18891
  }) => {
18809
18892
  const theme = useTheme();
18810
- const s4 = useBannerStyles(theme);
18893
+ const s5 = useBannerStyles(theme);
18811
18894
  const [dismissed, setDismissed] = (0, import_react42.useState)(false);
18812
18895
  if (seconds === void 0 || seconds <= 0 || dismissed) return null;
18813
18896
  const urgent = seconds <= urgentAt;
18814
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native10.View, { accessibilityLiveRegion: "polite", style: [s4.banner, urgent && s4.bannerUrgent], children: [
18815
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [s4.msg, urgent && s4.textUrgent], children: message }),
18816
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [s4.clock, urgent && s4.textUrgent], children: clock2(seconds) }),
18897
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native10.View, { accessibilityLiveRegion: "polite", style: [s5.banner, urgent && s5.bannerUrgent], children: [
18898
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [s5.msg, urgent && s5.textUrgent], children: message }),
18899
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [s5.clock, urgent && s5.textUrgent], children: clock2(seconds) }),
18817
18900
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
18818
18901
  import_react_native10.Pressable,
18819
18902
  {
@@ -18821,8 +18904,8 @@ var TimerBanner = ({
18821
18904
  accessibilityLabel: "Dismiss",
18822
18905
  hitSlop: 8,
18823
18906
  onPress: () => setDismissed(true),
18824
- style: s4.close,
18825
- children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [s4.closeGlyph, urgent && s4.textUrgent], children: "\xD7" })
18907
+ style: s5.close,
18908
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [s5.closeGlyph, urgent && s5.textUrgent], children: "\xD7" })
18826
18909
  }
18827
18910
  )
18828
18911
  ] });
@@ -18886,14 +18969,14 @@ var PaymentMethods = ({
18886
18969
  }) => {
18887
18970
  const theme = useTheme();
18888
18971
  const frozen = useFrozen();
18889
- const s4 = useStyles3(theme);
18890
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.View, { style: s4.list, accessibilityRole: "radiogroup", children: options.map((option) => {
18972
+ const s5 = useStyles3(theme);
18973
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.View, { style: s5.list, accessibilityRole: "radiogroup", children: options.map((option) => {
18891
18974
  var _a, _b;
18892
18975
  const active2 = option.value === selected;
18893
18976
  const extraValue = option.extra === "phoneNumber" ? (_a = extraValues[option.value]) == null ? void 0 : _a.phoneNumber : (_b = extraValues[option.value]) == null ? void 0 : _b.cashtag;
18894
18977
  const extraInvalid = Boolean(active2 && option.extra && showValidation) && !(extraValue == null ? void 0 : extraValue.trim());
18895
18978
  const showBody = active2 && (option.value === inputSlotFor || Boolean(option.extra));
18896
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native11.View, { style: [s4.row, active2 && s4.rowActive], children: [
18979
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native11.View, { style: [s5.row, active2 && s5.rowActive], children: [
18897
18980
  /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
18898
18981
  import_react_native11.Pressable,
18899
18982
  {
@@ -18903,23 +18986,23 @@ var PaymentMethods = ({
18903
18986
  onPress: () => {
18904
18987
  if (!frozen) onSelect(option.value);
18905
18988
  },
18906
- style: s4.rowHead,
18989
+ style: s5.rowHead,
18907
18990
  children: [
18908
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.View, { style: [s4.radio, active2 && s4.radioActive], children: active2 ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.View, { style: s4.radioDot }) : null }),
18991
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.View, { style: [s5.radio, active2 && s5.radioActive], children: active2 ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.View, { style: s5.radioDot }) : null }),
18909
18992
  option.iconUrl ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
18910
18993
  import_react_native11.Image,
18911
18994
  {
18912
18995
  source: { uri: option.iconUrl },
18913
- style: s4.icon,
18996
+ style: s5.icon,
18914
18997
  resizeMode: "contain",
18915
18998
  accessibilityIgnoresInvertColors: true
18916
18999
  }
18917
19000
  ) : null,
18918
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.Text, { style: s4.rowLabel, children: option.label })
19001
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.Text, { style: s5.rowLabel, children: option.label })
18919
19002
  ]
18920
19003
  }
18921
19004
  ),
18922
- showBody ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native11.View, { style: s4.slot, children: [
19005
+ showBody ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native11.View, { style: s5.slot, children: [
18923
19006
  option.value === inputSlotFor ? children : null,
18924
19007
  option.extra ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
18925
19008
  Field,
@@ -19065,7 +19148,7 @@ var Tickets = ({
19065
19148
  var _a, _b, _c, _d, _e, _f, _g;
19066
19149
  const checkout = useCheckoutContext();
19067
19150
  const theme = useTheme();
19068
- const s4 = useTicketStyles(theme);
19151
+ const s5 = useTicketStyles(theme);
19069
19152
  const ticketsQuery = hooks_exports.useTicketsWithMeta(eventId);
19070
19153
  const bundleWait = hooks_exports.useTicketGatewayWait(checkout.store);
19071
19154
  const bundleStarting = bundleWait !== null;
@@ -19200,13 +19283,13 @@ var Tickets = ({
19200
19283
  const ticketIndex = tickets.findIndex((candidate) => candidate.id === t.id);
19201
19284
  const previousTicket = ticketIndex > 0 ? tickets[ticketIndex - 1] : void 0;
19202
19285
  const startsNamedGroup = Boolean(t.groupName) && t.groupName !== (previousTicket == null ? void 0 : previousTicket.groupName);
19203
- const groupHeading = startsNamedGroup ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.group, children: t.groupName }) : t.id === firstTableId ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
19286
+ const groupHeading = startsNamedGroup ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.group, children: t.groupName }) : t.id === firstTableId ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
19204
19287
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Divider, {}),
19205
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.group, children: "Reserve tables" })
19288
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.group, children: "Reserve tables" })
19206
19289
  ] }) : null;
19207
19290
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react44.Fragment, { children: [
19208
19291
  groupHeading,
19209
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: renderTicket ? void 0 : s4.rowWrap, children: [
19292
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: renderTicket ? void 0 : s5.rowWrap, children: [
19210
19293
  renderTicket ? renderTicket({
19211
19294
  ticket: t,
19212
19295
  quantity: (_a2 = qty[t.id]) != null ? _a2 : 0,
@@ -19217,36 +19300,36 @@ var Tickets = ({
19217
19300
  if (!checkout.orderFixed) selectQty(t, value6);
19218
19301
  }
19219
19302
  }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
19220
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s4.row, children: [
19221
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s4.info, children: [
19222
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s4.nameRow, children: [
19223
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.name, children: t.name }),
19303
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.row, children: [
19304
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.info, children: [
19305
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.nameRow, children: [
19306
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.name, children: t.name }),
19224
19307
  t.descriptionRich ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
19225
19308
  import_react_native12.Pressable,
19226
19309
  {
19227
19310
  accessibilityRole: "button",
19228
19311
  onPress: () => setVisibleDescription((cur) => cur === t.id ? null : t.id),
19229
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.infoToggle, children: visibleDescription === t.id ? "Hide info" : "View info" })
19312
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.infoToggle, children: visibleDescription === t.id ? "Hide info" : "View info" })
19230
19313
  }
19231
19314
  ) : null
19232
19315
  ] }),
19233
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s4.priceRow, children: [
19234
- discounted && original != null ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.oldPrice, children: money(sym, original) }) : null,
19235
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: [s4.amount, isFree && s4.amountFree], children: isFree ? "FREE" : money(sym, t.price) }),
19236
- t.isTable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.perTable, children: "\xB7 per table" }) : null,
19237
- !isFree && !t.soldOut ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.Text, { style: s4.fees, children: [
19316
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.priceRow, children: [
19317
+ discounted && original != null ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.oldPrice, children: money(sym, original) }) : null,
19318
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: [s5.amount, isFree && s5.amountFree], children: isFree ? "FREE" : money(sym, t.price) }),
19319
+ t.isTable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.perTable, children: "\xB7 per table" }) : null,
19320
+ !isFree && !t.soldOut ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.Text, { style: s5.fees, children: [
19238
19321
  "(",
19239
19322
  money(sym, t.priceWithFees),
19240
19323
  " with fees)"
19241
19324
  ] }) : null,
19242
- t.depositPercent != null ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.Text, { style: s4.deposit, children: [
19325
+ t.depositPercent != null ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.Text, { style: s5.deposit, children: [
19243
19326
  t.depositPercent.toFixed(2),
19244
19327
  "% DEPOSIT"
19245
19328
  ] }) : null
19246
19329
  ] })
19247
19330
  ] }),
19248
- seatMapRow(t) ? null : unavailable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.soldout, children: t.soldOut ? "Sold out" : notStarted ? "Sales not started" : "Sales Ended" }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s4.qtyWrap, children: [
19249
- t.isTable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.guests, children: "Guests" }) : null,
19331
+ seatMapRow(t) ? null : unavailable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.soldout, children: t.soldOut ? "Sold out" : notStarted ? "Sales not started" : "Sales Ended" }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.qtyWrap, children: [
19332
+ t.isTable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.guests, children: "Guests" }) : null,
19250
19333
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
19251
19334
  QuantitySelect,
19252
19335
  {
@@ -19259,7 +19342,7 @@ var Tickets = ({
19259
19342
  )
19260
19343
  ] })
19261
19344
  ] }),
19262
- t.descriptionRich && visibleDescription === t.id ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.description, children: htmlToPlainText(t.descriptionRich) }) : null
19345
+ t.descriptionRich && visibleDescription === t.id ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.description, children: htmlToPlainText(t.descriptionRich) }) : null
19263
19346
  ] }),
19264
19347
  canWaitlist ? wlOpen[t.id] ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
19265
19348
  WaitingListForm,
@@ -19272,7 +19355,7 @@ var Tickets = ({
19272
19355
  {
19273
19356
  accessibilityRole: "button",
19274
19357
  onPress: () => setWlOpen((w) => ({ ...w, [t.id]: true })),
19275
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.wlToggle, children: "Join the waiting list" })
19358
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.wlToggle, children: "Join the waiting list" })
19276
19359
  }
19277
19360
  ) : null
19278
19361
  ] })
@@ -19290,10 +19373,10 @@ var Tickets = ({
19290
19373
  const continueTitle = checkout.isBusy ? "Reserving\u2026" : selectionIsTable ? "Reserve tables" : buttonLabel;
19291
19374
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FrozenFields, { frozen: checkout.orderFixed, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Container, { children: [
19292
19375
  title ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SectionHeader, { title }) : null,
19293
- listQuery.isLoading ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.View, { style: s4.loading, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Loader, {}) }) : null,
19376
+ listQuery.isLoading ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.View, { style: s5.loading, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Loader, {}) }) : null,
19294
19377
  listQuery.error ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ErrorText, { children: listQuery.error.message }) : null,
19295
- isTimeSlot && dates.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s4.selectBlock, children: [
19296
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.selectLabel, children: "Date" }),
19378
+ isTimeSlot && dates.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.selectBlock, children: [
19379
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.selectLabel, children: "Date" }),
19297
19380
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
19298
19381
  Select,
19299
19382
  {
@@ -19306,8 +19389,8 @@ var Tickets = ({
19306
19389
  }
19307
19390
  )
19308
19391
  ] }) : null,
19309
- currency && currency.available.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s4.selectBlock, children: [
19310
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.selectLabel, children: "Currency" }),
19392
+ currency && currency.available.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.selectBlock, children: [
19393
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.selectLabel, children: "Currency" }),
19311
19394
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
19312
19395
  Select,
19313
19396
  {
@@ -19322,10 +19405,10 @@ var Tickets = ({
19322
19405
  ] }) : null,
19323
19406
  isTimeSlot && !slotQuery.isLoading && tickets.length === 0 && slotDate ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MutedText, { children: "No sessions available on this date." }) : null,
19324
19407
  isTimeSlot ? timeGroups.map((g) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react44.Fragment, { children: [
19325
- g.time ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.slotTime, children: g.time }) : null,
19408
+ g.time ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.slotTime, children: g.time }) : null,
19326
19409
  g.items.map(renderRow)
19327
19410
  ] }, g.time)) : tickets.map(renderRow),
19328
- showCodeInput ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.View, { style: s4.promo, children: !isAccess && !promoOpen ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Pressable, { accessibilityRole: "button", onPress: () => setPromoOpen(true), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s4.promoToggle, children: "Got a promo code? Tap here" }) }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
19411
+ showCodeInput ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.View, { style: s5.promo, children: !isAccess && !promoOpen ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Pressable, { accessibilityRole: "button", onPress: () => setPromoOpen(true), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.promoToggle, children: "Got a promo code? Tap here" }) }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
19329
19412
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Field, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
19330
19413
  Input,
19331
19414
  {
@@ -19890,7 +19973,7 @@ var AddOns = ({
19890
19973
  var _a, _b;
19891
19974
  const checkout = useCheckoutContext();
19892
19975
  const theme = useTheme();
19893
- const s4 = useAddonStyles(theme);
19976
+ const s5 = useAddonStyles(theme);
19894
19977
  const {
19895
19978
  query: addonsQuery,
19896
19979
  addons,
@@ -19906,15 +19989,15 @@ var AddOns = ({
19906
19989
  save,
19907
19990
  skip
19908
19991
  } = hooks_exports.useAddOnSelection(eventId, checkout, { onContinue, onSkip });
19909
- const head = /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s4.head, children: [
19910
- eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s4.eyebrow, children: eyebrow }) : null,
19911
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s4.heading, children: heading }),
19912
- onSkip && !hasRequired ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Pressable, { accessibilityRole: "button", onPress: skip, style: s4.skipBtn, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s4.skip, children: "Skip" }) }) : null
19992
+ const head = /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s5.head, children: [
19993
+ eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.eyebrow, children: eyebrow }) : null,
19994
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.heading, children: heading }),
19995
+ onSkip && !hasRequired ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Pressable, { accessibilityRole: "button", onPress: skip, style: s5.skipBtn, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.skip, children: "Skip" }) }) : null
19913
19996
  ] });
19914
19997
  if (addonsQuery.isLoading) {
19915
19998
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Card, { children: [
19916
19999
  head,
19917
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.View, { style: s4.sectionLoader, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Loader, {}) })
20000
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.View, { style: s5.sectionLoader, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Loader, {}) })
19918
20001
  ] });
19919
20002
  }
19920
20003
  if (addonsQuery.isError)
@@ -19937,30 +20020,30 @@ var AddOns = ({
19937
20020
  const selectedCount = Object.values(qty).filter((n) => n > 0).length;
19938
20021
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(FrozenFields, { frozen: checkout.orderFixed, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Card, { children: [
19939
20022
  head,
19940
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s4.subtitle, children: "PLEASE SELECT FROM THE OPTIONAL ADD-ONS BELOW" }),
20023
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.subtitle, children: "PLEASE SELECT FROM THE OPTIONAL ADD-ONS BELOW" }),
19941
20024
  groups.map((g, gi) => {
19942
20025
  var _a2;
19943
20026
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react47.Fragment, { children: [
19944
- g.heading ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s4.group, children: g.heading }) : null,
20027
+ g.heading ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.group, children: g.heading }) : null,
19945
20028
  g.items.map((a) => {
19946
20029
  var _a3, _b2;
19947
20030
  const n = (_a3 = qty[a.id]) != null ? _a3 : 0;
19948
20031
  const group = fieldGroups[a.id];
19949
20032
  const desc = a.description ? htmlToPlainText(a.description) : "";
19950
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s4.item, children: [
19951
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s4.row, children: [
19952
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s4.info, children: [
19953
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.Text, { style: s4.name, children: [
20033
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s5.item, children: [
20034
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s5.row, children: [
20035
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s5.info, children: [
20036
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.Text, { style: s5.name, children: [
19954
20037
  a.name,
19955
- a.required ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s4.req, children: " \xB7 required" }) : null
20038
+ a.required ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.req, children: " \xB7 required" }) : null
19956
20039
  ] }),
19957
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.Text, { style: s4.price, children: [
20040
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.Text, { style: s5.price, children: [
19958
20041
  money2(a.currency, a.price),
19959
- a.feeIncluded ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s4.priceNote, children: " incl. fees" }) : null
20042
+ a.feeIncluded ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.priceNote, children: " incl. fees" }) : null
19960
20043
  ] }),
19961
- desc ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s4.desc, children: desc }) : null
20044
+ desc ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.desc, children: desc }) : null
19962
20045
  ] }),
19963
- soldOut(a) ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s4.soldOut, children: "Sold out" }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
20046
+ soldOut(a) ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.soldOut, children: "Sold out" }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
19964
20047
  QuantitySelect,
19965
20048
  {
19966
20049
  value: n,
@@ -19970,7 +20053,7 @@ var AddOns = ({
19970
20053
  }
19971
20054
  )
19972
20055
  ] }),
19973
- n > 0 && group ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.View, { style: s4.fields, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
20056
+ n > 0 && group ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.View, { style: s5.fields, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
19974
20057
  CustomFieldGroupFields,
19975
20058
  {
19976
20059
  group,
@@ -20104,7 +20187,7 @@ var Bundles = ({
20104
20187
  var _a, _b, _c, _d, _e, _f, _g;
20105
20188
  const checkout = useCheckoutContext();
20106
20189
  const theme = useTheme();
20107
- const s4 = useBundleStyles(theme);
20190
+ const s5 = useBundleStyles(theme);
20108
20191
  const t = translate2 != null ? translate2 : createTranslator({ locale, messages });
20109
20192
  const flow = hooks_exports.useBundleFlow(rnConfirmer, eventId, {
20110
20193
  claimCard: claimCardField,
@@ -20120,7 +20203,7 @@ var Bundles = ({
20120
20203
  onPurchased
20121
20204
  });
20122
20205
  if (flow.view === "loading") {
20123
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.View, { style: s4.loader, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Loader, {}) }) });
20206
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.View, { style: s5.loader, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Loader, {}) }) });
20124
20207
  }
20125
20208
  if (flow.view === "catalogError") {
20126
20209
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Card, { children: [
@@ -20138,11 +20221,11 @@ var Bundles = ({
20138
20221
  ] });
20139
20222
  }
20140
20223
  if (flow.view === "hidden") return null;
20141
- const title = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.heading, children: heading != null ? heading : t("bundles.heading") });
20224
+ const title = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.heading, children: heading != null ? heading : t("bundles.heading") });
20142
20225
  if (flow.view === "redirecting") {
20143
20226
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Card, { children: [
20144
20227
  title,
20145
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t("bundles.redirecting") }),
20228
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("bundles.redirecting") }),
20146
20229
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Loader, {})
20147
20230
  ] });
20148
20231
  }
@@ -20150,10 +20233,10 @@ var Bundles = ({
20150
20233
  const { result: result2 } = flow;
20151
20234
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Card, { children: [
20152
20235
  title,
20153
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.strong, children: t("bundles.done.title") }),
20154
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, children: result2.pending ? t("bundles.done.pending") : result2.email ? t("bundles.done.email", { email: result2.email }) : t("bundles.done.emailUnknown") }),
20155
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, children: t("bundles.done.order", { orderHash: result2.orderHash }) }),
20156
- flow.gatewayWait ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t(flow.gatewayWait) }) : null,
20236
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.strong, children: t("bundles.done.title") }),
20237
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: result2.pending ? t("bundles.done.pending") : result2.email ? t("bundles.done.email", { email: result2.email }) : t("bundles.done.emailUnknown") }),
20238
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.done.order", { orderHash: result2.orderHash }) }),
20239
+ flow.gatewayWait ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t(flow.gatewayWait) }) : null,
20157
20240
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
20158
20241
  Button,
20159
20242
  {
@@ -20170,8 +20253,8 @@ var Bundles = ({
20170
20253
  const amount = money3(flow.payAmount.currency || flow.currency, flow.payAmount.amount);
20171
20254
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Card, { children: [
20172
20255
  title,
20173
- flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t(flow.notice.key, flow.notice.values) }) : null,
20174
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.strong, children: t("bundles.buyerHeading") }),
20256
+ flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t(flow.notice.key, flow.notice.values) }) : null,
20257
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.strong, children: t("bundles.buyerHeading") }),
20175
20258
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Field, { label: t("bundles.firstName"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
20176
20259
  Input,
20177
20260
  {
@@ -20201,8 +20284,8 @@ var Bundles = ({
20201
20284
  }
20202
20285
  ) }),
20203
20286
  flow.slots.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
20204
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.strong, children: t("bundles.holdersHeading") }),
20205
- !flow.namesRequired ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, children: t("bundles.holdersOptional") }) : null,
20287
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.strong, children: t("bundles.holdersHeading") }),
20288
+ !flow.namesRequired ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.holdersOptional") }) : null,
20206
20289
  flow.slots.map((slot) => {
20207
20290
  var _a2, _b2;
20208
20291
  const value6 = flow.holderValue(slot);
@@ -20233,17 +20316,17 @@ var Bundles = ({
20233
20316
  })
20234
20317
  ] }) : null,
20235
20318
  flow.problems.map((key4) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ErrorText, { children: t(key4) }, key4)),
20236
- flow.awaitingCard ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style: s4.card, children: [
20237
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.strong, children: t("bundles.cardHeading") }),
20319
+ flow.awaitingCard ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style: s5.card, children: [
20320
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.strong, children: t("bundles.cardHeading") }),
20238
20321
  flow.cardElsewhere ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
20239
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, children: t("bundles.payingElsewhere") }),
20322
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.payingElsewhere") }),
20240
20323
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Button, { variant: "ghost", onPress: flow.payHere, children: t("bundles.payHere") })
20241
20324
  ] }) : flow.cardFailed ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Button, { variant: "ghost", onPress: flow.retryCard, children: t("bundles.retryCard") }) : flow.cardReady && visible ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(CardInput, { owner: flow.cardOwner, visible }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Loader, {})
20242
20325
  ] }) : null,
20243
- flow.stillSaving ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t("common.stillSaving") }) : null,
20244
- flow.checkingAttempt ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t("bundles.checkingAttempt") }) : null,
20245
- flow.waitingForTickets ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t("bundles.waitTickets") }) : null,
20246
- flow.waitingForBundle ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t((_g = flow.gatewayWait) != null ? _g : "bundles.waitOtherBundle") }) : null,
20326
+ flow.stillSaving ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("common.stillSaving") }) : null,
20327
+ flow.checkingAttempt ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("bundles.checkingAttempt") }) : null,
20328
+ flow.waitingForTickets ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("bundles.waitTickets") }) : null,
20329
+ flow.waitingForBundle ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t((_g = flow.gatewayWait) != null ? _g : "bundles.waitOtherBundle") }) : null,
20247
20330
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
20248
20331
  Button,
20249
20332
  {
@@ -20278,13 +20361,13 @@ var Bundles = ({
20278
20361
  const ticketsInCart = checkout.selections.length > 0;
20279
20362
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Card, { children: [
20280
20363
  title,
20281
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, children: t("bundles.subtitle") }),
20282
- flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t(flow.notice.key, flow.notice.values) }) : null,
20364
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.subtitle") }),
20365
+ flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t(flow.notice.key, flow.notice.values) }) : null,
20283
20366
  flow.view === "heldOrder" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
20284
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t("bundles.heldOrder") }),
20367
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("bundles.heldOrder") }),
20285
20368
  flow.error ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ErrorText, { children: t(flow.error) }) : null,
20286
- flow.checkingAttempt ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t("bundles.checkingAttempt") }) : null,
20287
- flow.gatewayWait ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t(flow.gatewayWait) }) : null,
20369
+ flow.checkingAttempt ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("bundles.checkingAttempt") }) : null,
20370
+ flow.gatewayWait ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t(flow.gatewayWait) }) : null,
20288
20371
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
20289
20372
  Button,
20290
20373
  {
@@ -20309,18 +20392,18 @@ var Bundles = ({
20309
20392
  const stock = bundleAvailabilityCopy(bundle);
20310
20393
  const contents = bundleContentsLine(bundle);
20311
20394
  const desc = htmlToPlainText((_a2 = bundle.description) != null ? _a2 : "");
20312
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style: [s4.item, { borderTopColor: theme.border }], children: [
20313
- /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style: s4.info, children: [
20314
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.name, children: bundle.name }),
20315
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.price, children: money3(bundle.currency, bundle.price) }),
20316
- contents ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, children: t("bundles.includes", { contents }) }) : null,
20317
- bundle.bookingFee > 0 && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, children: t("bundles.bookingFee", {
20395
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style: [s5.item, { borderTopColor: theme.border }], children: [
20396
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style: s5.info, children: [
20397
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.name, children: bundle.name }),
20398
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.price, children: money3(bundle.currency, bundle.price) }),
20399
+ contents ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.includes", { contents }) }) : null,
20400
+ bundle.bookingFee > 0 && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.bookingFee", {
20318
20401
  amount: money3(bundle.currency, bundle.bookingFee)
20319
20402
  }) }),
20320
- desc ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, children: desc }) : null,
20321
- stock && stock.key !== "bundles.soldOut" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: [s4.muted, s4.stock], children: t(stock.key, stock.values) }) : null
20403
+ desc ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: desc }) : null,
20404
+ stock && stock.key !== "bundles.soldOut" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: [s5.muted, s5.stock], children: t(stock.key, stock.values) }) : null
20322
20405
  ] }),
20323
- range.max === 0 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.soldOut, children: t("bundles.soldOut") }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
20406
+ range.max === 0 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.soldOut, children: t("bundles.soldOut") }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
20324
20407
  QuantitySelect,
20325
20408
  {
20326
20409
  label: t("bundles.quantity", { name: bundle.name }),
@@ -20332,8 +20415,8 @@ var Bundles = ({
20332
20415
  )
20333
20416
  ] }, bundle.id);
20334
20417
  }),
20335
- anySelected ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.strong, children: t("bundles.total", { amount: money3(flow.currency, flow.total) }) }) : null,
20336
- anySelected && ticketsInCart ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s4.muted, children: t("bundles.boughtSeparately") }) : null,
20418
+ anySelected ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.strong, children: t("bundles.total", { amount: money3(flow.currency, flow.total) }) }) : null,
20419
+ anySelected && ticketsInCart ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.boughtSeparately") }) : null,
20337
20420
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Button, { onPress: flow.continueToDetails, disabled: !anySelected, children: t("bundles.continue") })
20338
20421
  ] });
20339
20422
  };
@@ -20875,7 +20958,7 @@ var BillingInfo = ({
20875
20958
  const checkout = useCheckoutContext();
20876
20959
  const validation = useCheckoutValidation();
20877
20960
  const theme = useTheme();
20878
- const s4 = useStyles4(theme);
20961
+ const s5 = useStyles4(theme);
20879
20962
  const profile = hooks_exports.useCheckoutBuyerProfile(eventId);
20880
20963
  const event = hooks_exports.useEvent(eventId);
20881
20964
  const combined = !onContinue;
@@ -21147,9 +21230,9 @@ var BillingInfo = ({
21147
21230
  return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(FrozenFields, { frozen: checkout.orderFixed, children: [
21148
21231
  /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(Card, { children: [
21149
21232
  /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(SectionHeader, { title: heading }),
21150
- onLogin && !checkout.isLoggedIn ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s4.loginRow, children: [
21151
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s4.note, children: "Login & skip ahead:" }),
21152
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Pressable, { onPress: () => onLogin(), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s4.link, children: "Login" }) })
21233
+ onLogin && !checkout.isLoggedIn ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s5.loginRow, children: [
21234
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s5.note, children: "Login & skip ahead:" }),
21235
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Pressable, { onPress: () => onLogin(), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s5.link, children: "Login" }) })
21153
21236
  ] }) : null,
21154
21237
  gates.phoneFirstCheckout && !checkout.isLoggedIn ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
21155
21238
  BillingPhoneIdentity,
@@ -21160,8 +21243,8 @@ var BillingInfo = ({
21160
21243
  whatsappAvailable: Boolean(gates.phoneFirstWhatsapp)
21161
21244
  }
21162
21245
  ) : null,
21163
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s4.row, children: [
21164
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s4.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Field, { error: fieldError("First name", "First name is required."), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
21246
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s5.row, children: [
21247
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s5.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Field, { error: fieldError("First name", "First name is required."), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
21165
21248
  Input,
21166
21249
  {
21167
21250
  placeholder: "First name *",
@@ -21171,7 +21254,7 @@ var BillingInfo = ({
21171
21254
  invalid: Boolean(fieldError("First name"))
21172
21255
  }
21173
21256
  ) }) }),
21174
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s4.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Field, { error: fieldError("Last name", "Last name is required."), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
21257
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s5.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Field, { error: fieldError("Last name", "Last name is required."), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
21175
21258
  Input,
21176
21259
  {
21177
21260
  placeholder: "Last name *",
@@ -21182,8 +21265,8 @@ var BillingInfo = ({
21182
21265
  }
21183
21266
  ) }) })
21184
21267
  ] }),
21185
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s4.row, children: [
21186
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s4.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
21268
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s5.row, children: [
21269
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s5.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
21187
21270
  Field,
21188
21271
  {
21189
21272
  error: fieldError("Valid email address", "Enter a valid email address."),
@@ -21200,7 +21283,7 @@ var BillingInfo = ({
21200
21283
  )
21201
21284
  }
21202
21285
  ) }),
21203
- requireEmailConfirmation && !checkout.isLoggedIn ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s4.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
21286
+ requireEmailConfirmation && !checkout.isLoggedIn ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s5.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
21204
21287
  Field,
21205
21288
  {
21206
21289
  error: fieldError(
@@ -21222,10 +21305,10 @@ var BillingInfo = ({
21222
21305
  ) }) : null
21223
21306
  ] }),
21224
21307
  !showValidation && requireEmailConfirmation && billing.confirmEmail && billing.confirmEmail.trim().toLowerCase() !== billing.email.trim().toLowerCase() ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ErrorText, { children: "The email addresses do not match." }) : null,
21225
- emailTaken ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.Text, { style: s4.note, children: [
21308
+ emailTaken ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.Text, { style: s5.note, children: [
21226
21309
  "This email is already registered.",
21227
21310
  " ",
21228
- onLogin ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s4.link, onPress: () => onLogin(billing.email), children: "Log in to autofill your details" }) : "Log in to autofill your details."
21311
+ onLogin ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s5.link, onPress: () => onLogin(billing.email), children: "Log in to autofill your details" }) : "Log in to autofill your details."
21229
21312
  ] }) : null,
21230
21313
  checkout.buyerFields.map((f) => {
21231
21314
  var _a2;
@@ -21289,7 +21372,7 @@ var BillingInfo = ({
21289
21372
  }
21290
21373
  ) : null,
21291
21374
  orderGroups.map((g) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react51.Fragment, { children: [
21292
- g.label ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s4.sectionLabel, children: g.label }) : null,
21375
+ g.label ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s5.sectionLabel, children: g.label }) : null,
21293
21376
  renderGroupFields(
21294
21377
  g,
21295
21378
  dataCapture,
@@ -21304,21 +21387,21 @@ var BillingInfo = ({
21304
21387
  label: brandOptInLabel
21305
21388
  }
21306
21389
  ) : null,
21307
- privacyPolicy ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s4.consent, children: [
21390
+ privacyPolicy ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s5.consent, children: [
21308
21391
  /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
21309
21392
  Checkbox,
21310
21393
  {
21311
21394
  checked: consent.ttfOptIn,
21312
21395
  onChange: (ttfOptIn) => setConsent((c) => ({ ...c, ttfOptIn })),
21313
21396
  invalid: privacyInvalid,
21314
- label: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.Text, { style: s4.consentLabel, children: [
21397
+ label: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.Text, { style: s5.consentLabel, children: [
21315
21398
  "I have read and agree to ",
21316
21399
  privacyPolicy.brandName,
21317
21400
  " ",
21318
21401
  /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
21319
21402
  import_react_native22.Text,
21320
21403
  {
21321
- style: s4.link,
21404
+ style: s5.link,
21322
21405
  onPress: () => import_react_native22.Linking.openURL(privacyPolicy.url).catch(() => void 0),
21323
21406
  children: privacyPolicy.linkLabel || "Privacy Policy."
21324
21407
  }
@@ -21803,7 +21886,7 @@ var Payment = ({
21803
21886
  selected,
21804
21887
  onSelect: setSelected,
21805
21888
  extraValues: extras,
21806
- onExtraChange: (v, patch2) => setExtras((s4) => ({ ...s4, [v]: { ...s4[v], ...patch2 } })),
21889
+ onExtraChange: (v, patch2) => setExtras((s5) => ({ ...s5, [v]: { ...s5[v], ...patch2 } })),
21807
21890
  showValidation: validation.attempt > 0,
21808
21891
  inputSlotFor: isPlanSelected ? reuseSavedCard ? void 0 : "paymentPlan" : cardValue,
21809
21892
  children: paymentInput
@@ -22032,7 +22115,7 @@ var WaiverSigning = ({
22032
22115
  const checkout = useCheckoutContext();
22033
22116
  const locked = Boolean(checkout.orderFixed);
22034
22117
  const theme = useTheme();
22035
- const s4 = useWaiverStyles(theme);
22118
+ const s5 = useWaiverStyles(theme);
22036
22119
  const t = translate2 != null ? translate2 : createTranslator({ locale, messages });
22037
22120
  const waiver = checkout.waiver;
22038
22121
  const signing = hooks_exports.useWaiverSigning(
@@ -22066,16 +22149,16 @@ var WaiverSigning = ({
22066
22149
  if (!waiverSignableAtCheckout(waiver)) {
22067
22150
  return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Card, { children: [
22068
22151
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SectionHeader, { title: waiver.title || t("waivers.heading") }),
22069
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s4.muted, children: t("waivers.signLater") })
22152
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.muted, children: t("waivers.signLater") })
22070
22153
  ] });
22071
22154
  }
22072
22155
  const signatures = (_b = checkout.waiverSignatures) != null ? _b : {};
22073
22156
  return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Card, { children: [
22074
22157
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SectionHeader, { title: waiver.title || t("waivers.heading") }),
22075
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s4.muted, children: t(
22158
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.muted, children: t(
22076
22159
  waiver.checkoutMode === "required" ? "waivers.intro.required" : "waivers.intro.optional"
22077
22160
  ) }),
22078
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.ScrollView, { style: [s4.textBox, { borderColor: theme.border }], nestedScrollEnabled: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s4.body, children: htmlToPlainText(waiver.bodyHtml) }) }),
22161
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.ScrollView, { style: [s5.textBox, { borderColor: theme.border }], nestedScrollEnabled: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.body, children: htmlToPlainText(waiver.bodyHtml) }) }),
22079
22162
  tickets.map((ticket) => {
22080
22163
  const signed = signatures[ticket.index];
22081
22164
  const formKey = waiverTicketFormKey(checkout.eventId, waiver, ticket);
@@ -22088,10 +22171,10 @@ var WaiverSigning = ({
22088
22171
  number: ticket.ticketNumber,
22089
22172
  name: ticket.holderName
22090
22173
  }) : t("waivers.ticket", { number: ticket.ticketNumber });
22091
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style: [s4.ticket, { borderTopColor: theme.border }], children: [
22092
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s4.strong, children: label }),
22093
- signed ? /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style: s4.row, children: [
22094
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s4.body, children: t(
22174
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style: [s5.ticket, { borderTopColor: theme.border }], children: [
22175
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.strong, children: label }),
22176
+ signed ? /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style: s5.row, children: [
22177
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.body, children: t(
22095
22178
  !forHolder ? "waivers.signedForSomeoneElse" : signed.signerRole === "guardian" ? "waivers.signedByGuardian" : "waivers.signedBy",
22096
22179
  { name: signed.signerName }
22097
22180
  ) }),
@@ -22135,7 +22218,7 @@ var WaiverSigning = ({
22135
22218
  var TicketForm = ({ ticket, consentText, t, methods, busy, locked = false, error, onSign }) => {
22136
22219
  var _a, _b, _c, _d;
22137
22220
  const theme = useTheme();
22138
- const s4 = useWaiverStyles(theme);
22221
+ const s5 = useWaiverStyles(theme);
22139
22222
  const [heldDraft, setDraft] = (0, import_react54.useState)(
22140
22223
  () => emptyWaiverDraft(
22141
22224
  { firstName: ticket.holderFirstName, lastName: ticket.holderLastName },
@@ -22152,8 +22235,8 @@ var TicketForm = ({ ticket, consentText, t, methods, busy, locked = false, error
22152
22235
  if (!frozen) setDraft((d) => ({ ...d, ...next }));
22153
22236
  };
22154
22237
  const guardian = draft.signerRole === "guardian";
22155
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style: s4.form, children: [
22156
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s4.strong, children: t("waivers.role.label") }),
22238
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style: s5.form, children: [
22239
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.strong, children: t("waivers.role.label") }),
22157
22240
  ["holder", "guardian"].map((role) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
22158
22241
  import_react_native27.Pressable,
22159
22242
  {
@@ -22169,19 +22252,19 @@ var TicketForm = ({ ticket, consentText, t, methods, busy, locked = false, error
22169
22252
  } : { signerRole: role }
22170
22253
  );
22171
22254
  },
22172
- style: s4.choice,
22255
+ style: s5.choice,
22173
22256
  children: [
22174
22257
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
22175
22258
  import_react_native27.View,
22176
22259
  {
22177
22260
  style: [
22178
- s4.radio,
22261
+ s5.radio,
22179
22262
  { borderColor: theme.accent },
22180
22263
  draft.signerRole === role && { backgroundColor: theme.accent }
22181
22264
  ]
22182
22265
  }
22183
22266
  ),
22184
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s4.body, children: t(`waivers.role.${role}`) })
22267
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.body, children: t(`waivers.role.${role}`) })
22185
22268
  ]
22186
22269
  },
22187
22270
  role
@@ -22241,19 +22324,19 @@ var TicketForm = ({ ticket, consentText, t, methods, busy, locked = false, error
22241
22324
  accessibilityState: { selected: draft.method === method },
22242
22325
  disabled: frozen,
22243
22326
  onPress: () => setDraft((d) => withSignatureMethod(d, method)),
22244
- style: s4.choice,
22327
+ style: s5.choice,
22245
22328
  children: [
22246
22329
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
22247
22330
  import_react_native27.View,
22248
22331
  {
22249
22332
  style: [
22250
- s4.radio,
22333
+ s5.radio,
22251
22334
  { borderColor: theme.accent },
22252
22335
  draft.method === method && { backgroundColor: theme.accent }
22253
22336
  ]
22254
22337
  }
22255
22338
  ),
22256
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s4.body, children: t(`waivers.method.${method}`) })
22339
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.body, children: t(`waivers.method.${method}`) })
22257
22340
  ]
22258
22341
  },
22259
22342
  method
@@ -22285,7 +22368,7 @@ var TicketForm = ({ ticket, consentText, t, methods, busy, locked = false, error
22285
22368
  ),
22286
22369
  problems.map((key4) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ErrorText, { children: t(key4) }, key4)),
22287
22370
  error ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ErrorText, { children: error }) : null,
22288
- busy && !pressed ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t("common.stillSaving") }) : null,
22371
+ busy && !pressed ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("common.stillSaving") }) : null,
22289
22372
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
22290
22373
  Button,
22291
22374
  {
@@ -22870,17 +22953,17 @@ var TicketChange = ({
22870
22953
  }) => {
22871
22954
  var _a;
22872
22955
  const theme = useTheme();
22873
- const s4 = useChangeStyles(theme);
22956
+ const s5 = useChangeStyles(theme);
22874
22957
  const t = translate2 != null ? translate2 : createTranslator({ locale, messages });
22875
22958
  const open = openUrl != null ? openUrl : rnPorts.openUrl;
22876
22959
  const flow = hooks_exports.useTicketChange({ ticketHash, orderHash }, open);
22877
22960
  const options = flow.query.data;
22878
22961
  const signInLine = flow.signInRequired ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.View, { children: [
22879
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t("ticketChange.signInRequired") }),
22962
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("ticketChange.signInRequired") }),
22880
22963
  onLogin ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Button, { onPress: () => flow.signIn(onLogin), children: t("ticketChange.signIn") }) : null
22881
22964
  ] }) : null;
22882
22965
  const label = (option) => option.eventName ? t("ticketChange.otherEvent", { name: option.name, event: option.eventName }) : option.name;
22883
- const savingLine = flow.saving && flow.step !== "submitting" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t("common.stillSaving") }) : null;
22966
+ const savingLine = flow.saving && flow.step !== "submitting" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("common.stillSaving") }) : null;
22884
22967
  const refreshLine = flow.refreshFailed ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.View, { children: [
22885
22968
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: t("ticketChange.refreshFailed") }),
22886
22969
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
@@ -22901,7 +22984,7 @@ var TicketChange = ({
22901
22984
  if (flow.paymentInProgress) {
22902
22985
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
22903
22986
  header,
22904
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, accessibilityLiveRegion: "polite", children: t("ticketChange.paymentInProgress") }),
22987
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("ticketChange.paymentInProgress") }),
22905
22988
  flow.canContinuePayment ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Button, { onPress: flow.continuePayment, children: t("ticketChange.continuePayment") }) : null,
22906
22989
  flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: t(flow.notice) }) : null,
22907
22990
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Button, { variant: "ghost", onPress: flow.startAgain, children: t("ticketChange.startAgain") })
@@ -22910,7 +22993,7 @@ var TicketChange = ({
22910
22993
  if (flow.query.isLoading) {
22911
22994
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
22912
22995
  header,
22913
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.View, { style: s4.loader, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loader, {}) })
22996
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.View, { style: s5.loader, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loader, {}) })
22914
22997
  ] });
22915
22998
  }
22916
22999
  if (!options) {
@@ -22924,8 +23007,8 @@ var TicketChange = ({
22924
23007
  const priceText = flow.result && "priceText" in flow.result ? flow.result.priceText : "";
22925
23008
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
22926
23009
  header,
22927
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.strong, children: "text" in done ? done.text : t(done.key, done.values) }),
22928
- priceText ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.strong, children: priceText }) : null,
23010
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.strong, children: "text" in done ? done.text : t(done.key, done.values) }),
23011
+ priceText ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.strong, children: priceText }) : null,
22929
23012
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
22930
23013
  Button,
22931
23014
  {
@@ -22938,7 +23021,7 @@ var TicketChange = ({
22938
23021
  if (flow.step === "payment" && ((_a = flow.result) == null ? void 0 : _a.status) === "payment_required") {
22939
23022
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
22940
23023
  header,
22941
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, children: t("ticketChange.payment") }),
23024
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t("ticketChange.payment") }),
22942
23025
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Button, { disabled: !flow.can.pay, onPress: flow.openPayment, children: t("ticketChange.paymentOpen") }),
22943
23026
  flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: t(flow.notice) }) : null,
22944
23027
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
@@ -22958,12 +23041,12 @@ var TicketChange = ({
22958
23041
  const submitting = flow.step === "submitting";
22959
23042
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
22960
23043
  header,
22961
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.strong, children: t("ticketChange.confirmTitle", { name: label(option) }) }),
22962
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.price, children: option.priceText }),
23044
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.strong, children: t("ticketChange.confirmTitle", { name: label(option) }) }),
23045
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.price, children: option.priceText }),
22963
23046
  (() => {
22964
23047
  const charge = ticketChangeCharge(option);
22965
23048
  if (!charge || option.fee <= 0) return null;
22966
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.Text, { style: s4.muted, children: [
23049
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.Text, { style: s5.muted, children: [
22967
23050
  t("ticketChange.fee", {
22968
23051
  amount: `${option.currency} ${option.fee.toFixed(2)}`
22969
23052
  }),
@@ -22974,10 +23057,10 @@ var TicketChange = ({
22974
23057
  ] });
22975
23058
  })(),
22976
23059
  flow.error ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: flow.error }) : null,
22977
- flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, children: t(flow.notice) }) : null,
23060
+ flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t(flow.notice) }) : null,
22978
23061
  signInLine,
22979
- flow.alternatives.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.View, { style: s4.slots, children: [
22980
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, children: t("ticketChange.slotFull") }),
23062
+ flow.alternatives.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.View, { style: s5.slots, children: [
23063
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t("ticketChange.slotFull") }),
22981
23064
  flow.alternatives.map((slot) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
22982
23065
  Button,
22983
23066
  {
@@ -23004,7 +23087,7 @@ var TicketChange = ({
23004
23087
  if (ticketChangeView(options) === "choose") {
23005
23088
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
23006
23089
  header,
23007
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, children: t("ticketChange.choose") }),
23090
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t("ticketChange.choose") }),
23008
23091
  options.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
23009
23092
  import_react_native33.Pressable,
23010
23093
  {
@@ -23013,31 +23096,31 @@ var TicketChange = ({
23013
23096
  disabled: !flow.can.select,
23014
23097
  onPress: () => flow.select(option),
23015
23098
  style: [
23016
- s4.option,
23099
+ s5.option,
23017
23100
  { borderColor: theme.border },
23018
- !flow.can.select && s4.optionDisabled
23101
+ !flow.can.select && s5.optionDisabled
23019
23102
  ],
23020
23103
  children: [
23021
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.strong, children: label(option) }),
23022
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.price, children: option.priceText })
23104
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.strong, children: label(option) }),
23105
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.price, children: option.priceText })
23023
23106
  ]
23024
23107
  },
23025
23108
  option.ticketTypeId
23026
23109
  )),
23027
23110
  flow.error ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: flow.error }) : null,
23028
- flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, children: t(flow.notice) }) : null,
23111
+ flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t(flow.notice) }) : null,
23029
23112
  signInLine
23030
23113
  ] });
23031
23114
  }
23032
23115
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
23033
23116
  header,
23034
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, children: options.message || t("ticketChange.closed") }),
23117
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: options.message || t("ticketChange.closed") }),
23035
23118
  options.sellInstead.available ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
23036
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, children: t("ticketChange.sellInsteadNote") }),
23119
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t("ticketChange.sellInsteadNote") }),
23037
23120
  /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Button, { disabled: !flow.can.sellInstead, onPress: flow.sellInstead, children: t("ticketChange.sellInstead") })
23038
23121
  ] }) : null,
23039
- options.waitlistOptions.map((wait) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.View, { style: s4.waitlist, children: wait.entry ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
23040
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, children: t(
23122
+ options.waitlistOptions.map((wait) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.View, { style: s5.waitlist, children: wait.entry ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
23123
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t(
23041
23124
  wait.entry.status === "offered" ? "ticketChange.waitlist.offered" : "ticketChange.waitlist.waiting",
23042
23125
  { name: wait.name }
23043
23126
  ) }),
@@ -23062,7 +23145,7 @@ var TicketChange = ({
23062
23145
  }
23063
23146
  ) }, wait.ticketTypeId)),
23064
23147
  flow.error ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: flow.error }) : null,
23065
- flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s4.muted, children: t(flow.notice) }) : null
23148
+ flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t(flow.notice) }) : null
23066
23149
  ] });
23067
23150
  };
23068
23151
  var useChangeStyles = (theme) => (0, import_react60.useMemo)(
@@ -23213,6 +23296,12 @@ var LoadedImage = ({
23213
23296
  import_react_native35.Image,
23214
23297
  {
23215
23298
  source: { uri: image.data },
23299
+ accessible: full,
23300
+ accessibilityLabel: full ? t("Image {{number}} of {{total}}", {
23301
+ number: index + 1,
23302
+ total: comment.images.length
23303
+ }) : void 0,
23304
+ accessibilityLiveRegion: full ? "polite" : void 0,
23216
23305
  style: s.image,
23217
23306
  resizeMode: full ? "contain" : "cover"
23218
23307
  }
@@ -23223,7 +23312,8 @@ var CommentImages = ({
23223
23312
  comment,
23224
23313
  previewKey,
23225
23314
  onPreviewChange,
23226
- locale
23315
+ locale,
23316
+ renderCloseIcon
23227
23317
  }) => {
23228
23318
  const t = useAccountT(locale);
23229
23319
  const theme = useTheme();
@@ -23280,22 +23370,24 @@ var CommentImages = ({
23280
23370
  animationType: "fade",
23281
23371
  onRequestClose: () => setSelected(null),
23282
23372
  children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_react_native35.View, { style: s.preview, children: [
23283
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_react_native35.View, { style: s.toolbar, children: [
23284
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native35.Text, { accessibilityLiveRegion: "polite", style: white, children: t("Image {{number}} of {{total}}", {
23285
- number: position + 1,
23286
- total: images.length
23287
- }) }),
23288
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
23289
- import_react_native35.Pressable,
23290
- {
23291
- accessibilityRole: "button",
23292
- accessibilityLabel: t("Close image"),
23293
- style: s.navButton,
23294
- onPress: () => setSelected(null),
23295
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native35.Text, { style: white, children: t("Close") })
23296
- }
23297
- )
23298
- ] }),
23373
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native35.View, { style: s.toolbar, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
23374
+ import_react_native35.Pressable,
23375
+ {
23376
+ accessibilityRole: "button",
23377
+ accessibilityLabel: t("Close image"),
23378
+ style: s.closeButton,
23379
+ onPress: () => setSelected(null),
23380
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
23381
+ import_react_native35.View,
23382
+ {
23383
+ pointerEvents: "none",
23384
+ accessible: false,
23385
+ importantForAccessibility: "no-hide-descendants",
23386
+ children: renderCloseIcon ? renderCloseIcon("#9F9CB0") : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native35.Text, { style: [white, s.closeGlyph], children: "\xD7" })
23387
+ }
23388
+ )
23389
+ }
23390
+ ) }),
23299
23391
  /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native35.View, { style: s.full, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
23300
23392
  LoadedImage,
23301
23393
  {
@@ -23439,11 +23531,19 @@ var s = import_react_native35.StyleSheet.create({
23439
23531
  preview: {
23440
23532
  flex: 1,
23441
23533
  backgroundColor: "rgba(11,10,21,0.96)",
23442
- paddingTop: 60,
23534
+ paddingTop: 53,
23443
23535
  paddingBottom: 40,
23444
23536
  paddingHorizontal: 16
23445
23537
  },
23446
- toolbar: { flexDirection: "row", justifyContent: "space-between", padding: 12 },
23538
+ toolbar: { flexDirection: "row", justifyContent: "flex-end" },
23539
+ closeButton: {
23540
+ width: 44,
23541
+ height: 44,
23542
+ marginRight: -10,
23543
+ alignItems: "center",
23544
+ justifyContent: "center"
23545
+ },
23546
+ closeGlyph: { fontSize: 28, lineHeight: 28, color: "#9F9CB0", textAlign: "center" },
23447
23547
  full: { flex: 1, width: "100%" },
23448
23548
  white: { color: "#EBEBEE", fontSize: 16 },
23449
23549
  navButton: {
@@ -23560,6 +23660,7 @@ var EventDiscussionBody = ({
23560
23660
  previewKey,
23561
23661
  locale,
23562
23662
  renderReplyIcon,
23663
+ renderImageCloseIcon,
23563
23664
  onModerationFilter,
23564
23665
  renderReactionIcon
23565
23666
  }) => {
@@ -23663,7 +23764,8 @@ var EventDiscussionBody = ({
23663
23764
  comment,
23664
23765
  previewKey,
23665
23766
  locale,
23666
- onPreviewChange: setImageOpen
23767
+ onPreviewChange: setImageOpen,
23768
+ renderCloseIcon: renderImageCloseIcon
23667
23769
  },
23668
23770
  `${comment.id}:${comment.revision}`
23669
23771
  ),
@@ -24584,14 +24686,206 @@ var styles13 = import_react_native42.StyleSheet.create({
24584
24686
  retry: { color: "#C4B5FF", textDecorationLine: "underline" }
24585
24687
  });
24586
24688
 
24587
- // src/auth/AuthModal.tsx
24588
- var import_react70 = require("react");
24589
- var import_react_native48 = require("react-native");
24590
-
24591
- // src/auth/ForgotPasswordForm.tsx
24689
+ // src/sections/Streaming.tsx
24592
24690
  var import_react65 = require("react");
24593
24691
  var import_react_native43 = require("react-native");
24594
24692
  var import_jsx_runtime45 = require("react/jsx-runtime");
24693
+ var Streaming = (props) => {
24694
+ const preferences = hooks_exports.useAccountPreferences();
24695
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(StreamingView, { ...props, preferences });
24696
+ };
24697
+ var StreamingView = ({
24698
+ preferences: flow,
24699
+ onOpenMusic,
24700
+ onSignIn,
24701
+ locale,
24702
+ translate: translate2,
24703
+ renderProviderIcon,
24704
+ showHeader = true,
24705
+ theme: override,
24706
+ style
24707
+ }) => {
24708
+ var _a, _b;
24709
+ const defaultT = useAccountT(locale);
24710
+ const t = translate2 != null ? translate2 : defaultT;
24711
+ const inherited = useTheme();
24712
+ const theme = (0, import_react65.useMemo)(
24713
+ () => override ? resolveTheme({ ...inherited, ...override }) : inherited,
24714
+ [inherited, override]
24715
+ );
24716
+ const session = hooks_exports.useAuthSession();
24717
+ const assertOwner = hooks_exports.useSessionAction();
24718
+ const pendingBrowser = (0, import_react65.useRef)({ scope: session.sessionScope, locked: false });
24719
+ const [stored, setStored] = (0, import_react65.useState)({
24720
+ scope: session.sessionScope,
24721
+ busy: false,
24722
+ error: ""
24723
+ });
24724
+ const local = stored.scope === session.sessionScope ? stored : { scope: session.sessionScope, busy: false, error: "" };
24725
+ const busy = flow.busy || local.busy;
24726
+ const text3 = { color: theme.text, fontFamily: theme.fontFamily };
24727
+ const muted = { color: theme.muted, fontFamily: theme.fontFamily };
24728
+ const connect = async (provider) => {
24729
+ try {
24730
+ assertOwner();
24731
+ } catch (e) {
24732
+ return;
24733
+ }
24734
+ if (pendingBrowser.current.scope === session.sessionScope && pendingBrowser.current.locked)
24735
+ return;
24736
+ pendingBrowser.current = { scope: session.sessionScope, locked: true };
24737
+ setStored({ scope: session.sessionScope, busy: true, error: "" });
24738
+ try {
24739
+ const link = await (provider === "spotify" ? flow.connectSpotify() : flow.connectAppleMusic());
24740
+ assertOwner();
24741
+ if (!link) return;
24742
+ await onOpenMusic(link.url, provider);
24743
+ assertOwner();
24744
+ await flow.query.refetch();
24745
+ assertOwner();
24746
+ } catch (e) {
24747
+ try {
24748
+ assertOwner();
24749
+ setStored({
24750
+ scope: session.sessionScope,
24751
+ busy: false,
24752
+ error: "Unable to open the connection page. Please try again."
24753
+ });
24754
+ } catch (e2) {
24755
+ }
24756
+ } finally {
24757
+ try {
24758
+ assertOwner();
24759
+ if (pendingBrowser.current.scope === session.sessionScope)
24760
+ pendingBrowser.current.locked = false;
24761
+ setStored((state) => ({ ...state, scope: session.sessionScope, busy: false }));
24762
+ } catch (e) {
24763
+ }
24764
+ }
24765
+ };
24766
+ const disconnect = (provider) => {
24767
+ try {
24768
+ assertOwner();
24769
+ } catch (e) {
24770
+ return;
24771
+ }
24772
+ import_react_native43.Alert.alert(
24773
+ t(provider === "spotify" ? "Disconnect Spotify?" : "Disconnect Apple Music?"),
24774
+ t(
24775
+ provider === "spotify" ? "Your imported Spotify data and approved names will be removed. Your saved interests stay." : "Your imported artists and genres will be removed. Your saved interests will stay."
24776
+ ),
24777
+ [
24778
+ { text: t("Cancel"), style: "cancel" },
24779
+ {
24780
+ text: t("Disconnect"),
24781
+ style: "destructive",
24782
+ onPress: () => {
24783
+ try {
24784
+ assertOwner();
24785
+ void (provider === "spotify" ? flow.disconnectSpotify() : flow.disconnectAppleMusic());
24786
+ } catch (e) {
24787
+ }
24788
+ }
24789
+ }
24790
+ ]
24791
+ );
24792
+ };
24793
+ const action = (label, provider, onPress, disabled = busy) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
24794
+ import_react_native43.Pressable,
24795
+ {
24796
+ accessibilityRole: "button",
24797
+ accessibilityLabel: provider ? t("{{action}} {{provider}}", { action: t(label), provider }) : t(label),
24798
+ accessibilityState: { disabled, busy },
24799
+ disabled,
24800
+ onPress,
24801
+ style: [s4.button, { borderColor: theme.accent }, disabled && s4.disabled],
24802
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [text3, { color: theme.accent, fontSize: theme.fontSize }], children: t(label) })
24803
+ }
24804
+ );
24805
+ const music = (_a = flow.query.data) == null ? void 0 : _a.music;
24806
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: [s4.container, style], children: [
24807
+ showHeader && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.title, text3], children: t("Streaming") }),
24808
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.intro, text3], children: t("Choose which artist and genre names to use for event suggestions.") }),
24809
+ flow.query.isPending && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
24810
+ import_react_native43.ActivityIndicator,
24811
+ {
24812
+ accessibilityLabel: t("Loading streaming connections\u2026"),
24813
+ color: theme.accent
24814
+ }
24815
+ ),
24816
+ music && [
24817
+ { key: "spotify", name: "Spotify", connection: music.spotify },
24818
+ { key: "appleMusic", name: "Apple Music", connection: music.appleMusic },
24819
+ {
24820
+ key: "youtubeMusic",
24821
+ name: "YouTube Music",
24822
+ connection: music.youtubeMusic
24823
+ }
24824
+ ].map(({ key: key4, name, connection }) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: [s4.provider, { borderBottomColor: theme.border }], children: [
24825
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: s4.identity, children: [
24826
+ renderProviderIcon == null ? void 0 : renderProviderIcon(key4),
24827
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: s4.names, children: [
24828
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.name, text3], children: name }),
24829
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.status, muted], children: connection.connected ? t("Connected") : connection.available ? t("Not connected") : t(connection.reason || "Not available yet") })
24830
+ ] })
24831
+ ] }),
24832
+ key4 !== "youtubeMusic" && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: s4.actions, children: [
24833
+ connection.available && action(
24834
+ connection.connected ? "Review choices" : "Connect",
24835
+ name,
24836
+ () => void connect(key4)
24837
+ ),
24838
+ connection.connected && action("Disconnect", name, () => disconnect(key4))
24839
+ ] }),
24840
+ connection.connected && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.approved, muted], children: connection.artists.length || connection.genres.length ? [...connection.artists, ...connection.genres].join(", ") : t("No artist or genre names approved yet.") })
24841
+ ] }, key4)),
24842
+ (local.error || flow.error || flow.query.error) && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { accessibilityRole: "alert", style: [s4.note, { color: theme.error }], children: t(local.error || flow.error || ((_b = flow.query.error) == null ? void 0 : _b.message) || "") }),
24843
+ flow.message && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { accessibilityLiveRegion: "polite", style: [s4.note, muted], children: t(flow.message) }),
24844
+ action("Refresh connections", "", () => void flow.query.refetch()),
24845
+ !music && onSignIn && action("Sign in", "", onSignIn),
24846
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.note, muted], children: t(
24847
+ "Only the artist and genre names you approve are used for these event suggestions."
24848
+ ) })
24849
+ ] });
24850
+ };
24851
+ var s4 = import_react_native43.StyleSheet.create({
24852
+ container: { width: "100%" },
24853
+ title: { fontSize: 20, fontWeight: "500", marginBottom: 16 },
24854
+ intro: { fontSize: 20, lineHeight: 28, marginVertical: 24 },
24855
+ provider: { borderBottomWidth: import_react_native43.StyleSheet.hairlineWidth, paddingVertical: 20, gap: 16 },
24856
+ identity: { flexDirection: "row", alignItems: "center", gap: 16 },
24857
+ names: { flex: 1 },
24858
+ name: { fontSize: 16, lineHeight: 24 },
24859
+ status: { fontSize: 14, lineHeight: 20, marginTop: 4 },
24860
+ actions: {
24861
+ flexDirection: "row",
24862
+ flexWrap: "wrap",
24863
+ justifyContent: "flex-end",
24864
+ gap: 10
24865
+ },
24866
+ button: {
24867
+ alignSelf: "flex-end",
24868
+ borderWidth: 1,
24869
+ borderRadius: 24,
24870
+ paddingVertical: 10,
24871
+ paddingHorizontal: 20,
24872
+ minHeight: 44,
24873
+ justifyContent: "center",
24874
+ marginTop: 4
24875
+ },
24876
+ disabled: { opacity: 0.5 },
24877
+ approved: { fontSize: 14, lineHeight: 20 },
24878
+ note: { fontSize: 14, lineHeight: 20, marginTop: 24 }
24879
+ });
24880
+
24881
+ // src/auth/AuthModal.tsx
24882
+ var import_react71 = require("react");
24883
+ var import_react_native49 = require("react-native");
24884
+
24885
+ // src/auth/ForgotPasswordForm.tsx
24886
+ var import_react66 = require("react");
24887
+ var import_react_native44 = require("react-native");
24888
+ var import_jsx_runtime46 = require("react/jsx-runtime");
24595
24889
  var ForgotPasswordForm = ({
24596
24890
  initialEmail = "",
24597
24891
  errors = {},
@@ -24603,21 +24897,21 @@ var ForgotPasswordForm = ({
24603
24897
  onFieldChange
24604
24898
  }) => {
24605
24899
  const theme = useTheme();
24606
- const [email, setEmail] = (0, import_react65.useState)(initialEmail);
24607
- (0, import_react65.useEffect)(() => {
24900
+ const [email, setEmail] = (0, import_react66.useState)(initialEmail);
24901
+ (0, import_react66.useEffect)(() => {
24608
24902
  if (initialEmail && !email) setEmail(initialEmail);
24609
24903
  }, [email, initialEmail]);
24610
24904
  const submit = () => void onSubmit(email);
24611
24905
  if (successMessage) {
24612
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: styles14.form, children: [
24613
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [styles14.success, { color: theme.success }], children: successMessage }),
24614
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Button, { onPress: () => onBackToLogin(email), children: "Back to log in" })
24906
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_react_native44.View, { style: styles14.form, children: [
24907
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [styles14.success, { color: theme.success }], children: successMessage }),
24908
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Button, { onPress: () => onBackToLogin(email), children: "Back to log in" })
24615
24909
  ] });
24616
24910
  }
24617
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: styles14.form, children: [
24618
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MutedText, { children: "Enter your email and we\u2019ll send you instructions to reset your password." }),
24619
- error ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ErrorText, { children: error }) : null,
24620
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Field, { label: "Email", required: true, error: errors.email, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
24911
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_react_native44.View, { style: styles14.form, children: [
24912
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(MutedText, { children: "Enter your email and we\u2019ll send you instructions to reset your password." }),
24913
+ error ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ErrorText, { children: error }) : null,
24914
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Field, { label: "Email", required: true, error: errors.email, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
24621
24915
  Input,
24622
24916
  {
24623
24917
  value: email,
@@ -24631,20 +24925,20 @@ var ForgotPasswordForm = ({
24631
24925
  invalid: Boolean(errors.email)
24632
24926
  }
24633
24927
  ) }),
24634
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Button, { onPress: submit, loading, children: "Send reset instructions" }),
24635
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
24636
- import_react_native43.Pressable,
24928
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Button, { onPress: submit, loading, children: "Send reset instructions" }),
24929
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
24930
+ import_react_native44.Pressable,
24637
24931
  {
24638
24932
  accessibilityRole: "button",
24639
24933
  onPress: () => onBackToLogin(email),
24640
24934
  hitSlop: 8,
24641
24935
  style: styles14.link,
24642
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [styles14.linkText, { color: theme.accent }], children: "Back to log in" })
24936
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [styles14.linkText, { color: theme.accent }], children: "Back to log in" })
24643
24937
  }
24644
24938
  )
24645
24939
  ] });
24646
24940
  };
24647
- var styles14 = import_react_native43.StyleSheet.create({
24941
+ var styles14 = import_react_native44.StyleSheet.create({
24648
24942
  form: { gap: 14 },
24649
24943
  success: { fontSize: 15, fontWeight: "600" },
24650
24944
  link: { alignItems: "center", paddingVertical: 4 },
@@ -24652,19 +24946,19 @@ var styles14 = import_react_native43.StyleSheet.create({
24652
24946
  });
24653
24947
 
24654
24948
  // src/auth/LoginForm.tsx
24655
- var import_react67 = require("react");
24656
- var import_react_native45 = require("react-native");
24949
+ var import_react68 = require("react");
24950
+ var import_react_native46 = require("react-native");
24657
24951
 
24658
24952
  // src/auth/PasswordInput.tsx
24659
- var import_react66 = require("react");
24660
- var import_react_native44 = require("react-native");
24661
- var import_jsx_runtime46 = require("react/jsx-runtime");
24953
+ var import_react67 = require("react");
24954
+ var import_react_native45 = require("react-native");
24955
+ var import_jsx_runtime47 = require("react/jsx-runtime");
24662
24956
  var PasswordInput = (props) => {
24663
- const [visible, setVisible] = (0, import_react66.useState)(false);
24664
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_react_native44.View, { style: styles15.wrap, children: [
24665
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Input, { ...props, autoCapitalize: "none", secureTextEntry: !visible }),
24666
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
24667
- import_react_native44.Pressable,
24957
+ const [visible, setVisible] = (0, import_react67.useState)(false);
24958
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_react_native45.View, { style: styles15.wrap, children: [
24959
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Input, { ...props, autoCapitalize: "none", secureTextEntry: !visible }),
24960
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
24961
+ import_react_native45.Pressable,
24668
24962
  {
24669
24963
  accessibilityRole: "button",
24670
24964
  accessibilityLabel: visible ? "Hide password" : "Show password",
@@ -24672,12 +24966,12 @@ var PasswordInput = (props) => {
24672
24966
  onPress: () => setVisible((current4) => !current4),
24673
24967
  hitSlop: 10,
24674
24968
  style: styles15.toggle,
24675
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: styles15.icon, children: visible ? "\u{1F648}" : "\u{1F441}" })
24969
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_native45.Text, { style: styles15.icon, children: visible ? "\u{1F648}" : "\u{1F441}" })
24676
24970
  }
24677
24971
  )
24678
24972
  ] });
24679
24973
  };
24680
- var styles15 = import_react_native44.StyleSheet.create({
24974
+ var styles15 = import_react_native45.StyleSheet.create({
24681
24975
  wrap: { position: "relative", justifyContent: "center" },
24682
24976
  toggle: {
24683
24977
  position: "absolute",
@@ -24690,7 +24984,7 @@ var styles15 = import_react_native44.StyleSheet.create({
24690
24984
  });
24691
24985
 
24692
24986
  // src/auth/LoginForm.tsx
24693
- var import_jsx_runtime47 = require("react/jsx-runtime");
24987
+ var import_jsx_runtime48 = require("react/jsx-runtime");
24694
24988
  var LoginForm = ({
24695
24989
  initialEmail = "",
24696
24990
  errors = {},
@@ -24702,15 +24996,15 @@ var LoginForm = ({
24702
24996
  onFieldChange
24703
24997
  }) => {
24704
24998
  const theme = useTheme();
24705
- const [email, setEmail] = (0, import_react67.useState)(initialEmail);
24706
- const [password, setPassword] = (0, import_react67.useState)("");
24707
- (0, import_react67.useEffect)(() => {
24999
+ const [email, setEmail] = (0, import_react68.useState)(initialEmail);
25000
+ const [password, setPassword] = (0, import_react68.useState)("");
25001
+ (0, import_react68.useEffect)(() => {
24708
25002
  if (initialEmail && !email) setEmail(initialEmail);
24709
25003
  }, [email, initialEmail]);
24710
25004
  const submit = () => void onSubmit({ email, password });
24711
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_react_native45.View, { style: styles16.form, children: [
24712
- error ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ErrorText, { children: error }) : null,
24713
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Field, { label: "Email", required: true, error: errors.email, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
25005
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_react_native46.View, { style: styles16.form, children: [
25006
+ error ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ErrorText, { children: error }) : null,
25007
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "Email", required: true, error: errors.email, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
24714
25008
  Input,
24715
25009
  {
24716
25010
  value: email,
@@ -24724,7 +25018,7 @@ var LoginForm = ({
24724
25018
  invalid: Boolean(errors.email)
24725
25019
  }
24726
25020
  ) }),
24727
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Field, { label: "Password", required: true, error: errors.password, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
25021
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "Password", required: true, error: errors.password, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
24728
25022
  PasswordInput,
24729
25023
  {
24730
25024
  value: password,
@@ -24736,29 +25030,29 @@ var LoginForm = ({
24736
25030
  invalid: Boolean(errors.password)
24737
25031
  }
24738
25032
  ) }),
24739
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Button, { onPress: submit, loading, children: "Login" }),
24740
- allowPasswordReset && onForgotPassword ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
24741
- import_react_native45.Pressable,
25033
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Button, { onPress: submit, loading, children: "Login" }),
25034
+ allowPasswordReset && onForgotPassword ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25035
+ import_react_native46.Pressable,
24742
25036
  {
24743
25037
  accessibilityRole: "button",
24744
25038
  onPress: () => onForgotPassword(email),
24745
25039
  hitSlop: 8,
24746
25040
  style: styles16.link,
24747
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_native45.Text, { style: [styles16.linkText, { color: theme.accent }], children: "Forgot password?" })
25041
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_native46.Text, { style: [styles16.linkText, { color: theme.accent }], children: "Forgot password?" })
24748
25042
  }
24749
25043
  ) : null
24750
25044
  ] });
24751
25045
  };
24752
- var styles16 = import_react_native45.StyleSheet.create({
25046
+ var styles16 = import_react_native46.StyleSheet.create({
24753
25047
  form: { gap: 14 },
24754
25048
  link: { alignItems: "center", paddingVertical: 4 },
24755
25049
  linkText: { fontSize: 14, fontWeight: "600" }
24756
25050
  });
24757
25051
 
24758
25052
  // src/auth/RegisterForm.tsx
24759
- var import_react68 = require("react");
24760
- var import_react_native46 = require("react-native");
24761
- var import_jsx_runtime48 = require("react/jsx-runtime");
25053
+ var import_react69 = require("react");
25054
+ var import_react_native47 = require("react-native");
25055
+ var import_jsx_runtime49 = require("react/jsx-runtime");
24762
25056
  var emptyRegistration = (email) => ({
24763
25057
  firstName: "",
24764
25058
  lastName: "",
@@ -24785,30 +25079,30 @@ var RegisterForm = ({
24785
25079
  onFieldChange
24786
25080
  }) => {
24787
25081
  var _a, _b, _c, _d, _e, _f;
24788
- const t = (0, import_react68.useMemo)(() => createTranslator({ locale }), [locale]);
24789
- const [values2, setValues] = (0, import_react68.useState)(
25082
+ const t = (0, import_react69.useMemo)(() => createTranslator({ locale }), [locale]);
25083
+ const [values2, setValues] = (0, import_react69.useState)(
24790
25084
  () => emptyRegistration(initialEmail)
24791
25085
  );
24792
- const [termsAccepted, setTermsAccepted] = (0, import_react68.useState)(false);
24793
- const [refreshingProof, setRefreshingProof] = (0, import_react68.useState)(false);
24794
- const [refreshCode, setRefreshCode] = (0, import_react68.useState)("");
25086
+ const [termsAccepted, setTermsAccepted] = (0, import_react69.useState)(false);
25087
+ const [refreshingProof, setRefreshingProof] = (0, import_react69.useState)(false);
25088
+ const [refreshCode, setRefreshCode] = (0, import_react69.useState)("");
24795
25089
  const countriesQuery = hooks_exports.useCountries();
24796
- const countries = (0, import_react68.useMemo)(() => {
25090
+ const countries = (0, import_react69.useMemo)(() => {
24797
25091
  var _a2;
24798
25092
  return (_a2 = countriesQuery.data) != null ? _a2 : [];
24799
25093
  }, [countriesQuery.data]);
24800
25094
  const statesQuery = hooks_exports.useStates(values2.countryId, {
24801
25095
  enabled: requireAddress && Boolean(values2.countryId)
24802
25096
  });
24803
- const states = (0, import_react68.useMemo)(() => {
25097
+ const states = (0, import_react69.useMemo)(() => {
24804
25098
  var _a2;
24805
25099
  return (_a2 = statesQuery.data) != null ? _a2 : [];
24806
25100
  }, [statesQuery.data]);
24807
- (0, import_react68.useEffect)(() => {
25101
+ (0, import_react69.useEffect)(() => {
24808
25102
  if (initialEmail && !values2.email)
24809
25103
  setValues((current4) => ({ ...current4, email: initialEmail }));
24810
25104
  }, [initialEmail, values2.email]);
24811
- (0, import_react68.useEffect)(() => {
25105
+ (0, import_react69.useEffect)(() => {
24812
25106
  var _a2;
24813
25107
  if (!requireAddress || values2.countryId || countries.length === 0) return;
24814
25108
  const preferred = (_a2 = countries.find((country) => {
@@ -24829,19 +25123,19 @@ var RegisterForm = ({
24829
25123
  setValues((current4) => ({ ...current4, [field]: value6 }));
24830
25124
  onFieldChange == null ? void 0 : onFieldChange(field);
24831
25125
  };
24832
- const countryOptions = (0, import_react68.useMemo)(
25126
+ const countryOptions = (0, import_react69.useMemo)(
24833
25127
  () => countries.map((country) => ({ label: country.name, value: String(country.id) })),
24834
25128
  [countries]
24835
25129
  );
24836
- const stateOptions = (0, import_react68.useMemo)(
25130
+ const stateOptions = (0, import_react69.useMemo)(
24837
25131
  () => states.map((state) => ({ label: state.name, value: String(state.id) })),
24838
25132
  [states]
24839
25133
  );
24840
25134
  const submit = () => void onSubmit(values2, { requireState: states.length > 0, termsAccepted });
24841
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_react_native46.View, { style: styles17.form, children: [
24842
- error ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ErrorText, { children: error }) : null,
24843
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_react_native46.View, { style: styles17.row, children: [
24844
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_native46.View, { style: styles17.flex, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "First name", required: true, error: errors.firstName, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25135
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_react_native47.View, { style: styles17.form, children: [
25136
+ error ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ErrorText, { children: error }) : null,
25137
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_react_native47.View, { style: styles17.row, children: [
25138
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_native47.View, { style: styles17.flex, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "First name", required: true, error: errors.firstName, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24845
25139
  Input,
24846
25140
  {
24847
25141
  value: values2.firstName,
@@ -24851,7 +25145,7 @@ var RegisterForm = ({
24851
25145
  invalid: Boolean(errors.firstName)
24852
25146
  }
24853
25147
  ) }) }),
24854
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_native46.View, { style: styles17.flex, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "Last name", required: true, error: errors.lastName, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25148
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_native47.View, { style: styles17.flex, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Last name", required: true, error: errors.lastName, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24855
25149
  Input,
24856
25150
  {
24857
25151
  value: values2.lastName,
@@ -24862,7 +25156,7 @@ var RegisterForm = ({
24862
25156
  }
24863
25157
  ) }) })
24864
25158
  ] }),
24865
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "Email", required: true, error: errors.email, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25159
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Email", required: true, error: errors.email, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24866
25160
  Input,
24867
25161
  {
24868
25162
  value: values2.email,
@@ -24874,8 +25168,8 @@ var RegisterForm = ({
24874
25168
  invalid: Boolean(errors.email)
24875
25169
  }
24876
25170
  ) }),
24877
- requireAddress ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment, { children: [
24878
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "Street address", required: true, error: errors.streetAddress, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25171
+ requireAddress ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
25172
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Street address", required: true, error: errors.streetAddress, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24879
25173
  Input,
24880
25174
  {
24881
25175
  value: (_a = values2.streetAddress) != null ? _a : "",
@@ -24884,7 +25178,7 @@ var RegisterForm = ({
24884
25178
  invalid: Boolean(errors.streetAddress)
24885
25179
  }
24886
25180
  ) }),
24887
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "ZIP / postcode", required: true, error: errors.zip, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25181
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "ZIP / postcode", required: true, error: errors.zip, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24888
25182
  Input,
24889
25183
  {
24890
25184
  value: (_b = values2.zip) != null ? _b : "",
@@ -24893,7 +25187,7 @@ var RegisterForm = ({
24893
25187
  invalid: Boolean(errors.zip)
24894
25188
  }
24895
25189
  ) }),
24896
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "Country", required: true, error: errors.countryId, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25190
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Country", required: true, error: errors.countryId, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24897
25191
  Select,
24898
25192
  {
24899
25193
  value: (_c = values2.countryId) != null ? _c : "",
@@ -24907,13 +25201,13 @@ var RegisterForm = ({
24907
25201
  }
24908
25202
  }
24909
25203
  ) }),
24910
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25204
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24911
25205
  Field,
24912
25206
  {
24913
25207
  label: "State / Province",
24914
25208
  required: states.length > 0,
24915
25209
  error: errors.stateId,
24916
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25210
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24917
25211
  Select,
24918
25212
  {
24919
25213
  value: (_d = values2.stateId) != null ? _d : "",
@@ -24926,7 +25220,7 @@ var RegisterForm = ({
24926
25220
  )
24927
25221
  }
24928
25222
  ),
24929
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "City", required: true, error: errors.city, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25223
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "City", required: true, error: errors.city, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24930
25224
  Input,
24931
25225
  {
24932
25226
  value: (_e = values2.city) != null ? _e : "",
@@ -24936,7 +25230,7 @@ var RegisterForm = ({
24936
25230
  }
24937
25231
  ) })
24938
25232
  ] }) : null,
24939
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "Phone", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25233
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Phone", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24940
25234
  Input,
24941
25235
  {
24942
25236
  value: (_f = values2.phone) != null ? _f : "",
@@ -24946,7 +25240,7 @@ var RegisterForm = ({
24946
25240
  autoCapitalize: "none"
24947
25241
  }
24948
25242
  ) }),
24949
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "Password", required: true, error: errors.password, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25243
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Password", required: true, error: errors.password, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24950
25244
  PasswordInput,
24951
25245
  {
24952
25246
  value: values2.password,
@@ -24955,7 +25249,7 @@ var RegisterForm = ({
24955
25249
  invalid: Boolean(errors.password)
24956
25250
  }
24957
25251
  ) }),
24958
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "Confirm password", required: true, error: errors.passwordConfirmation, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25252
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Confirm password", required: true, error: errors.passwordConfirmation, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24959
25253
  PasswordInput,
24960
25254
  {
24961
25255
  value: values2.passwordConfirmation,
@@ -24964,8 +25258,8 @@ var RegisterForm = ({
24964
25258
  invalid: Boolean(errors.passwordConfirmation)
24965
25259
  }
24966
25260
  ) }),
24967
- completionRefresh ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_react_native46.View, { style: { gap: 12 }, children: [
24968
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
25261
+ completionRefresh ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_react_native47.View, { style: { gap: 12 }, children: [
25262
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
24969
25263
  Button,
24970
25264
  {
24971
25265
  disabled: loading || completionRefresh.retryAfter > 0,
@@ -24979,8 +25273,8 @@ var RegisterForm = ({
24979
25273
  ]
24980
25274
  }
24981
25275
  ),
24982
- refreshingProof ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment, { children: [
24983
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: t("auth.completionNewCode"), children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25276
+ refreshingProof ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
25277
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: t("auth.completionNewCode"), children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24984
25278
  Input,
24985
25279
  {
24986
25280
  value: refreshCode,
@@ -24990,7 +25284,7 @@ var RegisterForm = ({
24990
25284
  onChangeText: (value6) => setRefreshCode(value6.replace(/\D/g, "").slice(0, 6))
24991
25285
  }
24992
25286
  ) }),
24993
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25287
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
24994
25288
  Button,
24995
25289
  {
24996
25290
  disabled: loading || !/^\d{6}$/.test(refreshCode),
@@ -25000,38 +25294,38 @@ var RegisterForm = ({
25000
25294
  )
25001
25295
  ] }) : null
25002
25296
  ] }) : null,
25003
- requireTerms ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_react_native46.View, { style: { gap: 8 }, children: [
25004
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25005
- import_react_native46.Pressable,
25297
+ requireTerms ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_react_native47.View, { style: { gap: 8 }, children: [
25298
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25299
+ import_react_native47.Pressable,
25006
25300
  {
25007
25301
  accessibilityRole: "checkbox",
25008
25302
  accessibilityState: { checked: termsAccepted },
25009
25303
  onPress: () => setTermsAccepted((current4) => !current4),
25010
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(MutedText, { children: [
25304
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(MutedText, { children: [
25011
25305
  termsAccepted ? "\u2611" : "\u2610",
25012
25306
  " ",
25013
25307
  t("auth.completionAgree")
25014
25308
  ] })
25015
25309
  }
25016
25310
  ),
25017
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25018
- import_react_native46.Pressable,
25311
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25312
+ import_react_native47.Pressable,
25019
25313
  {
25020
25314
  accessibilityRole: "link",
25021
- onPress: () => void import_react_native46.Linking.openURL("https://www.ticketfairy.com/terms-of-service"),
25022
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(MutedText, { children: t("auth.completionTerms") })
25315
+ onPress: () => void import_react_native47.Linking.openURL("https://www.ticketfairy.com/terms-of-service"),
25316
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(MutedText, { children: t("auth.completionTerms") })
25023
25317
  }
25024
25318
  ),
25025
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25026
- import_react_native46.Pressable,
25319
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25320
+ import_react_native47.Pressable,
25027
25321
  {
25028
25322
  accessibilityRole: "link",
25029
- onPress: () => void import_react_native46.Linking.openURL("https://www.ticketfairy.com/privacy"),
25030
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(MutedText, { children: t("auth.completionPrivacy") })
25323
+ onPress: () => void import_react_native47.Linking.openURL("https://www.ticketfairy.com/privacy"),
25324
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(MutedText, { children: t("auth.completionPrivacy") })
25031
25325
  }
25032
25326
  )
25033
25327
  ] }) : null,
25034
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
25328
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25035
25329
  Button,
25036
25330
  {
25037
25331
  onPress: submit,
@@ -25042,16 +25336,16 @@ var RegisterForm = ({
25042
25336
  )
25043
25337
  ] });
25044
25338
  };
25045
- var styles17 = import_react_native46.StyleSheet.create({
25339
+ var styles17 = import_react_native47.StyleSheet.create({
25046
25340
  form: { gap: 14 },
25047
25341
  row: { flexDirection: "row", gap: 10 },
25048
25342
  flex: { flex: 1 }
25049
25343
  });
25050
25344
 
25051
25345
  // src/auth/EmailCodeForm.tsx
25052
- var import_react69 = require("react");
25053
- var import_react_native47 = require("react-native");
25054
- var import_jsx_runtime49 = require("react/jsx-runtime");
25346
+ var import_react70 = require("react");
25347
+ var import_react_native48 = require("react-native");
25348
+ var import_jsx_runtime50 = require("react/jsx-runtime");
25055
25349
  var EmailCodeForm = ({
25056
25350
  initialEmail,
25057
25351
  sent,
@@ -25064,13 +25358,13 @@ var EmailCodeForm = ({
25064
25358
  onVerify,
25065
25359
  onBack
25066
25360
  }) => {
25067
- const [email, setEmail] = (0, import_react69.useState)(initialEmail);
25068
- const [code, setCode] = (0, import_react69.useState)("");
25069
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_react_native47.View, { style: { gap: 14 }, children: [
25070
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(MutedText, { children: sent ? `Enter the sign-in code sent to ${target}.` : "Receive a one-time sign-in code by email." }),
25071
- error ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ErrorText, { children: error }) : null,
25072
- successMessage ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(MutedText, { children: successMessage }) : null,
25073
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Email", required: true, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25361
+ const [email, setEmail] = (0, import_react70.useState)(initialEmail);
25362
+ const [code, setCode] = (0, import_react70.useState)("");
25363
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_react_native48.View, { style: { gap: 14 }, children: [
25364
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MutedText, { children: sent ? `Enter the sign-in code sent to ${target}.` : "Receive a one-time sign-in code by email." }),
25365
+ error ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ErrorText, { children: error }) : null,
25366
+ successMessage ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MutedText, { children: successMessage }) : null,
25367
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Field, { label: "Email", required: true, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25074
25368
  Input,
25075
25369
  {
25076
25370
  value: email,
@@ -25081,8 +25375,8 @@ var EmailCodeForm = ({
25081
25375
  accessibilityLabel: "Email"
25082
25376
  }
25083
25377
  ) }),
25084
- sent ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
25085
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Sign-in code", required: true, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25378
+ sent ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
25379
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Field, { label: "Sign-in code", required: true, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25086
25380
  Input,
25087
25381
  {
25088
25382
  value: code,
@@ -25096,7 +25390,7 @@ var EmailCodeForm = ({
25096
25390
  editable: !loading
25097
25391
  }
25098
25392
  ) }),
25099
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25393
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25100
25394
  Button,
25101
25395
  {
25102
25396
  loading,
@@ -25106,7 +25400,7 @@ var EmailCodeForm = ({
25106
25400
  }
25107
25401
  )
25108
25402
  ] }) : null,
25109
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
25403
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25110
25404
  Button,
25111
25405
  {
25112
25406
  loading: !sent && loading,
@@ -25116,26 +25410,26 @@ var EmailCodeForm = ({
25116
25410
  children: retryAfter > 0 ? `Send another code in ${retryAfter}s` : sent ? "Resend code" : "Send sign-in code"
25117
25411
  }
25118
25412
  ),
25119
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Button, { variant: "ghost", disabled: loading, onPress: onBack, children: "Use password instead" })
25413
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { variant: "ghost", disabled: loading, onPress: onBack, children: "Use password instead" })
25120
25414
  ] });
25121
25415
  };
25122
25416
 
25123
25417
  // src/auth/AuthModal.tsx
25124
- var import_jsx_runtime50 = require("react/jsx-runtime");
25418
+ var import_jsx_runtime51 = require("react/jsx-runtime");
25125
25419
  var Tab = ({
25126
25420
  label,
25127
25421
  active: active2,
25128
25422
  onPress
25129
25423
  }) => {
25130
25424
  const theme = useTheme();
25131
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25132
- import_react_native48.Pressable,
25425
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25426
+ import_react_native49.Pressable,
25133
25427
  {
25134
25428
  accessibilityRole: "tab",
25135
25429
  accessibilityState: { selected: active2 },
25136
25430
  onPress,
25137
25431
  style: [styles18.tab, { borderBottomColor: active2 ? theme.accent : "transparent" }],
25138
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_native48.Text, { style: [styles18.tabText, { color: active2 ? theme.text : theme.muted }], children: label })
25432
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: [styles18.tabText, { color: active2 ? theme.text : theme.muted }], children: label })
25139
25433
  }
25140
25434
  );
25141
25435
  };
@@ -25153,7 +25447,7 @@ var AuthModal = ({
25153
25447
  message
25154
25448
  }) => {
25155
25449
  const theme = useTheme();
25156
- const closeAfterAuth = (0, import_react70.useCallback)(
25450
+ const closeAfterAuth = (0, import_react71.useCallback)(
25157
25451
  (profile) => {
25158
25452
  onAuthenticated == null ? void 0 : onAuthenticated(profile);
25159
25453
  onClose();
@@ -25177,35 +25471,35 @@ var AuthModal = ({
25177
25471
  if (auth.twoFactorChallenge) await auth.cancelTwoFactor();
25178
25472
  onClose();
25179
25473
  };
25180
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_native48.Modal, { visible: open, animationType: "slide", transparent: true, onRequestClose: requestClose, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_native48.Pressable, { style: styles18.backdrop, onPress: requestClose, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
25181
- import_react_native48.Pressable,
25474
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Modal, { visible: open, animationType: "slide", transparent: true, onRequestClose: requestClose, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Pressable, { style: styles18.backdrop, onPress: requestClose, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
25475
+ import_react_native49.Pressable,
25182
25476
  {
25183
25477
  style: [styles18.sheet, { backgroundColor: theme.surface }],
25184
25478
  onPress: () => {
25185
25479
  },
25186
25480
  children: [
25187
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_react_native48.View, { style: styles18.header, children: [
25188
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_native48.Text, { style: [styles18.title, { color: theme.text }], children: isPasswordReset ? "Password reset" : auth.view === "two-factor" ? "Verify your sign in" : "Ticket Fairy account" }),
25189
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25190
- import_react_native48.Pressable,
25481
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_react_native49.View, { style: styles18.header, children: [
25482
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: [styles18.title, { color: theme.text }], children: isPasswordReset ? "Password reset" : auth.view === "two-factor" ? "Verify your sign in" : "Ticket Fairy account" }),
25483
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25484
+ import_react_native49.Pressable,
25191
25485
  {
25192
25486
  accessibilityRole: "button",
25193
25487
  accessibilityLabel: "Close",
25194
25488
  disabled: auth.isSubmitting,
25195
25489
  onPress: () => void requestClose(),
25196
25490
  hitSlop: 12,
25197
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_native48.Text, { style: [styles18.close, { color: theme.muted }], children: "\u2715" })
25491
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: [styles18.close, { color: theme.muted }], children: "\u2715" })
25198
25492
  }
25199
25493
  )
25200
25494
  ] }),
25201
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
25202
- import_react_native48.ScrollView,
25495
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
25496
+ import_react_native49.ScrollView,
25203
25497
  {
25204
25498
  contentContainerStyle: styles18.body,
25205
25499
  keyboardShouldPersistTaps: "handled",
25206
25500
  children: [
25207
- logoUrl ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25208
- import_react_native48.Image,
25501
+ logoUrl ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25502
+ import_react_native49.Image,
25209
25503
  {
25210
25504
  accessibilityLabel: "The Ticket Fairy",
25211
25505
  source: { uri: logoUrl },
@@ -25213,8 +25507,8 @@ var AuthModal = ({
25213
25507
  resizeMode: "contain"
25214
25508
  }
25215
25509
  ) : null,
25216
- showTabs ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_react_native48.View, { style: [styles18.tabs, { borderBottomColor: theme.border }], children: [
25217
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25510
+ showTabs ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_react_native49.View, { style: [styles18.tabs, { borderBottomColor: theme.border }], children: [
25511
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25218
25512
  Tab,
25219
25513
  {
25220
25514
  label: "Login",
@@ -25222,7 +25516,7 @@ var AuthModal = ({
25222
25516
  onPress: () => auth.showLogin(auth.suggestedEmail)
25223
25517
  }
25224
25518
  ),
25225
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25519
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25226
25520
  Tab,
25227
25521
  {
25228
25522
  label: "Sign Up",
@@ -25231,8 +25525,8 @@ var AuthModal = ({
25231
25525
  }
25232
25526
  )
25233
25527
  ] }) : null,
25234
- message && !isPasswordReset ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MutedText, { children: message }) : null,
25235
- auth.view === "email-code" ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25528
+ message && !isPasswordReset ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(MutedText, { children: message }) : null,
25529
+ auth.view === "email-code" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25236
25530
  EmailCodeForm,
25237
25531
  {
25238
25532
  initialEmail: auth.suggestedEmail,
@@ -25247,7 +25541,7 @@ var AuthModal = ({
25247
25541
  onBack: () => auth.showLogin(auth.suggestedEmail)
25248
25542
  }
25249
25543
  ) : null,
25250
- auth.view === "two-factor" && auth.twoFactorChallenge ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25544
+ auth.view === "two-factor" && auth.twoFactorChallenge ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25251
25545
  TwoFactorForm,
25252
25546
  {
25253
25547
  loading: auth.isSubmitting,
@@ -25260,7 +25554,7 @@ var AuthModal = ({
25260
25554
  onCancel: auth.cancelTwoFactor
25261
25555
  }
25262
25556
  ) : null,
25263
- auth.view === "login" ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25557
+ auth.view === "login" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25264
25558
  LoginForm,
25265
25559
  {
25266
25560
  initialEmail: auth.suggestedEmail,
@@ -25273,18 +25567,18 @@ var AuthModal = ({
25273
25567
  onFieldChange: auth.clearFieldError
25274
25568
  }
25275
25569
  ) : null,
25276
- auth.view === "login" && auth.browserSignInAvailable ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_native48.View, { style: { gap: 12 }, children: ["google", "apple", "facebook", "passkey"].map((provider) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25277
- import_react_native48.Pressable,
25570
+ auth.view === "login" && auth.browserSignInAvailable ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.View, { style: { gap: 12 }, children: ["google", "apple", "facebook", "passkey"].map((provider) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25571
+ import_react_native49.Pressable,
25278
25572
  {
25279
25573
  accessibilityRole: "button",
25280
25574
  disabled: auth.isSubmitting,
25281
25575
  onPress: () => void auth.submitBrowserSignIn(provider),
25282
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_native48.Text, { style: { color: theme.accent }, children: provider === "passkey" ? "Sign in with a passkey" : `Sign in with ${provider === "google" ? "Google" : provider === "apple" ? "Apple" : "Facebook"}` })
25576
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: { color: theme.accent }, children: provider === "passkey" ? "Sign in with a passkey" : `Sign in with ${provider === "google" ? "Google" : provider === "apple" ? "Apple" : "Facebook"}` })
25283
25577
  },
25284
25578
  provider
25285
25579
  )) }) : null,
25286
- auth.view === "login" && auth.emailCodeAvailable ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_native48.Pressable, { onPress: () => auth.showEmailCode(auth.suggestedEmail), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_native48.Text, { style: { color: theme.accent }, children: "Sign in with an email code" }) }) : null,
25287
- auth.view === "register" && allowRegistration ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25580
+ auth.view === "login" && auth.emailCodeAvailable ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Pressable, { onPress: () => auth.showEmailCode(auth.suggestedEmail), children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: { color: theme.accent }, children: "Sign in with an email code" }) }) : null,
25581
+ auth.view === "register" && allowRegistration ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25288
25582
  RegisterForm,
25289
25583
  {
25290
25584
  initialEmail: auth.suggestedEmail,
@@ -25302,7 +25596,7 @@ var AuthModal = ({
25302
25596
  onFieldChange: auth.clearFieldError
25303
25597
  }
25304
25598
  ) : null,
25305
- isPasswordReset ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
25599
+ isPasswordReset ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25306
25600
  ForgotPasswordForm,
25307
25601
  {
25308
25602
  initialEmail: auth.suggestedEmail,
@@ -25322,7 +25616,7 @@ var AuthModal = ({
25322
25616
  }
25323
25617
  ) }) });
25324
25618
  };
25325
- var styles18 = import_react_native48.StyleSheet.create({
25619
+ var styles18 = import_react_native49.StyleSheet.create({
25326
25620
  backdrop: { flex: 1, justifyContent: "flex-end", backgroundColor: "rgba(0,0,0,0.4)" },
25327
25621
  sheet: {
25328
25622
  borderTopLeftRadius: 20,
@@ -25342,7 +25636,7 @@ var styles18 = import_react_native48.StyleSheet.create({
25342
25636
  logo: { width: "100%", height: 44, alignSelf: "center" },
25343
25637
  tabs: {
25344
25638
  flexDirection: "row",
25345
- borderBottomWidth: import_react_native48.StyleSheet.hairlineWidth
25639
+ borderBottomWidth: import_react_native49.StyleSheet.hairlineWidth
25346
25640
  },
25347
25641
  tab: {
25348
25642
  flex: 1,
@@ -25354,20 +25648,20 @@ var styles18 = import_react_native48.StyleSheet.create({
25354
25648
  });
25355
25649
 
25356
25650
  // src/auth/ResetPasswordForm.tsx
25357
- var import_react71 = require("react");
25358
- var import_react_native49 = require("react-native");
25359
- var import_jsx_runtime51 = require("react/jsx-runtime");
25651
+ var import_react72 = require("react");
25652
+ var import_react_native50 = require("react-native");
25653
+ var import_jsx_runtime52 = require("react/jsx-runtime");
25360
25654
  var ResetPasswordForm = ({
25361
25655
  token,
25362
25656
  onSuccess,
25363
25657
  onBackToLogin
25364
25658
  }) => {
25365
25659
  const theme = useTheme();
25366
- const [password, setPassword] = (0, import_react71.useState)("");
25367
- const [confirmation, setConfirmation] = (0, import_react71.useState)("");
25368
- const [submitted, setSubmitted] = (0, import_react71.useState)(false);
25369
- const [success, setSuccess] = (0, import_react71.useState)(false);
25370
- const validation = (0, import_react71.useMemo)(() => {
25660
+ const [password, setPassword] = (0, import_react72.useState)("");
25661
+ const [confirmation, setConfirmation] = (0, import_react72.useState)("");
25662
+ const [submitted, setSubmitted] = (0, import_react72.useState)(false);
25663
+ const [success, setSuccess] = (0, import_react72.useState)(false);
25664
+ const validation = (0, import_react72.useMemo)(() => {
25371
25665
  if (!submitted)
25372
25666
  return {};
25373
25667
  return {
@@ -25389,16 +25683,16 @@ var ResetPasswordForm = ({
25389
25683
  reset.mutate({ token, password, passwordConfirmation: confirmation });
25390
25684
  };
25391
25685
  if (success) {
25392
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_react_native49.View, { style: styles19.form, children: [
25393
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: [styles19.success, { color: theme.success }], children: "Your password has been changed. You can now log in." }),
25394
- onBackToLogin ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Button, { onPress: onBackToLogin, children: "Log in" }) : null
25686
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_react_native50.View, { style: styles19.form, children: [
25687
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_native50.Text, { style: [styles19.success, { color: theme.success }], children: "Your password has been changed. You can now log in." }),
25688
+ onBackToLogin ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Button, { onPress: onBackToLogin, children: "Log in" }) : null
25395
25689
  ] });
25396
25690
  }
25397
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_react_native49.View, { style: styles19.form, children: [
25398
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: [styles19.title, { color: theme.text }], children: "Change Password" }),
25399
- validation.token ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ErrorText, { children: validation.token }) : null,
25400
- reset.error ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ErrorText, { children: errorMessage(reset.error) }) : null,
25401
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Field, { label: "New Password", required: true, error: validation.password, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25691
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_react_native50.View, { style: styles19.form, children: [
25692
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_native50.Text, { style: [styles19.title, { color: theme.text }], children: "Change Password" }),
25693
+ validation.token ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ErrorText, { children: validation.token }) : null,
25694
+ reset.error ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ErrorText, { children: errorMessage(reset.error) }) : null,
25695
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Field, { label: "New Password", required: true, error: validation.password, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25402
25696
  PasswordInput,
25403
25697
  {
25404
25698
  value: password,
@@ -25407,7 +25701,7 @@ var ResetPasswordForm = ({
25407
25701
  invalid: Boolean(validation.password)
25408
25702
  }
25409
25703
  ) }),
25410
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Field, { label: "Confirm Password", required: true, error: validation.confirmation, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
25704
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Field, { label: "Confirm Password", required: true, error: validation.confirmation, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25411
25705
  PasswordInput,
25412
25706
  {
25413
25707
  value: confirmation,
@@ -25416,19 +25710,19 @@ var ResetPasswordForm = ({
25416
25710
  invalid: Boolean(validation.confirmation)
25417
25711
  }
25418
25712
  ) }),
25419
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Button, { onPress: submit, loading: reset.isPending, disabled: !token, children: "Submit" })
25713
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Button, { onPress: submit, loading: reset.isPending, disabled: !token, children: "Submit" })
25420
25714
  ] });
25421
25715
  };
25422
- var styles19 = import_react_native49.StyleSheet.create({
25716
+ var styles19 = import_react_native50.StyleSheet.create({
25423
25717
  form: { gap: 14 },
25424
25718
  title: { fontSize: 18, fontWeight: "700" },
25425
25719
  success: { fontSize: 15, fontWeight: "600" }
25426
25720
  });
25427
25721
 
25428
25722
  // src/EmbeddedCheckout.tsx
25429
- var import_react72 = require("react");
25430
- var import_react_native50 = require("react-native");
25431
- var import_jsx_runtime52 = require("react/jsx-runtime");
25723
+ var import_react73 = require("react");
25724
+ var import_react_native51 = require("react-native");
25725
+ var import_jsx_runtime53 = require("react/jsx-runtime");
25432
25726
  var Flow = ({
25433
25727
  eventId,
25434
25728
  onComplete,
@@ -25454,13 +25748,13 @@ var Flow = ({
25454
25748
  var _a;
25455
25749
  const checkout = useCheckoutContext();
25456
25750
  const theme = useTheme();
25457
- const [view, setView] = (0, import_react72.useState)(initialView);
25458
- const [selectionView, setSelectionView] = (0, import_react72.useState)(initialView);
25459
- const editedDetailsRef = (0, import_react72.useRef)(null);
25460
- const [authRequest, setAuthRequest] = (0, import_react72.useState)(
25751
+ const [view, setView] = (0, import_react73.useState)(initialView);
25752
+ const [selectionView, setSelectionView] = (0, import_react73.useState)(initialView);
25753
+ const editedDetailsRef = (0, import_react73.useRef)(null);
25754
+ const [authRequest, setAuthRequest] = (0, import_react73.useState)(
25461
25755
  null
25462
25756
  );
25463
- const [privacyAttempted, setPrivacyAttempted] = (0, import_react72.useState)(false);
25757
+ const [privacyAttempted, setPrivacyAttempted] = (0, import_react73.useState)(false);
25464
25758
  const openBuiltInAuth = (email) => setAuthRequest((current4) => {
25465
25759
  var _a2;
25466
25760
  return { email, key: ((_a2 = current4 == null ? void 0 : current4.key) != null ? _a2 : 0) + 1 };
@@ -25473,7 +25767,7 @@ var Flow = ({
25473
25767
  orderFixed: checkout.orderFixed
25474
25768
  });
25475
25769
  const leaveAllowed = canLeavePayment(checkout);
25476
- (0, import_react72.useEffect)(() => {
25770
+ (0, import_react73.useEffect)(() => {
25477
25771
  if (visibleView === view) return;
25478
25772
  if (visibleView === "checkout") setView("checkout");
25479
25773
  else {
@@ -25481,7 +25775,7 @@ var Flow = ({
25481
25775
  setSelectionView("tickets");
25482
25776
  }
25483
25777
  }, [view, visibleView]);
25484
- (0, import_react72.useEffect)(() => {
25778
+ (0, import_react73.useEffect)(() => {
25485
25779
  onViewChange == null ? void 0 : onViewChange(visibleView);
25486
25780
  }, [onViewChange, visibleView]);
25487
25781
  const enterCheckout = (from) => {
@@ -25513,18 +25807,18 @@ var Flow = ({
25513
25807
  const formattedTotal = breakdown ? breakdown.currencySymbol ? `${breakdown.currencySymbol}${Number(selectedTicketsTotal).toFixed(2)}` : `${breakdown.currencyCode} ${Number(selectedTicketsTotal).toFixed(2)}` : null;
25514
25808
  const succeeded = checkout.status === "succeeded" && Boolean(checkout.order);
25515
25809
  if (visibleView === "checkout" && succeeded && confirmationMode === "inline") {
25516
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_react_native50.ScrollView, { contentContainerStyle: styles20.content, children: [
25517
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(IDVerification, {}),
25518
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Confirmation, { children: confirmationChildren })
25810
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_react_native51.ScrollView, { contentContainerStyle: styles20.content, children: [
25811
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(IDVerification, {}),
25812
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Confirmation, { children: confirmationChildren })
25519
25813
  ] });
25520
25814
  }
25521
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
25522
- import_react_native50.ScrollView,
25815
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
25816
+ import_react_native51.ScrollView,
25523
25817
  {
25524
25818
  contentContainerStyle: styles20.content,
25525
25819
  keyboardShouldPersistTaps: "handled",
25526
25820
  children: [
25527
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_native50.View, { style: visibleView === "tickets" ? styles20.stack : styles20.hidden, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25821
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_native51.View, { style: visibleView === "tickets" ? styles20.stack : styles20.hidden, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
25528
25822
  Bundles,
25529
25823
  {
25530
25824
  eventId,
@@ -25533,7 +25827,7 @@ var Flow = ({
25533
25827
  confirmationMode
25534
25828
  }
25535
25829
  ) }),
25536
- visibleView === "tickets" && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_native50.View, { style: styles20.stack, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25830
+ visibleView === "tickets" && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_native51.View, { style: styles20.stack, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
25537
25831
  Tickets,
25538
25832
  {
25539
25833
  eventId,
@@ -25544,29 +25838,29 @@ var Flow = ({
25544
25838
  readAttributionFromUrl
25545
25839
  }
25546
25840
  ) }),
25547
- visibleView === "seats" && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_react_native50.View, { style: styles20.stack, children: [
25548
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_native50.Pressable, { onPress: () => setView("tickets"), style: styles20.back, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_native50.Text, { style: [styles20.backText, { color: theme.accent }], children: "\u2190 Back to tickets" }) }),
25549
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SeatMap, { eventId, onContinue: () => enterCheckout("seats") })
25841
+ visibleView === "seats" && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_react_native51.View, { style: styles20.stack, children: [
25842
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_native51.Pressable, { onPress: () => setView("tickets"), style: styles20.back, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_native51.Text, { style: [styles20.backText, { color: theme.accent }], children: "\u2190 Back to tickets" }) }),
25843
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SeatMap, { eventId, onContinue: () => enterCheckout("seats") })
25550
25844
  ] }),
25551
- visibleView === "checkout" && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_react_native50.View, { style: styles20.stack, children: [
25552
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(TimerBanner, { seconds: checkout.secondsLeft }),
25553
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_react_native50.View, { style: [styles20.selection, { borderColor: theme.border }], children: [
25554
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_react_native50.Text, { style: [styles20.selectionText, { color: theme.text }], children: [
25845
+ visibleView === "checkout" && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_react_native51.View, { style: styles20.stack, children: [
25846
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TimerBanner, { seconds: checkout.secondsLeft }),
25847
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_react_native51.View, { style: [styles20.selection, { borderColor: theme.border }], children: [
25848
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_react_native51.Text, { style: [styles20.selectionText, { color: theme.text }], children: [
25555
25849
  selectedCount,
25556
25850
  " ",
25557
25851
  selectedCount === 1 ? "ticket" : "tickets",
25558
25852
  " selected",
25559
25853
  formattedTotal ? ` \xB7 ${formattedTotal}` : ""
25560
25854
  ] }),
25561
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25562
- import_react_native50.Pressable,
25855
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
25856
+ import_react_native51.Pressable,
25563
25857
  {
25564
25858
  onPress: editSelection,
25565
25859
  disabled: !leaveAllowed,
25566
25860
  accessibilityRole: "button",
25567
25861
  accessibilityState: { disabled: !leaveAllowed },
25568
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25569
- import_react_native50.Text,
25862
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
25863
+ import_react_native51.Text,
25570
25864
  {
25571
25865
  style: [
25572
25866
  styles20.editText,
@@ -25579,8 +25873,8 @@ var Flow = ({
25579
25873
  }
25580
25874
  )
25581
25875
  ] }),
25582
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(AddOns, { eventId }),
25583
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25876
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(AddOns, { eventId }),
25877
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
25584
25878
  BillingInfo,
25585
25879
  {
25586
25880
  eventId,
@@ -25595,8 +25889,8 @@ var Flow = ({
25595
25889
  showPrivacyError: privacyAttempted
25596
25890
  }
25597
25891
  ),
25598
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(WaiverSigning, { eventId }),
25599
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25892
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(WaiverSigning, { eventId }),
25893
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
25600
25894
  Payment,
25601
25895
  {
25602
25896
  onComplete,
@@ -25611,7 +25905,7 @@ var Flow = ({
25611
25905
  }
25612
25906
  )
25613
25907
  ] }),
25614
- authRequest && auth !== false && !onLogin && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25908
+ authRequest && auth !== false && !onLogin && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
25615
25909
  AuthModal,
25616
25910
  {
25617
25911
  checkoutEventId: eventId,
@@ -25640,20 +25934,20 @@ var EventFlow = (flow) => {
25640
25934
  const flowProps = embeddedCheckoutProps(checkout.store, flow);
25641
25935
  const heldEvent = hooks_exports.useEvent(shown.waitingFor ? shown.eventId : void 0).data;
25642
25936
  const notice = shown.waitingFor ? heldOrderNotice(heldEvent == null ? void 0 : heldEvent.name) : null;
25643
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
25644
- notice && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
25645
- import_react_native50.View,
25937
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
25938
+ notice && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
25939
+ import_react_native51.View,
25646
25940
  {
25647
25941
  accessibilityLiveRegion: "polite",
25648
25942
  style: [styles20.notice, { borderColor: theme.accent }],
25649
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_native50.Text, { style: [styles20.noticeText, { color: theme.text }], children: translate(notice.key, notice.params) })
25943
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_native51.Text, { style: [styles20.noticeText, { color: theme.text }], children: translate(notice.key, notice.params) })
25650
25944
  }
25651
25945
  ),
25652
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Flow, { ...flowProps }, flowProps.eventId)
25946
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Flow, { ...flowProps }, flowProps.eventId)
25653
25947
  ] });
25654
25948
  };
25655
- var EmbeddedCheckout = ({ theme, ...flow }) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(CheckoutProvider, { theme, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(EventFlow, { ...flow }) });
25656
- var styles20 = import_react_native50.StyleSheet.create({
25949
+ var EmbeddedCheckout = ({ theme, ...flow }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(CheckoutProvider, { theme, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(EventFlow, { ...flow }) });
25950
+ var styles20 = import_react_native51.StyleSheet.create({
25657
25951
  content: { padding: 16, gap: 12 },
25658
25952
  hidden: { display: "none" },
25659
25953
  stack: { gap: 12 },
@@ -25663,7 +25957,7 @@ var styles20 = import_react_native50.StyleSheet.create({
25663
25957
  flexDirection: "row",
25664
25958
  alignItems: "center",
25665
25959
  justifyContent: "space-between",
25666
- borderWidth: import_react_native50.StyleSheet.hairlineWidth,
25960
+ borderWidth: import_react_native51.StyleSheet.hairlineWidth,
25667
25961
  borderRadius: 10,
25668
25962
  paddingVertical: 10,
25669
25963
  paddingHorizontal: 14
@@ -25674,7 +25968,7 @@ var styles20 = import_react_native50.StyleSheet.create({
25674
25968
  notice: {
25675
25969
  marginHorizontal: 16,
25676
25970
  marginTop: 16,
25677
- borderWidth: import_react_native50.StyleSheet.hairlineWidth,
25971
+ borderWidth: import_react_native51.StyleSheet.hairlineWidth,
25678
25972
  borderRadius: 10,
25679
25973
  paddingVertical: 10,
25680
25974
  paddingHorizontal: 14