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

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