tf-checkout-react-native 1.0.47 → 2.0.0-beta.0
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/README.md +150 -3340
- package/dist/index.d.mts +3810 -0
- package/dist/index.d.ts +3810 -0
- package/dist/index.js +8348 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +8348 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +31 -57
- package/src/CardInput.tsx +49 -0
- package/src/EmbeddedCheckout.tsx +323 -0
- package/src/auth/AuthModal.tsx +221 -0
- package/src/auth/ForgotPasswordForm.tsx +98 -0
- package/src/auth/LoginForm.tsx +99 -0
- package/src/auth/PasswordInput.tsx +45 -0
- package/src/auth/RegisterForm.tsx +247 -0
- package/src/auth/ResetPasswordForm.tsx +112 -0
- package/src/auth/index.ts +7 -0
- package/src/configure.ts +26 -0
- package/src/confirmer.ts +180 -0
- package/src/index.tsx +25 -227
- package/src/instance.ts +13 -0
- package/src/sections/AddOns.tsx +335 -0
- package/src/sections/BillingInfo.tsx +770 -0
- package/src/sections/Confirmation.tsx +143 -0
- package/src/sections/IDVerification.tsx +77 -0
- package/src/sections/OrderSummary.tsx +116 -0
- package/src/sections/Payment.tsx +417 -0
- package/src/sections/Tickets.tsx +680 -0
- package/src/sections/billing/BillingAddressFields.tsx +126 -0
- package/src/sections/billing/BuyerField.tsx +78 -0
- package/src/sections/billing/TicketHoldersCard.tsx +119 -0
- package/src/sections/billing/types.ts +10 -0
- package/src/sections/index.ts +8 -0
- package/src/storage.ts +27 -0
- package/src/ui/CheckoutProvider.tsx +140 -0
- package/src/ui/CustomFields.tsx +176 -0
- package/src/ui/Field.tsx +171 -0
- package/src/ui/InstallmentPicker.tsx +158 -0
- package/src/ui/PaymentMethods.tsx +177 -0
- package/src/ui/QuantitySelect.tsx +103 -0
- package/src/ui/Select.tsx +151 -0
- package/src/ui/Timer.tsx +69 -0
- package/src/ui/TimerBanner.tsx +95 -0
- package/src/ui/index.ts +17 -0
- package/src/ui/primitives.tsx +191 -0
- package/src/ui/theme.ts +89 -0
- package/src/useCheckout.ts +35 -0
- package/lib/brand-DA2IARBI.png +0 -0
- package/lib/ic_check-FLIJQ3BY.png +0 -0
- package/lib/ic_clock-BZ4Z7PIP.png +0 -0
- package/lib/ic_copy-VWMA4B7X.png +0 -0
- package/lib/ic_dropdown-BCS3QDNJ.png +0 -0
- package/lib/ic_error-KDEZUPSN.png +0 -0
- package/lib/ic_eye-WGXVXVAN.png +0 -0
- package/lib/ic_eye_off-XTCE6XSO.png +0 -0
- package/lib/ic_more-LZWKYCDU.png +0 -0
- package/lib/ic_next-LCNIGEDM.png +0 -0
- package/lib/index.js +0 -18222
- package/lib/index.js.map +0 -1
- package/lib/index.mjs +0 -18309
- package/lib/index.mjs.map +0 -1
- package/lib/typescript/package.json +0 -1
- package/lib/typescript/src/api/ApiClient.d.ts +0 -49
- package/lib/typescript/src/api/ApiClient.d.ts.map +0 -1
- package/lib/typescript/src/api/Constants.d.ts +0 -11
- package/lib/typescript/src/api/Constants.d.ts.map +0 -1
- package/lib/typescript/src/api/ErrorHandler.d.ts +0 -12
- package/lib/typescript/src/api/ErrorHandler.d.ts.map +0 -1
- package/lib/typescript/src/api/api.types.d.ts +0 -8
- package/lib/typescript/src/api/api.types.d.ts.map +0 -1
- package/lib/typescript/src/api/types.d.ts +0 -518
- package/lib/typescript/src/api/types.d.ts.map +0 -1
- package/lib/typescript/src/apiv2/index.d.ts +0 -3
- package/lib/typescript/src/apiv2/index.d.ts.map +0 -1
- package/lib/typescript/src/common/query.types.d.ts +0 -3
- package/lib/typescript/src/common/query.types.d.ts.map +0 -1
- package/lib/typescript/src/components/bottomSheetModal/BottomSheetModal.d.ts +0 -8
- package/lib/typescript/src/components/bottomSheetModal/BottomSheetModal.d.ts.map +0 -1
- package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalStyles.d.ts +0 -39
- package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalStyles.d.ts.map +0 -1
- package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalTypes.d.ts +0 -23
- package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalTypes.d.ts.map +0 -1
- package/lib/typescript/src/components/button/Button.d.ts +0 -5
- package/lib/typescript/src/components/button/Button.d.ts.map +0 -1
- package/lib/typescript/src/components/button/styles.d.ts +0 -28
- package/lib/typescript/src/components/button/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/button/types.d.ts +0 -15
- package/lib/typescript/src/components/button/types.d.ts.map +0 -1
- package/lib/typescript/src/components/cartTimer/CartTimer.d.ts +0 -5
- package/lib/typescript/src/components/cartTimer/CartTimer.d.ts.map +0 -1
- package/lib/typescript/src/components/cartTimer/styles.d.ts +0 -47
- package/lib/typescript/src/components/cartTimer/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/cartTimer/types.d.ts +0 -19
- package/lib/typescript/src/components/cartTimer/types.d.ts.map +0 -1
- package/lib/typescript/src/components/checkbox/Checkbox.d.ts +0 -4
- package/lib/typescript/src/components/checkbox/Checkbox.d.ts.map +0 -1
- package/lib/typescript/src/components/checkbox/styles.d.ts +0 -39
- package/lib/typescript/src/components/checkbox/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/checkbox/types.d.ts +0 -22
- package/lib/typescript/src/components/checkbox/types.d.ts.map +0 -1
- package/lib/typescript/src/components/datePicker/DatePicker.d.ts +0 -4
- package/lib/typescript/src/components/datePicker/DatePicker.d.ts.map +0 -1
- package/lib/typescript/src/components/datePicker/styles.d.ts +0 -35
- package/lib/typescript/src/components/datePicker/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/datePicker/types.d.ts +0 -20
- package/lib/typescript/src/components/datePicker/types.d.ts.map +0 -1
- package/lib/typescript/src/components/dropdown/Dropdown.d.ts +0 -4
- package/lib/typescript/src/components/dropdown/Dropdown.d.ts.map +0 -1
- package/lib/typescript/src/components/dropdown/DropdownListItem.d.ts +0 -4
- package/lib/typescript/src/components/dropdown/DropdownListItem.d.ts.map +0 -1
- package/lib/typescript/src/components/dropdown/styles.d.ts +0 -85
- package/lib/typescript/src/components/dropdown/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/dropdown/types.d.ts +0 -35
- package/lib/typescript/src/components/dropdown/types.d.ts.map +0 -1
- package/lib/typescript/src/components/dropdownMaterial/DropdownMaterial.d.ts +0 -4
- package/lib/typescript/src/components/dropdownMaterial/DropdownMaterial.d.ts.map +0 -1
- package/lib/typescript/src/components/dropdownMaterial/styles.d.ts +0 -79
- package/lib/typescript/src/components/dropdownMaterial/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/dropdownMaterial/types.d.ts +0 -22
- package/lib/typescript/src/components/dropdownMaterial/types.d.ts.map +0 -1
- package/lib/typescript/src/components/enterPassword/EnterPassword.d.ts +0 -5
- package/lib/typescript/src/components/enterPassword/EnterPassword.d.ts.map +0 -1
- package/lib/typescript/src/components/enterPassword/styles.d.ts +0 -21
- package/lib/typescript/src/components/enterPassword/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/enterPassword/types.d.ts +0 -24
- package/lib/typescript/src/components/enterPassword/types.d.ts.map +0 -1
- package/lib/typescript/src/components/formField/FormField.d.ts +0 -4
- package/lib/typescript/src/components/formField/FormField.d.ts.map +0 -1
- package/lib/typescript/src/components/formField/styles.d.ts +0 -35
- package/lib/typescript/src/components/formField/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/formField/types.d.ts +0 -48
- package/lib/typescript/src/components/formField/types.d.ts.map +0 -1
- package/lib/typescript/src/components/index.d.ts +0 -21
- package/lib/typescript/src/components/index.d.ts.map +0 -1
- package/lib/typescript/src/components/input/Input.d.ts +0 -4
- package/lib/typescript/src/components/input/Input.d.ts.map +0 -1
- package/lib/typescript/src/components/input/styles.d.ts +0 -47
- package/lib/typescript/src/components/input/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/input/types.d.ts +0 -28
- package/lib/typescript/src/components/input/types.d.ts.map +0 -1
- package/lib/typescript/src/components/loading/Loading.d.ts +0 -4
- package/lib/typescript/src/components/loading/Loading.d.ts.map +0 -1
- package/lib/typescript/src/components/loading/styles.d.ts +0 -30
- package/lib/typescript/src/components/loading/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/loading/types.d.ts +0 -15
- package/lib/typescript/src/components/loading/types.d.ts.map +0 -1
- package/lib/typescript/src/components/loggedIn/LoggedIn.d.ts +0 -5
- package/lib/typescript/src/components/loggedIn/LoggedIn.d.ts.map +0 -1
- package/lib/typescript/src/components/loggedIn/styles.d.ts +0 -9
- package/lib/typescript/src/components/loggedIn/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/loggedIn/types.d.ts +0 -24
- package/lib/typescript/src/components/loggedIn/types.d.ts.map +0 -1
- package/lib/typescript/src/components/login/Login.d.ts +0 -5
- package/lib/typescript/src/components/login/Login.d.ts.map +0 -1
- package/lib/typescript/src/components/login/LoginView.d.ts +0 -5
- package/lib/typescript/src/components/login/LoginView.d.ts.map +0 -1
- package/lib/typescript/src/components/login/components/LoginForm.d.ts +0 -5
- package/lib/typescript/src/components/login/components/LoginForm.d.ts.map +0 -1
- package/lib/typescript/src/components/login/components/types.d.ts +0 -19
- package/lib/typescript/src/components/login/components/types.d.ts.map +0 -1
- package/lib/typescript/src/components/login/styles.d.ts +0 -62
- package/lib/typescript/src/components/login/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/login/types.d.ts +0 -144
- package/lib/typescript/src/components/login/types.d.ts.map +0 -1
- package/lib/typescript/src/components/phoneInput/PhoneInput.d.ts +0 -5
- package/lib/typescript/src/components/phoneInput/PhoneInput.d.ts.map +0 -1
- package/lib/typescript/src/components/phoneInput/styles.d.ts +0 -29
- package/lib/typescript/src/components/phoneInput/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/phoneInput/types.d.ts +0 -31
- package/lib/typescript/src/components/phoneInput/types.d.ts.map +0 -1
- package/lib/typescript/src/components/promoCode/PromoCode.d.ts +0 -5
- package/lib/typescript/src/components/promoCode/PromoCode.d.ts.map +0 -1
- package/lib/typescript/src/components/promoCode/styles.d.ts +0 -61
- package/lib/typescript/src/components/promoCode/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/promoCode/types.d.ts +0 -36
- package/lib/typescript/src/components/promoCode/types.d.ts.map +0 -1
- package/lib/typescript/src/components/radioButton/RadioButton.d.ts +0 -5
- package/lib/typescript/src/components/radioButton/RadioButton.d.ts.map +0 -1
- package/lib/typescript/src/components/radioButton/styles.d.ts +0 -25
- package/lib/typescript/src/components/radioButton/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/radioButton/types.d.ts +0 -16
- package/lib/typescript/src/components/radioButton/types.d.ts.map +0 -1
- package/lib/typescript/src/components/radioGroup/RadioGroup.d.ts +0 -4
- package/lib/typescript/src/components/radioGroup/RadioGroup.d.ts.map +0 -1
- package/lib/typescript/src/components/radioGroup/index.d.ts +0 -4
- package/lib/typescript/src/components/radioGroup/index.d.ts.map +0 -1
- package/lib/typescript/src/components/radioGroup/types.d.ts +0 -24
- package/lib/typescript/src/components/radioGroup/types.d.ts.map +0 -1
- package/lib/typescript/src/components/restorePassword/RestorePassword.d.ts +0 -5
- package/lib/typescript/src/components/restorePassword/RestorePassword.d.ts.map +0 -1
- package/lib/typescript/src/components/restorePassword/ResultDialog.d.ts +0 -5
- package/lib/typescript/src/components/restorePassword/ResultDialog.d.ts.map +0 -1
- package/lib/typescript/src/components/restorePassword/styles.d.ts +0 -34
- package/lib/typescript/src/components/restorePassword/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/restorePassword/types.d.ts +0 -49
- package/lib/typescript/src/components/restorePassword/types.d.ts.map +0 -1
- package/lib/typescript/src/components/separator/Separator.d.ts +0 -4
- package/lib/typescript/src/components/separator/Separator.d.ts.map +0 -1
- package/lib/typescript/src/components/separator/types.d.ts +0 -9
- package/lib/typescript/src/components/separator/types.d.ts.map +0 -1
- package/lib/typescript/src/components/stripePayment/StripePayment.d.ts +0 -5
- package/lib/typescript/src/components/stripePayment/StripePayment.d.ts.map +0 -1
- package/lib/typescript/src/components/stripePayment/styles.d.ts +0 -7
- package/lib/typescript/src/components/stripePayment/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/stripePayment/types.d.ts +0 -14
- package/lib/typescript/src/components/stripePayment/types.d.ts.map +0 -1
- package/lib/typescript/src/components/waitingList/WaitingList.d.ts +0 -6
- package/lib/typescript/src/components/waitingList/WaitingList.d.ts.map +0 -1
- package/lib/typescript/src/components/waitingList/WaitingListView.d.ts +0 -5
- package/lib/typescript/src/components/waitingList/WaitingListView.d.ts.map +0 -1
- package/lib/typescript/src/components/waitingList/styles.d.ts +0 -9
- package/lib/typescript/src/components/waitingList/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/waitingList/types.d.ts +0 -59
- package/lib/typescript/src/components/waitingList/types.d.ts.map +0 -1
- package/lib/typescript/src/containers/billingInfo/Billing.d.ts +0 -6
- package/lib/typescript/src/containers/billingInfo/Billing.d.ts.map +0 -1
- package/lib/typescript/src/containers/billingInfo/styles.d.ts +0 -61
- package/lib/typescript/src/containers/billingInfo/styles.d.ts.map +0 -1
- package/lib/typescript/src/containers/billingInfo/types.d.ts +0 -160
- package/lib/typescript/src/containers/billingInfo/types.d.ts.map +0 -1
- package/lib/typescript/src/containers/checkout/Checkout.d.ts +0 -7
- package/lib/typescript/src/containers/checkout/Checkout.d.ts.map +0 -1
- package/lib/typescript/src/containers/checkout/CheckoutData.d.ts +0 -3
- package/lib/typescript/src/containers/checkout/CheckoutData.d.ts.map +0 -1
- package/lib/typescript/src/containers/checkout/components/Conditions.d.ts +0 -4
- package/lib/typescript/src/containers/checkout/components/Conditions.d.ts.map +0 -1
- package/lib/typescript/src/containers/checkout/components/OrderReview.d.ts +0 -4
- package/lib/typescript/src/containers/checkout/components/OrderReview.d.ts.map +0 -1
- package/lib/typescript/src/containers/checkout/components/styles.d.ts +0 -26
- package/lib/typescript/src/containers/checkout/components/styles.d.ts.map +0 -1
- package/lib/typescript/src/containers/checkout/styles.d.ts +0 -42
- package/lib/typescript/src/containers/checkout/styles.d.ts.map +0 -1
- package/lib/typescript/src/containers/checkout/types.d.ts +0 -126
- package/lib/typescript/src/containers/checkout/types.d.ts.map +0 -1
- package/lib/typescript/src/containers/index.d.ts +0 -9
- package/lib/typescript/src/containers/index.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/MyOrderDetails.d.ts +0 -6
- package/lib/typescript/src/containers/myOrderDetails/MyOrderDetails.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/MyOrderDetailsView.d.ts +0 -5
- package/lib/typescript/src/containers/myOrderDetails/MyOrderDetailsView.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/components/Notification.d.ts +0 -15
- package/lib/typescript/src/containers/myOrderDetails/components/Notification.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/components/OrderListItem.d.ts +0 -3
- package/lib/typescript/src/containers/myOrderDetails/components/OrderListItem.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActions.d.ts +0 -5
- package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActions.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.d.ts +0 -30
- package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.d.ts +0 -8
- package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.d.ts +0 -33
- package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.d.ts +0 -30
- package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/components/styles.d.ts +0 -39
- package/lib/typescript/src/containers/myOrderDetails/components/styles.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/styles.d.ts +0 -55
- package/lib/typescript/src/containers/myOrderDetails/styles.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrderDetails/types.d.ts +0 -126
- package/lib/typescript/src/containers/myOrderDetails/types.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrders/MyOrders.d.ts +0 -6
- package/lib/typescript/src/containers/myOrders/MyOrders.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrders/MyOrdersView.d.ts +0 -5
- package/lib/typescript/src/containers/myOrders/MyOrdersView.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrders/components/OrderListItem.d.ts +0 -5
- package/lib/typescript/src/containers/myOrders/components/OrderListItem.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrders/components/styles.d.ts +0 -56
- package/lib/typescript/src/containers/myOrders/components/styles.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrders/components/types.d.ts +0 -26
- package/lib/typescript/src/containers/myOrders/components/types.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrders/styles.d.ts +0 -37
- package/lib/typescript/src/containers/myOrders/styles.d.ts.map +0 -1
- package/lib/typescript/src/containers/myOrders/types.d.ts +0 -73
- package/lib/typescript/src/containers/myOrders/types.d.ts.map +0 -1
- package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmation.d.ts +0 -6
- package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmation.d.ts.map +0 -1
- package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmationView.d.ts +0 -5
- package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmationView.d.ts.map +0 -1
- package/lib/typescript/src/containers/purchaseConfirmation/styles.d.ts +0 -74
- package/lib/typescript/src/containers/purchaseConfirmation/styles.d.ts.map +0 -1
- package/lib/typescript/src/containers/purchaseConfirmation/types.d.ts +0 -66
- package/lib/typescript/src/containers/purchaseConfirmation/types.d.ts.map +0 -1
- package/lib/typescript/src/containers/resaleTickets/ResaleTickets.d.ts +0 -6
- package/lib/typescript/src/containers/resaleTickets/ResaleTickets.d.ts.map +0 -1
- package/lib/typescript/src/containers/resaleTickets/ResaleTicketsView.d.ts +0 -5
- package/lib/typescript/src/containers/resaleTickets/ResaleTicketsView.d.ts.map +0 -1
- package/lib/typescript/src/containers/resaleTickets/types.d.ts +0 -129
- package/lib/typescript/src/containers/resaleTickets/types.d.ts.map +0 -1
- package/lib/typescript/src/containers/resetPassword/ResetPassword.d.ts +0 -5
- package/lib/typescript/src/containers/resetPassword/ResetPassword.d.ts.map +0 -1
- package/lib/typescript/src/containers/resetPassword/ResetPasswordView.d.ts +0 -5
- package/lib/typescript/src/containers/resetPassword/ResetPasswordView.d.ts.map +0 -1
- package/lib/typescript/src/containers/resetPassword/styles.d.ts +0 -33
- package/lib/typescript/src/containers/resetPassword/styles.d.ts.map +0 -1
- package/lib/typescript/src/containers/resetPassword/types.d.ts +0 -48
- package/lib/typescript/src/containers/resetPassword/types.d.ts.map +0 -1
- package/lib/typescript/src/containers/tickets/Tickets.d.ts +0 -6
- package/lib/typescript/src/containers/tickets/Tickets.d.ts.map +0 -1
- package/lib/typescript/src/containers/tickets/TicketsView.d.ts +0 -4
- package/lib/typescript/src/containers/tickets/TicketsView.d.ts.map +0 -1
- package/lib/typescript/src/containers/tickets/components/TicketGroupListHeader.d.ts +0 -5
- package/lib/typescript/src/containers/tickets/components/TicketGroupListHeader.d.ts.map +0 -1
- package/lib/typescript/src/containers/tickets/components/TicketListItem.d.ts +0 -4
- package/lib/typescript/src/containers/tickets/components/TicketListItem.d.ts.map +0 -1
- package/lib/typescript/src/containers/tickets/components/styles.d.ts +0 -51
- package/lib/typescript/src/containers/tickets/components/styles.d.ts.map +0 -1
- package/lib/typescript/src/containers/tickets/components/types.d.ts +0 -40
- package/lib/typescript/src/containers/tickets/components/types.d.ts.map +0 -1
- package/lib/typescript/src/containers/tickets/styles.d.ts +0 -20
- package/lib/typescript/src/containers/tickets/styles.d.ts.map +0 -1
- package/lib/typescript/src/containers/tickets/types.d.ts +0 -114
- package/lib/typescript/src/containers/tickets/types.d.ts.map +0 -1
- package/lib/typescript/src/core/BillingCore/BillingCore.d.ts +0 -13
- package/lib/typescript/src/core/BillingCore/BillingCore.d.ts.map +0 -1
- package/lib/typescript/src/core/BillingCore/BillingCoreTypes.d.ts +0 -24
- package/lib/typescript/src/core/BillingCore/BillingCoreTypes.d.ts.map +0 -1
- package/lib/typescript/src/core/CheckoutCore/CheckoutCore.d.ts +0 -15
- package/lib/typescript/src/core/CheckoutCore/CheckoutCore.d.ts.map +0 -1
- package/lib/typescript/src/core/CheckoutCore/CheckoutCoreTypes.d.ts +0 -17
- package/lib/typescript/src/core/CheckoutCore/CheckoutCoreTypes.d.ts.map +0 -1
- package/lib/typescript/src/core/CoreProps.d.ts +0 -5
- package/lib/typescript/src/core/CoreProps.d.ts.map +0 -1
- package/lib/typescript/src/core/LoginCore/LoginCore.d.ts +0 -6
- package/lib/typescript/src/core/LoginCore/LoginCore.d.ts.map +0 -1
- package/lib/typescript/src/core/LoginCore/LoginCoreHelper.d.ts +0 -3
- package/lib/typescript/src/core/LoginCore/LoginCoreHelper.d.ts.map +0 -1
- package/lib/typescript/src/core/LoginCore/LoginCoreTypes.d.ts +0 -15
- package/lib/typescript/src/core/LoginCore/LoginCoreTypes.d.ts.map +0 -1
- package/lib/typescript/src/core/MyOrdersCore/MyOrdersCore.d.ts +0 -6
- package/lib/typescript/src/core/MyOrdersCore/MyOrdersCore.d.ts.map +0 -1
- package/lib/typescript/src/core/MyOrdersCore/MyOrdersCoreTypes.d.ts +0 -10
- package/lib/typescript/src/core/MyOrdersCore/MyOrdersCoreTypes.d.ts.map +0 -1
- package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCore.d.ts +0 -6
- package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCore.d.ts.map +0 -1
- package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCoreTypes.d.ts +0 -9
- package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCoreTypes.d.ts.map +0 -1
- package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.d.ts +0 -6
- package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.d.ts.map +0 -1
- package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.d.ts +0 -8
- package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.d.ts.map +0 -1
- package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCore.d.ts +0 -6
- package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCore.d.ts.map +0 -1
- package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCoreTypes.d.ts +0 -5
- package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCoreTypes.d.ts.map +0 -1
- package/lib/typescript/src/core/Session/SessionCoreTypes.d.ts +0 -9
- package/lib/typescript/src/core/Session/SessionCoreTypes.d.ts.map +0 -1
- package/lib/typescript/src/core/Session/SessionHandle.d.ts +0 -6
- package/lib/typescript/src/core/Session/SessionHandle.d.ts.map +0 -1
- package/lib/typescript/src/core/TicketsCore/TicketsCore.d.ts +0 -6
- package/lib/typescript/src/core/TicketsCore/TicketsCore.d.ts.map +0 -1
- package/lib/typescript/src/core/TicketsCore/TicketsCoreTypes.d.ts +0 -40
- package/lib/typescript/src/core/TicketsCore/TicketsCoreTypes.d.ts.map +0 -1
- package/lib/typescript/src/core/WaitingListCore/WaitingListCore.d.ts +0 -6
- package/lib/typescript/src/core/WaitingListCore/WaitingListCore.d.ts.map +0 -1
- package/lib/typescript/src/core/WaitingListCore/WaitingListCoreTypes.d.ts +0 -12
- package/lib/typescript/src/core/WaitingListCore/WaitingListCoreTypes.d.ts.map +0 -1
- package/lib/typescript/src/core/index.d.ts +0 -21
- package/lib/typescript/src/core/index.d.ts.map +0 -1
- package/lib/typescript/src/features/auth/api-hooks.d.ts +0 -178
- package/lib/typescript/src/features/auth/api-hooks.d.ts.map +0 -1
- package/lib/typescript/src/features/auth/types.d.ts +0 -51
- package/lib/typescript/src/features/auth/types.d.ts.map +0 -1
- package/lib/typescript/src/features/auth/utils.d.ts +0 -3
- package/lib/typescript/src/features/auth/utils.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/components/AddonsContainer.d.ts +0 -37
- package/lib/typescript/src/features/checkout-v2/components/AddonsContainer.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/components/Conditions.d.ts +0 -30
- package/lib/typescript/src/features/checkout-v2/components/Conditions.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/components/OrderReview.d.ts +0 -25
- package/lib/typescript/src/features/checkout-v2/components/OrderReview.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/components/TicketHoldersSection.d.ts +0 -14
- package/lib/typescript/src/features/checkout-v2/components/TicketHoldersSection.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/form/config.d.ts +0 -61
- package/lib/typescript/src/features/checkout-v2/form/config.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/form/index.d.ts +0 -22
- package/lib/typescript/src/features/checkout-v2/form/index.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/form/styles.d.ts +0 -4501
- package/lib/typescript/src/features/checkout-v2/form/styles.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/form/texts.d.ts +0 -4
- package/lib/typescript/src/features/checkout-v2/form/texts.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/form/types.d.ts +0 -191
- package/lib/typescript/src/features/checkout-v2/form/types.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/hooks/api-hooks.d.ts +0 -227
- package/lib/typescript/src/features/checkout-v2/hooks/api-hooks.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/hooks/use-checkout.d.ts +0 -37
- package/lib/typescript/src/features/checkout-v2/hooks/use-checkout.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/index.d.ts +0 -42
- package/lib/typescript/src/features/checkout-v2/index.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/types.d.ts +0 -433
- package/lib/typescript/src/features/checkout-v2/types.d.ts.map +0 -1
- package/lib/typescript/src/features/checkout-v2/utils.d.ts +0 -12
- package/lib/typescript/src/features/checkout-v2/utils.d.ts.map +0 -1
- package/lib/typescript/src/features/event/api-hooks.d.ts +0 -171
- package/lib/typescript/src/features/event/api-hooks.d.ts.map +0 -1
- package/lib/typescript/src/features/event/types.d.ts +0 -58
- package/lib/typescript/src/features/event/types.d.ts.map +0 -1
- package/lib/typescript/src/features/form/index.d.ts +0 -24
- package/lib/typescript/src/features/form/index.d.ts.map +0 -1
- package/lib/typescript/src/features/form/styles.d.ts +0 -35
- package/lib/typescript/src/features/form/styles.d.ts.map +0 -1
- package/lib/typescript/src/features/form/types.d.ts +0 -33
- package/lib/typescript/src/features/form/types.d.ts.map +0 -1
- package/lib/typescript/src/features/geo/api-hooks.d.ts +0 -12
- package/lib/typescript/src/features/geo/api-hooks.d.ts.map +0 -1
- package/lib/typescript/src/features/geo/types.d.ts +0 -13
- package/lib/typescript/src/features/geo/types.d.ts.map +0 -1
- package/lib/typescript/src/helpers/Config.d.ts +0 -24
- package/lib/typescript/src/helpers/Config.d.ts.map +0 -1
- package/lib/typescript/src/helpers/CountryCodes.d.ts +0 -16
- package/lib/typescript/src/helpers/CountryCodes.d.ts.map +0 -1
- package/lib/typescript/src/helpers/Debounced.d.ts +0 -2
- package/lib/typescript/src/helpers/Debounced.d.ts.map +0 -1
- package/lib/typescript/src/helpers/Domains.d.ts +0 -3
- package/lib/typescript/src/helpers/Domains.d.ts.map +0 -1
- package/lib/typescript/src/helpers/LocalStorage.d.ts +0 -27
- package/lib/typescript/src/helpers/LocalStorage.d.ts.map +0 -1
- package/lib/typescript/src/helpers/RefreshAccessToken.d.ts +0 -3
- package/lib/typescript/src/helpers/RefreshAccessToken.d.ts.map +0 -1
- package/lib/typescript/src/helpers/StringsHelper.d.ts +0 -3
- package/lib/typescript/src/helpers/StringsHelper.d.ts.map +0 -1
- package/lib/typescript/src/helpers/Validators.d.ts +0 -16
- package/lib/typescript/src/helpers/Validators.d.ts.map +0 -1
- package/lib/typescript/src/index.d.ts +0 -49
- package/lib/typescript/src/index.d.ts.map +0 -1
- package/lib/typescript/src/res/colors.d.ts +0 -16
- package/lib/typescript/src/res/colors.d.ts.map +0 -1
- package/lib/typescript/src/res/icons.d.ts +0 -13
- package/lib/typescript/src/res/icons.d.ts.map +0 -1
- package/lib/typescript/src/res/images.d.ts +0 -5
- package/lib/typescript/src/res/images.d.ts.map +0 -1
- package/lib/typescript/src/res/index.d.ts +0 -32
- package/lib/typescript/src/res/index.d.ts.map +0 -1
- package/lib/typescript/src/types/IAccountTickets.d.ts +0 -71
- package/lib/typescript/src/types/IAccountTickets.d.ts.map +0 -1
- package/lib/typescript/src/types/ICountry.d.ts +0 -2
- package/lib/typescript/src/types/ICountry.d.ts.map +0 -1
- package/lib/typescript/src/types/IError.d.ts +0 -6
- package/lib/typescript/src/types/IError.d.ts.map +0 -1
- package/lib/typescript/src/types/IEvent.d.ts +0 -87
- package/lib/typescript/src/types/IEvent.d.ts.map +0 -1
- package/lib/typescript/src/types/ITicket.d.ts +0 -71
- package/lib/typescript/src/types/ITicket.d.ts.map +0 -1
- package/lib/typescript/src/types/IUserProfile.d.ts +0 -30
- package/lib/typescript/src/types/IUserProfile.d.ts.map +0 -1
- package/lib/typescript/src/types/index.d.ts +0 -6
- package/lib/typescript/src/types/index.d.ts.map +0 -1
- package/lib/typescript/src/utils/Logger.d.ts +0 -21
- package/lib/typescript/src/utils/Logger.d.ts.map +0 -1
- package/lib/typescript/src/utils/handlers.d.ts +0 -9
- package/lib/typescript/src/utils/handlers.d.ts.map +0 -1
- package/lib/typescript/src/utils/storageAdapter.d.ts +0 -14
- package/lib/typescript/src/utils/storageAdapter.d.ts.map +0 -1
- package/lib/typescript/src/utils/styleUtils.d.ts +0 -18
- package/lib/typescript/src/utils/styleUtils.d.ts.map +0 -1
- package/src/api/ApiClient.ts +0 -1539
- package/src/api/Constants.ts +0 -10
- package/src/api/ErrorHandler.ts +0 -36
- package/src/api/api.types.ts +0 -8
- package/src/api/types.ts +0 -593
- package/src/apiv2/index.ts +0 -143
- package/src/assets/icons/ic_check.png +0 -0
- package/src/assets/icons/ic_clock.png +0 -0
- package/src/assets/icons/ic_copy.png +0 -0
- package/src/assets/icons/ic_dropdown.png +0 -0
- package/src/assets/icons/ic_error.png +0 -0
- package/src/assets/icons/ic_eye.png +0 -0
- package/src/assets/icons/ic_eye_off.png +0 -0
- package/src/assets/icons/ic_more.png +0 -0
- package/src/assets/icons/ic_next.png +0 -0
- package/src/assets/images/brand.png +0 -0
- package/src/common/query.types.ts +0 -6
- package/src/components/bottomSheetModal/BottomSheetModal.tsx +0 -95
- package/src/components/bottomSheetModal/BottomSheetModalStyles.ts +0 -43
- package/src/components/bottomSheetModal/BottomSheetModalTypes.ts +0 -26
- package/src/components/button/Button.tsx +0 -53
- package/src/components/button/styles.tsx +0 -30
- package/src/components/button/types.ts +0 -16
- package/src/components/cartTimer/CartTimer.tsx +0 -68
- package/src/components/cartTimer/styles.ts +0 -44
- package/src/components/cartTimer/types.ts +0 -22
- package/src/components/checkbox/Checkbox.tsx +0 -53
- package/src/components/checkbox/styles.ts +0 -41
- package/src/components/checkbox/types.ts +0 -23
- package/src/components/datePicker/DatePicker.tsx +0 -81
- package/src/components/datePicker/styles.ts +0 -39
- package/src/components/datePicker/types.ts +0 -21
- package/src/components/dropdown/Dropdown.tsx +0 -111
- package/src/components/dropdown/DropdownListItem.tsx +0 -36
- package/src/components/dropdown/styles.ts +0 -97
- package/src/components/dropdown/types.ts +0 -38
- package/src/components/dropdownMaterial/DropdownMaterial.tsx +0 -129
- package/src/components/dropdownMaterial/styles.ts +0 -91
- package/src/components/dropdownMaterial/types.ts +0 -24
- package/src/components/enterPassword/EnterPassword.tsx +0 -50
- package/src/components/enterPassword/styles.ts +0 -23
- package/src/components/enterPassword/types.ts +0 -27
- package/src/components/formField/FormField.tsx +0 -131
- package/src/components/formField/styles.ts +0 -37
- package/src/components/formField/types.ts +0 -60
- package/src/components/index.ts +0 -20
- package/src/components/input/Input.tsx +0 -77
- package/src/components/input/styles.ts +0 -53
- package/src/components/input/types.ts +0 -38
- package/src/components/loading/Loading.tsx +0 -30
- package/src/components/loading/styles.ts +0 -32
- package/src/components/loading/types.ts +0 -16
- package/src/components/loggedIn/LoggedIn.tsx +0 -60
- package/src/components/loggedIn/styles.ts +0 -9
- package/src/components/loggedIn/types.ts +0 -27
- package/src/components/login/Login.tsx +0 -161
- package/src/components/login/LoginView.tsx +0 -259
- package/src/components/login/components/LoginForm.tsx +0 -92
- package/src/components/login/components/types.ts +0 -22
- package/src/components/login/styles.ts +0 -63
- package/src/components/login/types.ts +0 -189
- package/src/components/phoneInput/PhoneInput.tsx +0 -72
- package/src/components/phoneInput/styles.ts +0 -31
- package/src/components/phoneInput/types.ts +0 -35
- package/src/components/promoCode/PromoCode.tsx +0 -111
- package/src/components/promoCode/styles.ts +0 -63
- package/src/components/promoCode/types.ts +0 -43
- package/src/components/radioButton/RadioButton.tsx +0 -26
- package/src/components/radioButton/styles.ts +0 -32
- package/src/components/radioButton/types.ts +0 -17
- package/src/components/radioGroup/RadioGroup.tsx +0 -86
- package/src/components/radioGroup/index.ts +0 -4
- package/src/components/radioGroup/types.ts +0 -26
- package/src/components/restorePassword/RestorePassword.tsx +0 -63
- package/src/components/restorePassword/ResultDialog.tsx +0 -26
- package/src/components/restorePassword/styles.ts +0 -38
- package/src/components/restorePassword/types.ts +0 -61
- package/src/components/separator/Separator.tsx +0 -26
- package/src/components/separator/types.ts +0 -9
- package/src/components/stripePayment/StripePayment.tsx +0 -51
- package/src/components/stripePayment/styles.ts +0 -7
- package/src/components/stripePayment/types.ts +0 -22
- package/src/components/waitingList/WaitingList.tsx +0 -147
- package/src/components/waitingList/WaitingListView.tsx +0 -94
- package/src/components/waitingList/styles.ts +0 -9
- package/src/components/waitingList/types.ts +0 -68
- package/src/containers/billingInfo/Billing.tsx +0 -1902
- package/src/containers/billingInfo/styles.ts +0 -64
- package/src/containers/billingInfo/types.ts +0 -217
- package/src/containers/checkout/Checkout.tsx +0 -519
- package/src/containers/checkout/CheckoutData.ts +0 -29
- package/src/containers/checkout/components/Conditions.tsx +0 -22
- package/src/containers/checkout/components/OrderReview.tsx +0 -31
- package/src/containers/checkout/components/styles.ts +0 -28
- package/src/containers/checkout/styles.ts +0 -44
- package/src/containers/checkout/types.ts +0 -148
- package/src/containers/index.ts +0 -8
- package/src/containers/myOrderDetails/MyOrderDetails.tsx +0 -318
- package/src/containers/myOrderDetails/MyOrderDetailsView.tsx +0 -269
- package/src/containers/myOrderDetails/components/Notification.tsx +0 -40
- package/src/containers/myOrderDetails/components/OrderListItem.tsx +0 -12
- package/src/containers/myOrderDetails/components/TicketActions/TicketActions.tsx +0 -68
- package/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.ts +0 -41
- package/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.tsx +0 -63
- package/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.ts +0 -33
- package/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.ts +0 -39
- package/src/containers/myOrderDetails/components/styles.ts +0 -42
- package/src/containers/myOrderDetails/styles.ts +0 -57
- package/src/containers/myOrderDetails/types.ts +0 -173
- package/src/containers/myOrders/MyOrders.tsx +0 -340
- package/src/containers/myOrders/MyOrdersView.tsx +0 -182
- package/src/containers/myOrders/components/OrderListItem.tsx +0 -50
- package/src/containers/myOrders/components/styles.ts +0 -55
- package/src/containers/myOrders/components/types.ts +0 -28
- package/src/containers/myOrders/styles.ts +0 -42
- package/src/containers/myOrders/types.ts +0 -84
- package/src/containers/purchaseConfirmation/PurchaseConfirmation.tsx +0 -145
- package/src/containers/purchaseConfirmation/PurchaseConfirmationView.tsx +0 -82
- package/src/containers/purchaseConfirmation/styles.ts +0 -79
- package/src/containers/purchaseConfirmation/types.ts +0 -77
- package/src/containers/resaleTickets/ResaleTickets.tsx +0 -234
- package/src/containers/resaleTickets/ResaleTicketsView.tsx +0 -314
- package/src/containers/resaleTickets/types.ts +0 -154
- package/src/containers/resetPassword/ResetPassword.tsx +0 -110
- package/src/containers/resetPassword/ResetPasswordView.tsx +0 -81
- package/src/containers/resetPassword/styles.ts +0 -35
- package/src/containers/resetPassword/types.ts +0 -56
- package/src/containers/tickets/Tickets.tsx +0 -525
- package/src/containers/tickets/TicketsView.tsx +0 -164
- package/src/containers/tickets/components/TicketGroupListHeader.tsx +0 -12
- package/src/containers/tickets/components/TicketListItem.tsx +0 -124
- package/src/containers/tickets/components/styles.ts +0 -54
- package/src/containers/tickets/components/types.ts +0 -47
- package/src/containers/tickets/styles.ts +0 -22
- package/src/containers/tickets/types.ts +0 -158
- package/src/core/BillingCore/BillingCore.tsx +0 -129
- package/src/core/BillingCore/BillingCoreTypes.ts +0 -34
- package/src/core/BillingCore/README.md +0 -22
- package/src/core/CheckoutCore/CheckoutCore.tsx +0 -113
- package/src/core/CheckoutCore/CheckoutCoreTypes.ts +0 -23
- package/src/core/CheckoutCore/README.md +0 -20
- package/src/core/CoreProps.ts +0 -5
- package/src/core/LoginCore/LoginCore.tsx +0 -140
- package/src/core/LoginCore/LoginCoreHelper.ts +0 -22
- package/src/core/LoginCore/LoginCoreTypes.ts +0 -21
- package/src/core/MIGRATION.md +0 -148
- package/src/core/MyOrdersCore/MyOrdersCore.tsx +0 -44
- package/src/core/MyOrdersCore/MyOrdersCoreTypes.ts +0 -15
- package/src/core/OrderDetailsCore/OrderDetailsCore.tsx +0 -36
- package/src/core/OrderDetailsCore/OrderDetailsCoreTypes.ts +0 -10
- package/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.tsx +0 -37
- package/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.ts +0 -10
- package/src/core/ResetPasswordCore/ResetPasswordCore.tsx +0 -21
- package/src/core/ResetPasswordCore/ResetPasswordCoreTypes.ts +0 -5
- package/src/core/Session/SessionCoreTypes.ts +0 -10
- package/src/core/Session/SessionHandle.tsx +0 -23
- package/src/core/TicketsCore/TicketsCore.tsx +0 -216
- package/src/core/TicketsCore/TicketsCoreTypes.ts +0 -52
- package/src/core/WaitingListCore/WaitingListCore.tsx +0 -35
- package/src/core/WaitingListCore/WaitingListCoreTypes.ts +0 -16
- package/src/core/index.ts +0 -20
- package/src/features/auth/api-hooks.ts +0 -61
- package/src/features/auth/types.ts +0 -54
- package/src/features/auth/utils.ts +0 -27
- package/src/features/checkout-v2/components/AddonsContainer.tsx +0 -159
- package/src/features/checkout-v2/components/Conditions.tsx +0 -144
- package/src/features/checkout-v2/components/OrderReview.tsx +0 -96
- package/src/features/checkout-v2/components/TicketHoldersSection.tsx +0 -131
- package/src/features/checkout-v2/form/config.tsx +0 -194
- package/src/features/checkout-v2/form/index.tsx +0 -830
- package/src/features/checkout-v2/form/styles.ts +0 -241
- package/src/features/checkout-v2/form/texts.ts +0 -133
- package/src/features/checkout-v2/form/types.ts +0 -231
- package/src/features/checkout-v2/hooks/api-hooks.ts +0 -332
- package/src/features/checkout-v2/hooks/use-checkout.ts +0 -927
- package/src/features/checkout-v2/index.tsx +0 -289
- package/src/features/checkout-v2/types.ts +0 -475
- package/src/features/checkout-v2/utils.ts +0 -156
- package/src/features/event/api-hooks.ts +0 -28
- package/src/features/event/types.ts +0 -69
- package/src/features/form/index.tsx +0 -185
- package/src/features/form/styles.ts +0 -37
- package/src/features/form/types.ts +0 -38
- package/src/features/geo/api-hooks.ts +0 -43
- package/src/features/geo/types.ts +0 -15
- package/src/helpers/Config.ts +0 -81
- package/src/helpers/CountryCodes.ts +0 -3382
- package/src/helpers/Debounced.ts +0 -27
- package/src/helpers/Domains.ts +0 -32
- package/src/helpers/LocalStorage.tsx +0 -152
- package/src/helpers/RefreshAccessToken.ts +0 -25
- package/src/helpers/StringsHelper.ts +0 -5
- package/src/helpers/Validators.ts +0 -108
- package/src/packages/rn-material-ui-textfield/README.md +0 -149
- package/src/packages/rn-material-ui-textfield/components/affix/index.js +0 -61
- package/src/packages/rn-material-ui-textfield/components/affix/styles.js +0 -8
- package/src/packages/rn-material-ui-textfield/components/counter/index.js +0 -36
- package/src/packages/rn-material-ui-textfield/components/counter/styles.js +0 -12
- package/src/packages/rn-material-ui-textfield/components/field/index.js +0 -700
- package/src/packages/rn-material-ui-textfield/components/field/styles.js +0 -42
- package/src/packages/rn-material-ui-textfield/components/field-filled/index.js +0 -21
- package/src/packages/rn-material-ui-textfield/components/field-filled/styles.js +0 -10
- package/src/packages/rn-material-ui-textfield/components/field-outlined/index.js +0 -59
- package/src/packages/rn-material-ui-textfield/components/helper/index.js +0 -78
- package/src/packages/rn-material-ui-textfield/components/helper/styles.js +0 -12
- package/src/packages/rn-material-ui-textfield/components/label/index.js +0 -123
- package/src/packages/rn-material-ui-textfield/components/label/styles.js +0 -16
- package/src/packages/rn-material-ui-textfield/components/line/index.js +0 -117
- package/src/packages/rn-material-ui-textfield/components/line/styles.js +0 -18
- package/src/packages/rn-material-ui-textfield/components/outline/index.js +0 -139
- package/src/packages/rn-material-ui-textfield/components/outline/styles.js +0 -83
- package/src/packages/rn-material-ui-textfield/index.d.ts +0 -53
- package/src/packages/rn-material-ui-textfield/index.js +0 -5
- package/src/packages/rn-material-ui-textfield/license.txt +0 -28
- package/src/res/colors.ts +0 -16
- package/src/res/icons.ts +0 -11
- package/src/res/images.ts +0 -3
- package/src/res/index.ts +0 -11
- package/src/types/IAccountTickets.ts +0 -75
- package/src/types/ICountry.ts +0 -2
- package/src/types/IError.ts +0 -5
- package/src/types/IEvent.ts +0 -87
- package/src/types/ITicket.ts +0 -75
- package/src/types/IUserProfile.ts +0 -30
- package/src/types/index.ts +0 -5
- package/src/utils/Logger.ts +0 -75
- package/src/utils/handlers.ts +0 -49
- package/src/utils/storageAdapter.ts +0 -44
- package/src/utils/styleUtils.ts +0 -76
|
@@ -0,0 +1,680 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `<Tickets/>` — ticket-type catalog + quantity selection. The RN analogue of
|
|
3
|
+
* the web `Tickets` section, at full parity: per-type price line (struck
|
|
4
|
+
* original when discounted, FREE at 0, "(… with fees)" sub-line, deposit %),
|
|
5
|
+
* View/Hide info descriptions, sold-out / not-started / ended badges, group
|
|
6
|
+
* headings + a "Reserve tables" divider, one-type-at-a-time selection (unless
|
|
7
|
+
* `allowMultipleTicketTypePurchases`), promo / access codes, waiting-list
|
|
8
|
+
* sign-up, a currency switcher, time-slot dates, and a "Select seats" hand-off
|
|
9
|
+
* for seated events. Reads the shared engine via `useCheckoutContext()`; primes
|
|
10
|
+
* the cart with `checkout.setTickets`.
|
|
11
|
+
*/
|
|
12
|
+
import React, { Fragment, useEffect, useMemo, useRef, useState, type FC } from 'react'
|
|
13
|
+
import { Pressable, StyleSheet, Text, View } from 'react-native'
|
|
14
|
+
|
|
15
|
+
import {
|
|
16
|
+
errorMessage,
|
|
17
|
+
hooks,
|
|
18
|
+
ticketQuantityRange,
|
|
19
|
+
type TicketSelection,
|
|
20
|
+
type TicketType,
|
|
21
|
+
type WaitingListEntry,
|
|
22
|
+
} from 'tf-checkout-shared'
|
|
23
|
+
|
|
24
|
+
import {
|
|
25
|
+
Button,
|
|
26
|
+
Card,
|
|
27
|
+
Divider,
|
|
28
|
+
ErrorText,
|
|
29
|
+
Loader,
|
|
30
|
+
MutedText,
|
|
31
|
+
SectionHeader,
|
|
32
|
+
} from '../ui/primitives'
|
|
33
|
+
import { useCheckoutContext, useTheme } from '../ui/CheckoutProvider'
|
|
34
|
+
import { Field, Input } from '../ui/Field'
|
|
35
|
+
import { QuantitySelect } from '../ui/QuantitySelect'
|
|
36
|
+
import { Select } from '../ui/Select'
|
|
37
|
+
import type { ResolvedTheme } from '../ui/theme'
|
|
38
|
+
|
|
39
|
+
// Web renders the rich description via `dangerouslySetInnerHTML`. React Native
|
|
40
|
+
// has no HTML renderer, so we strip tags + decode a few common entities to show
|
|
41
|
+
// the description as plain text (the adaptation for native).
|
|
42
|
+
const stripHtml = (html: string): string =>
|
|
43
|
+
html
|
|
44
|
+
.replace(/<\s*br\s*\/?\s*>/gi, '\n')
|
|
45
|
+
.replace(/<\/\s*(p|div|li|h[1-6])\s*>/gi, '\n')
|
|
46
|
+
.replace(/<[^>]+>/g, '')
|
|
47
|
+
.replace(/ /gi, ' ')
|
|
48
|
+
.replace(/&/gi, '&')
|
|
49
|
+
.replace(/</gi, '<')
|
|
50
|
+
.replace(/>/gi, '>')
|
|
51
|
+
.replace(/'|'/gi, "'")
|
|
52
|
+
.replace(/"/gi, '"')
|
|
53
|
+
.replace(/\n{3,}/g, '\n\n')
|
|
54
|
+
.replace(/[ \t]+\n/g, '\n')
|
|
55
|
+
.trim()
|
|
56
|
+
|
|
57
|
+
const money = (sym: string, n: number): string => `${sym} ${Number(n).toFixed(2)}`
|
|
58
|
+
|
|
59
|
+
/** Inline waiting-list sign-up for a sold-out type. */
|
|
60
|
+
const WaitingListForm: FC<{
|
|
61
|
+
ticket: TicketType
|
|
62
|
+
onJoin: (entry: WaitingListEntry) => Promise<void>
|
|
63
|
+
}> = ({ ticket, onJoin }) => {
|
|
64
|
+
const [form, setForm] = useState({ firstName: '', lastName: '', email: '' })
|
|
65
|
+
const [state, setState] = useState<'idle' | 'busy' | 'done' | 'error'>('idle')
|
|
66
|
+
const [error, setError] = useState('')
|
|
67
|
+
const ok = Boolean(form.firstName.trim() && form.lastName.trim() && form.email.trim())
|
|
68
|
+
|
|
69
|
+
if (state === 'done')
|
|
70
|
+
return (
|
|
71
|
+
<MutedText>You’re on the waiting list — we’ll email you if a spot opens.</MutedText>
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
return (
|
|
75
|
+
<View style={staticStyles.wlForm}>
|
|
76
|
+
<Field>
|
|
77
|
+
<Input
|
|
78
|
+
placeholder="First name"
|
|
79
|
+
value={form.firstName}
|
|
80
|
+
onChangeText={(t) => setForm((f) => ({ ...f, firstName: t }))}
|
|
81
|
+
/>
|
|
82
|
+
</Field>
|
|
83
|
+
<Field>
|
|
84
|
+
<Input
|
|
85
|
+
placeholder="Last name"
|
|
86
|
+
value={form.lastName}
|
|
87
|
+
onChangeText={(t) => setForm((f) => ({ ...f, lastName: t }))}
|
|
88
|
+
/>
|
|
89
|
+
</Field>
|
|
90
|
+
<Field>
|
|
91
|
+
<Input
|
|
92
|
+
placeholder="Email"
|
|
93
|
+
value={form.email}
|
|
94
|
+
keyboardType="email-address"
|
|
95
|
+
autoCapitalize="none"
|
|
96
|
+
onChangeText={(t) => setForm((f) => ({ ...f, email: t }))}
|
|
97
|
+
/>
|
|
98
|
+
</Field>
|
|
99
|
+
<Button
|
|
100
|
+
variant="ghost"
|
|
101
|
+
loading={state === 'busy'}
|
|
102
|
+
disabled={!ok || state === 'busy'}
|
|
103
|
+
onPress={() => {
|
|
104
|
+
setState('busy')
|
|
105
|
+
setError('')
|
|
106
|
+
onJoin({ ...form, ticketTypeId: ticket.id })
|
|
107
|
+
.then(() => setState('done'))
|
|
108
|
+
.catch((e) => {
|
|
109
|
+
setState('error')
|
|
110
|
+
setError(errorMessage(e))
|
|
111
|
+
})
|
|
112
|
+
}}
|
|
113
|
+
>
|
|
114
|
+
Join the waiting list
|
|
115
|
+
</Button>
|
|
116
|
+
{error ? <ErrorText>{error}</ErrorText> : null}
|
|
117
|
+
</View>
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export interface TicketsProps {
|
|
122
|
+
eventId: string
|
|
123
|
+
/** Optional heading above the catalog. The legacy storefront shows none, so
|
|
124
|
+
* the default is intentionally hidden. */
|
|
125
|
+
title?: string | false
|
|
126
|
+
/** Fired once the cart is primed (tickets added) — e.g. reveal `<AddOns/>`. */
|
|
127
|
+
onContinue?: () => void
|
|
128
|
+
/** CTA label. Old storefront uses "Get tickets". */
|
|
129
|
+
buttonLabel?: string
|
|
130
|
+
/** Force time-slot mode + supply the selectable session dates (ISO yyyy-mm-dd).
|
|
131
|
+
* Omit to auto-detect from the event (`isTimeSlotEvent` / `availableDates`). */
|
|
132
|
+
timeSlotDates?: string[]
|
|
133
|
+
/** SEATED events: fired when the buyer taps "Select seats". Wire this to
|
|
134
|
+
* reveal `<SeatMap/>`. Without it the seat CTA is hidden. */
|
|
135
|
+
onSelectSeats?: () => void
|
|
136
|
+
/** Apply this code once when the ticket catalog mounts. */
|
|
137
|
+
initialPromoCode?: string
|
|
138
|
+
/** Attribute this visit once. */
|
|
139
|
+
referrer?: string | number
|
|
140
|
+
/** Web also reads promo/referral values from the URL. React Native has no
|
|
141
|
+
* `window.location`, so URL attribution is skipped here; the prop is accepted
|
|
142
|
+
* for parity and defaults true. */
|
|
143
|
+
readAttributionFromUrl?: boolean
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export const Tickets: FC<TicketsProps> = ({
|
|
147
|
+
eventId,
|
|
148
|
+
title = false,
|
|
149
|
+
onContinue,
|
|
150
|
+
buttonLabel = 'Get tickets',
|
|
151
|
+
timeSlotDates,
|
|
152
|
+
onSelectSeats,
|
|
153
|
+
initialPromoCode,
|
|
154
|
+
referrer,
|
|
155
|
+
readAttributionFromUrl = true,
|
|
156
|
+
}) => {
|
|
157
|
+
const checkout = useCheckoutContext()
|
|
158
|
+
const theme = useTheme()
|
|
159
|
+
const s = useTicketStyles(theme)
|
|
160
|
+
const ticketsQuery = hooks.useTicketsWithMeta(eventId)
|
|
161
|
+
const promoMeta = ticketsQuery.data?.promo
|
|
162
|
+
const showWaitingList = ticketsQuery.data?.showWaitingList ?? false
|
|
163
|
+
|
|
164
|
+
const [qty, setQty] = useState<Record<string, number>>({})
|
|
165
|
+
const [slotDate, setSlotDate] = useState('')
|
|
166
|
+
|
|
167
|
+
// Time-slot / calendar events: pick a date, then buy from that session's slots.
|
|
168
|
+
const eventInfo = hooks.useEvent(eventId).data
|
|
169
|
+
const isTimeSlot = Boolean(timeSlotDates?.length || eventInfo?.isTimeSlotEvent)
|
|
170
|
+
const dates = useMemo(
|
|
171
|
+
() => timeSlotDates ?? eventInfo?.availableDates ?? [],
|
|
172
|
+
[timeSlotDates, eventInfo?.availableDates]
|
|
173
|
+
)
|
|
174
|
+
useEffect(() => {
|
|
175
|
+
if (isTimeSlot && !slotDate && dates.length) setSlotDate(dates[0])
|
|
176
|
+
}, [isTimeSlot, slotDate, dates])
|
|
177
|
+
const slotQuery = hooks.useTimeSlotTickets(eventId, isTimeSlot ? slotDate : undefined)
|
|
178
|
+
|
|
179
|
+
const tickets = useMemo(
|
|
180
|
+
() => (isTimeSlot ? (slotQuery.data ?? []) : (ticketsQuery.data?.tickets ?? [])),
|
|
181
|
+
[isTimeSlot, slotQuery.data, ticketsQuery.data?.tickets]
|
|
182
|
+
)
|
|
183
|
+
const [error, setError] = useState('')
|
|
184
|
+
const [code, setCode] = useState('')
|
|
185
|
+
const [codeState, setCodeState] = useState<'idle' | 'busy'>('idle')
|
|
186
|
+
const [promoOpen, setPromoOpen] = useState(false)
|
|
187
|
+
const [wlOpen, setWlOpen] = useState<Record<string, boolean>>({})
|
|
188
|
+
const [visibleDescription, setVisibleDescription] = useState<string | null>(null)
|
|
189
|
+
const attributionEvent = useRef<string | null>(null)
|
|
190
|
+
|
|
191
|
+
// Match hosted links: attribute referral visits and apply a carried promo once
|
|
192
|
+
// per event. Explicit props win. URL reading (web-only) is intentionally
|
|
193
|
+
// skipped on native — `readAttributionFromUrl` is accepted for prop parity.
|
|
194
|
+
useEffect(() => {
|
|
195
|
+
if (attributionEvent.current === eventId) return
|
|
196
|
+
attributionEvent.current = eventId
|
|
197
|
+
|
|
198
|
+
const promo = initialPromoCode?.trim() ?? ''
|
|
199
|
+
const referral = referrer
|
|
200
|
+
|
|
201
|
+
if (referral !== undefined && String(referral).trim()) {
|
|
202
|
+
checkout.attributeReferrer(eventId, referral).catch(() => undefined)
|
|
203
|
+
}
|
|
204
|
+
if (promo) {
|
|
205
|
+
setCode(promo)
|
|
206
|
+
setPromoOpen(true)
|
|
207
|
+
setCodeState('busy')
|
|
208
|
+
checkout
|
|
209
|
+
.applyPromoCode(eventId, promo)
|
|
210
|
+
.catch(() => undefined)
|
|
211
|
+
.finally(() => {
|
|
212
|
+
ticketsQuery.refetch().finally(() => setCodeState('idle'))
|
|
213
|
+
})
|
|
214
|
+
}
|
|
215
|
+
// Checkout actions and query functions are stable; this effect is scoped to
|
|
216
|
+
// one attribution pass per event.
|
|
217
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
218
|
+
}, [eventId, initialPromoCode, referrer, readAttributionFromUrl])
|
|
219
|
+
|
|
220
|
+
// Seed the currency state once so a multi-currency event can offer a switcher
|
|
221
|
+
// on the ticket screen (before the cart is primed). No-op for single-currency.
|
|
222
|
+
useEffect(() => {
|
|
223
|
+
checkout.syncCurrency(eventId, undefined, { seed: true }).catch(() => undefined)
|
|
224
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
225
|
+
}, [eventId])
|
|
226
|
+
|
|
227
|
+
const changeCurrency = (nextCode: string) => {
|
|
228
|
+
checkout
|
|
229
|
+
.syncCurrency(eventId, nextCode)
|
|
230
|
+
.then((res) => {
|
|
231
|
+
if (res.requiresCatalogRefresh) {
|
|
232
|
+
setQty({})
|
|
233
|
+
ticketsQuery.refetch()
|
|
234
|
+
}
|
|
235
|
+
})
|
|
236
|
+
.catch(() => undefined)
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// Remember each type's first-seen (pre-promo) price so a discount can strike it.
|
|
240
|
+
const originals = useRef<Record<string, number>>({})
|
|
241
|
+
useEffect(() => {
|
|
242
|
+
for (const t of tickets)
|
|
243
|
+
if (originals.current[t.id] == null) originals.current[t.id] = t.price
|
|
244
|
+
}, [tickets])
|
|
245
|
+
|
|
246
|
+
const selected = tickets.filter((t) => (qty[t.id] ?? 0) > 0)
|
|
247
|
+
// The current selection's kind — drives the CTA label and the mutual-exclusion
|
|
248
|
+
// rule below (a table order and a ticket order can't be combined).
|
|
249
|
+
const selectionIsTable = selected.some((t) => t.isTable)
|
|
250
|
+
const allowMultiple = eventInfo?.allowMultipleTicketTypePurchases === true
|
|
251
|
+
|
|
252
|
+
// Ported from the old checkout's `handleTicketSelect`: unless the event opts
|
|
253
|
+
// into multiple types (`allowMultipleTicketTypePurchases`), a new selection
|
|
254
|
+
// REPLACES the previous one — one ticket type per order. Even when multiple are
|
|
255
|
+
// allowed, switching between a table and a regular ticket clears the rest.
|
|
256
|
+
const selectQty = (t: TicketType, value: number) =>
|
|
257
|
+
setQty((prev) => {
|
|
258
|
+
const activeIds = Object.keys(prev).filter((k) => (prev[k] ?? 0) > 0)
|
|
259
|
+
const prevIsTable = activeIds.length
|
|
260
|
+
? Boolean(tickets.find((x) => x.id === activeIds[0])?.isTable)
|
|
261
|
+
: t.isTable
|
|
262
|
+
const switchingKind = activeIds.length > 0 && prevIsTable !== t.isTable
|
|
263
|
+
|
|
264
|
+
if (!allowMultiple) return value > 0 ? { [t.id]: value } : {}
|
|
265
|
+
if (switchingKind && value > 0) return { [t.id]: value }
|
|
266
|
+
const next = { ...prev }
|
|
267
|
+
if (value > 0) next[t.id] = value
|
|
268
|
+
else delete next[t.id]
|
|
269
|
+
return next
|
|
270
|
+
})
|
|
271
|
+
|
|
272
|
+
// Seated events: the buyer picks on a seat map, so seat-map ticket types show
|
|
273
|
+
// read-only (no quantity control) and the CTA becomes "Select seats". A type
|
|
274
|
+
// with `allowDirectPurchase` opts out and keeps its stepper.
|
|
275
|
+
const isSeated = eventInfo?.isSeatedEvent ?? false
|
|
276
|
+
const seatMapRow = (t: TicketType) => isSeated && !t.allowDirectPurchase
|
|
277
|
+
const hasSeatMapTickets = tickets.some(seatMapRow)
|
|
278
|
+
const directPurchasable = tickets.filter((t) => !seatMapRow(t))
|
|
279
|
+
const seatCtaLabel = eventInfo?.tableMapEnabled ? 'Select on map' : 'Select seats'
|
|
280
|
+
|
|
281
|
+
// A "Reserve tables" divider before the first table type — only when regular
|
|
282
|
+
// tickets actually precede it (a tables-first list gets no stray divider).
|
|
283
|
+
const firstTableIndex = tickets.findIndex((t) => t.isTable)
|
|
284
|
+
const firstTableId =
|
|
285
|
+
firstTableIndex > 0 && tickets.slice(0, firstTableIndex).some((t) => !t.isTable)
|
|
286
|
+
? tickets[firstTableIndex].id
|
|
287
|
+
: undefined
|
|
288
|
+
|
|
289
|
+
const prime = () => {
|
|
290
|
+
setError('')
|
|
291
|
+
const selections: TicketSelection[] = selected.map((t) => ({
|
|
292
|
+
id: t.id,
|
|
293
|
+
name: t.name,
|
|
294
|
+
optionName: t.optionName,
|
|
295
|
+
price: t.price,
|
|
296
|
+
quantity: qty[t.id] ?? 0,
|
|
297
|
+
currency: t.currency,
|
|
298
|
+
}))
|
|
299
|
+
checkout
|
|
300
|
+
.setTickets(eventId, selections)
|
|
301
|
+
.then(() => onContinue?.())
|
|
302
|
+
.catch((e) => setError(errorMessage(e)))
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
const applyCode = () => {
|
|
306
|
+
if (!code.trim()) return
|
|
307
|
+
setCodeState('busy')
|
|
308
|
+
checkout
|
|
309
|
+
.applyPromoCode(eventId, code.trim())
|
|
310
|
+
.catch(() => undefined)
|
|
311
|
+
.finally(() => {
|
|
312
|
+
ticketsQuery.refetch().finally(() => setCodeState('idle'))
|
|
313
|
+
})
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
const isAccess = promoMeta?.isAccessCodeEnabled
|
|
317
|
+
const showCodeInput = promoMeta?.isPromotionsEnabled || isAccess
|
|
318
|
+
const listQuery = isTimeSlot ? slotQuery : ticketsQuery
|
|
319
|
+
const currency = checkout.currency
|
|
320
|
+
|
|
321
|
+
const renderRow = (t: TicketType) => {
|
|
322
|
+
const notStarted = !t.salesStarted
|
|
323
|
+
const unavailable = t.soldOut || t.salesEnded || notStarted
|
|
324
|
+
const original = originals.current[t.id]
|
|
325
|
+
const discounted = original != null && original > t.price
|
|
326
|
+
const canWaitlist =
|
|
327
|
+
t.soldOut && (t.waitingListEnabled || showWaitingList) && !t.salesEnded
|
|
328
|
+
const isFree = Number(t.price) === 0
|
|
329
|
+
const sym = t.priceSymbol || t.currency
|
|
330
|
+
const range = ticketQuantityRange(t)
|
|
331
|
+
const ticketIndex = tickets.findIndex((candidate) => candidate.id === t.id)
|
|
332
|
+
const previousTicket = ticketIndex > 0 ? tickets[ticketIndex - 1] : undefined
|
|
333
|
+
const startsNamedGroup =
|
|
334
|
+
Boolean(t.groupName) && t.groupName !== previousTicket?.groupName
|
|
335
|
+
|
|
336
|
+
const groupHeading = startsNamedGroup ? (
|
|
337
|
+
<Text style={s.group}>{t.groupName}</Text>
|
|
338
|
+
) : t.id === firstTableId ? (
|
|
339
|
+
<>
|
|
340
|
+
<Divider />
|
|
341
|
+
<Text style={s.group}>Reserve tables</Text>
|
|
342
|
+
</>
|
|
343
|
+
) : null
|
|
344
|
+
|
|
345
|
+
return (
|
|
346
|
+
<Fragment key={t.id}>
|
|
347
|
+
{groupHeading}
|
|
348
|
+
<View style={s.rowWrap}>
|
|
349
|
+
<View style={s.row}>
|
|
350
|
+
<View style={s.info}>
|
|
351
|
+
<View style={s.nameRow}>
|
|
352
|
+
<Text style={s.name}>{t.name}</Text>
|
|
353
|
+
{t.descriptionRich ? (
|
|
354
|
+
<Pressable
|
|
355
|
+
accessibilityRole="button"
|
|
356
|
+
onPress={() =>
|
|
357
|
+
setVisibleDescription((cur) => (cur === t.id ? null : t.id))
|
|
358
|
+
}
|
|
359
|
+
>
|
|
360
|
+
<Text style={s.infoToggle}>
|
|
361
|
+
{visibleDescription === t.id ? 'Hide info' : 'View info'}
|
|
362
|
+
</Text>
|
|
363
|
+
</Pressable>
|
|
364
|
+
) : null}
|
|
365
|
+
</View>
|
|
366
|
+
<View style={s.priceRow}>
|
|
367
|
+
{discounted && original != null ? (
|
|
368
|
+
<Text style={s.oldPrice}>{money(sym, original)}</Text>
|
|
369
|
+
) : null}
|
|
370
|
+
<Text style={[s.amount, isFree && s.amountFree]}>
|
|
371
|
+
{isFree ? 'FREE' : money(sym, t.price)}
|
|
372
|
+
</Text>
|
|
373
|
+
{/* Native affordance kept from the RN ticket screen: tables price
|
|
374
|
+
per table. */}
|
|
375
|
+
{t.isTable ? <Text style={s.perTable}>· per table</Text> : null}
|
|
376
|
+
{/* Fees sub-line — omitted for free / sold-out types. */}
|
|
377
|
+
{!isFree && !t.soldOut ? (
|
|
378
|
+
<Text style={s.fees}>({money(sym, t.priceWithFees)} with fees)</Text>
|
|
379
|
+
) : null}
|
|
380
|
+
{t.depositPercent != null ? (
|
|
381
|
+
<Text style={s.deposit}>{t.depositPercent.toFixed(2)}% DEPOSIT</Text>
|
|
382
|
+
) : null}
|
|
383
|
+
</View>
|
|
384
|
+
</View>
|
|
385
|
+
{/* Seat-map types are read-only here — no quantity control; the buyer
|
|
386
|
+
picks them on the map via "Select seats". */}
|
|
387
|
+
{seatMapRow(t) ? null : unavailable ? (
|
|
388
|
+
<Text style={s.soldout}>
|
|
389
|
+
{t.soldOut
|
|
390
|
+
? 'Sold out'
|
|
391
|
+
: notStarted
|
|
392
|
+
? 'Sales not started'
|
|
393
|
+
: 'Sales Ended'}
|
|
394
|
+
</Text>
|
|
395
|
+
) : (
|
|
396
|
+
<View style={s.qtyWrap}>
|
|
397
|
+
{/* Tables pick a number of GUESTS (bounded by minGuests/maxGuests),
|
|
398
|
+
not a count of tickets — the label makes that explicit. */}
|
|
399
|
+
{t.isTable ? <Text style={s.guests}>Guests</Text> : null}
|
|
400
|
+
<QuantitySelect
|
|
401
|
+
value={qty[t.id] ?? 0}
|
|
402
|
+
min={range.min}
|
|
403
|
+
max={range.max}
|
|
404
|
+
step={range.step}
|
|
405
|
+
onChange={(v) => selectQty(t, v)}
|
|
406
|
+
/>
|
|
407
|
+
</View>
|
|
408
|
+
)}
|
|
409
|
+
</View>
|
|
410
|
+
{t.descriptionRich && visibleDescription === t.id ? (
|
|
411
|
+
<Text style={s.description}>{stripHtml(t.descriptionRich)}</Text>
|
|
412
|
+
) : null}
|
|
413
|
+
{canWaitlist ? (
|
|
414
|
+
wlOpen[t.id] ? (
|
|
415
|
+
<WaitingListForm
|
|
416
|
+
ticket={t}
|
|
417
|
+
onJoin={(entry) => checkout.joinWaitingList(eventId, entry)}
|
|
418
|
+
/>
|
|
419
|
+
) : (
|
|
420
|
+
<Pressable
|
|
421
|
+
accessibilityRole="button"
|
|
422
|
+
onPress={() => setWlOpen((w) => ({ ...w, [t.id]: true }))}
|
|
423
|
+
>
|
|
424
|
+
<Text style={s.wlToggle}>Join the waiting list</Text>
|
|
425
|
+
</Pressable>
|
|
426
|
+
)
|
|
427
|
+
) : null}
|
|
428
|
+
</View>
|
|
429
|
+
</Fragment>
|
|
430
|
+
)
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
// Time-slot layout groups the date's tickets under their time heading.
|
|
434
|
+
const timeGroups: { time: string; items: TicketType[] }[] = []
|
|
435
|
+
if (isTimeSlot)
|
|
436
|
+
for (const t of tickets) {
|
|
437
|
+
const time = t.timeSlot?.time ?? ''
|
|
438
|
+
const g = timeGroups.find((x) => x.time === time)
|
|
439
|
+
if (g) g.items.push(t)
|
|
440
|
+
else timeGroups.push({ time, items: [t] })
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
return (
|
|
444
|
+
<Card>
|
|
445
|
+
{title ? <SectionHeader title={title} /> : null}
|
|
446
|
+
|
|
447
|
+
{listQuery.isLoading ? (
|
|
448
|
+
<View style={s.loading}>
|
|
449
|
+
<Loader />
|
|
450
|
+
</View>
|
|
451
|
+
) : null}
|
|
452
|
+
|
|
453
|
+
{listQuery.error ? (
|
|
454
|
+
<ErrorText>{(listQuery.error as Error).message}</ErrorText>
|
|
455
|
+
) : null}
|
|
456
|
+
|
|
457
|
+
{isTimeSlot && dates.length > 0 ? (
|
|
458
|
+
<View style={s.selectBlock}>
|
|
459
|
+
<Text style={s.selectLabel}>Date</Text>
|
|
460
|
+
<Select
|
|
461
|
+
value={slotDate}
|
|
462
|
+
onChange={(d) => {
|
|
463
|
+
setSlotDate(d)
|
|
464
|
+
setQty({})
|
|
465
|
+
}}
|
|
466
|
+
options={dates.map((d) => ({ label: d, value: d }))}
|
|
467
|
+
/>
|
|
468
|
+
</View>
|
|
469
|
+
) : null}
|
|
470
|
+
|
|
471
|
+
{currency && currency.available.length > 1 ? (
|
|
472
|
+
<View style={s.selectBlock}>
|
|
473
|
+
<Text style={s.selectLabel}>Currency</Text>
|
|
474
|
+
<Select
|
|
475
|
+
value={currency.currency}
|
|
476
|
+
onChange={changeCurrency}
|
|
477
|
+
options={currency.available.map((c) => ({
|
|
478
|
+
label: `${c.name} (${c.code})`,
|
|
479
|
+
value: c.code,
|
|
480
|
+
}))}
|
|
481
|
+
/>
|
|
482
|
+
</View>
|
|
483
|
+
) : null}
|
|
484
|
+
|
|
485
|
+
{isTimeSlot && !slotQuery.isLoading && tickets.length === 0 && slotDate ? (
|
|
486
|
+
<MutedText>No sessions available on this date.</MutedText>
|
|
487
|
+
) : null}
|
|
488
|
+
|
|
489
|
+
{isTimeSlot
|
|
490
|
+
? timeGroups.map((g) => (
|
|
491
|
+
<Fragment key={g.time}>
|
|
492
|
+
{g.time ? <Text style={s.slotTime}>{g.time}</Text> : null}
|
|
493
|
+
{g.items.map(renderRow)}
|
|
494
|
+
</Fragment>
|
|
495
|
+
))
|
|
496
|
+
: tickets.map(renderRow)}
|
|
497
|
+
|
|
498
|
+
{/* Promo / access code */}
|
|
499
|
+
{showCodeInput ? (
|
|
500
|
+
<View style={s.promo}>
|
|
501
|
+
{!isAccess && !promoOpen ? (
|
|
502
|
+
<Pressable accessibilityRole="button" onPress={() => setPromoOpen(true)}>
|
|
503
|
+
<Text style={s.promoToggle}>Got a promo code? Tap here</Text>
|
|
504
|
+
</Pressable>
|
|
505
|
+
) : (
|
|
506
|
+
<>
|
|
507
|
+
<Field>
|
|
508
|
+
<Input
|
|
509
|
+
placeholder={isAccess ? 'Access code' : 'Promo code'}
|
|
510
|
+
value={code}
|
|
511
|
+
autoCapitalize="characters"
|
|
512
|
+
onChangeText={setCode}
|
|
513
|
+
/>
|
|
514
|
+
</Field>
|
|
515
|
+
<Button
|
|
516
|
+
variant="ghost"
|
|
517
|
+
onPress={applyCode}
|
|
518
|
+
loading={codeState === 'busy'}
|
|
519
|
+
disabled={codeState === 'busy' || !code.trim()}
|
|
520
|
+
>
|
|
521
|
+
{isAccess ? 'ENTER' : 'APPLY'}
|
|
522
|
+
</Button>
|
|
523
|
+
{promoMeta?.promoCodeMessage ? (
|
|
524
|
+
promoMeta.promoCodeValid === false ? (
|
|
525
|
+
<ErrorText>{promoMeta.promoCodeMessage}</ErrorText>
|
|
526
|
+
) : (
|
|
527
|
+
<MutedText>{promoMeta.promoCodeMessage}</MutedText>
|
|
528
|
+
)
|
|
529
|
+
) : null}
|
|
530
|
+
</>
|
|
531
|
+
)}
|
|
532
|
+
</View>
|
|
533
|
+
) : null}
|
|
534
|
+
|
|
535
|
+
{/* Direct-purchase CTA — hidden on a fully-seated event (nothing to buy by
|
|
536
|
+
quantity; the seat map is the only path). */}
|
|
537
|
+
{directPurchasable.length > 0 ? (
|
|
538
|
+
<Button
|
|
539
|
+
onPress={prime}
|
|
540
|
+
loading={checkout.isBusy}
|
|
541
|
+
disabled={checkout.isBusy || selected.length === 0}
|
|
542
|
+
>
|
|
543
|
+
{checkout.isBusy
|
|
544
|
+
? 'Reserving…'
|
|
545
|
+
: selectionIsTable
|
|
546
|
+
? 'Reserve tables'
|
|
547
|
+
: buttonLabel}
|
|
548
|
+
</Button>
|
|
549
|
+
) : null}
|
|
550
|
+
|
|
551
|
+
{/* Seated events: hand off to the seat map instead of quantity selection. */}
|
|
552
|
+
{hasSeatMapTickets ? (
|
|
553
|
+
<Button variant="ghost" onPress={() => onSelectSeats?.()}>
|
|
554
|
+
{seatCtaLabel}
|
|
555
|
+
</Button>
|
|
556
|
+
) : null}
|
|
557
|
+
|
|
558
|
+
{error || checkout.error ? <ErrorText>{error || checkout.error}</ErrorText> : null}
|
|
559
|
+
</Card>
|
|
560
|
+
)
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
/** Theme-independent layout bits (used by the WaitingListForm subcomponent). */
|
|
564
|
+
const staticStyles = StyleSheet.create({
|
|
565
|
+
wlForm: { gap: 8 },
|
|
566
|
+
})
|
|
567
|
+
|
|
568
|
+
const useTicketStyles = (theme: ResolvedTheme) =>
|
|
569
|
+
useMemo(
|
|
570
|
+
() =>
|
|
571
|
+
StyleSheet.create({
|
|
572
|
+
loading: { paddingVertical: 24, alignItems: 'center' },
|
|
573
|
+
selectBlock: { gap: 6 },
|
|
574
|
+
selectLabel: {
|
|
575
|
+
color: theme.muted,
|
|
576
|
+
fontSize: theme.fontSize - 2,
|
|
577
|
+
fontWeight: '600',
|
|
578
|
+
fontFamily: theme.fontFamily,
|
|
579
|
+
},
|
|
580
|
+
slotTime: {
|
|
581
|
+
color: theme.text,
|
|
582
|
+
fontSize: theme.fontSize,
|
|
583
|
+
fontWeight: '700',
|
|
584
|
+
marginTop: 4,
|
|
585
|
+
fontFamily: theme.fontFamily,
|
|
586
|
+
},
|
|
587
|
+
group: {
|
|
588
|
+
color: theme.text,
|
|
589
|
+
fontSize: theme.fontSize,
|
|
590
|
+
fontWeight: '700',
|
|
591
|
+
marginTop: 4,
|
|
592
|
+
fontFamily: theme.fontFamily,
|
|
593
|
+
},
|
|
594
|
+
rowWrap: { gap: 8 },
|
|
595
|
+
row: { flexDirection: 'row', alignItems: 'flex-start', gap: 12 },
|
|
596
|
+
info: { flex: 1, gap: 4 },
|
|
597
|
+
nameRow: { flexDirection: 'row', alignItems: 'center', flexWrap: 'wrap', gap: 8 },
|
|
598
|
+
name: {
|
|
599
|
+
color: theme.text,
|
|
600
|
+
fontSize: theme.fontSize,
|
|
601
|
+
fontWeight: '600',
|
|
602
|
+
fontFamily: theme.fontFamily,
|
|
603
|
+
},
|
|
604
|
+
infoToggle: {
|
|
605
|
+
color: theme.accent,
|
|
606
|
+
fontSize: theme.fontSize - 2,
|
|
607
|
+
fontWeight: '600',
|
|
608
|
+
fontFamily: theme.fontFamily,
|
|
609
|
+
},
|
|
610
|
+
priceRow: {
|
|
611
|
+
flexDirection: 'row',
|
|
612
|
+
alignItems: 'center',
|
|
613
|
+
flexWrap: 'wrap',
|
|
614
|
+
gap: 6,
|
|
615
|
+
},
|
|
616
|
+
oldPrice: {
|
|
617
|
+
color: theme.muted,
|
|
618
|
+
fontSize: theme.fontSize - 1,
|
|
619
|
+
textDecorationLine: 'line-through',
|
|
620
|
+
fontVariant: ['tabular-nums'],
|
|
621
|
+
fontFamily: theme.fontFamily,
|
|
622
|
+
},
|
|
623
|
+
amount: {
|
|
624
|
+
color: theme.text,
|
|
625
|
+
fontSize: theme.fontSize,
|
|
626
|
+
fontWeight: '700',
|
|
627
|
+
fontVariant: ['tabular-nums'],
|
|
628
|
+
fontFamily: theme.fontFamily,
|
|
629
|
+
},
|
|
630
|
+
amountFree: { color: theme.success },
|
|
631
|
+
perTable: {
|
|
632
|
+
color: theme.muted,
|
|
633
|
+
fontSize: theme.fontSize - 1,
|
|
634
|
+
fontFamily: theme.fontFamily,
|
|
635
|
+
},
|
|
636
|
+
fees: {
|
|
637
|
+
color: theme.muted,
|
|
638
|
+
fontSize: theme.fontSize - 1,
|
|
639
|
+
fontFamily: theme.fontFamily,
|
|
640
|
+
},
|
|
641
|
+
deposit: {
|
|
642
|
+
color: theme.muted,
|
|
643
|
+
fontSize: theme.fontSize - 2,
|
|
644
|
+
fontWeight: '600',
|
|
645
|
+
fontFamily: theme.fontFamily,
|
|
646
|
+
},
|
|
647
|
+
soldout: {
|
|
648
|
+
color: theme.muted,
|
|
649
|
+
fontSize: theme.fontSize - 1,
|
|
650
|
+
fontWeight: '600',
|
|
651
|
+
fontFamily: theme.fontFamily,
|
|
652
|
+
},
|
|
653
|
+
qtyWrap: { flexDirection: 'row', alignItems: 'center', gap: 8 },
|
|
654
|
+
guests: {
|
|
655
|
+
color: theme.muted,
|
|
656
|
+
fontSize: theme.fontSize - 2,
|
|
657
|
+
fontWeight: '600',
|
|
658
|
+
fontFamily: theme.fontFamily,
|
|
659
|
+
},
|
|
660
|
+
description: {
|
|
661
|
+
color: theme.muted,
|
|
662
|
+
fontSize: theme.fontSize - 1,
|
|
663
|
+
fontFamily: theme.fontFamily,
|
|
664
|
+
},
|
|
665
|
+
wlToggle: {
|
|
666
|
+
color: theme.accent,
|
|
667
|
+
fontSize: theme.fontSize - 1,
|
|
668
|
+
fontWeight: '600',
|
|
669
|
+
fontFamily: theme.fontFamily,
|
|
670
|
+
},
|
|
671
|
+
promo: { gap: 8 },
|
|
672
|
+
promoToggle: {
|
|
673
|
+
color: theme.accent,
|
|
674
|
+
fontSize: theme.fontSize - 1,
|
|
675
|
+
fontWeight: '600',
|
|
676
|
+
fontFamily: theme.fontFamily,
|
|
677
|
+
},
|
|
678
|
+
}),
|
|
679
|
+
[theme]
|
|
680
|
+
)
|