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.
Files changed (683) hide show
  1. package/README.md +150 -3340
  2. package/dist/index.d.mts +3810 -0
  3. package/dist/index.d.ts +3810 -0
  4. package/dist/index.js +8348 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.mjs +8348 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +31 -57
  9. package/src/CardInput.tsx +49 -0
  10. package/src/EmbeddedCheckout.tsx +323 -0
  11. package/src/auth/AuthModal.tsx +221 -0
  12. package/src/auth/ForgotPasswordForm.tsx +98 -0
  13. package/src/auth/LoginForm.tsx +99 -0
  14. package/src/auth/PasswordInput.tsx +45 -0
  15. package/src/auth/RegisterForm.tsx +247 -0
  16. package/src/auth/ResetPasswordForm.tsx +112 -0
  17. package/src/auth/index.ts +7 -0
  18. package/src/configure.ts +26 -0
  19. package/src/confirmer.ts +180 -0
  20. package/src/index.tsx +25 -227
  21. package/src/instance.ts +13 -0
  22. package/src/sections/AddOns.tsx +335 -0
  23. package/src/sections/BillingInfo.tsx +770 -0
  24. package/src/sections/Confirmation.tsx +143 -0
  25. package/src/sections/IDVerification.tsx +77 -0
  26. package/src/sections/OrderSummary.tsx +116 -0
  27. package/src/sections/Payment.tsx +417 -0
  28. package/src/sections/Tickets.tsx +680 -0
  29. package/src/sections/billing/BillingAddressFields.tsx +126 -0
  30. package/src/sections/billing/BuyerField.tsx +78 -0
  31. package/src/sections/billing/TicketHoldersCard.tsx +119 -0
  32. package/src/sections/billing/types.ts +10 -0
  33. package/src/sections/index.ts +8 -0
  34. package/src/storage.ts +27 -0
  35. package/src/ui/CheckoutProvider.tsx +140 -0
  36. package/src/ui/CustomFields.tsx +176 -0
  37. package/src/ui/Field.tsx +171 -0
  38. package/src/ui/InstallmentPicker.tsx +158 -0
  39. package/src/ui/PaymentMethods.tsx +177 -0
  40. package/src/ui/QuantitySelect.tsx +103 -0
  41. package/src/ui/Select.tsx +151 -0
  42. package/src/ui/Timer.tsx +69 -0
  43. package/src/ui/TimerBanner.tsx +95 -0
  44. package/src/ui/index.ts +17 -0
  45. package/src/ui/primitives.tsx +191 -0
  46. package/src/ui/theme.ts +89 -0
  47. package/src/useCheckout.ts +35 -0
  48. package/lib/brand-DA2IARBI.png +0 -0
  49. package/lib/ic_check-FLIJQ3BY.png +0 -0
  50. package/lib/ic_clock-BZ4Z7PIP.png +0 -0
  51. package/lib/ic_copy-VWMA4B7X.png +0 -0
  52. package/lib/ic_dropdown-BCS3QDNJ.png +0 -0
  53. package/lib/ic_error-KDEZUPSN.png +0 -0
  54. package/lib/ic_eye-WGXVXVAN.png +0 -0
  55. package/lib/ic_eye_off-XTCE6XSO.png +0 -0
  56. package/lib/ic_more-LZWKYCDU.png +0 -0
  57. package/lib/ic_next-LCNIGEDM.png +0 -0
  58. package/lib/index.js +0 -18176
  59. package/lib/index.js.map +0 -1
  60. package/lib/index.mjs +0 -18263
  61. package/lib/index.mjs.map +0 -1
  62. package/lib/typescript/package.json +0 -1
  63. package/lib/typescript/src/api/ApiClient.d.ts +0 -49
  64. package/lib/typescript/src/api/ApiClient.d.ts.map +0 -1
  65. package/lib/typescript/src/api/Constants.d.ts +0 -11
  66. package/lib/typescript/src/api/Constants.d.ts.map +0 -1
  67. package/lib/typescript/src/api/ErrorHandler.d.ts +0 -12
  68. package/lib/typescript/src/api/ErrorHandler.d.ts.map +0 -1
  69. package/lib/typescript/src/api/api.types.d.ts +0 -8
  70. package/lib/typescript/src/api/api.types.d.ts.map +0 -1
  71. package/lib/typescript/src/api/types.d.ts +0 -518
  72. package/lib/typescript/src/api/types.d.ts.map +0 -1
  73. package/lib/typescript/src/apiv2/index.d.ts +0 -3
  74. package/lib/typescript/src/apiv2/index.d.ts.map +0 -1
  75. package/lib/typescript/src/common/query.types.d.ts +0 -3
  76. package/lib/typescript/src/common/query.types.d.ts.map +0 -1
  77. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModal.d.ts +0 -8
  78. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModal.d.ts.map +0 -1
  79. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalStyles.d.ts +0 -39
  80. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalStyles.d.ts.map +0 -1
  81. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalTypes.d.ts +0 -23
  82. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalTypes.d.ts.map +0 -1
  83. package/lib/typescript/src/components/button/Button.d.ts +0 -5
  84. package/lib/typescript/src/components/button/Button.d.ts.map +0 -1
  85. package/lib/typescript/src/components/button/styles.d.ts +0 -28
  86. package/lib/typescript/src/components/button/styles.d.ts.map +0 -1
  87. package/lib/typescript/src/components/button/types.d.ts +0 -15
  88. package/lib/typescript/src/components/button/types.d.ts.map +0 -1
  89. package/lib/typescript/src/components/cartTimer/CartTimer.d.ts +0 -5
  90. package/lib/typescript/src/components/cartTimer/CartTimer.d.ts.map +0 -1
  91. package/lib/typescript/src/components/cartTimer/styles.d.ts +0 -47
  92. package/lib/typescript/src/components/cartTimer/styles.d.ts.map +0 -1
  93. package/lib/typescript/src/components/cartTimer/types.d.ts +0 -19
  94. package/lib/typescript/src/components/cartTimer/types.d.ts.map +0 -1
  95. package/lib/typescript/src/components/checkbox/Checkbox.d.ts +0 -4
  96. package/lib/typescript/src/components/checkbox/Checkbox.d.ts.map +0 -1
  97. package/lib/typescript/src/components/checkbox/styles.d.ts +0 -39
  98. package/lib/typescript/src/components/checkbox/styles.d.ts.map +0 -1
  99. package/lib/typescript/src/components/checkbox/types.d.ts +0 -22
  100. package/lib/typescript/src/components/checkbox/types.d.ts.map +0 -1
  101. package/lib/typescript/src/components/datePicker/DatePicker.d.ts +0 -4
  102. package/lib/typescript/src/components/datePicker/DatePicker.d.ts.map +0 -1
  103. package/lib/typescript/src/components/datePicker/styles.d.ts +0 -35
  104. package/lib/typescript/src/components/datePicker/styles.d.ts.map +0 -1
  105. package/lib/typescript/src/components/datePicker/types.d.ts +0 -20
  106. package/lib/typescript/src/components/datePicker/types.d.ts.map +0 -1
  107. package/lib/typescript/src/components/dropdown/Dropdown.d.ts +0 -4
  108. package/lib/typescript/src/components/dropdown/Dropdown.d.ts.map +0 -1
  109. package/lib/typescript/src/components/dropdown/DropdownListItem.d.ts +0 -4
  110. package/lib/typescript/src/components/dropdown/DropdownListItem.d.ts.map +0 -1
  111. package/lib/typescript/src/components/dropdown/styles.d.ts +0 -85
  112. package/lib/typescript/src/components/dropdown/styles.d.ts.map +0 -1
  113. package/lib/typescript/src/components/dropdown/types.d.ts +0 -35
  114. package/lib/typescript/src/components/dropdown/types.d.ts.map +0 -1
  115. package/lib/typescript/src/components/dropdownMaterial/DropdownMaterial.d.ts +0 -4
  116. package/lib/typescript/src/components/dropdownMaterial/DropdownMaterial.d.ts.map +0 -1
  117. package/lib/typescript/src/components/dropdownMaterial/styles.d.ts +0 -79
  118. package/lib/typescript/src/components/dropdownMaterial/styles.d.ts.map +0 -1
  119. package/lib/typescript/src/components/dropdownMaterial/types.d.ts +0 -22
  120. package/lib/typescript/src/components/dropdownMaterial/types.d.ts.map +0 -1
  121. package/lib/typescript/src/components/enterPassword/EnterPassword.d.ts +0 -5
  122. package/lib/typescript/src/components/enterPassword/EnterPassword.d.ts.map +0 -1
  123. package/lib/typescript/src/components/enterPassword/styles.d.ts +0 -21
  124. package/lib/typescript/src/components/enterPassword/styles.d.ts.map +0 -1
  125. package/lib/typescript/src/components/enterPassword/types.d.ts +0 -24
  126. package/lib/typescript/src/components/enterPassword/types.d.ts.map +0 -1
  127. package/lib/typescript/src/components/formField/FormField.d.ts +0 -4
  128. package/lib/typescript/src/components/formField/FormField.d.ts.map +0 -1
  129. package/lib/typescript/src/components/formField/styles.d.ts +0 -35
  130. package/lib/typescript/src/components/formField/styles.d.ts.map +0 -1
  131. package/lib/typescript/src/components/formField/types.d.ts +0 -48
  132. package/lib/typescript/src/components/formField/types.d.ts.map +0 -1
  133. package/lib/typescript/src/components/index.d.ts +0 -21
  134. package/lib/typescript/src/components/index.d.ts.map +0 -1
  135. package/lib/typescript/src/components/input/Input.d.ts +0 -4
  136. package/lib/typescript/src/components/input/Input.d.ts.map +0 -1
  137. package/lib/typescript/src/components/input/styles.d.ts +0 -47
  138. package/lib/typescript/src/components/input/styles.d.ts.map +0 -1
  139. package/lib/typescript/src/components/input/types.d.ts +0 -28
  140. package/lib/typescript/src/components/input/types.d.ts.map +0 -1
  141. package/lib/typescript/src/components/loading/Loading.d.ts +0 -4
  142. package/lib/typescript/src/components/loading/Loading.d.ts.map +0 -1
  143. package/lib/typescript/src/components/loading/styles.d.ts +0 -30
  144. package/lib/typescript/src/components/loading/styles.d.ts.map +0 -1
  145. package/lib/typescript/src/components/loading/types.d.ts +0 -15
  146. package/lib/typescript/src/components/loading/types.d.ts.map +0 -1
  147. package/lib/typescript/src/components/loggedIn/LoggedIn.d.ts +0 -5
  148. package/lib/typescript/src/components/loggedIn/LoggedIn.d.ts.map +0 -1
  149. package/lib/typescript/src/components/loggedIn/styles.d.ts +0 -9
  150. package/lib/typescript/src/components/loggedIn/styles.d.ts.map +0 -1
  151. package/lib/typescript/src/components/loggedIn/types.d.ts +0 -24
  152. package/lib/typescript/src/components/loggedIn/types.d.ts.map +0 -1
  153. package/lib/typescript/src/components/login/Login.d.ts +0 -5
  154. package/lib/typescript/src/components/login/Login.d.ts.map +0 -1
  155. package/lib/typescript/src/components/login/LoginView.d.ts +0 -5
  156. package/lib/typescript/src/components/login/LoginView.d.ts.map +0 -1
  157. package/lib/typescript/src/components/login/components/LoginForm.d.ts +0 -5
  158. package/lib/typescript/src/components/login/components/LoginForm.d.ts.map +0 -1
  159. package/lib/typescript/src/components/login/components/types.d.ts +0 -19
  160. package/lib/typescript/src/components/login/components/types.d.ts.map +0 -1
  161. package/lib/typescript/src/components/login/styles.d.ts +0 -62
  162. package/lib/typescript/src/components/login/styles.d.ts.map +0 -1
  163. package/lib/typescript/src/components/login/types.d.ts +0 -144
  164. package/lib/typescript/src/components/login/types.d.ts.map +0 -1
  165. package/lib/typescript/src/components/phoneInput/PhoneInput.d.ts +0 -5
  166. package/lib/typescript/src/components/phoneInput/PhoneInput.d.ts.map +0 -1
  167. package/lib/typescript/src/components/phoneInput/styles.d.ts +0 -29
  168. package/lib/typescript/src/components/phoneInput/styles.d.ts.map +0 -1
  169. package/lib/typescript/src/components/phoneInput/types.d.ts +0 -31
  170. package/lib/typescript/src/components/phoneInput/types.d.ts.map +0 -1
  171. package/lib/typescript/src/components/promoCode/PromoCode.d.ts +0 -5
  172. package/lib/typescript/src/components/promoCode/PromoCode.d.ts.map +0 -1
  173. package/lib/typescript/src/components/promoCode/styles.d.ts +0 -61
  174. package/lib/typescript/src/components/promoCode/styles.d.ts.map +0 -1
  175. package/lib/typescript/src/components/promoCode/types.d.ts +0 -36
  176. package/lib/typescript/src/components/promoCode/types.d.ts.map +0 -1
  177. package/lib/typescript/src/components/radioButton/RadioButton.d.ts +0 -5
  178. package/lib/typescript/src/components/radioButton/RadioButton.d.ts.map +0 -1
  179. package/lib/typescript/src/components/radioButton/styles.d.ts +0 -25
  180. package/lib/typescript/src/components/radioButton/styles.d.ts.map +0 -1
  181. package/lib/typescript/src/components/radioButton/types.d.ts +0 -16
  182. package/lib/typescript/src/components/radioButton/types.d.ts.map +0 -1
  183. package/lib/typescript/src/components/radioGroup/RadioGroup.d.ts +0 -4
  184. package/lib/typescript/src/components/radioGroup/RadioGroup.d.ts.map +0 -1
  185. package/lib/typescript/src/components/radioGroup/index.d.ts +0 -4
  186. package/lib/typescript/src/components/radioGroup/index.d.ts.map +0 -1
  187. package/lib/typescript/src/components/radioGroup/types.d.ts +0 -24
  188. package/lib/typescript/src/components/radioGroup/types.d.ts.map +0 -1
  189. package/lib/typescript/src/components/restorePassword/RestorePassword.d.ts +0 -5
  190. package/lib/typescript/src/components/restorePassword/RestorePassword.d.ts.map +0 -1
  191. package/lib/typescript/src/components/restorePassword/ResultDialog.d.ts +0 -5
  192. package/lib/typescript/src/components/restorePassword/ResultDialog.d.ts.map +0 -1
  193. package/lib/typescript/src/components/restorePassword/styles.d.ts +0 -34
  194. package/lib/typescript/src/components/restorePassword/styles.d.ts.map +0 -1
  195. package/lib/typescript/src/components/restorePassword/types.d.ts +0 -49
  196. package/lib/typescript/src/components/restorePassword/types.d.ts.map +0 -1
  197. package/lib/typescript/src/components/separator/Separator.d.ts +0 -4
  198. package/lib/typescript/src/components/separator/Separator.d.ts.map +0 -1
  199. package/lib/typescript/src/components/separator/types.d.ts +0 -9
  200. package/lib/typescript/src/components/separator/types.d.ts.map +0 -1
  201. package/lib/typescript/src/components/stripePayment/StripePayment.d.ts +0 -5
  202. package/lib/typescript/src/components/stripePayment/StripePayment.d.ts.map +0 -1
  203. package/lib/typescript/src/components/stripePayment/styles.d.ts +0 -7
  204. package/lib/typescript/src/components/stripePayment/styles.d.ts.map +0 -1
  205. package/lib/typescript/src/components/stripePayment/types.d.ts +0 -14
  206. package/lib/typescript/src/components/stripePayment/types.d.ts.map +0 -1
  207. package/lib/typescript/src/components/waitingList/WaitingList.d.ts +0 -6
  208. package/lib/typescript/src/components/waitingList/WaitingList.d.ts.map +0 -1
  209. package/lib/typescript/src/components/waitingList/WaitingListView.d.ts +0 -5
  210. package/lib/typescript/src/components/waitingList/WaitingListView.d.ts.map +0 -1
  211. package/lib/typescript/src/components/waitingList/styles.d.ts +0 -9
  212. package/lib/typescript/src/components/waitingList/styles.d.ts.map +0 -1
  213. package/lib/typescript/src/components/waitingList/types.d.ts +0 -59
  214. package/lib/typescript/src/components/waitingList/types.d.ts.map +0 -1
  215. package/lib/typescript/src/containers/billingInfo/Billing.d.ts +0 -6
  216. package/lib/typescript/src/containers/billingInfo/Billing.d.ts.map +0 -1
  217. package/lib/typescript/src/containers/billingInfo/styles.d.ts +0 -61
  218. package/lib/typescript/src/containers/billingInfo/styles.d.ts.map +0 -1
  219. package/lib/typescript/src/containers/billingInfo/types.d.ts +0 -160
  220. package/lib/typescript/src/containers/billingInfo/types.d.ts.map +0 -1
  221. package/lib/typescript/src/containers/checkout/Checkout.d.ts +0 -7
  222. package/lib/typescript/src/containers/checkout/Checkout.d.ts.map +0 -1
  223. package/lib/typescript/src/containers/checkout/CheckoutData.d.ts +0 -3
  224. package/lib/typescript/src/containers/checkout/CheckoutData.d.ts.map +0 -1
  225. package/lib/typescript/src/containers/checkout/components/Conditions.d.ts +0 -4
  226. package/lib/typescript/src/containers/checkout/components/Conditions.d.ts.map +0 -1
  227. package/lib/typescript/src/containers/checkout/components/OrderReview.d.ts +0 -4
  228. package/lib/typescript/src/containers/checkout/components/OrderReview.d.ts.map +0 -1
  229. package/lib/typescript/src/containers/checkout/components/styles.d.ts +0 -26
  230. package/lib/typescript/src/containers/checkout/components/styles.d.ts.map +0 -1
  231. package/lib/typescript/src/containers/checkout/styles.d.ts +0 -42
  232. package/lib/typescript/src/containers/checkout/styles.d.ts.map +0 -1
  233. package/lib/typescript/src/containers/checkout/types.d.ts +0 -126
  234. package/lib/typescript/src/containers/checkout/types.d.ts.map +0 -1
  235. package/lib/typescript/src/containers/index.d.ts +0 -9
  236. package/lib/typescript/src/containers/index.d.ts.map +0 -1
  237. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetails.d.ts +0 -6
  238. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetails.d.ts.map +0 -1
  239. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetailsView.d.ts +0 -5
  240. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetailsView.d.ts.map +0 -1
  241. package/lib/typescript/src/containers/myOrderDetails/components/Notification.d.ts +0 -15
  242. package/lib/typescript/src/containers/myOrderDetails/components/Notification.d.ts.map +0 -1
  243. package/lib/typescript/src/containers/myOrderDetails/components/OrderListItem.d.ts +0 -3
  244. package/lib/typescript/src/containers/myOrderDetails/components/OrderListItem.d.ts.map +0 -1
  245. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActions.d.ts +0 -5
  246. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActions.d.ts.map +0 -1
  247. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.d.ts +0 -30
  248. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.d.ts.map +0 -1
  249. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.d.ts +0 -8
  250. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.d.ts.map +0 -1
  251. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.d.ts +0 -33
  252. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.d.ts.map +0 -1
  253. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.d.ts +0 -30
  254. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.d.ts.map +0 -1
  255. package/lib/typescript/src/containers/myOrderDetails/components/styles.d.ts +0 -39
  256. package/lib/typescript/src/containers/myOrderDetails/components/styles.d.ts.map +0 -1
  257. package/lib/typescript/src/containers/myOrderDetails/styles.d.ts +0 -55
  258. package/lib/typescript/src/containers/myOrderDetails/styles.d.ts.map +0 -1
  259. package/lib/typescript/src/containers/myOrderDetails/types.d.ts +0 -126
  260. package/lib/typescript/src/containers/myOrderDetails/types.d.ts.map +0 -1
  261. package/lib/typescript/src/containers/myOrders/MyOrders.d.ts +0 -6
  262. package/lib/typescript/src/containers/myOrders/MyOrders.d.ts.map +0 -1
  263. package/lib/typescript/src/containers/myOrders/MyOrdersView.d.ts +0 -5
  264. package/lib/typescript/src/containers/myOrders/MyOrdersView.d.ts.map +0 -1
  265. package/lib/typescript/src/containers/myOrders/components/OrderListItem.d.ts +0 -5
  266. package/lib/typescript/src/containers/myOrders/components/OrderListItem.d.ts.map +0 -1
  267. package/lib/typescript/src/containers/myOrders/components/styles.d.ts +0 -56
  268. package/lib/typescript/src/containers/myOrders/components/styles.d.ts.map +0 -1
  269. package/lib/typescript/src/containers/myOrders/components/types.d.ts +0 -26
  270. package/lib/typescript/src/containers/myOrders/components/types.d.ts.map +0 -1
  271. package/lib/typescript/src/containers/myOrders/styles.d.ts +0 -37
  272. package/lib/typescript/src/containers/myOrders/styles.d.ts.map +0 -1
  273. package/lib/typescript/src/containers/myOrders/types.d.ts +0 -73
  274. package/lib/typescript/src/containers/myOrders/types.d.ts.map +0 -1
  275. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmation.d.ts +0 -6
  276. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmation.d.ts.map +0 -1
  277. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmationView.d.ts +0 -5
  278. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmationView.d.ts.map +0 -1
  279. package/lib/typescript/src/containers/purchaseConfirmation/styles.d.ts +0 -74
  280. package/lib/typescript/src/containers/purchaseConfirmation/styles.d.ts.map +0 -1
  281. package/lib/typescript/src/containers/purchaseConfirmation/types.d.ts +0 -66
  282. package/lib/typescript/src/containers/purchaseConfirmation/types.d.ts.map +0 -1
  283. package/lib/typescript/src/containers/resaleTickets/ResaleTickets.d.ts +0 -6
  284. package/lib/typescript/src/containers/resaleTickets/ResaleTickets.d.ts.map +0 -1
  285. package/lib/typescript/src/containers/resaleTickets/ResaleTicketsView.d.ts +0 -5
  286. package/lib/typescript/src/containers/resaleTickets/ResaleTicketsView.d.ts.map +0 -1
  287. package/lib/typescript/src/containers/resaleTickets/types.d.ts +0 -129
  288. package/lib/typescript/src/containers/resaleTickets/types.d.ts.map +0 -1
  289. package/lib/typescript/src/containers/resetPassword/ResetPassword.d.ts +0 -5
  290. package/lib/typescript/src/containers/resetPassword/ResetPassword.d.ts.map +0 -1
  291. package/lib/typescript/src/containers/resetPassword/ResetPasswordView.d.ts +0 -5
  292. package/lib/typescript/src/containers/resetPassword/ResetPasswordView.d.ts.map +0 -1
  293. package/lib/typescript/src/containers/resetPassword/styles.d.ts +0 -33
  294. package/lib/typescript/src/containers/resetPassword/styles.d.ts.map +0 -1
  295. package/lib/typescript/src/containers/resetPassword/types.d.ts +0 -48
  296. package/lib/typescript/src/containers/resetPassword/types.d.ts.map +0 -1
  297. package/lib/typescript/src/containers/tickets/Tickets.d.ts +0 -6
  298. package/lib/typescript/src/containers/tickets/Tickets.d.ts.map +0 -1
  299. package/lib/typescript/src/containers/tickets/TicketsView.d.ts +0 -4
  300. package/lib/typescript/src/containers/tickets/TicketsView.d.ts.map +0 -1
  301. package/lib/typescript/src/containers/tickets/components/TicketGroupListHeader.d.ts +0 -5
  302. package/lib/typescript/src/containers/tickets/components/TicketGroupListHeader.d.ts.map +0 -1
  303. package/lib/typescript/src/containers/tickets/components/TicketListItem.d.ts +0 -4
  304. package/lib/typescript/src/containers/tickets/components/TicketListItem.d.ts.map +0 -1
  305. package/lib/typescript/src/containers/tickets/components/styles.d.ts +0 -51
  306. package/lib/typescript/src/containers/tickets/components/styles.d.ts.map +0 -1
  307. package/lib/typescript/src/containers/tickets/components/types.d.ts +0 -40
  308. package/lib/typescript/src/containers/tickets/components/types.d.ts.map +0 -1
  309. package/lib/typescript/src/containers/tickets/styles.d.ts +0 -20
  310. package/lib/typescript/src/containers/tickets/styles.d.ts.map +0 -1
  311. package/lib/typescript/src/containers/tickets/types.d.ts +0 -114
  312. package/lib/typescript/src/containers/tickets/types.d.ts.map +0 -1
  313. package/lib/typescript/src/core/BillingCore/BillingCore.d.ts +0 -13
  314. package/lib/typescript/src/core/BillingCore/BillingCore.d.ts.map +0 -1
  315. package/lib/typescript/src/core/BillingCore/BillingCoreTypes.d.ts +0 -24
  316. package/lib/typescript/src/core/BillingCore/BillingCoreTypes.d.ts.map +0 -1
  317. package/lib/typescript/src/core/CheckoutCore/CheckoutCore.d.ts +0 -15
  318. package/lib/typescript/src/core/CheckoutCore/CheckoutCore.d.ts.map +0 -1
  319. package/lib/typescript/src/core/CheckoutCore/CheckoutCoreTypes.d.ts +0 -17
  320. package/lib/typescript/src/core/CheckoutCore/CheckoutCoreTypes.d.ts.map +0 -1
  321. package/lib/typescript/src/core/CoreProps.d.ts +0 -5
  322. package/lib/typescript/src/core/CoreProps.d.ts.map +0 -1
  323. package/lib/typescript/src/core/LoginCore/LoginCore.d.ts +0 -6
  324. package/lib/typescript/src/core/LoginCore/LoginCore.d.ts.map +0 -1
  325. package/lib/typescript/src/core/LoginCore/LoginCoreHelper.d.ts +0 -3
  326. package/lib/typescript/src/core/LoginCore/LoginCoreHelper.d.ts.map +0 -1
  327. package/lib/typescript/src/core/LoginCore/LoginCoreTypes.d.ts +0 -15
  328. package/lib/typescript/src/core/LoginCore/LoginCoreTypes.d.ts.map +0 -1
  329. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCore.d.ts +0 -6
  330. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCore.d.ts.map +0 -1
  331. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCoreTypes.d.ts +0 -10
  332. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCoreTypes.d.ts.map +0 -1
  333. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCore.d.ts +0 -6
  334. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCore.d.ts.map +0 -1
  335. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCoreTypes.d.ts +0 -9
  336. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCoreTypes.d.ts.map +0 -1
  337. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.d.ts +0 -6
  338. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.d.ts.map +0 -1
  339. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.d.ts +0 -8
  340. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.d.ts.map +0 -1
  341. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCore.d.ts +0 -6
  342. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCore.d.ts.map +0 -1
  343. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCoreTypes.d.ts +0 -5
  344. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCoreTypes.d.ts.map +0 -1
  345. package/lib/typescript/src/core/Session/SessionCoreTypes.d.ts +0 -9
  346. package/lib/typescript/src/core/Session/SessionCoreTypes.d.ts.map +0 -1
  347. package/lib/typescript/src/core/Session/SessionHandle.d.ts +0 -6
  348. package/lib/typescript/src/core/Session/SessionHandle.d.ts.map +0 -1
  349. package/lib/typescript/src/core/TicketsCore/TicketsCore.d.ts +0 -6
  350. package/lib/typescript/src/core/TicketsCore/TicketsCore.d.ts.map +0 -1
  351. package/lib/typescript/src/core/TicketsCore/TicketsCoreTypes.d.ts +0 -40
  352. package/lib/typescript/src/core/TicketsCore/TicketsCoreTypes.d.ts.map +0 -1
  353. package/lib/typescript/src/core/WaitingListCore/WaitingListCore.d.ts +0 -6
  354. package/lib/typescript/src/core/WaitingListCore/WaitingListCore.d.ts.map +0 -1
  355. package/lib/typescript/src/core/WaitingListCore/WaitingListCoreTypes.d.ts +0 -12
  356. package/lib/typescript/src/core/WaitingListCore/WaitingListCoreTypes.d.ts.map +0 -1
  357. package/lib/typescript/src/core/index.d.ts +0 -21
  358. package/lib/typescript/src/core/index.d.ts.map +0 -1
  359. package/lib/typescript/src/features/auth/api-hooks.d.ts +0 -178
  360. package/lib/typescript/src/features/auth/api-hooks.d.ts.map +0 -1
  361. package/lib/typescript/src/features/auth/types.d.ts +0 -51
  362. package/lib/typescript/src/features/auth/types.d.ts.map +0 -1
  363. package/lib/typescript/src/features/auth/utils.d.ts +0 -3
  364. package/lib/typescript/src/features/auth/utils.d.ts.map +0 -1
  365. package/lib/typescript/src/features/checkout-v2/components/AddonsContainer.d.ts +0 -37
  366. package/lib/typescript/src/features/checkout-v2/components/AddonsContainer.d.ts.map +0 -1
  367. package/lib/typescript/src/features/checkout-v2/components/Conditions.d.ts +0 -30
  368. package/lib/typescript/src/features/checkout-v2/components/Conditions.d.ts.map +0 -1
  369. package/lib/typescript/src/features/checkout-v2/components/OrderReview.d.ts +0 -25
  370. package/lib/typescript/src/features/checkout-v2/components/OrderReview.d.ts.map +0 -1
  371. package/lib/typescript/src/features/checkout-v2/components/TicketHoldersSection.d.ts +0 -14
  372. package/lib/typescript/src/features/checkout-v2/components/TicketHoldersSection.d.ts.map +0 -1
  373. package/lib/typescript/src/features/checkout-v2/form/config.d.ts +0 -61
  374. package/lib/typescript/src/features/checkout-v2/form/config.d.ts.map +0 -1
  375. package/lib/typescript/src/features/checkout-v2/form/index.d.ts +0 -22
  376. package/lib/typescript/src/features/checkout-v2/form/index.d.ts.map +0 -1
  377. package/lib/typescript/src/features/checkout-v2/form/styles.d.ts +0 -4501
  378. package/lib/typescript/src/features/checkout-v2/form/styles.d.ts.map +0 -1
  379. package/lib/typescript/src/features/checkout-v2/form/texts.d.ts +0 -4
  380. package/lib/typescript/src/features/checkout-v2/form/texts.d.ts.map +0 -1
  381. package/lib/typescript/src/features/checkout-v2/form/types.d.ts +0 -191
  382. package/lib/typescript/src/features/checkout-v2/form/types.d.ts.map +0 -1
  383. package/lib/typescript/src/features/checkout-v2/hooks/api-hooks.d.ts +0 -227
  384. package/lib/typescript/src/features/checkout-v2/hooks/api-hooks.d.ts.map +0 -1
  385. package/lib/typescript/src/features/checkout-v2/hooks/use-checkout.d.ts +0 -37
  386. package/lib/typescript/src/features/checkout-v2/hooks/use-checkout.d.ts.map +0 -1
  387. package/lib/typescript/src/features/checkout-v2/index.d.ts +0 -42
  388. package/lib/typescript/src/features/checkout-v2/index.d.ts.map +0 -1
  389. package/lib/typescript/src/features/checkout-v2/types.d.ts +0 -433
  390. package/lib/typescript/src/features/checkout-v2/types.d.ts.map +0 -1
  391. package/lib/typescript/src/features/checkout-v2/utils.d.ts +0 -12
  392. package/lib/typescript/src/features/checkout-v2/utils.d.ts.map +0 -1
  393. package/lib/typescript/src/features/event/api-hooks.d.ts +0 -171
  394. package/lib/typescript/src/features/event/api-hooks.d.ts.map +0 -1
  395. package/lib/typescript/src/features/event/types.d.ts +0 -58
  396. package/lib/typescript/src/features/event/types.d.ts.map +0 -1
  397. package/lib/typescript/src/features/form/index.d.ts +0 -24
  398. package/lib/typescript/src/features/form/index.d.ts.map +0 -1
  399. package/lib/typescript/src/features/form/styles.d.ts +0 -35
  400. package/lib/typescript/src/features/form/styles.d.ts.map +0 -1
  401. package/lib/typescript/src/features/form/types.d.ts +0 -33
  402. package/lib/typescript/src/features/form/types.d.ts.map +0 -1
  403. package/lib/typescript/src/features/geo/api-hooks.d.ts +0 -12
  404. package/lib/typescript/src/features/geo/api-hooks.d.ts.map +0 -1
  405. package/lib/typescript/src/features/geo/types.d.ts +0 -13
  406. package/lib/typescript/src/features/geo/types.d.ts.map +0 -1
  407. package/lib/typescript/src/helpers/Config.d.ts +0 -24
  408. package/lib/typescript/src/helpers/Config.d.ts.map +0 -1
  409. package/lib/typescript/src/helpers/CountryCodes.d.ts +0 -16
  410. package/lib/typescript/src/helpers/CountryCodes.d.ts.map +0 -1
  411. package/lib/typescript/src/helpers/Debounced.d.ts +0 -2
  412. package/lib/typescript/src/helpers/Debounced.d.ts.map +0 -1
  413. package/lib/typescript/src/helpers/Domains.d.ts +0 -3
  414. package/lib/typescript/src/helpers/Domains.d.ts.map +0 -1
  415. package/lib/typescript/src/helpers/LocalStorage.d.ts +0 -27
  416. package/lib/typescript/src/helpers/LocalStorage.d.ts.map +0 -1
  417. package/lib/typescript/src/helpers/RefreshAccessToken.d.ts +0 -3
  418. package/lib/typescript/src/helpers/RefreshAccessToken.d.ts.map +0 -1
  419. package/lib/typescript/src/helpers/StringsHelper.d.ts +0 -3
  420. package/lib/typescript/src/helpers/StringsHelper.d.ts.map +0 -1
  421. package/lib/typescript/src/helpers/Validators.d.ts +0 -16
  422. package/lib/typescript/src/helpers/Validators.d.ts.map +0 -1
  423. package/lib/typescript/src/index.d.ts +0 -49
  424. package/lib/typescript/src/index.d.ts.map +0 -1
  425. package/lib/typescript/src/res/colors.d.ts +0 -16
  426. package/lib/typescript/src/res/colors.d.ts.map +0 -1
  427. package/lib/typescript/src/res/icons.d.ts +0 -13
  428. package/lib/typescript/src/res/icons.d.ts.map +0 -1
  429. package/lib/typescript/src/res/images.d.ts +0 -5
  430. package/lib/typescript/src/res/images.d.ts.map +0 -1
  431. package/lib/typescript/src/res/index.d.ts +0 -32
  432. package/lib/typescript/src/res/index.d.ts.map +0 -1
  433. package/lib/typescript/src/types/IAccountTickets.d.ts +0 -71
  434. package/lib/typescript/src/types/IAccountTickets.d.ts.map +0 -1
  435. package/lib/typescript/src/types/ICountry.d.ts +0 -2
  436. package/lib/typescript/src/types/ICountry.d.ts.map +0 -1
  437. package/lib/typescript/src/types/IError.d.ts +0 -6
  438. package/lib/typescript/src/types/IError.d.ts.map +0 -1
  439. package/lib/typescript/src/types/IEvent.d.ts +0 -87
  440. package/lib/typescript/src/types/IEvent.d.ts.map +0 -1
  441. package/lib/typescript/src/types/ITicket.d.ts +0 -71
  442. package/lib/typescript/src/types/ITicket.d.ts.map +0 -1
  443. package/lib/typescript/src/types/IUserProfile.d.ts +0 -30
  444. package/lib/typescript/src/types/IUserProfile.d.ts.map +0 -1
  445. package/lib/typescript/src/types/index.d.ts +0 -6
  446. package/lib/typescript/src/types/index.d.ts.map +0 -1
  447. package/lib/typescript/src/utils/Logger.d.ts +0 -21
  448. package/lib/typescript/src/utils/Logger.d.ts.map +0 -1
  449. package/lib/typescript/src/utils/handlers.d.ts +0 -9
  450. package/lib/typescript/src/utils/handlers.d.ts.map +0 -1
  451. package/lib/typescript/src/utils/storageAdapter.d.ts +0 -14
  452. package/lib/typescript/src/utils/storageAdapter.d.ts.map +0 -1
  453. package/lib/typescript/src/utils/styleUtils.d.ts +0 -18
  454. package/lib/typescript/src/utils/styleUtils.d.ts.map +0 -1
  455. package/src/api/ApiClient.ts +0 -1539
  456. package/src/api/Constants.ts +0 -10
  457. package/src/api/ErrorHandler.ts +0 -36
  458. package/src/api/api.types.ts +0 -8
  459. package/src/api/types.ts +0 -593
  460. package/src/apiv2/index.ts +0 -142
  461. package/src/assets/icons/ic_check.png +0 -0
  462. package/src/assets/icons/ic_clock.png +0 -0
  463. package/src/assets/icons/ic_copy.png +0 -0
  464. package/src/assets/icons/ic_dropdown.png +0 -0
  465. package/src/assets/icons/ic_error.png +0 -0
  466. package/src/assets/icons/ic_eye.png +0 -0
  467. package/src/assets/icons/ic_eye_off.png +0 -0
  468. package/src/assets/icons/ic_more.png +0 -0
  469. package/src/assets/icons/ic_next.png +0 -0
  470. package/src/assets/images/brand.png +0 -0
  471. package/src/common/query.types.ts +0 -6
  472. package/src/components/bottomSheetModal/BottomSheetModal.tsx +0 -95
  473. package/src/components/bottomSheetModal/BottomSheetModalStyles.ts +0 -43
  474. package/src/components/bottomSheetModal/BottomSheetModalTypes.ts +0 -26
  475. package/src/components/button/Button.tsx +0 -53
  476. package/src/components/button/styles.tsx +0 -30
  477. package/src/components/button/types.ts +0 -16
  478. package/src/components/cartTimer/CartTimer.tsx +0 -68
  479. package/src/components/cartTimer/styles.ts +0 -44
  480. package/src/components/cartTimer/types.ts +0 -22
  481. package/src/components/checkbox/Checkbox.tsx +0 -53
  482. package/src/components/checkbox/styles.ts +0 -41
  483. package/src/components/checkbox/types.ts +0 -23
  484. package/src/components/datePicker/DatePicker.tsx +0 -81
  485. package/src/components/datePicker/styles.ts +0 -39
  486. package/src/components/datePicker/types.ts +0 -21
  487. package/src/components/dropdown/Dropdown.tsx +0 -111
  488. package/src/components/dropdown/DropdownListItem.tsx +0 -36
  489. package/src/components/dropdown/styles.ts +0 -97
  490. package/src/components/dropdown/types.ts +0 -38
  491. package/src/components/dropdownMaterial/DropdownMaterial.tsx +0 -129
  492. package/src/components/dropdownMaterial/styles.ts +0 -91
  493. package/src/components/dropdownMaterial/types.ts +0 -24
  494. package/src/components/enterPassword/EnterPassword.tsx +0 -50
  495. package/src/components/enterPassword/styles.ts +0 -23
  496. package/src/components/enterPassword/types.ts +0 -27
  497. package/src/components/formField/FormField.tsx +0 -131
  498. package/src/components/formField/styles.ts +0 -37
  499. package/src/components/formField/types.ts +0 -60
  500. package/src/components/index.ts +0 -20
  501. package/src/components/input/Input.tsx +0 -77
  502. package/src/components/input/styles.ts +0 -53
  503. package/src/components/input/types.ts +0 -38
  504. package/src/components/loading/Loading.tsx +0 -30
  505. package/src/components/loading/styles.ts +0 -32
  506. package/src/components/loading/types.ts +0 -16
  507. package/src/components/loggedIn/LoggedIn.tsx +0 -60
  508. package/src/components/loggedIn/styles.ts +0 -9
  509. package/src/components/loggedIn/types.ts +0 -27
  510. package/src/components/login/Login.tsx +0 -161
  511. package/src/components/login/LoginView.tsx +0 -259
  512. package/src/components/login/components/LoginForm.tsx +0 -92
  513. package/src/components/login/components/types.ts +0 -22
  514. package/src/components/login/styles.ts +0 -63
  515. package/src/components/login/types.ts +0 -189
  516. package/src/components/phoneInput/PhoneInput.tsx +0 -72
  517. package/src/components/phoneInput/styles.ts +0 -31
  518. package/src/components/phoneInput/types.ts +0 -35
  519. package/src/components/promoCode/PromoCode.tsx +0 -111
  520. package/src/components/promoCode/styles.ts +0 -63
  521. package/src/components/promoCode/types.ts +0 -43
  522. package/src/components/radioButton/RadioButton.tsx +0 -26
  523. package/src/components/radioButton/styles.ts +0 -32
  524. package/src/components/radioButton/types.ts +0 -17
  525. package/src/components/radioGroup/RadioGroup.tsx +0 -86
  526. package/src/components/radioGroup/index.ts +0 -4
  527. package/src/components/radioGroup/types.ts +0 -26
  528. package/src/components/restorePassword/RestorePassword.tsx +0 -63
  529. package/src/components/restorePassword/ResultDialog.tsx +0 -26
  530. package/src/components/restorePassword/styles.ts +0 -38
  531. package/src/components/restorePassword/types.ts +0 -61
  532. package/src/components/separator/Separator.tsx +0 -26
  533. package/src/components/separator/types.ts +0 -9
  534. package/src/components/stripePayment/StripePayment.tsx +0 -51
  535. package/src/components/stripePayment/styles.ts +0 -7
  536. package/src/components/stripePayment/types.ts +0 -22
  537. package/src/components/waitingList/WaitingList.tsx +0 -147
  538. package/src/components/waitingList/WaitingListView.tsx +0 -94
  539. package/src/components/waitingList/styles.ts +0 -9
  540. package/src/components/waitingList/types.ts +0 -68
  541. package/src/containers/billingInfo/Billing.tsx +0 -1902
  542. package/src/containers/billingInfo/styles.ts +0 -64
  543. package/src/containers/billingInfo/types.ts +0 -217
  544. package/src/containers/checkout/Checkout.tsx +0 -519
  545. package/src/containers/checkout/CheckoutData.ts +0 -29
  546. package/src/containers/checkout/components/Conditions.tsx +0 -22
  547. package/src/containers/checkout/components/OrderReview.tsx +0 -31
  548. package/src/containers/checkout/components/styles.ts +0 -28
  549. package/src/containers/checkout/styles.ts +0 -44
  550. package/src/containers/checkout/types.ts +0 -148
  551. package/src/containers/index.ts +0 -8
  552. package/src/containers/myOrderDetails/MyOrderDetails.tsx +0 -318
  553. package/src/containers/myOrderDetails/MyOrderDetailsView.tsx +0 -269
  554. package/src/containers/myOrderDetails/components/Notification.tsx +0 -40
  555. package/src/containers/myOrderDetails/components/OrderListItem.tsx +0 -12
  556. package/src/containers/myOrderDetails/components/TicketActions/TicketActions.tsx +0 -68
  557. package/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.ts +0 -41
  558. package/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.tsx +0 -63
  559. package/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.ts +0 -33
  560. package/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.ts +0 -39
  561. package/src/containers/myOrderDetails/components/styles.ts +0 -42
  562. package/src/containers/myOrderDetails/styles.ts +0 -57
  563. package/src/containers/myOrderDetails/types.ts +0 -173
  564. package/src/containers/myOrders/MyOrders.tsx +0 -340
  565. package/src/containers/myOrders/MyOrdersView.tsx +0 -182
  566. package/src/containers/myOrders/components/OrderListItem.tsx +0 -50
  567. package/src/containers/myOrders/components/styles.ts +0 -55
  568. package/src/containers/myOrders/components/types.ts +0 -28
  569. package/src/containers/myOrders/styles.ts +0 -42
  570. package/src/containers/myOrders/types.ts +0 -84
  571. package/src/containers/purchaseConfirmation/PurchaseConfirmation.tsx +0 -145
  572. package/src/containers/purchaseConfirmation/PurchaseConfirmationView.tsx +0 -82
  573. package/src/containers/purchaseConfirmation/styles.ts +0 -79
  574. package/src/containers/purchaseConfirmation/types.ts +0 -77
  575. package/src/containers/resaleTickets/ResaleTickets.tsx +0 -234
  576. package/src/containers/resaleTickets/ResaleTicketsView.tsx +0 -314
  577. package/src/containers/resaleTickets/types.ts +0 -154
  578. package/src/containers/resetPassword/ResetPassword.tsx +0 -110
  579. package/src/containers/resetPassword/ResetPasswordView.tsx +0 -81
  580. package/src/containers/resetPassword/styles.ts +0 -35
  581. package/src/containers/resetPassword/types.ts +0 -56
  582. package/src/containers/tickets/Tickets.tsx +0 -525
  583. package/src/containers/tickets/TicketsView.tsx +0 -164
  584. package/src/containers/tickets/components/TicketGroupListHeader.tsx +0 -12
  585. package/src/containers/tickets/components/TicketListItem.tsx +0 -124
  586. package/src/containers/tickets/components/styles.ts +0 -54
  587. package/src/containers/tickets/components/types.ts +0 -47
  588. package/src/containers/tickets/styles.ts +0 -22
  589. package/src/containers/tickets/types.ts +0 -158
  590. package/src/core/BillingCore/BillingCore.tsx +0 -129
  591. package/src/core/BillingCore/BillingCoreTypes.ts +0 -34
  592. package/src/core/BillingCore/README.md +0 -22
  593. package/src/core/CheckoutCore/CheckoutCore.tsx +0 -113
  594. package/src/core/CheckoutCore/CheckoutCoreTypes.ts +0 -23
  595. package/src/core/CheckoutCore/README.md +0 -20
  596. package/src/core/CoreProps.ts +0 -5
  597. package/src/core/LoginCore/LoginCore.tsx +0 -140
  598. package/src/core/LoginCore/LoginCoreHelper.ts +0 -22
  599. package/src/core/LoginCore/LoginCoreTypes.ts +0 -21
  600. package/src/core/MIGRATION.md +0 -148
  601. package/src/core/MyOrdersCore/MyOrdersCore.tsx +0 -44
  602. package/src/core/MyOrdersCore/MyOrdersCoreTypes.ts +0 -15
  603. package/src/core/OrderDetailsCore/OrderDetailsCore.tsx +0 -36
  604. package/src/core/OrderDetailsCore/OrderDetailsCoreTypes.ts +0 -10
  605. package/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.tsx +0 -37
  606. package/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.ts +0 -10
  607. package/src/core/ResetPasswordCore/ResetPasswordCore.tsx +0 -21
  608. package/src/core/ResetPasswordCore/ResetPasswordCoreTypes.ts +0 -5
  609. package/src/core/Session/SessionCoreTypes.ts +0 -10
  610. package/src/core/Session/SessionHandle.tsx +0 -23
  611. package/src/core/TicketsCore/TicketsCore.tsx +0 -216
  612. package/src/core/TicketsCore/TicketsCoreTypes.ts +0 -52
  613. package/src/core/WaitingListCore/WaitingListCore.tsx +0 -35
  614. package/src/core/WaitingListCore/WaitingListCoreTypes.ts +0 -16
  615. package/src/core/index.ts +0 -20
  616. package/src/features/auth/api-hooks.ts +0 -61
  617. package/src/features/auth/types.ts +0 -54
  618. package/src/features/auth/utils.ts +0 -27
  619. package/src/features/checkout-v2/components/AddonsContainer.tsx +0 -159
  620. package/src/features/checkout-v2/components/Conditions.tsx +0 -144
  621. package/src/features/checkout-v2/components/OrderReview.tsx +0 -96
  622. package/src/features/checkout-v2/components/TicketHoldersSection.tsx +0 -131
  623. package/src/features/checkout-v2/form/config.tsx +0 -194
  624. package/src/features/checkout-v2/form/index.tsx +0 -830
  625. package/src/features/checkout-v2/form/styles.ts +0 -241
  626. package/src/features/checkout-v2/form/texts.ts +0 -133
  627. package/src/features/checkout-v2/form/types.ts +0 -231
  628. package/src/features/checkout-v2/hooks/api-hooks.ts +0 -332
  629. package/src/features/checkout-v2/hooks/use-checkout.ts +0 -927
  630. package/src/features/checkout-v2/index.tsx +0 -289
  631. package/src/features/checkout-v2/types.ts +0 -475
  632. package/src/features/checkout-v2/utils.ts +0 -156
  633. package/src/features/event/api-hooks.ts +0 -28
  634. package/src/features/event/types.ts +0 -69
  635. package/src/features/form/index.tsx +0 -185
  636. package/src/features/form/styles.ts +0 -37
  637. package/src/features/form/types.ts +0 -38
  638. package/src/features/geo/api-hooks.ts +0 -43
  639. package/src/features/geo/types.ts +0 -15
  640. package/src/helpers/Config.ts +0 -81
  641. package/src/helpers/CountryCodes.ts +0 -3382
  642. package/src/helpers/Debounced.ts +0 -27
  643. package/src/helpers/Domains.ts +0 -32
  644. package/src/helpers/LocalStorage.tsx +0 -152
  645. package/src/helpers/RefreshAccessToken.ts +0 -25
  646. package/src/helpers/StringsHelper.ts +0 -5
  647. package/src/helpers/Validators.ts +0 -108
  648. package/src/packages/rn-material-ui-textfield/README.md +0 -149
  649. package/src/packages/rn-material-ui-textfield/components/affix/index.js +0 -61
  650. package/src/packages/rn-material-ui-textfield/components/affix/styles.js +0 -8
  651. package/src/packages/rn-material-ui-textfield/components/counter/index.js +0 -36
  652. package/src/packages/rn-material-ui-textfield/components/counter/styles.js +0 -12
  653. package/src/packages/rn-material-ui-textfield/components/field/index.js +0 -700
  654. package/src/packages/rn-material-ui-textfield/components/field/styles.js +0 -42
  655. package/src/packages/rn-material-ui-textfield/components/field-filled/index.js +0 -21
  656. package/src/packages/rn-material-ui-textfield/components/field-filled/styles.js +0 -10
  657. package/src/packages/rn-material-ui-textfield/components/field-outlined/index.js +0 -59
  658. package/src/packages/rn-material-ui-textfield/components/helper/index.js +0 -78
  659. package/src/packages/rn-material-ui-textfield/components/helper/styles.js +0 -12
  660. package/src/packages/rn-material-ui-textfield/components/label/index.js +0 -123
  661. package/src/packages/rn-material-ui-textfield/components/label/styles.js +0 -16
  662. package/src/packages/rn-material-ui-textfield/components/line/index.js +0 -117
  663. package/src/packages/rn-material-ui-textfield/components/line/styles.js +0 -18
  664. package/src/packages/rn-material-ui-textfield/components/outline/index.js +0 -139
  665. package/src/packages/rn-material-ui-textfield/components/outline/styles.js +0 -83
  666. package/src/packages/rn-material-ui-textfield/index.d.ts +0 -53
  667. package/src/packages/rn-material-ui-textfield/index.js +0 -5
  668. package/src/packages/rn-material-ui-textfield/license.txt +0 -28
  669. package/src/res/colors.ts +0 -16
  670. package/src/res/icons.ts +0 -11
  671. package/src/res/images.ts +0 -3
  672. package/src/res/index.ts +0 -11
  673. package/src/types/IAccountTickets.ts +0 -75
  674. package/src/types/ICountry.ts +0 -2
  675. package/src/types/IError.ts +0 -5
  676. package/src/types/IEvent.ts +0 -87
  677. package/src/types/ITicket.ts +0 -75
  678. package/src/types/IUserProfile.ts +0 -30
  679. package/src/types/index.ts +0 -5
  680. package/src/utils/Logger.ts +0 -75
  681. package/src/utils/handlers.ts +0 -49
  682. package/src/utils/storageAdapter.ts +0 -44
  683. package/src/utils/styleUtils.ts +0 -76
@@ -0,0 +1,770 @@
1
+ /**
2
+ * `<BillingInfo/>` — the buyer + attendee details step. Collects: the buyer's
3
+ * name/email + event-gated buyer fields (Instagram/nationality/gender), any
4
+ * ORDER-level custom fields, PER-HOLDER name + ticket-level custom fields (when
5
+ * the event requires holder names or has ticket-scoped fields), and marketing
6
+ * opt-ins. Writes it all into the engine (`setBilling` with `dataCapture`,
7
+ * `setHolders` with `ticketDataCapture`, `setConsent`) so `<Payment/>`'s
8
+ * pre-flight passes. The RN analogue of the web `BillingInfo`, at full field
9
+ * parity — same fields, labels, validation rules, and copy.
10
+ *
11
+ * Native adaptations (see inline comments): the web `PhoneInput` lib becomes an
12
+ * `Input` with `keyboardType="phone-pad"`; the web date input becomes a text
13
+ * `Input` accepting `YYYY-MM-DD`; every `<select>` becomes the `../ui/Select`
14
+ * sheet; the privacy-policy link opens via `Linking` instead of an `<a>`.
15
+ */
16
+ import React, {
17
+ Fragment,
18
+ useEffect,
19
+ useMemo,
20
+ useRef,
21
+ useState,
22
+ type FC,
23
+ type ReactNode,
24
+ } from 'react'
25
+ import { Linking, Pressable, StyleSheet, Text, View } from 'react-native'
26
+
27
+ import {
28
+ hooks,
29
+ mapProfileToBilling,
30
+ missingCheckoutDetails,
31
+ isEmail,
32
+ ticketFieldsFor,
33
+ type CheckoutBilling,
34
+ type CheckoutHolder,
35
+ type CustomFieldValues,
36
+ type EventCustomFieldGroup,
37
+ } from 'tf-checkout-shared'
38
+
39
+ import {
40
+ useCheckoutContext,
41
+ useCheckoutValidation,
42
+ useTheme,
43
+ } from '../ui/CheckoutProvider'
44
+ import { CustomFieldInput } from '../ui/CustomFields'
45
+ import { Checkbox, Field, Input } from '../ui/Field'
46
+ import { Button, Card, ErrorText, SectionHeader } from '../ui/primitives'
47
+ import type { ResolvedTheme } from '../ui/theme'
48
+ import { BillingAddressFields } from './billing/BillingAddressFields'
49
+ import { BuyerField } from './billing/BuyerField'
50
+ import { TicketHoldersCard } from './billing/TicketHoldersCard'
51
+ import type { BillingDraft, HolderDraft } from './billing/types'
52
+
53
+ export interface BillingInfoProps {
54
+ /** Event context is used to default the country. */
55
+ eventId?: string
56
+ /** Fired once billing is saved to the engine — e.g. reveal `<Payment/>`. */
57
+ onContinue?: () => void
58
+ /** Section heading. Old checkout uses "Billing Information". */
59
+ heading?: string
60
+ /** CTA label. */
61
+ buttonLabel?: string
62
+ /** When provided and the buyer isn't signed in, shows a "Login & skip ahead"
63
+ * row. The current email is passed when login follows an account match. */
64
+ onLogin?: (email?: string) => void
65
+ /** Hide this card only after a signed-in profile satisfies every ordinary
66
+ * billing requirement and the event needs no extra buyer/holder answers. */
67
+ skipWhenProfileComplete?: boolean
68
+ /** Ask guests to repeat their email and require an exact match. */
69
+ requireEmailConfirmation?: boolean
70
+ /** Always collect one named holder per selected ticket. EmbeddedCheckout uses
71
+ * this to match tf-sports; standalone sections default to backend gates. */
72
+ collectTicketHolders?: boolean
73
+ /** When holder details are enabled, also collect each holder's email and phone. */
74
+ collectHolderContact?: boolean
75
+ /** Marketing opt-in labels. Render a checkbox for each provided (unchecked). */
76
+ ttfOptInLabel?: string
77
+ brandOptInLabel?: string
78
+ /** Required host privacy acknowledgement. The URL is supplied by the consumer. */
79
+ privacyPolicy?: CheckoutPrivacyPolicy
80
+ /** Show the legacy inline "Required" error after a failed payment attempt. */
81
+ showPrivacyError?: boolean
82
+ /** Optional numbered badge (old checkout shows none — omitted by default). The
83
+ * native `SectionHeader` has no badge slot, so this is accepted for API parity
84
+ * but not rendered. */
85
+ step?: ReactNode
86
+ }
87
+
88
+ export interface CheckoutPrivacyPolicy {
89
+ url: string
90
+ brandName: string
91
+ linkLabel?: string
92
+ }
93
+
94
+ export const BillingInfo: FC<BillingInfoProps> = ({
95
+ eventId,
96
+ onContinue,
97
+ heading = 'Billing Information',
98
+ buttonLabel = 'Continue to payment',
99
+ onLogin,
100
+ skipWhenProfileComplete = false,
101
+ requireEmailConfirmation = false,
102
+ collectTicketHolders = false,
103
+ collectHolderContact = false,
104
+ ttfOptInLabel = 'Keep me updated about future events from The Ticket Fairy',
105
+ brandOptInLabel,
106
+ privacyPolicy,
107
+ showPrivacyError = false,
108
+ }) => {
109
+ const checkout = useCheckoutContext()
110
+ const validation = useCheckoutValidation()
111
+ const theme = useTheme()
112
+ const s = useStyles(theme)
113
+ const profile = hooks.useProfile({ retry: false })
114
+ const event = hooks.useEvent(eventId)
115
+ // No onContinue ⇒ this is one combined form (inside <EmbeddedCheckout/>): mirror the
116
+ // fields into the engine live and drop the "continue" button, so the buyer
117
+ // fills billing + pays with ONE button — the way the old checkout flowed.
118
+ const combined = !onContinue
119
+
120
+ const [billing, setBilling] = useState<BillingDraft>({
121
+ firstName: checkout.billing?.firstName ?? '',
122
+ lastName: checkout.billing?.lastName ?? '',
123
+ email: checkout.billing?.email ?? '',
124
+ confirmEmail: checkout.billing?.confirmEmail ?? '',
125
+ phone: checkout.billing?.phone,
126
+ streetAddress: checkout.billing?.streetAddress,
127
+ city: checkout.billing?.city,
128
+ zip: checkout.billing?.zip,
129
+ countryId: checkout.billing?.countryId,
130
+ stateId: checkout.billing?.stateId,
131
+ countryCode: checkout.billing?.countryCode,
132
+ stateCode: checkout.billing?.stateCode,
133
+ nationality: checkout.billing?.nationality,
134
+ gender: checkout.billing?.gender,
135
+ instagramHandle: checkout.billing?.instagramHandle,
136
+ })
137
+ const [dataCapture, setDataCapture] = useState<CustomFieldValues>(
138
+ checkout.billing?.dataCapture ?? {}
139
+ )
140
+ const [holders, setHolders] = useState<HolderDraft[]>(() =>
141
+ checkout.holders.map((holder) => ({
142
+ firstName: holder.firstName,
143
+ lastName: holder.lastName,
144
+ email: holder.email,
145
+ phone: holder.phone ?? '',
146
+ ticketTypeId: holder.ticketTypeId,
147
+ ticketDataCapture: holder.ticketDataCapture ?? {},
148
+ }))
149
+ )
150
+ const [consent, setConsent] = useState({ ttfOptIn: false, brandOptIn: false })
151
+ const [dob, setDob] = useState(() => {
152
+ const b = checkout.billing
153
+ if (!b?.dobDay || !b.dobMonth || !b.dobYear) return ''
154
+ return `${b.dobYear}-${String(b.dobMonth).padStart(2, '0')}-${String(
155
+ b.dobDay
156
+ ).padStart(2, '0')}`
157
+ }) // ISO yyyy-mm-dd
158
+ const restoredHolders = useRef(checkout.holders)
159
+ const profileSeeded = useRef(false)
160
+ const countryDefaultApplied = useRef(Boolean(checkout.billing?.countryId))
161
+
162
+ // The engine setters are stable references (the shared hook holds the engine in
163
+ // a ref). Alias them so the live-commit effect below can depend on the SETTERS
164
+ // — never the whole `checkout` object (a fresh snapshot every render → effect
165
+ // re-fires each render → setBilling → re-render → infinite loop).
166
+ const {
167
+ setBilling: commitBilling,
168
+ setHolders: commitHolders,
169
+ setConsent: commitConsent,
170
+ } = checkout
171
+
172
+ const gates = checkout.fieldGates
173
+
174
+ // Custom-field groups by scope.
175
+ const orderGroups = useMemo(
176
+ () => checkout.customFields.filter((g) => g.scope === 'order'),
177
+ [checkout.customFields]
178
+ )
179
+ const ticketGroups = useMemo(
180
+ () => checkout.customFields.filter((g) => g.scope === 'ticket'),
181
+ [checkout.customFields]
182
+ )
183
+ const ticketFields = useMemo(
184
+ () => ticketGroups.flatMap((g) => g.fields),
185
+ [ticketGroups]
186
+ )
187
+ const holderNamesRequired = checkout.holderNamesRequired || collectTicketHolders
188
+ const showHolders = holderNamesRequired || ticketFields.length > 0
189
+
190
+ // One holder slot per ticket, tagged with its ticket type (drives ticket-field
191
+ // scoping + the engine's per-holder validation).
192
+ const slots = useMemo(() => {
193
+ const out: { ticketTypeId?: string; ticketName?: string }[] = []
194
+ const lines = checkout.breakdown?.tickets ?? []
195
+ for (const line of lines)
196
+ for (let i = 0; i < line.quantity; i++)
197
+ out.push({ ticketTypeId: line.ticketTypeId, ticketName: line.name })
198
+ if (!out.length) {
199
+ const total = checkout.selections.reduce((n, sel) => n + sel.quantity, 0)
200
+ for (let i = 0; i < total; i++) out.push({})
201
+ }
202
+ return out
203
+ }, [checkout.breakdown, checkout.selections])
204
+
205
+ // The initial state above restores anything already on the engine. A profile
206
+ // that arrives later may fill blanks ONCE, but must never be consulted again
207
+ // while the buyer edits — otherwise clearing the final character restores the
208
+ // previous engine value on the next live commit.
209
+ useEffect(() => {
210
+ const p = profile.data
211
+ if (!p || profileSeeded.current) return
212
+ profileSeeded.current = true
213
+ const profileBilling = mapProfileToBilling(p)
214
+ setBilling((prev) => {
215
+ const next = {
216
+ ...prev,
217
+ firstName: prev.firstName || profileBilling.firstName || '',
218
+ lastName: prev.lastName || profileBilling.lastName || '',
219
+ email: prev.email || profileBilling.email || '',
220
+ confirmEmail:
221
+ prev.confirmEmail || (checkout.isLoggedIn ? profileBilling.email : '') || '',
222
+ phone: prev.phone || profileBilling.phone,
223
+ streetAddress: prev.streetAddress || profileBilling.streetAddress,
224
+ city: prev.city || profileBilling.city,
225
+ zip: prev.zip || profileBilling.zip,
226
+ countryId: prev.countryId || profileBilling.countryId,
227
+ stateId: prev.stateId || profileBilling.stateId,
228
+ }
229
+ const keys = Object.keys(next) as (keyof BillingDraft)[]
230
+ return keys.every((k) => next[k] === prev[k]) ? prev : next
231
+ })
232
+ }, [profile.data, checkout.isLoggedIn])
233
+
234
+ // Resize holders to the slot count, preserving typed values; tag ticket type.
235
+ useEffect(() => {
236
+ setHolders((prev) =>
237
+ slots.map((slot, i) => ({
238
+ firstName: prev[i]?.firstName ?? restoredHolders.current[i]?.firstName ?? '',
239
+ lastName: prev[i]?.lastName ?? restoredHolders.current[i]?.lastName ?? '',
240
+ email: prev[i]?.email ?? restoredHolders.current[i]?.email ?? '',
241
+ phone: prev[i]?.phone ?? restoredHolders.current[i]?.phone ?? '',
242
+ ticketDataCapture:
243
+ prev[i]?.ticketDataCapture ??
244
+ restoredHolders.current[i]?.ticketDataCapture ??
245
+ {},
246
+ ticketTypeId: slot.ticketTypeId,
247
+ ticketName: slot.ticketName,
248
+ }))
249
+ )
250
+ }, [slots])
251
+
252
+ // Match the storefront: ticket 1 silently starts as the buyer. The legacy
253
+ // checkout has no extra "use buyer details" control.
254
+ useEffect(() => {
255
+ if (!showHolders) return
256
+ setHolders((prev) =>
257
+ prev.map((holder, index) =>
258
+ index === 0
259
+ ? {
260
+ ...holder,
261
+ firstName: billing.firstName,
262
+ lastName: billing.lastName,
263
+ email: billing.email,
264
+ phone: billing.phone ?? '',
265
+ }
266
+ : holder
267
+ )
268
+ )
269
+ }, [showHolders, billing.firstName, billing.lastName, billing.email, billing.phone])
270
+
271
+ // Debounced "this email already has an account" check → nudges the buyer to
272
+ // sign in (autofill + avoid duplicate accounts). Skips signed-in buyers.
273
+ useEffect(() => {
274
+ const email = billing.email.trim()
275
+ if (checkout.isLoggedIn || !isEmail(email)) return
276
+ const t = setTimeout(
277
+ () => checkout.checkBuyerEmail(email).catch(() => undefined),
278
+ 600
279
+ )
280
+ return () => clearTimeout(t)
281
+ // eslint-disable-next-line react-hooks/exhaustive-deps
282
+ }, [billing.email, checkout.isLoggedIn])
283
+ const emailTaken =
284
+ !checkout.isLoggedIn && checkout.existingAccountEmail === billing.email.trim()
285
+
286
+ const needsNationality = checkout.buyerFields.some((f) => f.kind === 'nationality')
287
+ const countriesQuery = hooks.useCountries({
288
+ enabled: needsNationality || gates.showAddress,
289
+ })
290
+ const countries = useMemo(() => countriesQuery.data ?? [], [countriesQuery.data])
291
+ const statesQuery = hooks.useStates(billing.countryId, {
292
+ enabled: Boolean(billing.countryId),
293
+ })
294
+ const states = useMemo(() => statesQuery.data ?? [], [statesQuery.data])
295
+
296
+ // Event country → signed-in profile → US, matching the hosted checkout's
297
+ // country preference order. Also retain the ISO code for Stripe.
298
+ useEffect(() => {
299
+ if (
300
+ countryDefaultApplied.current ||
301
+ billing.countryId ||
302
+ countries.length === 0 ||
303
+ profile.isLoading ||
304
+ (eventId && event.isLoading)
305
+ ) {
306
+ return
307
+ }
308
+ const eventCode = event.data?.countryCode?.toLowerCase()
309
+ const preferred =
310
+ countries.find((country) => country.code?.toLowerCase() === eventCode) ??
311
+ countries.find(
312
+ (country) =>
313
+ profile.data?.countryId !== null &&
314
+ profile.data?.countryId !== undefined &&
315
+ String(country.id) === String(profile.data.countryId)
316
+ ) ??
317
+ countries.find((country) => country.code?.toLowerCase() === 'us')
318
+ if (!preferred) return
319
+ countryDefaultApplied.current = true
320
+ setBilling((current) => ({
321
+ ...current,
322
+ countryId: String(preferred.id),
323
+ countryCode: preferred.code?.toUpperCase(),
324
+ stateId: undefined,
325
+ stateCode: undefined,
326
+ }))
327
+ }, [
328
+ billing.countryId,
329
+ countries,
330
+ profile.isLoading,
331
+ profile.data?.countryId,
332
+ eventId,
333
+ event.isLoading,
334
+ event.data?.countryCode,
335
+ ])
336
+
337
+ useEffect(() => {
338
+ if (!billing.countryId) return
339
+ const country = countries.find(
340
+ (candidate) => String(candidate.id) === String(billing.countryId)
341
+ )
342
+ const countryCode = country?.code?.toUpperCase()
343
+ if (countryCode && countryCode !== billing.countryCode) {
344
+ setBilling((current) => ({ ...current, countryCode }))
345
+ }
346
+ }, [billing.countryId, billing.countryCode, countries])
347
+
348
+ useEffect(() => {
349
+ if (!billing.stateId) return
350
+ const state = states.find(
351
+ (candidate) => String(candidate.id) === String(billing.stateId)
352
+ )
353
+ const stateCode = state?.code
354
+ if (stateCode && stateCode !== billing.stateCode) {
355
+ setBilling((current) => ({ ...current, stateCode }))
356
+ }
357
+ }, [billing.stateId, billing.stateCode, states])
358
+
359
+ const setB = (k: keyof BillingDraft) => (value: string) =>
360
+ setBilling((b) => ({ ...b, [k]: value }))
361
+
362
+ const patchHolder = (i: number, patch: Partial<HolderDraft>) =>
363
+ setHolders((hs) => hs.map((h, j) => (j === i ? { ...h, ...patch } : h)))
364
+
365
+ const [dobYear, dobMonth, dobDay] = dob ? dob.split('-').map(Number) : []
366
+ const committedBilling: CheckoutBilling = {
367
+ ...checkout.billing,
368
+ ...billing,
369
+ stateRequired: gates.showAddress && Boolean(billing.countryId) && states.length > 0,
370
+ dataCapture,
371
+ dobDay,
372
+ dobMonth,
373
+ dobYear,
374
+ }
375
+ const committedHolders: CheckoutHolder[] = holders.map((holder) => ({
376
+ firstName: holderNamesRequired
377
+ ? holder.firstName
378
+ : holder.firstName || billing.firstName,
379
+ lastName: holderNamesRequired ? holder.lastName : holder.lastName || billing.lastName,
380
+ email:
381
+ showHolders && collectHolderContact ? holder.email : holder.email || billing.email,
382
+ phone:
383
+ showHolders && collectHolderContact ? holder.phone : holder.phone || billing.phone,
384
+ ticketTypeId: holder.ticketTypeId,
385
+ ticketDataCapture: holder.ticketDataCapture,
386
+ }))
387
+ const missingDetails = missingCheckoutDetails(
388
+ {
389
+ billing: committedBilling,
390
+ holders: committedHolders,
391
+ selections: checkout.selections,
392
+ breakdown: checkout.breakdown,
393
+ holderNamesRequired: checkout.holderNamesRequired,
394
+ fieldGates: checkout.fieldGates,
395
+ customFields: checkout.customFields,
396
+ },
397
+ {
398
+ requireEmailConfirmation,
399
+ collectTicketHolders,
400
+ requireHolderContact: collectHolderContact,
401
+ }
402
+ )
403
+ const complete = missingDetails.length === 0
404
+ const showValidation = validation.attempt > 0
405
+ const missingSet = new Set(missingDetails)
406
+ const fieldError = (key: string, message = 'This field is required.') =>
407
+ showValidation && missingSet.has(key) ? message : undefined
408
+ const dobError = showValidation
409
+ ? missingDetails.find(
410
+ (detail) => detail === 'Date of birth' || detail.startsWith('Age ')
411
+ )
412
+ : undefined
413
+
414
+ const commit = () => {
415
+ commitBilling(committedBilling)
416
+ commitHolders(committedHolders)
417
+ if (ttfOptInLabel || brandOptInLabel) commitConsent(consent)
418
+ }
419
+
420
+ // Combined mode: keep the engine in sync as the form is filled, so <Payment/>
421
+ // is always chargeable without a separate "continue" click. Depend on the
422
+ // stable engine setters + the local source state — NOT the freshly-rebuilt
423
+ // `committed*` objects (new refs each render → infinite loop).
424
+ useEffect(() => {
425
+ if (combined) commit()
426
+ // eslint-disable-next-line react-hooks/exhaustive-deps
427
+ }, [
428
+ combined,
429
+ commitBilling,
430
+ commitHolders,
431
+ commitConsent,
432
+ billing,
433
+ holders,
434
+ consent,
435
+ dob,
436
+ dataCapture,
437
+ ])
438
+
439
+ const renderGroupFields = (
440
+ group: EventCustomFieldGroup,
441
+ values: CustomFieldValues,
442
+ onChange: (name: string, v: string | string[]) => void,
443
+ ticketTypeId?: string,
444
+ ticketIndex?: number
445
+ ) =>
446
+ ticketFieldsFor(group.fields, ticketTypeId).map((f) => {
447
+ const label = f.label || f.name
448
+ const missingKey =
449
+ ticketIndex === undefined ? label : `${label} (ticket ${ticketIndex + 1})`
450
+ return (
451
+ <CustomFieldInput
452
+ key={f.id}
453
+ field={f}
454
+ value={values[f.name]}
455
+ error={fieldError(missingKey)}
456
+ onChange={(v) => onChange(f.name, v)}
457
+ />
458
+ )
459
+ })
460
+
461
+ const hasEventSpecificDetails =
462
+ checkout.buyerFields.length > 0 ||
463
+ checkout.customFields.some((group) => group.fields.length > 0) ||
464
+ showHolders ||
465
+ gates.showDob
466
+ const skipBilling =
467
+ skipWhenProfileComplete &&
468
+ checkout.isLoggedIn &&
469
+ profile.isSuccess &&
470
+ complete &&
471
+ !hasEventSpecificDetails
472
+
473
+ // This is the safe EmbeddedCheckout interpretation of legacy
474
+ // `skip_billing_page`: payment remains visible; only a fully satisfied,
475
+ // ordinary billing card disappears.
476
+ if (skipBilling) return null
477
+
478
+ const privacyInvalid = (showPrivacyError || showValidation) && !consent.ttfOptIn
479
+
480
+ return (
481
+ <>
482
+ <Card>
483
+ <SectionHeader title={heading} />
484
+
485
+ {onLogin && !checkout.isLoggedIn ? (
486
+ <View style={s.loginRow}>
487
+ <Text style={s.note}>Login &amp; skip ahead:</Text>
488
+ <Pressable onPress={() => onLogin()}>
489
+ <Text style={s.link}>Login</Text>
490
+ </Pressable>
491
+ </View>
492
+ ) : null}
493
+
494
+ <View style={s.row}>
495
+ <View style={s.col}>
496
+ <Field error={fieldError('First name', 'First name is required.')}>
497
+ <Input
498
+ placeholder="First name *"
499
+ value={billing.firstName}
500
+ onChangeText={setB('firstName')}
501
+ autoCapitalize="words"
502
+ invalid={Boolean(fieldError('First name'))}
503
+ />
504
+ </Field>
505
+ </View>
506
+ <View style={s.col}>
507
+ <Field error={fieldError('Last name', 'Last name is required.')}>
508
+ <Input
509
+ placeholder="Last name *"
510
+ value={billing.lastName}
511
+ onChangeText={setB('lastName')}
512
+ autoCapitalize="words"
513
+ invalid={Boolean(fieldError('Last name'))}
514
+ />
515
+ </Field>
516
+ </View>
517
+ </View>
518
+
519
+ <View style={s.row}>
520
+ <View style={s.col}>
521
+ <Field
522
+ error={fieldError('Valid email address', 'Enter a valid email address.')}
523
+ >
524
+ <Input
525
+ placeholder="Email *"
526
+ value={billing.email}
527
+ onChangeText={setB('email')}
528
+ keyboardType="email-address"
529
+ autoCapitalize="none"
530
+ invalid={Boolean(fieldError('Valid email address'))}
531
+ />
532
+ </Field>
533
+ </View>
534
+ {requireEmailConfirmation && !checkout.isLoggedIn ? (
535
+ <View style={s.col}>
536
+ <Field
537
+ error={fieldError(
538
+ 'Matching email confirmation',
539
+ 'Email addresses must match.'
540
+ )}
541
+ >
542
+ <Input
543
+ placeholder="Confirm email *"
544
+ value={billing.confirmEmail ?? ''}
545
+ onChangeText={setB('confirmEmail')}
546
+ keyboardType="email-address"
547
+ autoCapitalize="none"
548
+ invalid={Boolean(fieldError('Matching email confirmation'))}
549
+ />
550
+ </Field>
551
+ </View>
552
+ ) : null}
553
+ </View>
554
+ {!showValidation &&
555
+ requireEmailConfirmation &&
556
+ billing.confirmEmail &&
557
+ billing.confirmEmail.trim().toLowerCase() !==
558
+ billing.email.trim().toLowerCase() ? (
559
+ <ErrorText>The email addresses do not match.</ErrorText>
560
+ ) : null}
561
+ {emailTaken ? (
562
+ <Text style={s.note}>
563
+ This email is already registered.{' '}
564
+ {onLogin ? (
565
+ <Text style={s.link} onPress={() => onLogin(billing.email)}>
566
+ Log in to autofill your details
567
+ </Text>
568
+ ) : (
569
+ 'Log in to autofill your details.'
570
+ )}
571
+ </Text>
572
+ ) : null}
573
+
574
+ {checkout.buyerFields.map((f) => (
575
+ <BuyerField
576
+ key={f.key}
577
+ field={f}
578
+ value={String(billing[f.key] ?? '')}
579
+ onChange={(v) => setBilling((b) => ({ ...b, [f.key]: v }))}
580
+ countries={countries}
581
+ error={fieldError(
582
+ f.kind === 'nationality'
583
+ ? 'Nationality'
584
+ : f.kind === 'gender'
585
+ ? 'Gender'
586
+ : 'Instagram handle'
587
+ )}
588
+ />
589
+ ))}
590
+
591
+ {gates.showPhone ? (
592
+ <Field
593
+ label="Phone"
594
+ required={gates.phoneRequired}
595
+ error={fieldError('Valid phone number', 'Enter a valid phone number.')}
596
+ >
597
+ {/* Native: web PhoneInput lib → plain phone-pad Input. */}
598
+ <Input
599
+ placeholder="Phone number"
600
+ value={billing.phone ?? ''}
601
+ onChangeText={(v) => setBilling((current) => ({ ...current, phone: v }))}
602
+ keyboardType="phone-pad"
603
+ invalid={Boolean(fieldError('Valid phone number'))}
604
+ />
605
+ </Field>
606
+ ) : null}
607
+
608
+ {gates.showDob ? (
609
+ <Field
610
+ label={`Date of birth *${
611
+ gates.minimumAge ? ` (must be ${gates.minimumAge}+)` : ''
612
+ }`}
613
+ error={
614
+ dobError === 'Date of birth'
615
+ ? 'Date of birth is required.'
616
+ : dobError
617
+ ? `You must be ${gates.minimumAge} or older.`
618
+ : undefined
619
+ }
620
+ >
621
+ {/* Native: web date input → text Input, ISO YYYY-MM-DD. */}
622
+ <Input
623
+ placeholder="YYYY-MM-DD"
624
+ value={dob}
625
+ onChangeText={setDob}
626
+ keyboardType="numbers-and-punctuation"
627
+ invalid={Boolean(dobError)}
628
+ />
629
+ </Field>
630
+ ) : null}
631
+
632
+ {gates.showAddress ? (
633
+ <BillingAddressFields
634
+ billing={billing}
635
+ countries={countries}
636
+ states={states}
637
+ fieldError={fieldError}
638
+ setBilling={setBilling}
639
+ />
640
+ ) : null}
641
+
642
+ {/* Order-level custom fields */}
643
+ {orderGroups.map((g) => (
644
+ <Fragment key={g.id}>
645
+ {g.label ? <Text style={s.sectionLabel}>{g.label}</Text> : null}
646
+ {renderGroupFields(g, dataCapture, (name, v) =>
647
+ setDataCapture((d) => ({ ...d, [name]: v }))
648
+ )}
649
+ </Fragment>
650
+ ))}
651
+
652
+ {/* Marketing opt-ins (optional) */}
653
+ {brandOptInLabel ? (
654
+ <Checkbox
655
+ checked={consent.brandOptIn}
656
+ onChange={(brandOptIn) => setConsent((c) => ({ ...c, brandOptIn }))}
657
+ label={brandOptInLabel}
658
+ />
659
+ ) : null}
660
+ {privacyPolicy ? (
661
+ <View style={s.consent}>
662
+ <Checkbox
663
+ checked={consent.ttfOptIn}
664
+ onChange={(ttfOptIn) => setConsent((c) => ({ ...c, ttfOptIn }))}
665
+ invalid={privacyInvalid}
666
+ label={
667
+ <Text style={s.consentLabel}>
668
+ I have read and agree to {privacyPolicy.brandName}{' '}
669
+ <Text
670
+ style={s.link}
671
+ onPress={() =>
672
+ Linking.openURL(privacyPolicy.url).catch(() => undefined)
673
+ }
674
+ >
675
+ {privacyPolicy.linkLabel || 'Privacy Policy.'}
676
+ </Text>
677
+ {' *'}
678
+ </Text>
679
+ }
680
+ />
681
+ {privacyInvalid ? <ErrorText>Required</ErrorText> : null}
682
+ </View>
683
+ ) : ttfOptInLabel ? (
684
+ <Checkbox
685
+ checked={consent.ttfOptIn}
686
+ onChange={(ttfOptIn) => setConsent((c) => ({ ...c, ttfOptIn }))}
687
+ label={ttfOptInLabel}
688
+ />
689
+ ) : null}
690
+
691
+ {!combined ? (
692
+ <Button
693
+ onPress={() => {
694
+ if (!complete) {
695
+ validation.requestValidation()
696
+ return
697
+ }
698
+ commit()
699
+ onContinue?.()
700
+ }}
701
+ >
702
+ {buttonLabel}
703
+ </Button>
704
+ ) : null}
705
+ </Card>
706
+
707
+ {showHolders ? (
708
+ <TicketHoldersCard
709
+ holders={holders}
710
+ holderNamesRequired={holderNamesRequired}
711
+ collectHolderContact={collectHolderContact}
712
+ fieldError={fieldError}
713
+ patchHolder={patchHolder}
714
+ renderCustomFields={(holder, index) =>
715
+ ticketGroups.map((group) =>
716
+ renderGroupFields(
717
+ group,
718
+ holder.ticketDataCapture,
719
+ (name, value) =>
720
+ patchHolder(index, {
721
+ ticketDataCapture: {
722
+ ...holder.ticketDataCapture,
723
+ [name]: value,
724
+ },
725
+ }),
726
+ holder.ticketTypeId,
727
+ index
728
+ )
729
+ )
730
+ }
731
+ />
732
+ ) : null}
733
+ </>
734
+ )
735
+ }
736
+
737
+ const useStyles = (theme: ResolvedTheme) =>
738
+ useMemo(
739
+ () =>
740
+ StyleSheet.create({
741
+ loginRow: { flexDirection: 'row', alignItems: 'center', gap: 8 },
742
+ note: {
743
+ color: theme.muted,
744
+ fontSize: theme.fontSize - 1,
745
+ fontFamily: theme.fontFamily,
746
+ },
747
+ link: {
748
+ color: theme.accent,
749
+ fontSize: theme.fontSize - 1,
750
+ fontWeight: '600',
751
+ fontFamily: theme.fontFamily,
752
+ },
753
+ sectionLabel: {
754
+ color: theme.text,
755
+ fontSize: theme.fontSize,
756
+ fontWeight: '600',
757
+ fontFamily: theme.fontFamily,
758
+ },
759
+ consent: { gap: 6 },
760
+ consentLabel: {
761
+ flex: 1,
762
+ color: theme.text,
763
+ fontSize: theme.fontSize - 1,
764
+ fontFamily: theme.fontFamily,
765
+ },
766
+ row: { flexDirection: 'row', gap: 10 },
767
+ col: { flex: 1 },
768
+ }),
769
+ [theme]
770
+ )