tf-checkout-react-native 1.0.45 → 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 -18176
- package/lib/index.js.map +0 -1
- package/lib/index.mjs +0 -18263
- 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 -142
- 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,126 @@
|
|
|
1
|
+
import React, { type Dispatch, type FC, type SetStateAction } from 'react'
|
|
2
|
+
import { StyleSheet, View } from 'react-native'
|
|
3
|
+
|
|
4
|
+
import { Field, Input } from '../../ui/Field'
|
|
5
|
+
import { BodyText } from '../../ui/primitives'
|
|
6
|
+
import { Select, type SelectOption } from '../../ui/Select'
|
|
7
|
+
import type { BillingDraft, BillingFieldError, LocationOption } from './types'
|
|
8
|
+
|
|
9
|
+
interface BillingAddressFieldsProps {
|
|
10
|
+
billing: BillingDraft
|
|
11
|
+
countries: LocationOption[]
|
|
12
|
+
states: LocationOption[]
|
|
13
|
+
fieldError: BillingFieldError
|
|
14
|
+
setBilling: Dispatch<SetStateAction<BillingDraft>>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Address fields shared by the embedded and stepped billing experiences. The RN
|
|
19
|
+
* analogue of the web `BillingAddressFields`: country/state `<select>` become the
|
|
20
|
+
* native `../ui/Select`; text inputs keep the same placeholder copy.
|
|
21
|
+
*/
|
|
22
|
+
export const BillingAddressFields: FC<BillingAddressFieldsProps> = ({
|
|
23
|
+
billing,
|
|
24
|
+
countries,
|
|
25
|
+
states,
|
|
26
|
+
fieldError,
|
|
27
|
+
setBilling,
|
|
28
|
+
}) => {
|
|
29
|
+
const setValue = (key: keyof BillingDraft) => (value: string) =>
|
|
30
|
+
setBilling((current) => ({ ...current, [key]: value }))
|
|
31
|
+
|
|
32
|
+
const countryOptions: SelectOption[] = countries.map((country) => ({
|
|
33
|
+
label: country.name,
|
|
34
|
+
value: String(country.id),
|
|
35
|
+
}))
|
|
36
|
+
const stateOptions: SelectOption[] = states.map((state) => ({
|
|
37
|
+
label: state.name,
|
|
38
|
+
value: String(state.id),
|
|
39
|
+
}))
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<>
|
|
43
|
+
<BodyText style={styles.sectionLabel}>Billing address *</BodyText>
|
|
44
|
+
<Field error={fieldError('Street address', 'Street address is required.')}>
|
|
45
|
+
<Input
|
|
46
|
+
placeholder="Street address *"
|
|
47
|
+
value={billing.streetAddress ?? ''}
|
|
48
|
+
onChangeText={setValue('streetAddress')}
|
|
49
|
+
invalid={Boolean(fieldError('Street address'))}
|
|
50
|
+
/>
|
|
51
|
+
</Field>
|
|
52
|
+
<View style={styles.row}>
|
|
53
|
+
<View style={styles.col}>
|
|
54
|
+
<Field error={fieldError('City', 'City is required.')}>
|
|
55
|
+
<Input
|
|
56
|
+
placeholder="City *"
|
|
57
|
+
value={billing.city ?? ''}
|
|
58
|
+
onChangeText={setValue('city')}
|
|
59
|
+
invalid={Boolean(fieldError('City'))}
|
|
60
|
+
/>
|
|
61
|
+
</Field>
|
|
62
|
+
</View>
|
|
63
|
+
<View style={styles.col}>
|
|
64
|
+
<Field error={fieldError('ZIP / postcode', 'ZIP / postcode is required.')}>
|
|
65
|
+
<Input
|
|
66
|
+
placeholder="ZIP / Postcode *"
|
|
67
|
+
value={billing.zip ?? ''}
|
|
68
|
+
onChangeText={setValue('zip')}
|
|
69
|
+
keyboardType="numbers-and-punctuation"
|
|
70
|
+
invalid={Boolean(fieldError('ZIP / postcode'))}
|
|
71
|
+
/>
|
|
72
|
+
</Field>
|
|
73
|
+
</View>
|
|
74
|
+
</View>
|
|
75
|
+
<View style={styles.row}>
|
|
76
|
+
<View style={styles.col}>
|
|
77
|
+
<Field error={fieldError('Country', 'Country is required.')}>
|
|
78
|
+
<Select
|
|
79
|
+
value={billing.countryId ?? undefined}
|
|
80
|
+
onChange={(value) => {
|
|
81
|
+
const country = countries.find(
|
|
82
|
+
(candidate) => String(candidate.id) === value
|
|
83
|
+
)
|
|
84
|
+
setBilling((current) => ({
|
|
85
|
+
...current,
|
|
86
|
+
countryId: value,
|
|
87
|
+
countryCode: country?.code?.toUpperCase(),
|
|
88
|
+
stateId: undefined,
|
|
89
|
+
stateCode: undefined,
|
|
90
|
+
}))
|
|
91
|
+
}}
|
|
92
|
+
options={countryOptions}
|
|
93
|
+
placeholder="— country * —"
|
|
94
|
+
invalid={Boolean(fieldError('Country'))}
|
|
95
|
+
/>
|
|
96
|
+
</Field>
|
|
97
|
+
</View>
|
|
98
|
+
<View style={styles.col}>
|
|
99
|
+
<Field error={fieldError('State / county', 'State / county is required.')}>
|
|
100
|
+
<Select
|
|
101
|
+
value={billing.stateId ?? undefined}
|
|
102
|
+
onChange={(value) => {
|
|
103
|
+
const state = states.find((candidate) => String(candidate.id) === value)
|
|
104
|
+
setBilling((current) => ({
|
|
105
|
+
...current,
|
|
106
|
+
stateId: value,
|
|
107
|
+
stateCode: state?.code,
|
|
108
|
+
}))
|
|
109
|
+
}}
|
|
110
|
+
options={stateOptions}
|
|
111
|
+
placeholder={`— state / county${states.length > 0 ? ' *' : ''} —`}
|
|
112
|
+
disabled={!billing.countryId || states.length === 0}
|
|
113
|
+
invalid={Boolean(fieldError('State / county'))}
|
|
114
|
+
/>
|
|
115
|
+
</Field>
|
|
116
|
+
</View>
|
|
117
|
+
</View>
|
|
118
|
+
</>
|
|
119
|
+
)
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const styles = StyleSheet.create({
|
|
123
|
+
sectionLabel: { fontWeight: '600' },
|
|
124
|
+
row: { flexDirection: 'row', gap: 10 },
|
|
125
|
+
col: { flex: 1 },
|
|
126
|
+
})
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import React, { type FC } from 'react'
|
|
2
|
+
|
|
3
|
+
import type { BuyerFieldSpec } from 'tf-checkout-shared'
|
|
4
|
+
|
|
5
|
+
import { Field, Input } from '../../ui/Field'
|
|
6
|
+
import { Select, type SelectOption } from '../../ui/Select'
|
|
7
|
+
import type { LocationOption } from './types'
|
|
8
|
+
|
|
9
|
+
interface BuyerFieldProps {
|
|
10
|
+
field: BuyerFieldSpec
|
|
11
|
+
value: string
|
|
12
|
+
countries: LocationOption[]
|
|
13
|
+
error?: string
|
|
14
|
+
onChange: (value: string) => void
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Renders one backend-configured buyer field without owning form state. The RN
|
|
19
|
+
* analogue of the web `BuyerField`: the web `<select>`/`<option>` become the
|
|
20
|
+
* native `../ui/Select` sheet; the Instagram field stays a text `Input`.
|
|
21
|
+
*/
|
|
22
|
+
export const BuyerField: FC<BuyerFieldProps> = ({
|
|
23
|
+
field,
|
|
24
|
+
value,
|
|
25
|
+
countries,
|
|
26
|
+
error,
|
|
27
|
+
onChange,
|
|
28
|
+
}) => {
|
|
29
|
+
const invalid = error !== undefined && error !== null
|
|
30
|
+
|
|
31
|
+
if (field.kind === 'gender') {
|
|
32
|
+
const options: SelectOption[] = [
|
|
33
|
+
{ label: 'Male', value: 'M' },
|
|
34
|
+
{ label: 'Female', value: 'F' },
|
|
35
|
+
]
|
|
36
|
+
return (
|
|
37
|
+
<Field label={field.label} required={field.required} error={error}>
|
|
38
|
+
<Select
|
|
39
|
+
value={value || undefined}
|
|
40
|
+
onChange={onChange}
|
|
41
|
+
options={options}
|
|
42
|
+
placeholder="— select —"
|
|
43
|
+
invalid={invalid}
|
|
44
|
+
/>
|
|
45
|
+
</Field>
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (field.kind === 'nationality') {
|
|
50
|
+
const options: SelectOption[] = countries.map((country) => ({
|
|
51
|
+
label: country.name,
|
|
52
|
+
value: String(country.id),
|
|
53
|
+
}))
|
|
54
|
+
return (
|
|
55
|
+
<Field label={field.label} required={field.required} error={error}>
|
|
56
|
+
<Select
|
|
57
|
+
value={value || undefined}
|
|
58
|
+
onChange={onChange}
|
|
59
|
+
options={options}
|
|
60
|
+
placeholder="— select —"
|
|
61
|
+
invalid={invalid}
|
|
62
|
+
/>
|
|
63
|
+
</Field>
|
|
64
|
+
)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return (
|
|
68
|
+
<Field label={field.label} required={field.required} error={error}>
|
|
69
|
+
<Input
|
|
70
|
+
placeholder="@handle or profile URL"
|
|
71
|
+
value={value}
|
|
72
|
+
onChangeText={onChange}
|
|
73
|
+
autoCapitalize="none"
|
|
74
|
+
invalid={invalid}
|
|
75
|
+
/>
|
|
76
|
+
</Field>
|
|
77
|
+
)
|
|
78
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import React, { type FC, type ReactNode } from 'react'
|
|
2
|
+
import { StyleSheet, View } from 'react-native'
|
|
3
|
+
|
|
4
|
+
import { Field, Input } from '../../ui/Field'
|
|
5
|
+
import { BodyText, Card, SectionHeader } from '../../ui/primitives'
|
|
6
|
+
import type { BillingFieldError, HolderDraft } from './types'
|
|
7
|
+
|
|
8
|
+
interface TicketHoldersCardProps {
|
|
9
|
+
holders: HolderDraft[]
|
|
10
|
+
holderNamesRequired: boolean
|
|
11
|
+
collectHolderContact: boolean
|
|
12
|
+
fieldError: BillingFieldError
|
|
13
|
+
renderCustomFields: (holder: HolderDraft, index: number) => ReactNode
|
|
14
|
+
patchHolder: (index: number, patch: Partial<HolderDraft>) => void
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Ticket-holder card kept separate from buyer billing for parity and reuse. The
|
|
19
|
+
* RN analogue of the web `TicketHoldersCard`: the web `PhoneInput` lib becomes a
|
|
20
|
+
* plain `Input` with `keyboardType="phone-pad"`.
|
|
21
|
+
*/
|
|
22
|
+
export const TicketHoldersCard: FC<TicketHoldersCardProps> = ({
|
|
23
|
+
holders,
|
|
24
|
+
holderNamesRequired,
|
|
25
|
+
collectHolderContact,
|
|
26
|
+
fieldError,
|
|
27
|
+
renderCustomFields,
|
|
28
|
+
patchHolder,
|
|
29
|
+
}) => (
|
|
30
|
+
<Card>
|
|
31
|
+
<SectionHeader title="Ticket Holders" />
|
|
32
|
+
{holders.map((holder, index) => {
|
|
33
|
+
const firstNameKey = `Ticket ${index + 1} holder first name`
|
|
34
|
+
const lastNameKey = `Ticket ${index + 1} holder last name`
|
|
35
|
+
const emailKey = `Ticket ${index + 1} holder email`
|
|
36
|
+
const phoneKey = `Ticket ${index + 1} holder phone`
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<View key={index} style={styles.holder}>
|
|
40
|
+
<BodyText style={styles.holderTitle}>Ticket {index + 1}</BodyText>
|
|
41
|
+
{holderNamesRequired ? (
|
|
42
|
+
<View style={styles.row}>
|
|
43
|
+
<View style={styles.col}>
|
|
44
|
+
<Field
|
|
45
|
+
label="First Name"
|
|
46
|
+
required
|
|
47
|
+
error={fieldError(firstNameKey, 'First name is required.')}
|
|
48
|
+
>
|
|
49
|
+
<Input
|
|
50
|
+
value={holder.firstName}
|
|
51
|
+
onChangeText={(value) => patchHolder(index, { firstName: value })}
|
|
52
|
+
autoCapitalize="words"
|
|
53
|
+
invalid={Boolean(fieldError(firstNameKey))}
|
|
54
|
+
/>
|
|
55
|
+
</Field>
|
|
56
|
+
</View>
|
|
57
|
+
<View style={styles.col}>
|
|
58
|
+
<Field
|
|
59
|
+
label="Last Name"
|
|
60
|
+
required
|
|
61
|
+
error={fieldError(lastNameKey, 'Last name is required.')}
|
|
62
|
+
>
|
|
63
|
+
<Input
|
|
64
|
+
value={holder.lastName}
|
|
65
|
+
onChangeText={(value) => patchHolder(index, { lastName: value })}
|
|
66
|
+
autoCapitalize="words"
|
|
67
|
+
invalid={Boolean(fieldError(lastNameKey))}
|
|
68
|
+
/>
|
|
69
|
+
</Field>
|
|
70
|
+
</View>
|
|
71
|
+
</View>
|
|
72
|
+
) : null}
|
|
73
|
+
{collectHolderContact ? (
|
|
74
|
+
<View style={styles.row}>
|
|
75
|
+
<View style={styles.col}>
|
|
76
|
+
<Field
|
|
77
|
+
label="Email Address"
|
|
78
|
+
required
|
|
79
|
+
error={fieldError(emailKey, 'Enter a valid email address.')}
|
|
80
|
+
>
|
|
81
|
+
<Input
|
|
82
|
+
value={holder.email}
|
|
83
|
+
onChangeText={(value) => patchHolder(index, { email: value })}
|
|
84
|
+
keyboardType="email-address"
|
|
85
|
+
autoCapitalize="none"
|
|
86
|
+
invalid={Boolean(fieldError(emailKey))}
|
|
87
|
+
/>
|
|
88
|
+
</Field>
|
|
89
|
+
</View>
|
|
90
|
+
<View style={styles.col}>
|
|
91
|
+
<Field
|
|
92
|
+
label="Phone"
|
|
93
|
+
required
|
|
94
|
+
error={fieldError(phoneKey, 'Enter a valid phone number.')}
|
|
95
|
+
>
|
|
96
|
+
{/* Native: plain phone-pad Input in place of web's PhoneInput lib. */}
|
|
97
|
+
<Input
|
|
98
|
+
value={holder.phone}
|
|
99
|
+
onChangeText={(value) => patchHolder(index, { phone: value })}
|
|
100
|
+
keyboardType="phone-pad"
|
|
101
|
+
invalid={Boolean(fieldError(phoneKey))}
|
|
102
|
+
/>
|
|
103
|
+
</Field>
|
|
104
|
+
</View>
|
|
105
|
+
</View>
|
|
106
|
+
) : null}
|
|
107
|
+
{renderCustomFields(holder, index)}
|
|
108
|
+
</View>
|
|
109
|
+
)
|
|
110
|
+
})}
|
|
111
|
+
</Card>
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
const styles = StyleSheet.create({
|
|
115
|
+
holder: { gap: 12 },
|
|
116
|
+
holderTitle: { fontWeight: '700' },
|
|
117
|
+
row: { flexDirection: 'row', gap: 10 },
|
|
118
|
+
col: { flex: 1 },
|
|
119
|
+
})
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The billing form shapes now live in the SDK so web and native share one
|
|
3
|
+
* model. Re-exported here to keep `./billing/types` imports working.
|
|
4
|
+
*/
|
|
5
|
+
export type {
|
|
6
|
+
BillingDraft,
|
|
7
|
+
HolderDraft,
|
|
8
|
+
LocationOption,
|
|
9
|
+
BillingFieldError,
|
|
10
|
+
} from 'tf-checkout-shared'
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** The native checkout sections — the RN analogues of the web `sections/`. */
|
|
2
|
+
export { Tickets } from './Tickets'
|
|
3
|
+
export { AddOns } from './AddOns'
|
|
4
|
+
export { BillingInfo, type CheckoutPrivacyPolicy } from './BillingInfo'
|
|
5
|
+
export { OrderSummary } from './OrderSummary'
|
|
6
|
+
export { Payment } from './Payment'
|
|
7
|
+
export { IDVerification } from './IDVerification'
|
|
8
|
+
export { Confirmation } from './Confirmation'
|
package/src/storage.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React Native storage adapter for the SDK's token/session store.
|
|
3
|
+
*
|
|
4
|
+
* The shared transport reads/writes tokens through a SYNCHRONOUS `StorageAdapter`
|
|
5
|
+
* (see tf-checkout-shared `client/storage.ts`). Web hands it a `localStorage`
|
|
6
|
+
* adapter; the native side needs a synchronous, persisted store so the buyer's
|
|
7
|
+
* bearer session survives an app restart. `react-native-mmkv` is exactly that —
|
|
8
|
+
* synchronous get/set/delete backed by native MMKV — so we wrap it here.
|
|
9
|
+
*
|
|
10
|
+
* Unlike web, native has no session cookie: the bearer token IS the session, so
|
|
11
|
+
* `configureCheckout` defaults to this persisted adapter (never in-memory) so a
|
|
12
|
+
* signed-in buyer stays signed in between launches.
|
|
13
|
+
*/
|
|
14
|
+
import { MMKV } from 'react-native-mmkv'
|
|
15
|
+
|
|
16
|
+
import type { StorageAdapter } from 'tf-checkout-shared'
|
|
17
|
+
|
|
18
|
+
/** Build a `StorageAdapter` backed by an MMKV instance (its own `id` namespace
|
|
19
|
+
* so it never collides with the host app's MMKV data). */
|
|
20
|
+
export const createMmkvStorage = (id = 'tf-checkout'): StorageAdapter => {
|
|
21
|
+
const mmkv = new MMKV({ id })
|
|
22
|
+
return {
|
|
23
|
+
getItem: (key) => mmkv.getString(key) ?? null,
|
|
24
|
+
setItem: (key, value) => mmkv.set(key, value),
|
|
25
|
+
removeItem: (key) => mmkv.delete(key),
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `<CheckoutProvider>` — wrap your checkout UI once. The RN analogue of the web
|
|
3
|
+
* provider. It:
|
|
4
|
+
* - provides the checkout to every section via context (so `<Tickets/>`,
|
|
5
|
+
* `<Payment/>`, … just read it). By default it runs `useCheckout()` (the
|
|
6
|
+
* native-wired engine: stripe-react-native + shared store); pass your own
|
|
7
|
+
* instance as `value` to bring your own.
|
|
8
|
+
* - resolves the `theme` token set and exposes it via `useTheme()`.
|
|
9
|
+
* - coordinates submit-attempt validation across separately composed sections.
|
|
10
|
+
* - bundles a `QueryClientProvider` (the shared react-query hooks need one).
|
|
11
|
+
*
|
|
12
|
+
* Unlike web there are no CSS variables and no DOM scroll-to-invalid — sections
|
|
13
|
+
* read `attempt` to reveal their own errors on a failed submit.
|
|
14
|
+
*/
|
|
15
|
+
import React, {
|
|
16
|
+
createContext,
|
|
17
|
+
useCallback,
|
|
18
|
+
useContext,
|
|
19
|
+
useMemo,
|
|
20
|
+
useState,
|
|
21
|
+
type FC,
|
|
22
|
+
type ReactNode,
|
|
23
|
+
} from 'react'
|
|
24
|
+
|
|
25
|
+
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
|
26
|
+
|
|
27
|
+
import type { UseCheckout } from 'tf-checkout-shared'
|
|
28
|
+
|
|
29
|
+
import { useCheckout } from '../useCheckout'
|
|
30
|
+
import { useInstallmentPicker } from './InstallmentPicker'
|
|
31
|
+
import { resolveTheme, type CheckoutTheme, type ResolvedTheme } from './theme'
|
|
32
|
+
|
|
33
|
+
const CheckoutCtx = createContext<UseCheckout | null>(null)
|
|
34
|
+
const ThemeCtx = createContext<ResolvedTheme>(resolveTheme())
|
|
35
|
+
const ValidationCtx = createContext<{
|
|
36
|
+
attempt: number
|
|
37
|
+
requestValidation: () => void
|
|
38
|
+
} | null>(null)
|
|
39
|
+
|
|
40
|
+
/** One shared react-query client for the whole checkout — created lazily so it
|
|
41
|
+
* survives across mounts (matching the app-wide engine store singleton). */
|
|
42
|
+
let sharedQueryClient: QueryClient | null = null
|
|
43
|
+
const getQueryClient = (): QueryClient => {
|
|
44
|
+
if (!sharedQueryClient) {
|
|
45
|
+
sharedQueryClient = new QueryClient({
|
|
46
|
+
defaultOptions: { queries: { retry: 1, staleTime: 60_000 } },
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
return sharedQueryClient
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface CheckoutProviderProps {
|
|
53
|
+
/**
|
|
54
|
+
* Bring your own checkout instance (from a top-level `useCheckout()`). Omit
|
|
55
|
+
* and the provider runs `useCheckout()` itself. Either way the sections read
|
|
56
|
+
* the same shared cart (the engine store is a module singleton).
|
|
57
|
+
*/
|
|
58
|
+
value?: UseCheckout
|
|
59
|
+
/** Retheme via design tokens. */
|
|
60
|
+
theme?: CheckoutTheme
|
|
61
|
+
/** Provide your own react-query client instead of the bundled shared one. */
|
|
62
|
+
queryClient?: QueryClient
|
|
63
|
+
children: ReactNode
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** The context boundary — given a resolved checkout instance + theme. */
|
|
67
|
+
const CheckoutRoot: FC<{
|
|
68
|
+
checkout: UseCheckout
|
|
69
|
+
theme?: CheckoutTheme
|
|
70
|
+
children: ReactNode
|
|
71
|
+
}> = ({ checkout, theme, children }) => {
|
|
72
|
+
const [attempt, setAttempt] = useState(0)
|
|
73
|
+
const requestValidation = useCallback(() => setAttempt((n) => n + 1), [])
|
|
74
|
+
const validation = useMemo(
|
|
75
|
+
() => ({ attempt, requestValidation }),
|
|
76
|
+
[attempt, requestValidation]
|
|
77
|
+
)
|
|
78
|
+
const resolved = useMemo(() => resolveTheme(theme), [theme])
|
|
79
|
+
|
|
80
|
+
return (
|
|
81
|
+
<CheckoutCtx.Provider value={checkout}>
|
|
82
|
+
<ThemeCtx.Provider value={resolved}>
|
|
83
|
+
<ValidationCtx.Provider value={validation}>{children}</ValidationCtx.Provider>
|
|
84
|
+
</ThemeCtx.Provider>
|
|
85
|
+
</CheckoutCtx.Provider>
|
|
86
|
+
)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Default path: the provider owns the `useCheckout()` call. */
|
|
90
|
+
const SelfProvidedCheckout: FC<Omit<CheckoutProviderProps, 'value' | 'queryClient'>> = ({
|
|
91
|
+
children,
|
|
92
|
+
...rest
|
|
93
|
+
}) => {
|
|
94
|
+
// Bridge the engine's mid-payment MSI (installments) callback to a native modal.
|
|
95
|
+
const { onInstallmentOffers, picker } = useInstallmentPicker()
|
|
96
|
+
const checkout = useCheckout({ ports: { onInstallmentOffers } })
|
|
97
|
+
return (
|
|
98
|
+
<CheckoutRoot checkout={checkout} {...rest}>
|
|
99
|
+
{children}
|
|
100
|
+
{picker}
|
|
101
|
+
</CheckoutRoot>
|
|
102
|
+
)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export const CheckoutProvider: FC<CheckoutProviderProps> = ({
|
|
106
|
+
value,
|
|
107
|
+
queryClient,
|
|
108
|
+
...rest
|
|
109
|
+
}) => (
|
|
110
|
+
// `value` present ⇒ don't call `useCheckout()` (no second binding); absent ⇒
|
|
111
|
+
// the self-providing branch owns it. The choice is static per mount.
|
|
112
|
+
<QueryClientProvider client={queryClient ?? getQueryClient()}>
|
|
113
|
+
{value ? (
|
|
114
|
+
<CheckoutRoot checkout={value} {...rest} />
|
|
115
|
+
) : (
|
|
116
|
+
<SelfProvidedCheckout {...rest} />
|
|
117
|
+
)}
|
|
118
|
+
</QueryClientProvider>
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
/** Read the shared checkout inside any component under `<CheckoutProvider>`. */
|
|
122
|
+
export const useCheckoutContext = (): UseCheckout => {
|
|
123
|
+
const ctx = useContext(CheckoutCtx)
|
|
124
|
+
if (!ctx) {
|
|
125
|
+
throw new Error('useCheckoutContext must be used within <CheckoutProvider>.')
|
|
126
|
+
}
|
|
127
|
+
return ctx
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** Read the resolved theme tokens. */
|
|
131
|
+
export const useTheme = (): ResolvedTheme => useContext(ThemeCtx)
|
|
132
|
+
|
|
133
|
+
/** Coordinate submit-attempt validation across separately composed sections. */
|
|
134
|
+
export const useCheckoutValidation = () => {
|
|
135
|
+
const ctx = useContext(ValidationCtx)
|
|
136
|
+
if (!ctx) {
|
|
137
|
+
throw new Error('useCheckoutValidation must be used within <CheckoutProvider>.')
|
|
138
|
+
}
|
|
139
|
+
return ctx
|
|
140
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data-driven custom fields — the RN analogue of the web `ui/CustomFields`. The
|
|
3
|
+
* event describes what to collect (`EventCustomField[]`, order- / ticket- /
|
|
4
|
+
* add-on-scoped); these render it and report values back. No per-brand form code:
|
|
5
|
+
* pass the group, hold the values.
|
|
6
|
+
*
|
|
7
|
+
* Native adaptations vs web:
|
|
8
|
+
* - `<select>` and `radio` (single choice) both render as the native `Select`
|
|
9
|
+
* sheet — there is no native radio primitive.
|
|
10
|
+
* - `select_multi` renders a column of native `Checkbox` rows.
|
|
11
|
+
* - there is no multiline `Textarea` primitive, so `textarea` falls back to a
|
|
12
|
+
* single-line `Input` (value parity preserved).
|
|
13
|
+
*/
|
|
14
|
+
import React, { type FC } from 'react'
|
|
15
|
+
import { View } from 'react-native'
|
|
16
|
+
|
|
17
|
+
import type {
|
|
18
|
+
CustomFieldValues,
|
|
19
|
+
EventCustomField,
|
|
20
|
+
EventCustomFieldGroup,
|
|
21
|
+
} from 'tf-checkout-shared'
|
|
22
|
+
import { ticketFieldsFor } from 'tf-checkout-shared'
|
|
23
|
+
|
|
24
|
+
import { Checkbox, Field, Input } from './Field'
|
|
25
|
+
import { ErrorText, MutedText } from './primitives'
|
|
26
|
+
import { Select, type SelectOption } from './Select'
|
|
27
|
+
|
|
28
|
+
type FieldValue = string | string[]
|
|
29
|
+
|
|
30
|
+
const asString = (v: FieldValue | undefined): string =>
|
|
31
|
+
Array.isArray(v) ? (v[0] ?? '') : (v ?? '')
|
|
32
|
+
const asArray = (v: FieldValue | undefined): string[] =>
|
|
33
|
+
Array.isArray(v) ? v : v ? [v] : []
|
|
34
|
+
|
|
35
|
+
export interface CustomFieldInputProps {
|
|
36
|
+
field: EventCustomField
|
|
37
|
+
value: FieldValue | undefined
|
|
38
|
+
onChange: (value: FieldValue) => void
|
|
39
|
+
error?: string
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Render one custom field by its declared `type`. */
|
|
43
|
+
export const CustomFieldInput: FC<CustomFieldInputProps> = ({
|
|
44
|
+
field,
|
|
45
|
+
value,
|
|
46
|
+
onChange,
|
|
47
|
+
error,
|
|
48
|
+
}) => {
|
|
49
|
+
const invalid = error !== undefined && error !== null
|
|
50
|
+
const desc = field.description ? <MutedText>{field.description}</MutedText> : null
|
|
51
|
+
|
|
52
|
+
switch (field.type) {
|
|
53
|
+
case 'textarea':
|
|
54
|
+
// Native adaptation: no multiline Textarea primitive — single-line Input.
|
|
55
|
+
return (
|
|
56
|
+
<Field label={field.label} required={field.required} error={error}>
|
|
57
|
+
{desc}
|
|
58
|
+
<Input value={asString(value)} onChangeText={onChange} invalid={invalid} />
|
|
59
|
+
</Field>
|
|
60
|
+
)
|
|
61
|
+
case 'select':
|
|
62
|
+
case 'radio': {
|
|
63
|
+
// Native adaptation: web renders radio inline; both single-choice types use
|
|
64
|
+
// the `Select` sheet here (no native radio primitive).
|
|
65
|
+
const options: SelectOption[] = field.options.map((o) => ({
|
|
66
|
+
label: o.name,
|
|
67
|
+
value: o.value,
|
|
68
|
+
}))
|
|
69
|
+
return (
|
|
70
|
+
<Field label={field.label} required={field.required} error={error}>
|
|
71
|
+
{desc}
|
|
72
|
+
<Select
|
|
73
|
+
value={asString(value) || undefined}
|
|
74
|
+
onChange={onChange}
|
|
75
|
+
options={options}
|
|
76
|
+
placeholder="— select —"
|
|
77
|
+
invalid={invalid}
|
|
78
|
+
/>
|
|
79
|
+
</Field>
|
|
80
|
+
)
|
|
81
|
+
}
|
|
82
|
+
case 'select_multi': {
|
|
83
|
+
const picked = asArray(value)
|
|
84
|
+
const toggle = (v: string, on: boolean) =>
|
|
85
|
+
onChange(on ? [...picked, v] : picked.filter((x) => x !== v))
|
|
86
|
+
return (
|
|
87
|
+
<Field label={field.label} required={field.required} error={error}>
|
|
88
|
+
{desc}
|
|
89
|
+
<View style={{ gap: 8 }}>
|
|
90
|
+
{field.options.map((o) => (
|
|
91
|
+
<Checkbox
|
|
92
|
+
key={o.id}
|
|
93
|
+
checked={picked.includes(o.value)}
|
|
94
|
+
onChange={(on) => toggle(o.value, on)}
|
|
95
|
+
label={o.name}
|
|
96
|
+
/>
|
|
97
|
+
))}
|
|
98
|
+
</View>
|
|
99
|
+
</Field>
|
|
100
|
+
)
|
|
101
|
+
}
|
|
102
|
+
case 'checkbox':
|
|
103
|
+
return (
|
|
104
|
+
<View style={{ gap: 6 }}>
|
|
105
|
+
<Checkbox
|
|
106
|
+
checked={asString(value) === '1'}
|
|
107
|
+
onChange={(on) => onChange(on ? '1' : '')}
|
|
108
|
+
label={`${field.label}${field.required ? ' *' : ''}`}
|
|
109
|
+
invalid={invalid}
|
|
110
|
+
/>
|
|
111
|
+
{error !== undefined && error !== null ? <ErrorText>{error}</ErrorText> : null}
|
|
112
|
+
</View>
|
|
113
|
+
)
|
|
114
|
+
case 'image':
|
|
115
|
+
// File capture needs an upload rail the SDK doesn't own yet — surface it
|
|
116
|
+
// rather than silently dropping a required field.
|
|
117
|
+
return (
|
|
118
|
+
<Field label={field.label} required={field.required} error={error}>
|
|
119
|
+
{desc}
|
|
120
|
+
<MutedText>Image upload isn’t supported in this build.</MutedText>
|
|
121
|
+
</Field>
|
|
122
|
+
)
|
|
123
|
+
default:
|
|
124
|
+
// text / phone / email
|
|
125
|
+
return (
|
|
126
|
+
<Field label={field.label} required={field.required} error={error}>
|
|
127
|
+
{desc}
|
|
128
|
+
<Input
|
|
129
|
+
value={asString(value)}
|
|
130
|
+
onChangeText={onChange}
|
|
131
|
+
keyboardType={
|
|
132
|
+
field.type === 'email'
|
|
133
|
+
? 'email-address'
|
|
134
|
+
: field.type === 'phone'
|
|
135
|
+
? 'phone-pad'
|
|
136
|
+
: 'default'
|
|
137
|
+
}
|
|
138
|
+
autoCapitalize={field.type === 'email' ? 'none' : 'sentences'}
|
|
139
|
+
invalid={invalid}
|
|
140
|
+
/>
|
|
141
|
+
</Field>
|
|
142
|
+
)
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export interface CustomFieldGroupFieldsProps {
|
|
147
|
+
group: EventCustomFieldGroup
|
|
148
|
+
values: CustomFieldValues
|
|
149
|
+
onChange: (name: string, value: FieldValue) => void
|
|
150
|
+
/** Restrict to fields scoped to this holder's ticket type (ticket groups). */
|
|
151
|
+
ticketTypeId?: string
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/** Render every field in a group, wired to a values map. */
|
|
155
|
+
export const CustomFieldGroupFields: FC<CustomFieldGroupFieldsProps> = ({
|
|
156
|
+
group,
|
|
157
|
+
values,
|
|
158
|
+
onChange,
|
|
159
|
+
ticketTypeId,
|
|
160
|
+
}) => (
|
|
161
|
+
<>
|
|
162
|
+
{ticketFieldsFor(group.fields, ticketTypeId).map((f) => (
|
|
163
|
+
<CustomFieldInput
|
|
164
|
+
key={f.id}
|
|
165
|
+
field={f}
|
|
166
|
+
value={values[f.name]}
|
|
167
|
+
onChange={(v) => onChange(f.name, v)}
|
|
168
|
+
/>
|
|
169
|
+
))}
|
|
170
|
+
</>
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
/** True when every required field in the group has a non-empty value.
|
|
174
|
+
* Re-exported from the SDK so web, native and the engine preflight all apply
|
|
175
|
+
* one rule (including its "image uploads are server-authoritative" carve-out). */
|
|
176
|
+
export { customFieldsComplete } from 'tf-checkout-shared'
|