tf-checkout-react-native 1.0.37 → 1.0.39

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 (1142) hide show
  1. package/README.md +379 -173
  2. package/lib/index.js +17564 -12
  3. package/lib/index.js.map +1 -1
  4. package/lib/index.mjs +17652 -0
  5. package/lib/index.mjs.map +1 -0
  6. package/lib/typescript/package.json +1 -0
  7. package/lib/typescript/src/api/ApiClient.d.ts +49 -0
  8. package/lib/typescript/src/api/ApiClient.d.ts.map +1 -0
  9. package/lib/typescript/src/api/Constants.d.ts +11 -0
  10. package/lib/typescript/src/api/Constants.d.ts.map +1 -0
  11. package/lib/typescript/src/api/ErrorHandler.d.ts +12 -0
  12. package/lib/typescript/src/api/ErrorHandler.d.ts.map +1 -0
  13. package/lib/typescript/src/api/api.types.d.ts +8 -0
  14. package/lib/typescript/src/api/api.types.d.ts.map +1 -0
  15. package/lib/typescript/src/api/types.d.ts +518 -0
  16. package/lib/typescript/src/api/types.d.ts.map +1 -0
  17. package/lib/typescript/src/common/query.types.d.ts +3 -0
  18. package/lib/typescript/src/common/query.types.d.ts.map +1 -0
  19. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModal.d.ts +8 -0
  20. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModal.d.ts.map +1 -0
  21. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalStyles.d.ts +39 -0
  22. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalStyles.d.ts.map +1 -0
  23. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalTypes.d.ts +23 -0
  24. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalTypes.d.ts.map +1 -0
  25. package/lib/typescript/src/components/button/Button.d.ts +5 -0
  26. package/lib/typescript/src/components/button/Button.d.ts.map +1 -0
  27. package/lib/typescript/src/components/button/styles.d.ts +28 -0
  28. package/lib/typescript/src/components/button/styles.d.ts.map +1 -0
  29. package/lib/typescript/src/components/button/types.d.ts +15 -0
  30. package/lib/typescript/src/components/button/types.d.ts.map +1 -0
  31. package/lib/typescript/src/components/cartTimer/CartTimer.d.ts +5 -0
  32. package/lib/typescript/src/components/cartTimer/CartTimer.d.ts.map +1 -0
  33. package/lib/typescript/src/components/cartTimer/styles.d.ts +47 -0
  34. package/lib/typescript/src/components/cartTimer/styles.d.ts.map +1 -0
  35. package/lib/typescript/src/components/cartTimer/types.d.ts +19 -0
  36. package/lib/typescript/src/components/cartTimer/types.d.ts.map +1 -0
  37. package/lib/typescript/src/components/checkbox/Checkbox.d.ts +4 -0
  38. package/lib/typescript/src/components/checkbox/Checkbox.d.ts.map +1 -0
  39. package/lib/typescript/src/components/checkbox/styles.d.ts +39 -0
  40. package/lib/typescript/src/components/checkbox/styles.d.ts.map +1 -0
  41. package/lib/typescript/src/components/checkbox/types.d.ts +22 -0
  42. package/lib/typescript/src/components/checkbox/types.d.ts.map +1 -0
  43. package/lib/typescript/src/components/datePicker/DatePicker.d.ts +4 -0
  44. package/lib/typescript/src/components/datePicker/DatePicker.d.ts.map +1 -0
  45. package/lib/typescript/src/components/datePicker/styles.d.ts +35 -0
  46. package/lib/typescript/src/components/datePicker/styles.d.ts.map +1 -0
  47. package/lib/typescript/src/components/datePicker/types.d.ts +20 -0
  48. package/lib/typescript/src/components/datePicker/types.d.ts.map +1 -0
  49. package/lib/typescript/src/components/dropdown/Dropdown.d.ts +4 -0
  50. package/lib/typescript/src/components/dropdown/Dropdown.d.ts.map +1 -0
  51. package/lib/typescript/src/components/dropdown/DropdownListItem.d.ts +4 -0
  52. package/lib/typescript/src/components/dropdown/DropdownListItem.d.ts.map +1 -0
  53. package/lib/typescript/src/components/dropdown/styles.d.ts +85 -0
  54. package/lib/typescript/src/components/dropdown/styles.d.ts.map +1 -0
  55. package/lib/typescript/src/components/dropdown/types.d.ts +35 -0
  56. package/lib/typescript/src/components/dropdown/types.d.ts.map +1 -0
  57. package/lib/typescript/src/components/dropdownMaterial/DropdownMaterial.d.ts +4 -0
  58. package/lib/typescript/src/components/dropdownMaterial/DropdownMaterial.d.ts.map +1 -0
  59. package/lib/typescript/src/components/dropdownMaterial/styles.d.ts +79 -0
  60. package/lib/typescript/src/components/dropdownMaterial/styles.d.ts.map +1 -0
  61. package/lib/typescript/src/components/dropdownMaterial/types.d.ts +22 -0
  62. package/lib/typescript/src/components/dropdownMaterial/types.d.ts.map +1 -0
  63. package/lib/typescript/src/components/enterPassword/EnterPassword.d.ts +5 -0
  64. package/lib/typescript/src/components/enterPassword/EnterPassword.d.ts.map +1 -0
  65. package/lib/typescript/src/components/enterPassword/styles.d.ts +21 -0
  66. package/lib/typescript/src/components/enterPassword/styles.d.ts.map +1 -0
  67. package/lib/typescript/src/components/enterPassword/types.d.ts +24 -0
  68. package/lib/typescript/src/components/enterPassword/types.d.ts.map +1 -0
  69. package/lib/typescript/src/components/formField/FormField.d.ts +4 -0
  70. package/lib/typescript/src/components/formField/FormField.d.ts.map +1 -0
  71. package/lib/typescript/src/components/formField/styles.d.ts +35 -0
  72. package/lib/typescript/src/components/formField/styles.d.ts.map +1 -0
  73. package/lib/typescript/src/components/formField/types.d.ts +48 -0
  74. package/lib/typescript/src/components/formField/types.d.ts.map +1 -0
  75. package/lib/typescript/src/components/index.d.ts +21 -0
  76. package/lib/typescript/src/components/index.d.ts.map +1 -0
  77. package/lib/typescript/src/components/input/Input.d.ts +4 -0
  78. package/lib/typescript/src/components/input/Input.d.ts.map +1 -0
  79. package/lib/typescript/src/components/input/styles.d.ts +47 -0
  80. package/lib/typescript/src/components/input/styles.d.ts.map +1 -0
  81. package/lib/typescript/src/components/input/types.d.ts +28 -0
  82. package/lib/typescript/src/components/input/types.d.ts.map +1 -0
  83. package/lib/typescript/src/components/loading/Loading.d.ts +4 -0
  84. package/lib/typescript/src/components/loading/Loading.d.ts.map +1 -0
  85. package/lib/typescript/src/components/loading/styles.d.ts +30 -0
  86. package/lib/typescript/src/components/loading/styles.d.ts.map +1 -0
  87. package/lib/typescript/src/components/loading/types.d.ts +15 -0
  88. package/lib/typescript/src/components/loading/types.d.ts.map +1 -0
  89. package/lib/typescript/src/components/loggedIn/LoggedIn.d.ts +5 -0
  90. package/lib/typescript/src/components/loggedIn/LoggedIn.d.ts.map +1 -0
  91. package/lib/typescript/src/components/loggedIn/styles.d.ts +9 -0
  92. package/lib/typescript/src/components/loggedIn/styles.d.ts.map +1 -0
  93. package/lib/typescript/src/components/loggedIn/types.d.ts +24 -0
  94. package/lib/typescript/src/components/loggedIn/types.d.ts.map +1 -0
  95. package/lib/typescript/src/components/login/Login.d.ts +5 -0
  96. package/lib/typescript/src/components/login/Login.d.ts.map +1 -0
  97. package/lib/typescript/src/components/login/LoginView.d.ts +5 -0
  98. package/lib/typescript/src/components/login/LoginView.d.ts.map +1 -0
  99. package/lib/typescript/src/components/login/components/LoginForm.d.ts +5 -0
  100. package/lib/typescript/src/components/login/components/LoginForm.d.ts.map +1 -0
  101. package/lib/typescript/src/components/login/components/types.d.ts +19 -0
  102. package/lib/typescript/src/components/login/components/types.d.ts.map +1 -0
  103. package/lib/typescript/src/components/login/styles.d.ts +62 -0
  104. package/lib/typescript/src/components/login/styles.d.ts.map +1 -0
  105. package/lib/typescript/src/components/login/types.d.ts +144 -0
  106. package/lib/typescript/src/components/login/types.d.ts.map +1 -0
  107. package/lib/typescript/src/components/phoneInput/PhoneInput.d.ts +5 -0
  108. package/lib/typescript/src/components/phoneInput/PhoneInput.d.ts.map +1 -0
  109. package/lib/typescript/src/components/phoneInput/styles.d.ts +29 -0
  110. package/lib/typescript/src/components/phoneInput/styles.d.ts.map +1 -0
  111. package/lib/typescript/src/components/phoneInput/types.d.ts +31 -0
  112. package/lib/typescript/src/components/phoneInput/types.d.ts.map +1 -0
  113. package/lib/typescript/src/components/promoCode/PromoCode.d.ts +5 -0
  114. package/lib/typescript/src/components/promoCode/PromoCode.d.ts.map +1 -0
  115. package/lib/typescript/src/components/promoCode/styles.d.ts +61 -0
  116. package/lib/typescript/src/components/promoCode/styles.d.ts.map +1 -0
  117. package/lib/typescript/src/components/promoCode/types.d.ts +36 -0
  118. package/lib/typescript/src/components/promoCode/types.d.ts.map +1 -0
  119. package/lib/typescript/src/components/radioButton/RadioButton.d.ts +5 -0
  120. package/lib/typescript/src/components/radioButton/RadioButton.d.ts.map +1 -0
  121. package/lib/typescript/src/components/radioButton/styles.d.ts +25 -0
  122. package/lib/typescript/src/components/radioButton/styles.d.ts.map +1 -0
  123. package/lib/typescript/src/components/radioButton/types.d.ts +16 -0
  124. package/lib/typescript/src/components/radioButton/types.d.ts.map +1 -0
  125. package/lib/typescript/src/components/radioGroup/RadioGroup.d.ts +4 -0
  126. package/lib/typescript/src/components/radioGroup/RadioGroup.d.ts.map +1 -0
  127. package/lib/typescript/src/components/radioGroup/index.d.ts +4 -0
  128. package/lib/typescript/src/components/radioGroup/index.d.ts.map +1 -0
  129. package/lib/typescript/src/components/radioGroup/types.d.ts +24 -0
  130. package/lib/typescript/src/components/radioGroup/types.d.ts.map +1 -0
  131. package/lib/typescript/src/components/restorePassword/RestorePassword.d.ts +5 -0
  132. package/lib/typescript/src/components/restorePassword/RestorePassword.d.ts.map +1 -0
  133. package/lib/typescript/src/components/restorePassword/ResultDialog.d.ts +5 -0
  134. package/lib/typescript/src/components/restorePassword/ResultDialog.d.ts.map +1 -0
  135. package/lib/typescript/src/components/restorePassword/styles.d.ts +34 -0
  136. package/lib/typescript/src/components/restorePassword/styles.d.ts.map +1 -0
  137. package/lib/typescript/src/components/restorePassword/types.d.ts +49 -0
  138. package/lib/typescript/src/components/restorePassword/types.d.ts.map +1 -0
  139. package/lib/typescript/src/components/separator/Separator.d.ts +4 -0
  140. package/lib/typescript/src/components/separator/Separator.d.ts.map +1 -0
  141. package/lib/typescript/src/components/separator/types.d.ts +9 -0
  142. package/lib/typescript/src/components/separator/types.d.ts.map +1 -0
  143. package/lib/typescript/src/components/stripePayment/StripePayment.d.ts +5 -0
  144. package/lib/typescript/src/components/stripePayment/StripePayment.d.ts.map +1 -0
  145. package/lib/typescript/src/components/stripePayment/styles.d.ts +7 -0
  146. package/lib/typescript/src/components/stripePayment/styles.d.ts.map +1 -0
  147. package/lib/typescript/src/components/stripePayment/types.d.ts +14 -0
  148. package/lib/typescript/src/components/stripePayment/types.d.ts.map +1 -0
  149. package/lib/typescript/src/components/waitingList/WaitingList.d.ts +6 -0
  150. package/lib/typescript/src/components/waitingList/WaitingList.d.ts.map +1 -0
  151. package/lib/typescript/src/components/waitingList/WaitingListView.d.ts +5 -0
  152. package/lib/typescript/src/components/waitingList/WaitingListView.d.ts.map +1 -0
  153. package/lib/typescript/src/components/waitingList/styles.d.ts +9 -0
  154. package/lib/typescript/src/components/waitingList/styles.d.ts.map +1 -0
  155. package/lib/typescript/src/components/waitingList/types.d.ts +59 -0
  156. package/lib/typescript/src/components/waitingList/types.d.ts.map +1 -0
  157. package/lib/typescript/src/containers/billingInfo/Billing.d.ts +6 -0
  158. package/lib/typescript/src/containers/billingInfo/Billing.d.ts.map +1 -0
  159. package/lib/typescript/src/containers/billingInfo/styles.d.ts +61 -0
  160. package/lib/typescript/src/containers/billingInfo/styles.d.ts.map +1 -0
  161. package/lib/typescript/src/containers/billingInfo/types.d.ts +160 -0
  162. package/lib/typescript/src/containers/billingInfo/types.d.ts.map +1 -0
  163. package/lib/typescript/src/containers/checkout/Checkout.d.ts +7 -0
  164. package/lib/typescript/src/containers/checkout/Checkout.d.ts.map +1 -0
  165. package/lib/typescript/src/containers/checkout/CheckoutData.d.ts +3 -0
  166. package/lib/typescript/src/containers/checkout/CheckoutData.d.ts.map +1 -0
  167. package/lib/typescript/src/containers/checkout/components/Conditions.d.ts +4 -0
  168. package/lib/typescript/src/containers/checkout/components/Conditions.d.ts.map +1 -0
  169. package/lib/typescript/src/containers/checkout/components/OrderReview.d.ts +4 -0
  170. package/lib/typescript/src/containers/checkout/components/OrderReview.d.ts.map +1 -0
  171. package/lib/typescript/src/containers/checkout/components/styles.d.ts +26 -0
  172. package/lib/typescript/src/containers/checkout/components/styles.d.ts.map +1 -0
  173. package/lib/typescript/src/containers/checkout/styles.d.ts +42 -0
  174. package/lib/typescript/src/containers/checkout/styles.d.ts.map +1 -0
  175. package/lib/typescript/src/containers/checkout/types.d.ts +126 -0
  176. package/lib/typescript/src/containers/checkout/types.d.ts.map +1 -0
  177. package/lib/typescript/src/containers/index.d.ts +9 -0
  178. package/lib/typescript/src/containers/index.d.ts.map +1 -0
  179. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetails.d.ts +6 -0
  180. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetails.d.ts.map +1 -0
  181. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetailsView.d.ts +5 -0
  182. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetailsView.d.ts.map +1 -0
  183. package/lib/typescript/src/containers/myOrderDetails/components/Notification.d.ts +15 -0
  184. package/lib/typescript/src/containers/myOrderDetails/components/Notification.d.ts.map +1 -0
  185. package/lib/typescript/src/containers/myOrderDetails/components/OrderListItem.d.ts +3 -0
  186. package/lib/typescript/src/containers/myOrderDetails/components/OrderListItem.d.ts.map +1 -0
  187. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActions.d.ts +5 -0
  188. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActions.d.ts.map +1 -0
  189. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.d.ts +30 -0
  190. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.d.ts.map +1 -0
  191. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.d.ts +8 -0
  192. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.d.ts.map +1 -0
  193. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.d.ts +33 -0
  194. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.d.ts.map +1 -0
  195. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.d.ts +30 -0
  196. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.d.ts.map +1 -0
  197. package/lib/typescript/src/containers/myOrderDetails/components/styles.d.ts +39 -0
  198. package/lib/typescript/src/containers/myOrderDetails/components/styles.d.ts.map +1 -0
  199. package/lib/typescript/src/containers/myOrderDetails/styles.d.ts +55 -0
  200. package/lib/typescript/src/containers/myOrderDetails/styles.d.ts.map +1 -0
  201. package/lib/typescript/src/containers/myOrderDetails/types.d.ts +126 -0
  202. package/lib/typescript/src/containers/myOrderDetails/types.d.ts.map +1 -0
  203. package/lib/typescript/src/containers/myOrders/MyOrders.d.ts +6 -0
  204. package/lib/typescript/src/containers/myOrders/MyOrders.d.ts.map +1 -0
  205. package/lib/typescript/src/containers/myOrders/MyOrdersView.d.ts +5 -0
  206. package/lib/typescript/src/containers/myOrders/MyOrdersView.d.ts.map +1 -0
  207. package/lib/typescript/src/containers/myOrders/components/OrderListItem.d.ts +5 -0
  208. package/lib/typescript/src/containers/myOrders/components/OrderListItem.d.ts.map +1 -0
  209. package/lib/typescript/src/containers/myOrders/components/styles.d.ts +56 -0
  210. package/lib/typescript/src/containers/myOrders/components/styles.d.ts.map +1 -0
  211. package/lib/typescript/src/containers/myOrders/components/types.d.ts +26 -0
  212. package/lib/typescript/src/containers/myOrders/components/types.d.ts.map +1 -0
  213. package/lib/typescript/src/containers/myOrders/styles.d.ts +37 -0
  214. package/lib/typescript/src/containers/myOrders/styles.d.ts.map +1 -0
  215. package/lib/typescript/src/containers/myOrders/types.d.ts +73 -0
  216. package/lib/typescript/src/containers/myOrders/types.d.ts.map +1 -0
  217. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmation.d.ts +6 -0
  218. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmation.d.ts.map +1 -0
  219. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmationView.d.ts +5 -0
  220. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmationView.d.ts.map +1 -0
  221. package/lib/typescript/src/containers/purchaseConfirmation/styles.d.ts +74 -0
  222. package/lib/typescript/src/containers/purchaseConfirmation/styles.d.ts.map +1 -0
  223. package/lib/typescript/src/containers/purchaseConfirmation/types.d.ts +66 -0
  224. package/lib/typescript/src/containers/purchaseConfirmation/types.d.ts.map +1 -0
  225. package/lib/typescript/src/containers/resaleTickets/ResaleTickets.d.ts +6 -0
  226. package/lib/typescript/src/containers/resaleTickets/ResaleTickets.d.ts.map +1 -0
  227. package/lib/typescript/src/containers/resaleTickets/ResaleTicketsView.d.ts +5 -0
  228. package/lib/typescript/src/containers/resaleTickets/ResaleTicketsView.d.ts.map +1 -0
  229. package/lib/typescript/src/containers/resaleTickets/types.d.ts +129 -0
  230. package/lib/typescript/src/containers/resaleTickets/types.d.ts.map +1 -0
  231. package/lib/typescript/src/containers/resetPassword/ResetPassword.d.ts +5 -0
  232. package/lib/typescript/src/containers/resetPassword/ResetPassword.d.ts.map +1 -0
  233. package/lib/typescript/src/containers/resetPassword/ResetPasswordView.d.ts +5 -0
  234. package/lib/typescript/src/containers/resetPassword/ResetPasswordView.d.ts.map +1 -0
  235. package/lib/typescript/src/containers/resetPassword/styles.d.ts +33 -0
  236. package/lib/typescript/src/containers/resetPassword/styles.d.ts.map +1 -0
  237. package/lib/typescript/src/containers/resetPassword/types.d.ts +48 -0
  238. package/lib/typescript/src/containers/resetPassword/types.d.ts.map +1 -0
  239. package/lib/typescript/src/containers/tickets/Tickets.d.ts +6 -0
  240. package/lib/typescript/src/containers/tickets/Tickets.d.ts.map +1 -0
  241. package/lib/typescript/src/containers/tickets/TicketsView.d.ts +4 -0
  242. package/lib/typescript/src/containers/tickets/TicketsView.d.ts.map +1 -0
  243. package/lib/typescript/src/containers/tickets/components/TicketGroupListHeader.d.ts +5 -0
  244. package/lib/typescript/src/containers/tickets/components/TicketGroupListHeader.d.ts.map +1 -0
  245. package/lib/typescript/src/containers/tickets/components/TicketListItem.d.ts +4 -0
  246. package/lib/typescript/src/containers/tickets/components/TicketListItem.d.ts.map +1 -0
  247. package/lib/typescript/src/containers/tickets/components/styles.d.ts +51 -0
  248. package/lib/typescript/src/containers/tickets/components/styles.d.ts.map +1 -0
  249. package/lib/typescript/src/containers/tickets/components/types.d.ts +40 -0
  250. package/lib/typescript/src/containers/tickets/components/types.d.ts.map +1 -0
  251. package/lib/typescript/src/containers/tickets/styles.d.ts +20 -0
  252. package/lib/typescript/src/containers/tickets/styles.d.ts.map +1 -0
  253. package/lib/typescript/src/containers/tickets/types.d.ts +114 -0
  254. package/lib/typescript/src/containers/tickets/types.d.ts.map +1 -0
  255. package/lib/typescript/src/core/BillingCore/BillingCore.d.ts +13 -0
  256. package/lib/typescript/src/core/BillingCore/BillingCore.d.ts.map +1 -0
  257. package/lib/typescript/src/core/BillingCore/BillingCoreTypes.d.ts +24 -0
  258. package/lib/typescript/src/core/BillingCore/BillingCoreTypes.d.ts.map +1 -0
  259. package/lib/typescript/src/core/CheckoutCore/CheckoutCore.d.ts +15 -0
  260. package/lib/typescript/src/core/CheckoutCore/CheckoutCore.d.ts.map +1 -0
  261. package/lib/typescript/src/core/CheckoutCore/CheckoutCoreTypes.d.ts +17 -0
  262. package/lib/typescript/src/core/CheckoutCore/CheckoutCoreTypes.d.ts.map +1 -0
  263. package/lib/typescript/src/core/CoreProps.d.ts +5 -0
  264. package/lib/typescript/src/core/CoreProps.d.ts.map +1 -0
  265. package/lib/typescript/src/core/LoginCore/LoginCore.d.ts +6 -0
  266. package/lib/typescript/src/core/LoginCore/LoginCore.d.ts.map +1 -0
  267. package/lib/typescript/src/core/LoginCore/LoginCoreHelper.d.ts +3 -0
  268. package/lib/typescript/src/core/LoginCore/LoginCoreHelper.d.ts.map +1 -0
  269. package/lib/typescript/src/core/LoginCore/LoginCoreTypes.d.ts +15 -0
  270. package/lib/typescript/src/core/LoginCore/LoginCoreTypes.d.ts.map +1 -0
  271. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCore.d.ts +6 -0
  272. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCore.d.ts.map +1 -0
  273. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCoreTypes.d.ts +10 -0
  274. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCoreTypes.d.ts.map +1 -0
  275. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCore.d.ts +6 -0
  276. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCore.d.ts.map +1 -0
  277. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCoreTypes.d.ts +9 -0
  278. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCoreTypes.d.ts.map +1 -0
  279. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.d.ts +6 -0
  280. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.d.ts.map +1 -0
  281. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.d.ts +8 -0
  282. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.d.ts.map +1 -0
  283. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCore.d.ts +6 -0
  284. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCore.d.ts.map +1 -0
  285. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCoreTypes.d.ts +5 -0
  286. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCoreTypes.d.ts.map +1 -0
  287. package/lib/typescript/src/core/Session/SessionCoreTypes.d.ts +9 -0
  288. package/lib/typescript/src/core/Session/SessionCoreTypes.d.ts.map +1 -0
  289. package/lib/typescript/src/core/Session/SessionHandle.d.ts +6 -0
  290. package/lib/typescript/src/core/Session/SessionHandle.d.ts.map +1 -0
  291. package/lib/typescript/src/core/TicketsCore/TicketsCore.d.ts +6 -0
  292. package/lib/typescript/src/core/TicketsCore/TicketsCore.d.ts.map +1 -0
  293. package/lib/typescript/src/core/TicketsCore/TicketsCoreTypes.d.ts +40 -0
  294. package/lib/typescript/src/core/TicketsCore/TicketsCoreTypes.d.ts.map +1 -0
  295. package/lib/typescript/src/core/WaitingListCore/WaitingListCore.d.ts +6 -0
  296. package/lib/typescript/src/core/WaitingListCore/WaitingListCore.d.ts.map +1 -0
  297. package/lib/typescript/src/core/WaitingListCore/WaitingListCoreTypes.d.ts +12 -0
  298. package/lib/typescript/src/core/WaitingListCore/WaitingListCoreTypes.d.ts.map +1 -0
  299. package/lib/typescript/src/core/index.d.ts +21 -0
  300. package/lib/typescript/src/core/index.d.ts.map +1 -0
  301. package/lib/typescript/src/features/auth/api-hooks.d.ts +178 -0
  302. package/lib/typescript/src/features/auth/api-hooks.d.ts.map +1 -0
  303. package/lib/typescript/src/features/auth/types.d.ts +51 -0
  304. package/lib/typescript/src/features/auth/types.d.ts.map +1 -0
  305. package/lib/typescript/src/features/auth/utils.d.ts +3 -0
  306. package/lib/typescript/src/features/auth/utils.d.ts.map +1 -0
  307. package/lib/typescript/src/features/checkout-v2/components/AddonsContainer.d.ts +37 -0
  308. package/lib/typescript/src/features/checkout-v2/components/AddonsContainer.d.ts.map +1 -0
  309. package/lib/typescript/src/features/checkout-v2/components/Conditions.d.ts +30 -0
  310. package/lib/typescript/src/features/checkout-v2/components/Conditions.d.ts.map +1 -0
  311. package/lib/typescript/src/features/checkout-v2/components/OrderReview.d.ts +25 -0
  312. package/lib/typescript/src/features/checkout-v2/components/OrderReview.d.ts.map +1 -0
  313. package/lib/typescript/src/features/checkout-v2/components/TicketHoldersSection.d.ts +14 -0
  314. package/lib/typescript/src/features/checkout-v2/components/TicketHoldersSection.d.ts.map +1 -0
  315. package/lib/typescript/src/features/checkout-v2/form/config.d.ts +61 -0
  316. package/lib/typescript/src/features/checkout-v2/form/config.d.ts.map +1 -0
  317. package/lib/typescript/src/features/checkout-v2/form/index.d.ts +22 -0
  318. package/lib/typescript/src/features/checkout-v2/form/index.d.ts.map +1 -0
  319. package/lib/typescript/src/features/checkout-v2/form/styles.d.ts +4501 -0
  320. package/lib/typescript/src/features/checkout-v2/form/styles.d.ts.map +1 -0
  321. package/lib/typescript/src/features/checkout-v2/form/texts.d.ts +4 -0
  322. package/lib/typescript/src/features/checkout-v2/form/texts.d.ts.map +1 -0
  323. package/lib/typescript/src/features/checkout-v2/form/types.d.ts +191 -0
  324. package/lib/typescript/src/features/checkout-v2/form/types.d.ts.map +1 -0
  325. package/lib/typescript/src/features/checkout-v2/hooks/api-hooks.d.ts +227 -0
  326. package/lib/typescript/src/features/checkout-v2/hooks/api-hooks.d.ts.map +1 -0
  327. package/lib/typescript/src/features/checkout-v2/hooks/use-checkout.d.ts +37 -0
  328. package/lib/typescript/src/features/checkout-v2/hooks/use-checkout.d.ts.map +1 -0
  329. package/lib/typescript/src/features/checkout-v2/index.d.ts +42 -0
  330. package/lib/typescript/src/features/checkout-v2/index.d.ts.map +1 -0
  331. package/lib/typescript/src/features/checkout-v2/types.d.ts +433 -0
  332. package/lib/typescript/src/features/checkout-v2/types.d.ts.map +1 -0
  333. package/lib/typescript/src/features/checkout-v2/utils.d.ts +12 -0
  334. package/lib/typescript/src/features/checkout-v2/utils.d.ts.map +1 -0
  335. package/lib/typescript/src/features/event/api-hooks.d.ts +171 -0
  336. package/lib/typescript/src/features/event/api-hooks.d.ts.map +1 -0
  337. package/lib/typescript/src/features/event/types.d.ts +58 -0
  338. package/lib/typescript/src/features/event/types.d.ts.map +1 -0
  339. package/lib/typescript/src/features/form/index.d.ts +24 -0
  340. package/lib/typescript/src/features/form/index.d.ts.map +1 -0
  341. package/lib/typescript/src/features/form/styles.d.ts +35 -0
  342. package/lib/typescript/src/features/form/styles.d.ts.map +1 -0
  343. package/lib/typescript/src/features/form/types.d.ts +33 -0
  344. package/lib/typescript/src/features/form/types.d.ts.map +1 -0
  345. package/lib/typescript/src/features/geo/api-hooks.d.ts +12 -0
  346. package/lib/typescript/src/features/geo/api-hooks.d.ts.map +1 -0
  347. package/lib/typescript/src/features/geo/types.d.ts +13 -0
  348. package/lib/typescript/src/features/geo/types.d.ts.map +1 -0
  349. package/lib/typescript/src/helpers/Config.d.ts +24 -0
  350. package/lib/typescript/src/helpers/Config.d.ts.map +1 -0
  351. package/lib/typescript/src/helpers/CountryCodes.d.ts +16 -0
  352. package/lib/typescript/src/helpers/CountryCodes.d.ts.map +1 -0
  353. package/lib/typescript/src/helpers/Debounced.d.ts +2 -0
  354. package/lib/typescript/src/helpers/Debounced.d.ts.map +1 -0
  355. package/lib/typescript/src/helpers/Domains.d.ts +3 -0
  356. package/lib/typescript/src/helpers/Domains.d.ts.map +1 -0
  357. package/lib/typescript/src/helpers/LocalStorage.d.ts +27 -0
  358. package/lib/typescript/src/helpers/LocalStorage.d.ts.map +1 -0
  359. package/lib/typescript/src/helpers/RefreshAccessToken.d.ts +3 -0
  360. package/lib/typescript/src/helpers/RefreshAccessToken.d.ts.map +1 -0
  361. package/lib/typescript/src/helpers/StringsHelper.d.ts +3 -0
  362. package/lib/typescript/src/helpers/StringsHelper.d.ts.map +1 -0
  363. package/lib/typescript/src/helpers/Validators.d.ts +16 -0
  364. package/lib/typescript/src/helpers/Validators.d.ts.map +1 -0
  365. package/lib/typescript/src/index.d.ts +48 -0
  366. package/lib/typescript/src/index.d.ts.map +1 -0
  367. package/lib/typescript/src/res/colors.d.ts +16 -0
  368. package/lib/typescript/src/res/colors.d.ts.map +1 -0
  369. package/lib/typescript/src/res/icons.d.ts +13 -0
  370. package/lib/typescript/src/res/icons.d.ts.map +1 -0
  371. package/lib/typescript/src/res/images.d.ts +5 -0
  372. package/lib/typescript/src/res/images.d.ts.map +1 -0
  373. package/lib/typescript/src/res/index.d.ts +32 -0
  374. package/lib/typescript/src/res/index.d.ts.map +1 -0
  375. package/lib/typescript/src/types/IAccountTickets.d.ts +71 -0
  376. package/lib/typescript/src/types/IAccountTickets.d.ts.map +1 -0
  377. package/lib/typescript/src/types/ICountry.d.ts +2 -0
  378. package/lib/typescript/src/types/ICountry.d.ts.map +1 -0
  379. package/lib/typescript/src/types/IError.d.ts +6 -0
  380. package/lib/typescript/src/types/IError.d.ts.map +1 -0
  381. package/lib/typescript/src/types/IEvent.d.ts +87 -0
  382. package/lib/typescript/src/types/IEvent.d.ts.map +1 -0
  383. package/lib/typescript/src/types/ITicket.d.ts +71 -0
  384. package/lib/typescript/src/types/ITicket.d.ts.map +1 -0
  385. package/lib/typescript/src/types/IUserProfile.d.ts +30 -0
  386. package/lib/typescript/src/types/IUserProfile.d.ts.map +1 -0
  387. package/lib/typescript/src/types/index.d.ts +6 -0
  388. package/lib/typescript/src/types/index.d.ts.map +1 -0
  389. package/lib/typescript/src/utils/Logger.d.ts +21 -0
  390. package/lib/typescript/src/utils/Logger.d.ts.map +1 -0
  391. package/lib/typescript/src/utils/handlers.d.ts +9 -0
  392. package/lib/typescript/src/utils/handlers.d.ts.map +1 -0
  393. package/lib/typescript/src/utils/styleUtils.d.ts +18 -0
  394. package/lib/typescript/src/utils/styleUtils.d.ts.map +1 -0
  395. package/package.json +155 -79
  396. package/src/api/ApiClient.ts +1539 -0
  397. package/src/api/Constants.ts +10 -0
  398. package/src/api/ErrorHandler.ts +36 -0
  399. package/src/api/api.types.ts +8 -0
  400. package/src/api/types.ts +593 -0
  401. package/src/assets/icons/ic_check.png +0 -0
  402. package/src/assets/icons/ic_clock.png +0 -0
  403. package/src/assets/icons/ic_copy.png +0 -0
  404. package/src/assets/icons/ic_dropdown.png +0 -0
  405. package/src/assets/icons/ic_error.png +0 -0
  406. package/src/assets/icons/ic_eye.png +0 -0
  407. package/src/assets/icons/ic_eye_off.png +0 -0
  408. package/src/assets/icons/ic_more.png +0 -0
  409. package/src/assets/icons/ic_next.png +0 -0
  410. package/src/assets/images/brand.png +0 -0
  411. package/src/common/query.types.ts +6 -0
  412. package/src/components/bottomSheetModal/BottomSheetModal.tsx +95 -0
  413. package/src/components/bottomSheetModal/BottomSheetModalStyles.ts +43 -0
  414. package/src/components/bottomSheetModal/BottomSheetModalTypes.ts +26 -0
  415. package/src/components/button/Button.tsx +53 -0
  416. package/src/components/button/styles.tsx +30 -0
  417. package/src/components/button/types.ts +16 -0
  418. package/src/components/cartTimer/CartTimer.tsx +68 -0
  419. package/src/components/cartTimer/styles.ts +44 -0
  420. package/src/components/cartTimer/types.ts +22 -0
  421. package/src/components/checkbox/Checkbox.tsx +53 -0
  422. package/src/components/checkbox/styles.ts +41 -0
  423. package/src/components/checkbox/types.ts +23 -0
  424. package/src/components/datePicker/DatePicker.tsx +81 -0
  425. package/src/components/datePicker/styles.ts +39 -0
  426. package/src/components/datePicker/types.ts +21 -0
  427. package/src/components/dropdown/Dropdown.tsx +111 -0
  428. package/src/components/dropdown/DropdownListItem.tsx +36 -0
  429. package/src/components/dropdown/styles.ts +97 -0
  430. package/src/components/dropdown/types.ts +38 -0
  431. package/src/components/dropdownMaterial/DropdownMaterial.tsx +129 -0
  432. package/src/components/dropdownMaterial/styles.ts +91 -0
  433. package/src/components/dropdownMaterial/types.ts +24 -0
  434. package/src/components/enterPassword/EnterPassword.tsx +50 -0
  435. package/src/components/enterPassword/styles.ts +23 -0
  436. package/src/components/enterPassword/types.ts +27 -0
  437. package/src/components/formField/FormField.tsx +131 -0
  438. package/src/components/formField/styles.ts +37 -0
  439. package/src/components/formField/types.ts +60 -0
  440. package/src/components/index.ts +20 -0
  441. package/src/components/input/Input.tsx +77 -0
  442. package/src/components/input/styles.ts +53 -0
  443. package/src/components/input/types.ts +38 -0
  444. package/src/components/loading/Loading.tsx +30 -0
  445. package/src/components/loading/styles.ts +32 -0
  446. package/src/components/loading/types.ts +16 -0
  447. package/src/components/loggedIn/LoggedIn.tsx +60 -0
  448. package/src/components/loggedIn/styles.ts +9 -0
  449. package/src/components/loggedIn/types.ts +27 -0
  450. package/src/components/login/Login.tsx +161 -0
  451. package/src/components/login/LoginView.tsx +259 -0
  452. package/src/components/login/components/LoginForm.tsx +92 -0
  453. package/src/components/login/components/types.ts +22 -0
  454. package/src/components/login/styles.ts +63 -0
  455. package/src/components/login/types.ts +189 -0
  456. package/src/components/phoneInput/PhoneInput.tsx +72 -0
  457. package/src/components/phoneInput/styles.ts +31 -0
  458. package/src/components/phoneInput/types.ts +35 -0
  459. package/src/components/promoCode/PromoCode.tsx +111 -0
  460. package/src/components/promoCode/styles.ts +63 -0
  461. package/src/components/promoCode/types.ts +43 -0
  462. package/src/components/radioButton/RadioButton.tsx +26 -0
  463. package/src/components/radioButton/styles.ts +32 -0
  464. package/src/components/radioButton/types.ts +17 -0
  465. package/src/components/radioGroup/RadioGroup.tsx +86 -0
  466. package/src/components/radioGroup/index.ts +4 -0
  467. package/src/components/radioGroup/types.ts +26 -0
  468. package/src/components/restorePassword/RestorePassword.tsx +63 -0
  469. package/src/components/restorePassword/ResultDialog.tsx +26 -0
  470. package/src/components/restorePassword/styles.ts +38 -0
  471. package/src/components/restorePassword/types.ts +61 -0
  472. package/src/components/separator/Separator.tsx +26 -0
  473. package/src/components/separator/types.ts +9 -0
  474. package/src/components/stripePayment/StripePayment.tsx +51 -0
  475. package/src/components/stripePayment/styles.ts +7 -0
  476. package/src/components/stripePayment/types.ts +22 -0
  477. package/src/components/waitingList/WaitingList.tsx +147 -0
  478. package/src/components/waitingList/WaitingListView.tsx +94 -0
  479. package/src/components/waitingList/styles.ts +9 -0
  480. package/src/components/waitingList/types.ts +68 -0
  481. package/src/containers/billingInfo/Billing.tsx +1902 -0
  482. package/src/containers/billingInfo/styles.ts +64 -0
  483. package/src/containers/billingInfo/types.ts +217 -0
  484. package/src/containers/checkout/Checkout.tsx +519 -0
  485. package/src/containers/checkout/CheckoutData.ts +29 -0
  486. package/src/containers/checkout/components/Conditions.tsx +22 -0
  487. package/src/containers/checkout/components/OrderReview.tsx +31 -0
  488. package/src/containers/checkout/components/styles.ts +28 -0
  489. package/src/containers/checkout/styles.ts +44 -0
  490. package/src/containers/checkout/types.ts +148 -0
  491. package/src/containers/index.ts +8 -0
  492. package/src/containers/myOrderDetails/MyOrderDetails.tsx +318 -0
  493. package/src/containers/myOrderDetails/MyOrderDetailsView.tsx +269 -0
  494. package/src/containers/myOrderDetails/components/Notification.tsx +40 -0
  495. package/src/containers/myOrderDetails/components/OrderListItem.tsx +12 -0
  496. package/src/containers/myOrderDetails/components/TicketActions/TicketActions.tsx +68 -0
  497. package/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.ts +41 -0
  498. package/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.tsx +63 -0
  499. package/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.ts +33 -0
  500. package/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.ts +39 -0
  501. package/src/containers/myOrderDetails/components/styles.ts +42 -0
  502. package/src/containers/myOrderDetails/styles.ts +57 -0
  503. package/src/containers/myOrderDetails/types.ts +173 -0
  504. package/src/containers/myOrders/MyOrders.tsx +340 -0
  505. package/src/containers/myOrders/MyOrdersView.tsx +182 -0
  506. package/src/containers/myOrders/components/OrderListItem.tsx +50 -0
  507. package/src/containers/myOrders/components/styles.ts +55 -0
  508. package/src/containers/myOrders/components/types.ts +28 -0
  509. package/src/containers/myOrders/styles.ts +42 -0
  510. package/src/containers/myOrders/types.ts +84 -0
  511. package/src/containers/purchaseConfirmation/PurchaseConfirmation.tsx +145 -0
  512. package/src/containers/purchaseConfirmation/PurchaseConfirmationView.tsx +82 -0
  513. package/src/containers/purchaseConfirmation/styles.ts +79 -0
  514. package/src/containers/purchaseConfirmation/types.ts +77 -0
  515. package/src/containers/resaleTickets/ResaleTickets.tsx +234 -0
  516. package/src/containers/resaleTickets/ResaleTicketsView.tsx +314 -0
  517. package/src/containers/resaleTickets/types.ts +154 -0
  518. package/src/containers/resetPassword/ResetPassword.tsx +110 -0
  519. package/src/containers/resetPassword/ResetPasswordView.tsx +81 -0
  520. package/src/containers/resetPassword/styles.ts +35 -0
  521. package/src/containers/resetPassword/types.ts +56 -0
  522. package/src/containers/tickets/Tickets.tsx +525 -0
  523. package/src/containers/tickets/TicketsView.tsx +164 -0
  524. package/src/containers/tickets/components/TicketGroupListHeader.tsx +12 -0
  525. package/src/containers/tickets/components/TicketListItem.tsx +124 -0
  526. package/src/containers/tickets/components/styles.ts +54 -0
  527. package/src/containers/tickets/components/types.ts +47 -0
  528. package/src/containers/tickets/styles.ts +22 -0
  529. package/src/containers/tickets/types.ts +158 -0
  530. package/src/core/BillingCore/BillingCore.tsx +129 -0
  531. package/src/core/BillingCore/BillingCoreTypes.ts +34 -0
  532. package/src/core/BillingCore/README.md +22 -0
  533. package/src/core/CheckoutCore/CheckoutCore.tsx +113 -0
  534. package/src/core/CheckoutCore/CheckoutCoreTypes.ts +23 -0
  535. package/src/core/CheckoutCore/README.md +20 -0
  536. package/src/core/CoreProps.ts +5 -0
  537. package/src/core/LoginCore/LoginCore.tsx +140 -0
  538. package/src/core/LoginCore/LoginCoreHelper.ts +22 -0
  539. package/src/core/LoginCore/LoginCoreTypes.ts +21 -0
  540. package/src/core/MIGRATION.md +148 -0
  541. package/src/core/MyOrdersCore/MyOrdersCore.tsx +44 -0
  542. package/src/core/MyOrdersCore/MyOrdersCoreTypes.ts +15 -0
  543. package/src/core/OrderDetailsCore/OrderDetailsCore.tsx +36 -0
  544. package/src/core/OrderDetailsCore/OrderDetailsCoreTypes.ts +10 -0
  545. package/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.tsx +37 -0
  546. package/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.ts +10 -0
  547. package/src/core/ResetPasswordCore/ResetPasswordCore.tsx +21 -0
  548. package/src/core/ResetPasswordCore/ResetPasswordCoreTypes.ts +5 -0
  549. package/src/core/Session/SessionCoreTypes.ts +10 -0
  550. package/src/core/Session/SessionHandle.tsx +23 -0
  551. package/src/core/TicketsCore/TicketsCore.tsx +216 -0
  552. package/src/core/TicketsCore/TicketsCoreTypes.ts +52 -0
  553. package/src/core/WaitingListCore/WaitingListCore.tsx +35 -0
  554. package/src/core/WaitingListCore/WaitingListCoreTypes.ts +16 -0
  555. package/src/core/index.ts +20 -0
  556. package/src/features/auth/api-hooks.ts +61 -0
  557. package/src/features/auth/types.ts +54 -0
  558. package/src/features/auth/utils.ts +27 -0
  559. package/src/features/checkout-v2/components/AddonsContainer.tsx +159 -0
  560. package/src/features/checkout-v2/components/Conditions.tsx +144 -0
  561. package/src/features/checkout-v2/components/OrderReview.tsx +96 -0
  562. package/src/features/checkout-v2/components/TicketHoldersSection.tsx +131 -0
  563. package/src/features/checkout-v2/form/config.tsx +194 -0
  564. package/src/features/checkout-v2/form/index.tsx +830 -0
  565. package/src/features/checkout-v2/form/styles.ts +241 -0
  566. package/src/features/checkout-v2/form/texts.ts +133 -0
  567. package/src/features/checkout-v2/form/types.ts +231 -0
  568. package/src/features/checkout-v2/hooks/api-hooks.ts +332 -0
  569. package/src/features/checkout-v2/hooks/use-checkout.ts +927 -0
  570. package/src/features/checkout-v2/index.tsx +289 -0
  571. package/src/features/checkout-v2/types.ts +475 -0
  572. package/src/features/checkout-v2/utils.ts +156 -0
  573. package/src/features/event/api-hooks.ts +28 -0
  574. package/src/features/event/types.ts +69 -0
  575. package/src/features/form/index.tsx +185 -0
  576. package/src/features/form/styles.ts +37 -0
  577. package/src/features/form/types.ts +38 -0
  578. package/src/features/geo/api-hooks.ts +43 -0
  579. package/src/features/geo/types.ts +15 -0
  580. package/src/helpers/Config.ts +81 -0
  581. package/src/helpers/CountryCodes.ts +3382 -0
  582. package/src/helpers/Debounced.ts +27 -0
  583. package/src/helpers/Domains.ts +32 -0
  584. package/src/helpers/LocalStorage.tsx +152 -0
  585. package/src/helpers/RefreshAccessToken.ts +25 -0
  586. package/src/helpers/StringsHelper.ts +5 -0
  587. package/src/helpers/Validators.ts +108 -0
  588. package/src/index.tsx +226 -0
  589. package/src/packages/rn-material-ui-textfield/README.md +149 -0
  590. package/src/packages/rn-material-ui-textfield/components/affix/index.js +61 -0
  591. package/src/packages/rn-material-ui-textfield/components/affix/styles.js +8 -0
  592. package/src/packages/rn-material-ui-textfield/components/counter/index.js +36 -0
  593. package/src/packages/rn-material-ui-textfield/components/counter/styles.js +12 -0
  594. package/src/packages/rn-material-ui-textfield/components/field/index.js +700 -0
  595. package/src/packages/rn-material-ui-textfield/components/field/styles.js +42 -0
  596. package/src/packages/rn-material-ui-textfield/components/field-filled/index.js +21 -0
  597. package/src/packages/rn-material-ui-textfield/components/field-filled/styles.js +10 -0
  598. package/src/packages/rn-material-ui-textfield/components/field-outlined/index.js +59 -0
  599. package/src/packages/rn-material-ui-textfield/components/helper/index.js +78 -0
  600. package/src/packages/rn-material-ui-textfield/components/helper/styles.js +12 -0
  601. package/src/packages/rn-material-ui-textfield/components/label/index.js +123 -0
  602. package/src/packages/rn-material-ui-textfield/components/label/styles.js +16 -0
  603. package/src/packages/rn-material-ui-textfield/components/line/index.js +117 -0
  604. package/src/packages/rn-material-ui-textfield/components/line/styles.js +18 -0
  605. package/src/packages/rn-material-ui-textfield/components/outline/index.js +139 -0
  606. package/src/packages/rn-material-ui-textfield/components/outline/styles.js +83 -0
  607. package/src/packages/rn-material-ui-textfield/index.d.ts +53 -0
  608. package/src/packages/rn-material-ui-textfield/index.js +5 -0
  609. package/src/packages/rn-material-ui-textfield/license.txt +28 -0
  610. package/src/res/colors.ts +16 -0
  611. package/src/res/icons.ts +11 -0
  612. package/src/res/images.ts +3 -0
  613. package/src/res/index.ts +11 -0
  614. package/src/types/IAccountTickets.ts +75 -0
  615. package/src/types/ICountry.ts +2 -0
  616. package/src/types/IError.ts +5 -0
  617. package/src/types/IEvent.ts +87 -0
  618. package/src/types/ITicket.ts +75 -0
  619. package/src/types/IUserProfile.ts +30 -0
  620. package/src/types/index.ts +5 -0
  621. package/src/utils/Logger.ts +75 -0
  622. package/src/utils/handlers.ts +49 -0
  623. package/src/utils/styleUtils.ts +76 -0
  624. package/android/.gradle/7.4/checksums/checksums.lock +0 -0
  625. package/android/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock +0 -0
  626. package/android/.gradle/7.4/dependencies-accessors/gc.properties +0 -0
  627. package/android/.gradle/7.4/executionHistory/executionHistory.lock +0 -0
  628. package/android/.gradle/7.4/fileChanges/last-build.bin +0 -0
  629. package/android/.gradle/7.4/fileHashes/fileHashes.lock +0 -0
  630. package/android/.gradle/7.4/gc.properties +0 -0
  631. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  632. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  633. package/android/.gradle/vcs-1/gc.properties +0 -0
  634. package/android/build.gradle +0 -42
  635. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  636. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  637. package/android/gradlew +0 -234
  638. package/android/gradlew.bat +0 -89
  639. package/android/src/main/AndroidManifest.xml +0 -2
  640. package/android/src/main/java/com/theticketfairy/tfcheckoutreactnative/TFCheckoutRNModule.kt +0 -13
  641. package/android/src/main/java/com/theticketfairy/tfcheckoutreactnative/TFCheckoutRNPackage.kt +0 -19
  642. package/ios/TFCheckoutRNModule-Bridging-Header.h +0 -5
  643. package/ios/TFCheckoutRNModule.m +0 -11
  644. package/ios/TFCheckoutRNModule.swift +0 -21
  645. package/ios/TFCheckoutRNModule.xcodeproj/project.pbxproj +0 -314
  646. package/ios/TFCheckoutRNModule.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  647. package/ios/TFCheckoutRNModule.xcodeproj/xcshareddata/xcschemes/TFCheckoutRNModule.xcscheme +0 -67
  648. package/lib/api/ApiClient.d.ts +0 -45
  649. package/lib/api/ApiClient.js +0 -1072
  650. package/lib/api/ApiClient.js.map +0 -1
  651. package/lib/api/Constants.d.ts +0 -10
  652. package/lib/api/Constants.js +0 -10
  653. package/lib/api/Constants.js.map +0 -1
  654. package/lib/api/ErrorHandler.d.ts +0 -3
  655. package/lib/api/ErrorHandler.js +0 -23
  656. package/lib/api/ErrorHandler.js.map +0 -1
  657. package/lib/api/types.d.ts +0 -446
  658. package/lib/api/types.js +0 -3
  659. package/lib/api/types.js.map +0 -1
  660. package/lib/components/bottomSheetModal/BottomSheetModal.d.ts +0 -7
  661. package/lib/components/bottomSheetModal/BottomSheetModal.js +0 -54
  662. package/lib/components/bottomSheetModal/BottomSheetModal.js.map +0 -1
  663. package/lib/components/bottomSheetModal/BottomSheetModalStyles.d.ts +0 -38
  664. package/lib/components/bottomSheetModal/BottomSheetModalStyles.js +0 -41
  665. package/lib/components/bottomSheetModal/BottomSheetModalStyles.js.map +0 -1
  666. package/lib/components/bottomSheetModal/BottomSheetModalTypes.d.ts +0 -22
  667. package/lib/components/bottomSheetModal/BottomSheetModalTypes.js +0 -2
  668. package/lib/components/bottomSheetModal/BottomSheetModalTypes.js.map +0 -1
  669. package/lib/components/button/Button.d.ts +0 -4
  670. package/lib/components/button/Button.js +0 -14
  671. package/lib/components/button/Button.js.map +0 -1
  672. package/lib/components/button/styles.d.ts +0 -27
  673. package/lib/components/button/styles.js +0 -29
  674. package/lib/components/button/styles.js.map +0 -1
  675. package/lib/components/button/types.d.ts +0 -14
  676. package/lib/components/button/types.js +0 -2
  677. package/lib/components/button/types.js.map +0 -1
  678. package/lib/components/cartTimer/CartTimer.d.ts +0 -4
  679. package/lib/components/cartTimer/CartTimer.js +0 -45
  680. package/lib/components/cartTimer/CartTimer.js.map +0 -1
  681. package/lib/components/cartTimer/styles.d.ts +0 -46
  682. package/lib/components/cartTimer/styles.js +0 -42
  683. package/lib/components/cartTimer/styles.js.map +0 -1
  684. package/lib/components/cartTimer/types.d.ts +0 -18
  685. package/lib/components/cartTimer/types.js +0 -2
  686. package/lib/components/cartTimer/types.js.map +0 -1
  687. package/lib/components/checkbox/Checkbox.d.ts +0 -3
  688. package/lib/components/checkbox/Checkbox.js +0 -24
  689. package/lib/components/checkbox/Checkbox.js.map +0 -1
  690. package/lib/components/checkbox/styles.d.ts +0 -38
  691. package/lib/components/checkbox/styles.js +0 -40
  692. package/lib/components/checkbox/styles.js.map +0 -1
  693. package/lib/components/checkbox/types.d.ts +0 -21
  694. package/lib/components/checkbox/types.js +0 -2
  695. package/lib/components/checkbox/types.js.map +0 -1
  696. package/lib/components/datePicker/DatePicker.d.ts +0 -3
  697. package/lib/components/datePicker/DatePicker.js +0 -37
  698. package/lib/components/datePicker/DatePicker.js.map +0 -1
  699. package/lib/components/datePicker/styles.d.ts +0 -17
  700. package/lib/components/datePicker/styles.js +0 -19
  701. package/lib/components/datePicker/styles.js.map +0 -1
  702. package/lib/components/datePicker/types.d.ts +0 -16
  703. package/lib/components/datePicker/types.js +0 -2
  704. package/lib/components/datePicker/types.js.map +0 -1
  705. package/lib/components/dropdown/Dropdown.d.ts +0 -3
  706. package/lib/components/dropdown/Dropdown.js +0 -52
  707. package/lib/components/dropdown/Dropdown.js.map +0 -1
  708. package/lib/components/dropdown/DropdownListItem.d.ts +0 -3
  709. package/lib/components/dropdown/DropdownListItem.js +0 -14
  710. package/lib/components/dropdown/DropdownListItem.js.map +0 -1
  711. package/lib/components/dropdown/styles.d.ts +0 -84
  712. package/lib/components/dropdown/styles.js +0 -93
  713. package/lib/components/dropdown/styles.js.map +0 -1
  714. package/lib/components/dropdown/types.d.ts +0 -34
  715. package/lib/components/dropdown/types.js +0 -2
  716. package/lib/components/dropdown/types.js.map +0 -1
  717. package/lib/components/dropdownMaterial/DropdownMaterial.d.ts +0 -3
  718. package/lib/components/dropdownMaterial/DropdownMaterial.js +0 -53
  719. package/lib/components/dropdownMaterial/DropdownMaterial.js.map +0 -1
  720. package/lib/components/dropdownMaterial/styles.d.ts +0 -79
  721. package/lib/components/dropdownMaterial/styles.js +0 -88
  722. package/lib/components/dropdownMaterial/styles.js.map +0 -1
  723. package/lib/components/dropdownMaterial/types.d.ts +0 -21
  724. package/lib/components/dropdownMaterial/types.js +0 -2
  725. package/lib/components/dropdownMaterial/types.js.map +0 -1
  726. package/lib/components/enterPassword/EnterPassword.d.ts +0 -4
  727. package/lib/components/enterPassword/EnterPassword.js +0 -21
  728. package/lib/components/enterPassword/EnterPassword.js.map +0 -1
  729. package/lib/components/enterPassword/styles.d.ts +0 -20
  730. package/lib/components/enterPassword/styles.js +0 -22
  731. package/lib/components/enterPassword/styles.js.map +0 -1
  732. package/lib/components/enterPassword/types.d.ts +0 -23
  733. package/lib/components/enterPassword/types.js +0 -2
  734. package/lib/components/enterPassword/types.js.map +0 -1
  735. package/lib/components/formField/FormField.d.ts +0 -3
  736. package/lib/components/formField/FormField.js +0 -38
  737. package/lib/components/formField/FormField.js.map +0 -1
  738. package/lib/components/formField/styles.d.ts +0 -34
  739. package/lib/components/formField/styles.js +0 -36
  740. package/lib/components/formField/styles.js.map +0 -1
  741. package/lib/components/formField/types.d.ts +0 -36
  742. package/lib/components/formField/types.js +0 -2
  743. package/lib/components/formField/types.js.map +0 -1
  744. package/lib/components/index.d.ts +0 -19
  745. package/lib/components/index.js +0 -20
  746. package/lib/components/index.js.map +0 -1
  747. package/lib/components/input/Input.d.ts +0 -3
  748. package/lib/components/input/Input.js +0 -27
  749. package/lib/components/input/Input.js.map +0 -1
  750. package/lib/components/input/styles.d.ts +0 -46
  751. package/lib/components/input/styles.js +0 -51
  752. package/lib/components/input/styles.js.map +0 -1
  753. package/lib/components/input/types.d.ts +0 -31
  754. package/lib/components/input/types.js +0 -2
  755. package/lib/components/input/types.js.map +0 -1
  756. package/lib/components/loading/Loading.d.ts +0 -3
  757. package/lib/components/loading/Loading.js +0 -14
  758. package/lib/components/loading/Loading.js.map +0 -1
  759. package/lib/components/loading/styles.d.ts +0 -29
  760. package/lib/components/loading/styles.js +0 -31
  761. package/lib/components/loading/styles.js.map +0 -1
  762. package/lib/components/loading/types.d.ts +0 -14
  763. package/lib/components/loading/types.js +0 -2
  764. package/lib/components/loading/types.js.map +0 -1
  765. package/lib/components/loggedIn/LoggedIn.d.ts +0 -4
  766. package/lib/components/loggedIn/LoggedIn.js +0 -35
  767. package/lib/components/loggedIn/LoggedIn.js.map +0 -1
  768. package/lib/components/loggedIn/styles.d.ts +0 -8
  769. package/lib/components/loggedIn/styles.js +0 -9
  770. package/lib/components/loggedIn/styles.js.map +0 -1
  771. package/lib/components/loggedIn/types.d.ts +0 -23
  772. package/lib/components/loggedIn/types.js +0 -2
  773. package/lib/components/loggedIn/types.js.map +0 -1
  774. package/lib/components/login/Login.d.ts +0 -4
  775. package/lib/components/login/Login.js +0 -96
  776. package/lib/components/login/Login.js.map +0 -1
  777. package/lib/components/login/LoginView.d.ts +0 -4
  778. package/lib/components/login/LoginView.js +0 -128
  779. package/lib/components/login/LoginView.js.map +0 -1
  780. package/lib/components/login/components/LoginForm.d.ts +0 -4
  781. package/lib/components/login/components/LoginForm.js +0 -28
  782. package/lib/components/login/components/LoginForm.js.map +0 -1
  783. package/lib/components/login/components/types.d.ts +0 -18
  784. package/lib/components/login/components/types.js +0 -3
  785. package/lib/components/login/components/types.js.map +0 -1
  786. package/lib/components/login/styles.d.ts +0 -61
  787. package/lib/components/login/styles.js +0 -63
  788. package/lib/components/login/styles.js.map +0 -1
  789. package/lib/components/login/types.d.ts +0 -143
  790. package/lib/components/login/types.js +0 -2
  791. package/lib/components/login/types.js.map +0 -1
  792. package/lib/components/phoneInput/PhoneInput.d.ts +0 -4
  793. package/lib/components/phoneInput/PhoneInput.js +0 -35
  794. package/lib/components/phoneInput/PhoneInput.js.map +0 -1
  795. package/lib/components/phoneInput/styles.d.ts +0 -28
  796. package/lib/components/phoneInput/styles.js +0 -30
  797. package/lib/components/phoneInput/styles.js.map +0 -1
  798. package/lib/components/phoneInput/types.d.ts +0 -29
  799. package/lib/components/phoneInput/types.js +0 -2
  800. package/lib/components/phoneInput/types.js.map +0 -1
  801. package/lib/components/promoCode/PromoCode.d.ts +0 -4
  802. package/lib/components/promoCode/PromoCode.js +0 -60
  803. package/lib/components/promoCode/PromoCode.js.map +0 -1
  804. package/lib/components/promoCode/styles.d.ts +0 -60
  805. package/lib/components/promoCode/styles.js +0 -62
  806. package/lib/components/promoCode/styles.js.map +0 -1
  807. package/lib/components/promoCode/types.d.ts +0 -35
  808. package/lib/components/promoCode/types.js +0 -2
  809. package/lib/components/promoCode/types.js.map +0 -1
  810. package/lib/components/radioButton/RadioButton.d.ts +0 -4
  811. package/lib/components/radioButton/RadioButton.js +0 -9
  812. package/lib/components/radioButton/RadioButton.js.map +0 -1
  813. package/lib/components/radioButton/styles.d.ts +0 -24
  814. package/lib/components/radioButton/styles.js +0 -30
  815. package/lib/components/radioButton/styles.js.map +0 -1
  816. package/lib/components/radioButton/types.d.ts +0 -15
  817. package/lib/components/radioButton/types.js +0 -2
  818. package/lib/components/radioButton/types.js.map +0 -1
  819. package/lib/components/restorePassword/RestorePassword.d.ts +0 -4
  820. package/lib/components/restorePassword/RestorePassword.js +0 -22
  821. package/lib/components/restorePassword/RestorePassword.js.map +0 -1
  822. package/lib/components/restorePassword/ResultDialog.d.ts +0 -4
  823. package/lib/components/restorePassword/ResultDialog.js +0 -11
  824. package/lib/components/restorePassword/ResultDialog.js.map +0 -1
  825. package/lib/components/restorePassword/styles.d.ts +0 -33
  826. package/lib/components/restorePassword/styles.js +0 -36
  827. package/lib/components/restorePassword/styles.js.map +0 -1
  828. package/lib/components/restorePassword/types.d.ts +0 -48
  829. package/lib/components/restorePassword/types.js +0 -3
  830. package/lib/components/restorePassword/types.js.map +0 -1
  831. package/lib/components/separator/Separator.d.ts +0 -3
  832. package/lib/components/separator/Separator.js +0 -13
  833. package/lib/components/separator/Separator.js.map +0 -1
  834. package/lib/components/separator/types.d.ts +0 -8
  835. package/lib/components/separator/types.js +0 -2
  836. package/lib/components/separator/types.js.map +0 -1
  837. package/lib/components/stripePayment/StripePayment.d.ts +0 -4
  838. package/lib/components/stripePayment/StripePayment.js +0 -24
  839. package/lib/components/stripePayment/StripePayment.js.map +0 -1
  840. package/lib/components/stripePayment/styles.d.ts +0 -6
  841. package/lib/components/stripePayment/styles.js +0 -7
  842. package/lib/components/stripePayment/styles.js.map +0 -1
  843. package/lib/components/stripePayment/types.d.ts +0 -13
  844. package/lib/components/stripePayment/types.js +0 -2
  845. package/lib/components/stripePayment/types.js.map +0 -1
  846. package/lib/components/waitingList/WaitingList.d.ts +0 -5
  847. package/lib/components/waitingList/WaitingList.js +0 -91
  848. package/lib/components/waitingList/WaitingList.js.map +0 -1
  849. package/lib/components/waitingList/WaitingListView.d.ts +0 -4
  850. package/lib/components/waitingList/WaitingListView.js +0 -31
  851. package/lib/components/waitingList/WaitingListView.js.map +0 -1
  852. package/lib/components/waitingList/styles.d.ts +0 -8
  853. package/lib/components/waitingList/styles.js +0 -9
  854. package/lib/components/waitingList/styles.js.map +0 -1
  855. package/lib/components/waitingList/types.d.ts +0 -58
  856. package/lib/components/waitingList/types.js +0 -2
  857. package/lib/components/waitingList/types.js.map +0 -1
  858. package/lib/containers/billingInfo/Billing.d.ts +0 -5
  859. package/lib/containers/billingInfo/Billing.js +0 -1367
  860. package/lib/containers/billingInfo/Billing.js.map +0 -1
  861. package/lib/containers/billingInfo/styles.d.ts +0 -60
  862. package/lib/containers/billingInfo/styles.js +0 -62
  863. package/lib/containers/billingInfo/styles.js.map +0 -1
  864. package/lib/containers/billingInfo/types.d.ts +0 -159
  865. package/lib/containers/billingInfo/types.js +0 -2
  866. package/lib/containers/billingInfo/types.js.map +0 -1
  867. package/lib/containers/checkout/Checkout.d.ts +0 -5
  868. package/lib/containers/checkout/Checkout.js +0 -343
  869. package/lib/containers/checkout/Checkout.js.map +0 -1
  870. package/lib/containers/checkout/CheckoutData.d.ts +0 -2
  871. package/lib/containers/checkout/CheckoutData.js +0 -28
  872. package/lib/containers/checkout/CheckoutData.js.map +0 -1
  873. package/lib/containers/checkout/components/Conditions.d.ts +0 -3
  874. package/lib/containers/checkout/components/Conditions.js +0 -11
  875. package/lib/containers/checkout/components/Conditions.js.map +0 -1
  876. package/lib/containers/checkout/components/OrderReview.d.ts +0 -3
  877. package/lib/containers/checkout/components/OrderReview.js +0 -10
  878. package/lib/containers/checkout/components/OrderReview.js.map +0 -1
  879. package/lib/containers/checkout/components/styles.d.ts +0 -25
  880. package/lib/containers/checkout/components/styles.js +0 -27
  881. package/lib/containers/checkout/components/styles.js.map +0 -1
  882. package/lib/containers/checkout/styles.d.ts +0 -45
  883. package/lib/containers/checkout/styles.js +0 -47
  884. package/lib/containers/checkout/styles.js.map +0 -1
  885. package/lib/containers/checkout/types.d.ts +0 -125
  886. package/lib/containers/checkout/types.js +0 -2
  887. package/lib/containers/checkout/types.js.map +0 -1
  888. package/lib/containers/index.d.ts +0 -8
  889. package/lib/containers/index.js +0 -9
  890. package/lib/containers/index.js.map +0 -1
  891. package/lib/containers/myOrderDetails/MyOrderDetails.d.ts +0 -5
  892. package/lib/containers/myOrderDetails/MyOrderDetails.js +0 -192
  893. package/lib/containers/myOrderDetails/MyOrderDetails.js.map +0 -1
  894. package/lib/containers/myOrderDetails/MyOrderDetailsView.d.ts +0 -4
  895. package/lib/containers/myOrderDetails/MyOrderDetailsView.js +0 -178
  896. package/lib/containers/myOrderDetails/MyOrderDetailsView.js.map +0 -1
  897. package/lib/containers/myOrderDetails/components/Notification.d.ts +0 -14
  898. package/lib/containers/myOrderDetails/components/Notification.js +0 -14
  899. package/lib/containers/myOrderDetails/components/Notification.js.map +0 -1
  900. package/lib/containers/myOrderDetails/components/OrderListItem.d.ts +0 -2
  901. package/lib/containers/myOrderDetails/components/OrderListItem.js +0 -8
  902. package/lib/containers/myOrderDetails/components/OrderListItem.js.map +0 -1
  903. package/lib/containers/myOrderDetails/components/TicketActions/TicketActions.d.ts +0 -4
  904. package/lib/containers/myOrderDetails/components/TicketActions/TicketActions.js +0 -25
  905. package/lib/containers/myOrderDetails/components/TicketActions/TicketActions.js.map +0 -1
  906. package/lib/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.d.ts +0 -29
  907. package/lib/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.js +0 -2
  908. package/lib/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.js.map +0 -1
  909. package/lib/containers/myOrderDetails/components/TicketListItem/TicketListItem.d.ts +0 -7
  910. package/lib/containers/myOrderDetails/components/TicketListItem/TicketListItem.js +0 -29
  911. package/lib/containers/myOrderDetails/components/TicketListItem/TicketListItem.js.map +0 -1
  912. package/lib/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.d.ts +0 -32
  913. package/lib/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.js +0 -33
  914. package/lib/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.js.map +0 -1
  915. package/lib/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.d.ts +0 -29
  916. package/lib/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.js +0 -2
  917. package/lib/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.js.map +0 -1
  918. package/lib/containers/myOrderDetails/components/styles.d.ts +0 -38
  919. package/lib/containers/myOrderDetails/components/styles.js +0 -41
  920. package/lib/containers/myOrderDetails/components/styles.js.map +0 -1
  921. package/lib/containers/myOrderDetails/styles.d.ts +0 -54
  922. package/lib/containers/myOrderDetails/styles.js +0 -55
  923. package/lib/containers/myOrderDetails/styles.js.map +0 -1
  924. package/lib/containers/myOrderDetails/types.d.ts +0 -125
  925. package/lib/containers/myOrderDetails/types.js +0 -2
  926. package/lib/containers/myOrderDetails/types.js.map +0 -1
  927. package/lib/containers/myOrders/MyOrders.d.ts +0 -5
  928. package/lib/containers/myOrders/MyOrders.js +0 -224
  929. package/lib/containers/myOrders/MyOrders.js.map +0 -1
  930. package/lib/containers/myOrders/MyOrdersView.d.ts +0 -4
  931. package/lib/containers/myOrders/MyOrdersView.js +0 -79
  932. package/lib/containers/myOrders/MyOrdersView.js.map +0 -1
  933. package/lib/containers/myOrders/components/OrderListItem.d.ts +0 -4
  934. package/lib/containers/myOrders/components/OrderListItem.js +0 -29
  935. package/lib/containers/myOrders/components/OrderListItem.js.map +0 -1
  936. package/lib/containers/myOrders/components/styles.d.ts +0 -55
  937. package/lib/containers/myOrders/components/styles.js +0 -54
  938. package/lib/containers/myOrders/components/styles.js.map +0 -1
  939. package/lib/containers/myOrders/components/types.d.ts +0 -25
  940. package/lib/containers/myOrders/components/types.js +0 -2
  941. package/lib/containers/myOrders/components/types.js.map +0 -1
  942. package/lib/containers/myOrders/styles.d.ts +0 -36
  943. package/lib/containers/myOrders/styles.js +0 -41
  944. package/lib/containers/myOrders/styles.js.map +0 -1
  945. package/lib/containers/myOrders/types.d.ts +0 -71
  946. package/lib/containers/myOrders/types.js +0 -2
  947. package/lib/containers/myOrders/types.js.map +0 -1
  948. package/lib/containers/purchaseConfirmation/PurchaseConfirmation.d.ts +0 -5
  949. package/lib/containers/purchaseConfirmation/PurchaseConfirmation.js +0 -86
  950. package/lib/containers/purchaseConfirmation/PurchaseConfirmation.js.map +0 -1
  951. package/lib/containers/purchaseConfirmation/PurchaseConfirmationView.d.ts +0 -4
  952. package/lib/containers/purchaseConfirmation/PurchaseConfirmationView.js +0 -16
  953. package/lib/containers/purchaseConfirmation/PurchaseConfirmationView.js.map +0 -1
  954. package/lib/containers/purchaseConfirmation/styles.d.ts +0 -73
  955. package/lib/containers/purchaseConfirmation/styles.js +0 -75
  956. package/lib/containers/purchaseConfirmation/styles.js.map +0 -1
  957. package/lib/containers/purchaseConfirmation/types.d.ts +0 -65
  958. package/lib/containers/purchaseConfirmation/types.js +0 -2
  959. package/lib/containers/purchaseConfirmation/types.js.map +0 -1
  960. package/lib/containers/resaleTickets/ResaleTickets.d.ts +0 -5
  961. package/lib/containers/resaleTickets/ResaleTickets.js +0 -170
  962. package/lib/containers/resaleTickets/ResaleTickets.js.map +0 -1
  963. package/lib/containers/resaleTickets/ResaleTicketsView.d.ts +0 -4
  964. package/lib/containers/resaleTickets/ResaleTicketsView.js +0 -182
  965. package/lib/containers/resaleTickets/ResaleTicketsView.js.map +0 -1
  966. package/lib/containers/resaleTickets/types.d.ts +0 -128
  967. package/lib/containers/resaleTickets/types.js +0 -11
  968. package/lib/containers/resaleTickets/types.js.map +0 -1
  969. package/lib/containers/resetPassword/ResetPassword.d.ts +0 -4
  970. package/lib/containers/resetPassword/ResetPassword.js +0 -62
  971. package/lib/containers/resetPassword/ResetPassword.js.map +0 -1
  972. package/lib/containers/resetPassword/ResetPasswordView.d.ts +0 -4
  973. package/lib/containers/resetPassword/ResetPasswordView.js +0 -24
  974. package/lib/containers/resetPassword/ResetPasswordView.js.map +0 -1
  975. package/lib/containers/resetPassword/styles.d.ts +0 -32
  976. package/lib/containers/resetPassword/styles.js +0 -34
  977. package/lib/containers/resetPassword/styles.js.map +0 -1
  978. package/lib/containers/resetPassword/types.d.ts +0 -47
  979. package/lib/containers/resetPassword/types.js +0 -2
  980. package/lib/containers/resetPassword/types.js.map +0 -1
  981. package/lib/containers/tickets/Tickets.d.ts +0 -5
  982. package/lib/containers/tickets/Tickets.js +0 -321
  983. package/lib/containers/tickets/Tickets.js.map +0 -1
  984. package/lib/containers/tickets/TicketsView.d.ts +0 -3
  985. package/lib/containers/tickets/TicketsView.js +0 -45
  986. package/lib/containers/tickets/TicketsView.js.map +0 -1
  987. package/lib/containers/tickets/components/TicketGroupListHeader.d.ts +0 -4
  988. package/lib/containers/tickets/components/TicketGroupListHeader.js +0 -5
  989. package/lib/containers/tickets/components/TicketGroupListHeader.js.map +0 -1
  990. package/lib/containers/tickets/components/TicketListItem.d.ts +0 -3
  991. package/lib/containers/tickets/components/TicketListItem.js +0 -69
  992. package/lib/containers/tickets/components/TicketListItem.js.map +0 -1
  993. package/lib/containers/tickets/components/styles.d.ts +0 -50
  994. package/lib/containers/tickets/components/styles.js +0 -53
  995. package/lib/containers/tickets/components/styles.js.map +0 -1
  996. package/lib/containers/tickets/components/types.d.ts +0 -39
  997. package/lib/containers/tickets/components/types.js +0 -3
  998. package/lib/containers/tickets/components/types.js.map +0 -1
  999. package/lib/containers/tickets/styles.d.ts +0 -19
  1000. package/lib/containers/tickets/styles.js +0 -21
  1001. package/lib/containers/tickets/styles.js.map +0 -1
  1002. package/lib/containers/tickets/types.d.ts +0 -112
  1003. package/lib/containers/tickets/types.js +0 -2
  1004. package/lib/containers/tickets/types.js.map +0 -1
  1005. package/lib/core/BillingCore/BillingCore.d.ts +0 -4
  1006. package/lib/core/BillingCore/BillingCore.js +0 -88
  1007. package/lib/core/BillingCore/BillingCore.js.map +0 -1
  1008. package/lib/core/BillingCore/BillingCoreTypes.d.ts +0 -24
  1009. package/lib/core/BillingCore/BillingCoreTypes.js +0 -2
  1010. package/lib/core/BillingCore/BillingCoreTypes.js.map +0 -1
  1011. package/lib/core/CheckoutCore/CheckoutCore.d.ts +0 -4
  1012. package/lib/core/CheckoutCore/CheckoutCore.js +0 -80
  1013. package/lib/core/CheckoutCore/CheckoutCore.js.map +0 -1
  1014. package/lib/core/CheckoutCore/CheckoutCoreTypes.d.ts +0 -16
  1015. package/lib/core/CheckoutCore/CheckoutCoreTypes.js +0 -2
  1016. package/lib/core/CheckoutCore/CheckoutCoreTypes.js.map +0 -1
  1017. package/lib/core/CoreProps.d.ts +0 -4
  1018. package/lib/core/CoreProps.js +0 -2
  1019. package/lib/core/CoreProps.js.map +0 -1
  1020. package/lib/core/LoginCore/LoginCore.d.ts +0 -5
  1021. package/lib/core/LoginCore/LoginCore.js +0 -107
  1022. package/lib/core/LoginCore/LoginCore.js.map +0 -1
  1023. package/lib/core/LoginCore/LoginCoreHelper.d.ts +0 -2
  1024. package/lib/core/LoginCore/LoginCoreHelper.js +0 -19
  1025. package/lib/core/LoginCore/LoginCoreHelper.js.map +0 -1
  1026. package/lib/core/LoginCore/LoginCoreTypes.d.ts +0 -14
  1027. package/lib/core/LoginCore/LoginCoreTypes.js +0 -2
  1028. package/lib/core/LoginCore/LoginCoreTypes.js.map +0 -1
  1029. package/lib/core/MyOrdersCore/MyOrdersCore.d.ts +0 -5
  1030. package/lib/core/MyOrdersCore/MyOrdersCore.js +0 -23
  1031. package/lib/core/MyOrdersCore/MyOrdersCore.js.map +0 -1
  1032. package/lib/core/MyOrdersCore/MyOrdersCoreTypes.d.ts +0 -9
  1033. package/lib/core/MyOrdersCore/MyOrdersCoreTypes.js +0 -2
  1034. package/lib/core/MyOrdersCore/MyOrdersCoreTypes.js.map +0 -1
  1035. package/lib/core/OrderDetailsCore/OrderDetailsCore.d.ts +0 -5
  1036. package/lib/core/OrderDetailsCore/OrderDetailsCore.js +0 -19
  1037. package/lib/core/OrderDetailsCore/OrderDetailsCore.js.map +0 -1
  1038. package/lib/core/OrderDetailsCore/OrderDetailsCoreTypes.d.ts +0 -9
  1039. package/lib/core/OrderDetailsCore/OrderDetailsCoreTypes.js +0 -2
  1040. package/lib/core/OrderDetailsCore/OrderDetailsCoreTypes.js.map +0 -1
  1041. package/lib/core/PurchaseConfirmationCore/PurchaseConfirmationCore.d.ts +0 -5
  1042. package/lib/core/PurchaseConfirmationCore/PurchaseConfirmationCore.js +0 -24
  1043. package/lib/core/PurchaseConfirmationCore/PurchaseConfirmationCore.js.map +0 -1
  1044. package/lib/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.d.ts +0 -7
  1045. package/lib/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.js +0 -2
  1046. package/lib/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.js.map +0 -1
  1047. package/lib/core/ResetPasswordCore/ResetPasswordCore.d.ts +0 -5
  1048. package/lib/core/ResetPasswordCore/ResetPasswordCore.js +0 -12
  1049. package/lib/core/ResetPasswordCore/ResetPasswordCore.js.map +0 -1
  1050. package/lib/core/ResetPasswordCore/ResetPasswordCoreTypes.d.ts +0 -4
  1051. package/lib/core/ResetPasswordCore/ResetPasswordCoreTypes.js +0 -2
  1052. package/lib/core/ResetPasswordCore/ResetPasswordCoreTypes.js.map +0 -1
  1053. package/lib/core/Session/SessionCoreTypes.d.ts +0 -8
  1054. package/lib/core/Session/SessionCoreTypes.js +0 -2
  1055. package/lib/core/Session/SessionCoreTypes.js.map +0 -1
  1056. package/lib/core/Session/SessionHandle.d.ts +0 -5
  1057. package/lib/core/Session/SessionHandle.js +0 -16
  1058. package/lib/core/Session/SessionHandle.js.map +0 -1
  1059. package/lib/core/TicketsCore/TicketsCore.d.ts +0 -5
  1060. package/lib/core/TicketsCore/TicketsCore.js +0 -160
  1061. package/lib/core/TicketsCore/TicketsCore.js.map +0 -1
  1062. package/lib/core/TicketsCore/TicketsCoreTypes.d.ts +0 -39
  1063. package/lib/core/TicketsCore/TicketsCoreTypes.js +0 -2
  1064. package/lib/core/TicketsCore/TicketsCoreTypes.js.map +0 -1
  1065. package/lib/core/WaitingListCore/WaitingListCore.d.ts +0 -5
  1066. package/lib/core/WaitingListCore/WaitingListCore.js +0 -21
  1067. package/lib/core/WaitingListCore/WaitingListCore.js.map +0 -1
  1068. package/lib/core/WaitingListCore/WaitingListCoreTypes.d.ts +0 -11
  1069. package/lib/core/WaitingListCore/WaitingListCoreTypes.js +0 -2
  1070. package/lib/core/WaitingListCore/WaitingListCoreTypes.js.map +0 -1
  1071. package/lib/core/index.d.ts +0 -20
  1072. package/lib/core/index.js +0 -11
  1073. package/lib/core/index.js.map +0 -1
  1074. package/lib/helpers/Config.d.ts +0 -21
  1075. package/lib/helpers/Config.js +0 -50
  1076. package/lib/helpers/Config.js.map +0 -1
  1077. package/lib/helpers/CountryCodes.d.ts +0 -15
  1078. package/lib/helpers/CountryCodes.js +0 -3382
  1079. package/lib/helpers/CountryCodes.js.map +0 -1
  1080. package/lib/helpers/Debounced.d.ts +0 -1
  1081. package/lib/helpers/Debounced.js +0 -24
  1082. package/lib/helpers/Debounced.js.map +0 -1
  1083. package/lib/helpers/Domains.d.ts +0 -2
  1084. package/lib/helpers/Domains.js +0 -27
  1085. package/lib/helpers/Domains.js.map +0 -1
  1086. package/lib/helpers/LocalStorage.d.ts +0 -25
  1087. package/lib/helpers/LocalStorage.js +0 -110
  1088. package/lib/helpers/LocalStorage.js.map +0 -1
  1089. package/lib/helpers/RefreshAccessToken.d.ts +0 -2
  1090. package/lib/helpers/RefreshAccessToken.js +0 -20
  1091. package/lib/helpers/RefreshAccessToken.js.map +0 -1
  1092. package/lib/helpers/StringsHelper.d.ts +0 -2
  1093. package/lib/helpers/StringsHelper.js +0 -8
  1094. package/lib/helpers/StringsHelper.js.map +0 -1
  1095. package/lib/helpers/Validators.d.ts +0 -14
  1096. package/lib/helpers/Validators.js +0 -77
  1097. package/lib/helpers/Validators.js.map +0 -1
  1098. package/lib/index.d.ts +0 -22
  1099. package/lib/res/colors.d.ts +0 -15
  1100. package/lib/res/colors.js +0 -16
  1101. package/lib/res/colors.js.map +0 -1
  1102. package/lib/res/icons.d.ts +0 -12
  1103. package/lib/res/icons.js +0 -12
  1104. package/lib/res/icons.js.map +0 -1
  1105. package/lib/res/images.d.ts +0 -4
  1106. package/lib/res/images.js +0 -4
  1107. package/lib/res/images.js.map +0 -1
  1108. package/lib/res/index.d.ts +0 -31
  1109. package/lib/res/index.js +0 -10
  1110. package/lib/res/index.js.map +0 -1
  1111. package/lib/types/IAccountTickets.d.ts +0 -70
  1112. package/lib/types/IAccountTickets.js +0 -2
  1113. package/lib/types/IAccountTickets.js.map +0 -1
  1114. package/lib/types/ICountry.d.ts +0 -5
  1115. package/lib/types/ICountry.js +0 -2
  1116. package/lib/types/ICountry.js.map +0 -1
  1117. package/lib/types/IError.d.ts +0 -5
  1118. package/lib/types/IError.js +0 -2
  1119. package/lib/types/IError.js.map +0 -1
  1120. package/lib/types/IEvent.d.ts +0 -86
  1121. package/lib/types/IEvent.js +0 -2
  1122. package/lib/types/IEvent.js.map +0 -1
  1123. package/lib/types/ITicket.d.ts +0 -70
  1124. package/lib/types/ITicket.js +0 -2
  1125. package/lib/types/ITicket.js.map +0 -1
  1126. package/lib/types/IUserProfile.d.ts +0 -29
  1127. package/lib/types/IUserProfile.js +0 -2
  1128. package/lib/types/IUserProfile.js.map +0 -1
  1129. package/lib/types/index.d.ts +0 -5
  1130. package/lib/types/index.js +0 -6
  1131. package/lib/types/index.js.map +0 -1
  1132. package/tf-checkout-react-native.podspec +0 -19
  1133. /package/{assets/images/brand.png → lib/brand-DA2IARBI.png} +0 -0
  1134. /package/{assets/icons/ic_check.png → lib/ic_check-FLIJQ3BY.png} +0 -0
  1135. /package/{assets/icons/ic_clock.png → lib/ic_clock-BZ4Z7PIP.png} +0 -0
  1136. /package/{assets/icons/ic_copy.png → lib/ic_copy-VWMA4B7X.png} +0 -0
  1137. /package/{assets/icons/ic_dropdown.png → lib/ic_dropdown-BCS3QDNJ.png} +0 -0
  1138. /package/{assets/icons/ic_error.png → lib/ic_error-KDEZUPSN.png} +0 -0
  1139. /package/{assets/icons/ic_eye.png → lib/ic_eye-WGXVXVAN.png} +0 -0
  1140. /package/{assets/icons/ic_eye_off.png → lib/ic_eye_off-XTCE6XSO.png} +0 -0
  1141. /package/{assets/icons/ic_more.png → lib/ic_more-LZWKYCDU.png} +0 -0
  1142. /package/{assets/icons/ic_next.png → lib/ic_next-LCNIGEDM.png} +0 -0
@@ -0,0 +1,1902 @@
1
+ import _every from 'lodash/every'
2
+ import _find from 'lodash/find'
3
+ import _forEach from 'lodash/forEach'
4
+ import _map from 'lodash/map'
5
+ import React, {
6
+ forwardRef,
7
+ useCallback,
8
+ useEffect,
9
+ useImperativeHandle,
10
+ useMemo,
11
+ useRef,
12
+ useState,
13
+ } from 'react'
14
+ import { ActivityIndicator, Alert, Image, Linking, Text, View } from 'react-native'
15
+ import DeviceCountry, { TYPE_ANY } from 'react-native-device-country'
16
+ import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'
17
+
18
+ import Constants from '../../api/Constants'
19
+ import {
20
+ ICheckoutBody,
21
+ ICheckoutTicketHolder,
22
+ IFetchAccessTokenResponse,
23
+ IRegisterNewUserBody,
24
+ } from '../../api/types'
25
+ import {
26
+ Button,
27
+ CartTimer,
28
+ Checkbox,
29
+ DatePicker,
30
+ DropdownMaterial,
31
+ Input,
32
+ Loading,
33
+ Login,
34
+ PhoneInput,
35
+ } from '../../components'
36
+ import { IDropdownItem } from '../../components/dropdown/types'
37
+ import { ILoginSuccessData } from '../../components/login/types'
38
+ import { IOnChangePhoneNumberPayload } from '../../components/phoneInput/types'
39
+ import { BillingCore, BillingCoreHandle, SessionHandle } from '../../core'
40
+ import { SessionHandleType } from '../../core/Session/SessionCoreTypes'
41
+ import { Config } from '../../helpers/Config'
42
+ import { getCountryDialCode } from '../../helpers/CountryCodes'
43
+ import { useDebounced } from '../../helpers/Debounced'
44
+ import { getData, LocalStorageKeys } from '../../helpers/LocalStorage'
45
+ import { emptyPhone } from '../../helpers/StringsHelper'
46
+ import {
47
+ validateAge,
48
+ validateDropDownEmpty,
49
+ validateEmail,
50
+ validateEmpty,
51
+ validatePasswords,
52
+ validatePhoneNumber,
53
+ } from '../../helpers/Validators'
54
+ import R from '../../res'
55
+ import { IError, IUserProfile, IUserProfilePublic } from '../../types'
56
+ import s from './styles'
57
+ import {
58
+ IBillingFormFieldsData,
59
+ IBillingProps,
60
+ ITicketHolderField,
61
+ SkippingStatusType,
62
+ } from './types'
63
+
64
+ /*
65
+ Fields to hide when ticket is free
66
+ - Billing Street Address
67
+ - City
68
+ - State/County
69
+ - Post Code/Zip
70
+ - Country
71
+ */
72
+
73
+ const Billing = forwardRef<SessionHandleType, IBillingProps>(
74
+ (
75
+ {
76
+ styles,
77
+ texts,
78
+ cartProps: {
79
+ isAgeRequired,
80
+ isNameRequired,
81
+ isPhoneRequired,
82
+ minimumAge,
83
+ isBillingRequired,
84
+ isTicketFree,
85
+ isPhoneHidden,
86
+ },
87
+ loginBrandImages,
88
+ skipBillingConfig,
89
+ areAlertsEnabled = true,
90
+ areLoadingIndicatorsEnabled = true,
91
+ onLoadingChange,
92
+ onLoginError,
93
+ onLoginSuccess,
94
+ onRegisterError,
95
+ onRegisterSuccess,
96
+ onCheckoutSuccess,
97
+ onCheckoutError,
98
+ onFetchUserProfileSuccess,
99
+ onFetchUserProfileError,
100
+ onFetchCartError,
101
+ onFetchCartSuccess,
102
+ onFetchCountriesError,
103
+ onFetchCountriesSuccess,
104
+ onFetchStatesError,
105
+ onFetchStatesSuccess,
106
+ onSkippingStatusChange,
107
+ onLogoutSuccess,
108
+ onLogoutError,
109
+ onCartExpired,
110
+ shouldCartTimerNotMinimizeOnTap,
111
+ config = {
112
+ isCheckoutAlwaysButtonEnabled: false,
113
+ shouldHideTicketHolderSectionOnSingleTicket: false,
114
+ },
115
+ },
116
+ ref
117
+ ) => {
118
+ //#region State
119
+ const [isLoading, setIsLoading] = useState<boolean>(false)
120
+ const [isSubmittingData, setIsSubmittingData] = useState<boolean>(false)
121
+ const [loggedUserFirstName, setLoggedUserFirstName] = useState<string>('')
122
+ const [loginMessage, setLoginMessage] = useState('')
123
+ const [firstName, setFirstName] = useState('')
124
+ const [lastName, setLastName] = useState('')
125
+ const [email, setEmail] = useState('')
126
+ const [emailConfirmation, setEmailConfirmation] = useState('')
127
+ const [password, setPassword] = useState('')
128
+ const [passwordConfirmation, setPasswordConfirmation] = useState('')
129
+ const [isSubToTicketFairy, setIsSubToTicketFairy] = useState(false)
130
+ const [isSubToBrand, setIsSubToBrand] = useState(false)
131
+ const [phone, setPhone] = useState('')
132
+ const [street, setStreet] = useState('')
133
+ const [city, setCity] = useState('')
134
+ const [countryId, setCountryId] = useState('')
135
+ const [stateId, setStateId] = useState('')
136
+ const [postalCode, setPostalCode] = useState('')
137
+ const [dateOfBirth, setDateOfBirth] = useState<Date | undefined>(undefined)
138
+ const [selectedCountry, setSelectedCountry] = useState<IDropdownItem | undefined>(
139
+ undefined
140
+ )
141
+ const [selectedState, setSelectedState] = useState<IDropdownItem | undefined>(
142
+ undefined
143
+ )
144
+
145
+ const [ticketHoldersData, setTicketHoldersData] = useState<ITicketHolderField[]>([])
146
+
147
+ const [numberOfTicketHolders, setNumberOfTicketHolders] = useState<
148
+ number | undefined
149
+ >(0)
150
+
151
+ const [states, setStates] = useState<IDropdownItem[]>([])
152
+ const [countries, setCountries] = useState<IDropdownItem[]>([])
153
+
154
+ const [isLoginDialogVisible, setIsLoginDialogVisible] = useState(false)
155
+ const [skippingStatus, setSkippingStatus] = useState<SkippingStatusType>(undefined)
156
+ const [isTtfCheckboxHidden, setIsTtfCheckboxHidden] = useState(false)
157
+ //#endregion State
158
+
159
+ //#region Labels
160
+ const holderLabels = useMemo(() => {
161
+ if (
162
+ numberOfTicketHolders === 1 &&
163
+ config.shouldHideTicketHolderSectionOnSingleTicket
164
+ ) {
165
+ return null
166
+ }
167
+
168
+ const optional = isNameRequired ? '' : texts?.form?.optional || '(optional)'
169
+ return {
170
+ firstName: texts?.form?.holderFirstName
171
+ ? `${texts.form.holderFirstName} ${optional}`
172
+ : `First Name ${optional}`,
173
+ lastName: texts?.form?.holderLastName
174
+ ? `${texts.form.holderLastName} ${optional}`
175
+ : `Last Name ${optional}`,
176
+ email: texts?.form?.holderEmail
177
+ ? `${texts.form.holderEmail} ${texts?.form?.optional || '(optional)'}`
178
+ : `Email ${optional}`,
179
+ phone: texts?.form?.holderPhone
180
+ ? `${texts.form.holderPhone} ${texts?.form?.optional || '(optional)'}`
181
+ : `Phone ${optional}`,
182
+ }
183
+ }, [isNameRequired, texts, numberOfTicketHolders])
184
+
185
+ const brandCheckBoxText =
186
+ texts?.form?.isSubToBrand ||
187
+ 'I would like to be updated on news, events and offers.'
188
+
189
+ const phoneLabel = useMemo(() => {
190
+ const optionalPhone = isPhoneRequired ? '' : texts?.form?.optional || ' (optional)'
191
+ return texts?.form?.phone
192
+ ? `${texts?.form?.phone} ${optionalPhone}`
193
+ : `Phone ${optionalPhone}`
194
+ }, [isPhoneRequired, texts])
195
+
196
+ const addressLabel = useMemo(() => {
197
+ const optionalAddress = Config.IS_BILLING_STREET_NAME_REQUIRED
198
+ ? ''
199
+ : texts?.form?.optional || ' (optional)'
200
+
201
+ return texts?.form?.street
202
+ ? `${texts.form.street} ${optionalAddress}`
203
+ : `Street ${optionalAddress}`
204
+ }, [texts])
205
+ //#endregion Labels
206
+
207
+ // Cart expiration timer
208
+ const [secondsLeft, setSecondsLeft] = React.useState(420)
209
+
210
+ //#region Errors state
211
+ const firstNameError = useDebounced(firstName, validateEmpty)
212
+ const lastNameError = useDebounced(lastName, validateEmpty)
213
+ const emailError = useDebounced(email, () => validateEmail(email, emailConfirmation))
214
+ const confirmEmailError = useDebounced(emailConfirmation, () =>
215
+ validateEmail(emailConfirmation, email)
216
+ )
217
+ const passwordError = useDebounced(password, () =>
218
+ validatePasswords(password, passwordConfirmation)
219
+ )
220
+ const confirmPasswordError = useDebounced(passwordConfirmation, () =>
221
+ validatePasswords(passwordConfirmation, password)
222
+ )
223
+ const [phoneError, setPhoneError] = useState('')
224
+ const streetError = useDebounced(street, validateEmpty)
225
+ const cityError = useDebounced(city, validateEmpty)
226
+ const postalCodeError = useDebounced(postalCode, validateEmpty)
227
+ const [ttfPrivacyPolicyError, setTtfPrivacyPolicyError] = useState('')
228
+
229
+ const [firstNameErrorState, setFirstNameErrorState] = useState('')
230
+ const [lastNameErrorState, setLastNameErrorState] = useState('')
231
+ const [streetErrorState, setStreetErrorState] = useState('')
232
+ const [dateOfBirthError, setDateOfBirthError] = useState('')
233
+ const [emailErrorState, setEmailErrorState] = useState('')
234
+ const [emailConfirmationErrorState, setEmailConfirmationErrorState] = useState('')
235
+ const [cityErrorState, setCityErrorState] = useState('')
236
+ const [postalCodeErrorState, setPostalCodeErrorState] = useState('')
237
+ const [countryErrorState, setCountryErrorState] = useState('')
238
+ const [stateErrorState, setStateErrorState] = useState('')
239
+ const [passwordErrorState, setPasswordErrorState] = useState('')
240
+ const [confirmPasswordErrorState, setConfirmPasswordErrorState] = useState('')
241
+
242
+ const requiredText = texts?.required || 'Required'
243
+
244
+ //#endregion Errors state
245
+ //#endregion
246
+
247
+ const getSkippingStatus = (numOfTickets: number): SkippingStatusType => {
248
+ // DO NOT SKIP IF
249
+ // * User is not logged in.
250
+ // * Event Collect_names is turned on and tickets are more than one.
251
+ // * Event validate_age is turned on.
252
+ // * phone_required is turned on and customer does not have a phone number.
253
+
254
+ if (isBillingRequired || skippingStatus === 'fail') {
255
+ return 'false'
256
+ }
257
+
258
+ if ((isNameRequired && numOfTickets > 1) || isAgeRequired) {
259
+ return 'false'
260
+ } else {
261
+ return 'skipping'
262
+ }
263
+ }
264
+
265
+ //#region Refs
266
+ const storedToken = useRef('')
267
+ const storedProfileData = useRef({} as IUserProfilePublic)
268
+ const phoneErrorCounter = useRef(0)
269
+ const billingCoreRef = useRef<BillingCoreHandle>(null)
270
+ const sessionHandleRef = useRef<SessionHandleType>(null)
271
+ const phoneCountryCode = useRef('')
272
+ const errorsRef = useRef({
273
+ firstName: '',
274
+ lastName: '',
275
+ email: '',
276
+ confirmEmail: '',
277
+ password: '',
278
+ confirmPassword: '',
279
+ dateOfBirth: '',
280
+ phone: '',
281
+ street: '',
282
+ city: '',
283
+ country: '',
284
+ zipCode: '',
285
+ state: '',
286
+ privacy: '',
287
+ })
288
+
289
+ //#endregion
290
+
291
+ //#region Imperative Handler
292
+ useImperativeHandle(ref, () => ({
293
+ async refreshAccessToken(refreshToken: string): Promise<IFetchAccessTokenResponse> {
294
+ if (!sessionHandleRef.current) {
295
+ return {
296
+ accessTokenError: {
297
+ message: 'Session Handle ref is not initialized',
298
+ },
299
+ }
300
+ }
301
+
302
+ const { accessTokenError, accessTokenData } =
303
+ await sessionHandleRef.current!.refreshAccessToken(refreshToken)
304
+ if (!accessTokenError && accessTokenData?.accessToken) {
305
+ await fetchData()
306
+ }
307
+ return {
308
+ accessTokenData,
309
+ accessTokenError,
310
+ }
311
+ },
312
+
313
+ async reloadData() {
314
+ await fetchData()
315
+ },
316
+ }))
317
+ //#endregion Imperative Handler
318
+
319
+ //#region Handlers
320
+ const handleSetPhoneError = useCallback(
321
+ (error: string) => {
322
+ if (isPhoneRequired && phone.length > 0) {
323
+ setPhoneError(error)
324
+ }
325
+ },
326
+ [isPhoneRequired, phone.length]
327
+ )
328
+
329
+ const handleOnChangePhoneNumber = (payload: IOnChangePhoneNumberPayload) => {
330
+ setPhone(payload.input)
331
+
332
+ if (payload.isValid) {
333
+ errorsRef.current.phone = ''
334
+ setPhoneError('')
335
+
336
+ return
337
+ }
338
+
339
+ if (!payload.isValid && phoneErrorCounter.current > 0) {
340
+ errorsRef.current.phone =
341
+ texts?.form?.phoneInput?.customError || 'Invalid phone number'
342
+
343
+ return handleSetPhoneError(
344
+ texts?.form?.phoneInput?.customError || 'Invalid phone number'
345
+ )
346
+ }
347
+
348
+ phoneErrorCounter.current = phoneErrorCounter.current + 1
349
+ }
350
+
351
+ const handleOnLoadingChange = useCallback(
352
+ (loading: boolean) => {
353
+ if (onLoadingChange) {
354
+ onLoadingChange(loading)
355
+ }
356
+ },
357
+ [onLoadingChange]
358
+ )
359
+
360
+ const handleOnSkippingStatusChange = useCallback(
361
+ (status: SkippingStatusType) => {
362
+ onSkippingStatusChange?.(status)
363
+ },
364
+ [onSkippingStatusChange]
365
+ )
366
+
367
+ const showAlert = (text: string) => {
368
+ if (areAlertsEnabled) {
369
+ Alert.alert('', text)
370
+ }
371
+ }
372
+
373
+ const showLoginDialog = () => setIsLoginDialogVisible(true)
374
+ const hideLoginDialog = () => setIsLoginDialogVisible(false)
375
+
376
+ const handleIsSubToBrandToggle = () => {
377
+ setIsSubToBrand(!isSubToBrand)
378
+ }
379
+
380
+ const handleIsSubToTicketFairyToggle = () => {
381
+ const newValue = !isSubToTicketFairy
382
+
383
+ if (newValue) {
384
+ errorsRef.current.privacy = ''
385
+ setTtfPrivacyPolicyError('')
386
+ } else {
387
+ errorsRef.current.privacy = requiredText
388
+ setTtfPrivacyPolicyError(requiredText)
389
+ }
390
+
391
+ setIsSubToTicketFairy(newValue)
392
+ }
393
+
394
+ const handleOpenPrivacyLink = async () => {
395
+ const canOpenLink = await Linking.canOpenURL(Constants.PRIVACY_POLICY_LINK)
396
+ if (canOpenLink) {
397
+ await Linking.openURL(Constants.PRIVACY_POLICY_LINK)
398
+ }
399
+ }
400
+
401
+ const handleSetFormDataFromUserProfile = (
402
+ userProfile: IUserProfilePublic,
403
+ accessToken?: string
404
+ ) => {
405
+ storedProfileData.current = userProfile
406
+ setFirstName(userProfile.firstName)
407
+ setLastName(userProfile.lastName)
408
+ setEmail(userProfile.email)
409
+ setEmailConfirmation(userProfile.email)
410
+ setPhone(userProfile.phone)
411
+ setStreet(userProfile.streetAddress)
412
+ setCity(userProfile.city)
413
+ setPostalCode(userProfile.zipCode)
414
+ setCountryId(userProfile.countryId)
415
+ setStateId(userProfile.stateId)
416
+ setLoggedUserFirstName(userProfile.firstName)
417
+
418
+ let dob: Date | undefined
419
+
420
+ if (userProfile.dateOfBirth) {
421
+ const dobSplitted = userProfile.dateOfBirth.split('-')
422
+ dob = new Date(
423
+ parseInt(dobSplitted[0]!, 10),
424
+ parseInt(dobSplitted[1]!, 10) - 1,
425
+ parseInt(dobSplitted[2]!, 10)
426
+ )
427
+ handleOnSelectDate(dob)
428
+ }
429
+
430
+ const thData = [...ticketHoldersData]
431
+ thData.forEach((th, index) => {
432
+ th.firstName = index === 0 ? userProfile.firstName : ''
433
+ th.lastName = index === 0 ? userProfile.lastName : ''
434
+ th.email = index === 0 ? userProfile.email : ''
435
+ th.phone = index === 0 ? userProfile.phone : ''
436
+ })
437
+ setTicketHoldersData(thData)
438
+
439
+ if (accessToken) {
440
+ storedToken.current = accessToken
441
+ }
442
+
443
+ showErrorMessages({
444
+ firstName: userProfile.firstName,
445
+ lastName: userProfile.lastName,
446
+ email: userProfile.email,
447
+ confirmEmail: userProfile.email,
448
+ street: userProfile.streetAddress,
449
+ city: userProfile.city,
450
+ selectedCountry: userProfile.countryId
451
+ ? {
452
+ label: '',
453
+ value: userProfile.countryId,
454
+ }
455
+ : undefined,
456
+ selectedState: userProfile.stateId
457
+ ? {
458
+ label: '',
459
+ value: userProfile.stateId,
460
+ }
461
+ : undefined,
462
+ postalCode: userProfile.zipCode,
463
+ dateOfBirth: dob,
464
+ phoneNumber: userProfile.phone,
465
+ isRegistering: !loggedUserFirstName && !storedToken.current,
466
+ ticketHolderData: ticketHoldersData,
467
+ })
468
+ }
469
+
470
+ const clearFormErrors = () => {
471
+ setFirstNameErrorState('')
472
+ setLastNameErrorState('')
473
+ setEmailErrorState('')
474
+ setEmailConfirmationErrorState('')
475
+ setDateOfBirthError('')
476
+ setPhoneError('')
477
+ setStreetErrorState('')
478
+ setCityErrorState('')
479
+ setCountryErrorState('')
480
+ setPostalCodeErrorState('')
481
+ setStateErrorState('')
482
+ setTtfPrivacyPolicyError('')
483
+ errorsRef.current = {
484
+ firstName: '',
485
+ lastName: '',
486
+ email: '',
487
+ confirmEmail: '',
488
+ password: '',
489
+ confirmPassword: '',
490
+ dateOfBirth: '',
491
+ phone: '',
492
+ street: '',
493
+ city: '',
494
+ country: '',
495
+ zipCode: '',
496
+ state: '',
497
+ privacy: '',
498
+ }
499
+ }
500
+
501
+ const handleOnLoginSuccess = async ({
502
+ userProfile,
503
+ accessTokenData,
504
+ }: ILoginSuccessData) => {
505
+ clearFormErrors()
506
+
507
+ let countryCode = 'US'
508
+ const accessToken = await getData(LocalStorageKeys.ACCESS_TOKEN)
509
+ const usrProfile = { ...userProfile }
510
+
511
+ onLoginSuccess?.({
512
+ userProfile,
513
+ accessTokenData,
514
+ })
515
+
516
+ try {
517
+ const deviceCountry = await DeviceCountry.getCountryCode(TYPE_ANY)
518
+ countryCode = deviceCountry.code.toUpperCase()
519
+ } catch (err) {
520
+ countryCode = 'US'
521
+ }
522
+
523
+ if (!userProfile.phone) {
524
+ usrProfile.phone = ''
525
+ } else {
526
+ if (!usrProfile.phone?.includes('+')) {
527
+ usrProfile.phone = `${getCountryDialCode(countryCode)}${usrProfile.phone}`
528
+ }
529
+ }
530
+
531
+ if (!isBillingRequired && skippingStatus === 'fail') {
532
+ setSkippingStatus('skipping')
533
+
534
+ const phoneValidError = validatePhoneNumber({
535
+ phoneNumber: userProfile.phone,
536
+ customError: texts?.form?.phoneInput?.customError,
537
+ })
538
+
539
+ if (phoneValidError && isPhoneRequired) {
540
+ setIsLoading(false)
541
+ handleSetPhoneError(
542
+ texts?.invalidPhoneNumberError || 'Please enter a valid phone number'
543
+ )
544
+ }
545
+
546
+ await performCheckout(
547
+ getCheckoutBodyWhenSkipping({
548
+ userProfile: usrProfile,
549
+ ticketsQuantity: numberOfTicketHolders || 1,
550
+ })
551
+ )
552
+ }
553
+ handleSetFormDataFromUserProfile(usrProfile, accessToken)
554
+ }
555
+
556
+ const handleOnLoginError = (error: IError) => {
557
+ onLoginError?.(error)
558
+ }
559
+
560
+ const handleOnLogoutSuccess = async () => {
561
+ setFirstName('')
562
+ setLastName('')
563
+ setEmail('')
564
+ setEmailConfirmation('')
565
+ setPhone('')
566
+ setStreet('')
567
+ setCity('')
568
+ setPostalCode('')
569
+ setPassword('')
570
+ setPasswordConfirmation('')
571
+ setCountryId('')
572
+ setStateId('')
573
+ handleOnSelectDate(undefined)
574
+
575
+ setSelectedCountry({
576
+ value: '-1',
577
+ label: texts?.form?.country || 'Country',
578
+ code: '__',
579
+ })
580
+ setStates([
581
+ {
582
+ value: '-1',
583
+ label: texts?.form?.state || 'State/County',
584
+ },
585
+ ])
586
+ setIsSubToTicketFairy(false)
587
+ setIsSubToBrand(false)
588
+ storedToken.current = ''
589
+ setLoggedUserFirstName('')
590
+
591
+ const thData = [...ticketHoldersData]
592
+ thData.forEach((th) => {
593
+ th.firstName = ''
594
+ th.lastName = ''
595
+ th.email = ''
596
+ th.phone = ''
597
+ th.firstNameError = ''
598
+ th.lastNameError = ''
599
+ })
600
+ setTicketHoldersData(thData)
601
+ onLogoutSuccess?.()
602
+ }
603
+
604
+ //#region Handlers input changed
605
+ const handleOnSelectDate = (newDate: Date | undefined) => {
606
+ setDateOfBirth(newDate)
607
+
608
+ if (dateOfBirthError.length > 0 && newDate) {
609
+ setDateOfBirthError('')
610
+ }
611
+
612
+ if (minimumAge) {
613
+ const ageError = validateAge(newDate, minimumAge)
614
+ setDateOfBirthError(ageError)
615
+ } else {
616
+ if (!newDate) {
617
+ setDateOfBirthError(requiredText)
618
+ }
619
+ }
620
+ }
621
+
622
+ const handleOnStreetChanged = (text: string) => {
623
+ if (streetErrorState.length > 0 && text.length > 0) {
624
+ setStreetErrorState('')
625
+ }
626
+ setStreet(text)
627
+ }
628
+
629
+ const handleOnCityChanged = (text: string) => {
630
+ if (cityErrorState.length > 0 && text.length > 0) {
631
+ setCityErrorState('')
632
+ }
633
+ setCity(text)
634
+ }
635
+
636
+ const handleOnFirstNameChanged = (text: string) => {
637
+ if (firstNameErrorState.length > 0 && text.length > 0) {
638
+ setFirstNameErrorState('')
639
+ }
640
+ setFirstName(text)
641
+ }
642
+
643
+ const handleOnLastNameChanged = (text: string) => {
644
+ if (lastNameErrorState.length > 0 && text.length > 0) {
645
+ setLastNameErrorState('')
646
+ }
647
+ setLastName(text)
648
+ }
649
+
650
+ const handleOnEmailChanged = (text: string) => {
651
+ if (emailErrorState.length > 0 && text.length > 0) {
652
+ setEmailErrorState('')
653
+ }
654
+ setEmail(text)
655
+ }
656
+
657
+ const handleOnEmailConfirmationChanged = (text: string) => {
658
+ if (emailConfirmationErrorState.length > 0 && text.length > 0) {
659
+ setEmailConfirmationErrorState('')
660
+ }
661
+ setEmailConfirmation(text)
662
+ }
663
+
664
+ const handleOnPostalCodeChanged = (text: string) => {
665
+ if (postalCodeErrorState.length > 0 && text.length > 0) {
666
+ setPostalCodeErrorState('')
667
+ }
668
+ setPostalCode(text)
669
+ }
670
+
671
+ const handleOnStateChanged = (itm: IDropdownItem) => {
672
+ if (stateErrorState.length > 0 && itm.value !== '-1') {
673
+ setStateErrorState('')
674
+ } else if (itm.value === '-1') {
675
+ setStateErrorState(requiredText)
676
+ }
677
+ setSelectedState(itm)
678
+ }
679
+
680
+ const handleOnCountryChanged = (itm: IDropdownItem) => {
681
+ if (countryErrorState.length > 0 && itm.value !== '-1') {
682
+ setCountryErrorState('')
683
+ } else if (itm.value === '-1') {
684
+ setCountryErrorState(requiredText)
685
+ }
686
+ setSelectedCountry(itm)
687
+ }
688
+
689
+ const handleOnPasswordChanged = (text: string) => {
690
+ if (passwordErrorState.length > 0 && text.length > 0) {
691
+ setPasswordErrorState('')
692
+ }
693
+ setPassword(text)
694
+ }
695
+
696
+ const handleOnConfirmPasswordChanged = (text: string) => {
697
+ if (confirmPasswordErrorState.length > 0 && text.length > 0) {
698
+ setConfirmPasswordErrorState('')
699
+ }
700
+ setPasswordConfirmation(text)
701
+ }
702
+ //#endregion Handlers input changed
703
+
704
+ //#endregion
705
+
706
+ //#region Form validation
707
+ const checkIsStoredPhoneNumberFormat = (storedPhoneNumber?: string) => {
708
+ if (!storedPhoneNumber) {
709
+ handleSetPhoneError(
710
+ texts?.invalidPhoneNumberError || 'Please enter a valid phone number'
711
+ )
712
+ return false
713
+ }
714
+
715
+ if (!storedPhoneNumber.includes('+')) {
716
+ handleSetPhoneError(
717
+ texts?.invalidPhoneNumberError || 'Please enter a valid phone number'
718
+ )
719
+ return false
720
+ }
721
+ return true
722
+ }
723
+
724
+ const showErrorMessages = (data: IBillingFormFieldsData) => {
725
+ if (secondsLeft === 0) {
726
+ return false
727
+ }
728
+
729
+ const validateFirstName = validateEmpty(data.firstName)
730
+ const validateLastName = validateEmpty(data.lastName)
731
+
732
+ const validateEmails = validateEmail(data.email, data.confirmEmail)
733
+ const validateEmailsConfirmation = validateEmail(data.confirmEmail, data.email)
734
+
735
+ if (isTicketFree) {
736
+ setFirstNameErrorState(validateFirstName)
737
+ setLastNameErrorState(validateLastName)
738
+ errorsRef.current.firstName = validateFirstName
739
+ errorsRef.current.lastName = validateLastName
740
+
741
+ setEmailErrorState(validateEmails)
742
+ setEmailConfirmationErrorState(validateEmailsConfirmation)
743
+ errorsRef.current.email = validateEmails
744
+ errorsRef.current.confirmEmail = validateEmailsConfirmation
745
+
746
+ if (data.isRegistering) {
747
+ const validatePassword = validatePasswords(data.password, data.confirmPassword)
748
+ const validatePasswordConfirmation = validatePasswords(
749
+ data.confirmPassword,
750
+ data.password
751
+ )
752
+
753
+ setPasswordErrorState(validatePassword)
754
+ setConfirmPasswordErrorState(validatePasswordConfirmation)
755
+
756
+ errorsRef.current.password = validatePassword
757
+ errorsRef.current.confirmPassword = validatePasswordConfirmation
758
+ }
759
+
760
+ if (isAgeRequired) {
761
+ if (minimumAge) {
762
+ const birthdayValidation = validateAge(data.dateOfBirth, minimumAge)
763
+ setDateOfBirthError(birthdayValidation)
764
+ errorsRef.current.dateOfBirth = birthdayValidation
765
+ } else {
766
+ setDateOfBirthError(data.dateOfBirth ? '' : requiredText)
767
+ errorsRef.current.dateOfBirth = data.dateOfBirth ? '' : requiredText
768
+ }
769
+ }
770
+
771
+ if (isPhoneRequired && !isPhoneHidden) {
772
+ const validatePhone = validatePhoneNumber({
773
+ phoneNumber: data.phoneNumber,
774
+ customError: texts?.form?.phoneInput?.customError,
775
+ countryCode: phoneCountryCode.current,
776
+ })
777
+ setPhoneError(validatePhone)
778
+ errorsRef.current.phone = validatePhone
779
+ }
780
+
781
+ errorsRef.current.privacy = isSubToTicketFairy ? '' : requiredText
782
+
783
+ if (isNameRequired) {
784
+ const ticketHoldersDataCopy = [...data.ticketHolderData]
785
+ _map(data.ticketHolderData, (th, index) => {
786
+ if (isNameRequired) {
787
+ ticketHoldersDataCopy[index].firstNameError = validateEmpty(th.firstName)
788
+ ticketHoldersDataCopy[index].lastNameError = validateEmpty(th.lastName)
789
+ }
790
+ })
791
+
792
+ setTicketHoldersData(ticketHoldersDataCopy)
793
+ }
794
+
795
+ return
796
+ } // end of Ticket Free
797
+
798
+ const validateStreet = validateEmpty(data.street)
799
+ const validateCity = validateEmpty(data.city)
800
+ const validatePostalCode = validateEmpty(data.postalCode)
801
+
802
+ setStreetErrorState(validateStreet)
803
+ setCityErrorState(validateCity)
804
+ setPostalCodeErrorState(validatePostalCode)
805
+ setFirstNameErrorState(validateFirstName)
806
+ setLastNameErrorState(validateLastName)
807
+ setEmailErrorState(validateEmails)
808
+ setEmailConfirmationErrorState(validateEmailsConfirmation)
809
+
810
+ errorsRef.current.street = validateStreet
811
+ errorsRef.current.city = validateCity
812
+ errorsRef.current.zipCode = validatePostalCode
813
+ errorsRef.current.firstName = validateFirstName
814
+ errorsRef.current.lastName = validateLastName
815
+ errorsRef.current.email = validateEmails
816
+ errorsRef.current.confirmEmail = validateEmailsConfirmation
817
+
818
+ if (data.isRegistering) {
819
+ const validatePassword = validatePasswords(data.password, data.confirmPassword)
820
+ const validatePasswordConfirmation = validatePasswords(
821
+ data.confirmPassword,
822
+ data.password
823
+ )
824
+
825
+ setPasswordErrorState(validatePassword)
826
+ setConfirmPasswordErrorState(validatePasswordConfirmation)
827
+
828
+ errorsRef.current.password = validatePassword
829
+ errorsRef.current.confirmPassword = validatePasswordConfirmation
830
+ }
831
+
832
+ const countryValidation = validateDropDownEmpty(data.selectedCountry?.value)
833
+
834
+ setCountryErrorState(countryValidation)
835
+ errorsRef.current.country = countryValidation
836
+
837
+ if (isAgeRequired) {
838
+ if (minimumAge) {
839
+ const birthdayValidation = validateAge(data.dateOfBirth, minimumAge)
840
+ setDateOfBirthError(birthdayValidation)
841
+ errorsRef.current.dateOfBirth = birthdayValidation
842
+ } else {
843
+ setDateOfBirthError(data.dateOfBirth ? '' : requiredText)
844
+ errorsRef.current.dateOfBirth = data.dateOfBirth ? '' : requiredText
845
+ }
846
+ }
847
+
848
+ const validateState = validateDropDownEmpty(data.selectedState?.value)
849
+
850
+ setStateErrorState(validateState)
851
+ errorsRef.current.state = validateState
852
+
853
+ if (isPhoneRequired && !isPhoneHidden) {
854
+ const validatePhone = validatePhoneNumber({
855
+ phoneNumber: data.phoneNumber,
856
+ customError: texts?.form?.phoneInput?.customError,
857
+ countryCode: phoneCountryCode.current,
858
+ })
859
+
860
+ setPhoneError(validatePhone)
861
+ errorsRef.current.phone = validatePhone
862
+ }
863
+
864
+ //setTtfPrivacyPolicyError(isSubToTicketFairy ? '' : requiredText)
865
+ errorsRef.current.privacy = isSubToTicketFairy ? '' : requiredText
866
+
867
+ if (isNameRequired) {
868
+ const ticketHoldersDataCopy = [...data.ticketHolderData]
869
+ _map(data.ticketHolderData, (th, index) => {
870
+ if (isNameRequired) {
871
+ ticketHoldersDataCopy[index].firstNameError = validateEmpty(th.firstName)
872
+ ticketHoldersDataCopy[index].lastNameError = validateEmpty(th.lastName)
873
+ }
874
+ })
875
+
876
+ setTicketHoldersData(ticketHoldersDataCopy)
877
+ }
878
+ }
879
+
880
+ const checkBasicDataValid = (): boolean => {
881
+ if (secondsLeft === 0) {
882
+ return false
883
+ }
884
+
885
+ if (isTicketFree) {
886
+ if (
887
+ errorsRef.current.firstName ||
888
+ errorsRef.current.lastName ||
889
+ errorsRef.current.email ||
890
+ errorsRef.current.confirmEmail
891
+ ) {
892
+ return false
893
+ }
894
+ } else {
895
+ if (
896
+ errorsRef.current.firstName ||
897
+ errorsRef.current.lastName ||
898
+ errorsRef.current.email ||
899
+ errorsRef.current.confirmEmail ||
900
+ errorsRef.current.city ||
901
+ errorsRef.current.zipCode ||
902
+ errorsRef.current.state ||
903
+ errorsRef.current.country ||
904
+ errorsRef.current.street
905
+ ) {
906
+ return false
907
+ }
908
+ }
909
+
910
+ if (isPhoneRequired && !isPhoneHidden && errorsRef.current.phone) {
911
+ if (isLoading) {
912
+ setIsLoading(false)
913
+ }
914
+
915
+ return false
916
+ }
917
+
918
+ return true
919
+ }
920
+
921
+ const fillAllRequiredFieldsAlert =
922
+ texts?.form?.fillAllRequiredFieldsAlert ||
923
+ 'You must fill all Ticket Holder required fields'
924
+
925
+ const checkExtraDataValid = (): string => {
926
+ if (!isTtfCheckboxHidden && !isSubToTicketFairy) {
927
+ setTtfPrivacyPolicyError(
928
+ texts?.form?.ttfPrivacyPolicyRequiredError || requiredText
929
+ )
930
+ return 'Please review the errors'
931
+ }
932
+
933
+ if (isAgeRequired) {
934
+ if (!dateOfBirth) {
935
+ setDateOfBirthError(requiredText)
936
+ return 'Please enter your date of birth'
937
+ }
938
+
939
+ if (minimumAge) {
940
+ const ageValidationMessage = validateAge(dateOfBirth, minimumAge)
941
+ if (ageValidationMessage) {
942
+ setDateOfBirthError(ageValidationMessage)
943
+ return ageValidationMessage
944
+ }
945
+ }
946
+ }
947
+
948
+ if (!isNameRequired) {
949
+ return ''
950
+ }
951
+
952
+ if (
953
+ ticketHoldersData.length === 1 &&
954
+ config.shouldHideTicketHolderSectionOnSingleTicket
955
+ ) {
956
+ return ''
957
+ }
958
+
959
+ return _every(
960
+ _map(
961
+ ticketHoldersData,
962
+ (th) => validateEmpty(th.firstName) || validateEmpty(th.lastName)
963
+ ),
964
+ (itm) => itm === ''
965
+ )
966
+ ? ''
967
+ : fillAllRequiredFieldsAlert
968
+ }
969
+ //#endregion
970
+
971
+ //#region Submit form
972
+ const handleOnRegisterFail = (rawError: any) => {
973
+ onRegisterError?.(rawError)
974
+ }
975
+
976
+ const performCheckout = async (checkoutBodyWhenSkipping?: ICheckoutBody) => {
977
+ if (!billingCoreRef.current) {
978
+ return onCheckoutError?.({ message: 'BillingCore is not ready' })
979
+ }
980
+
981
+ const checkoutBody = checkoutBodyWhenSkipping || getCheckoutBody()
982
+
983
+ setIsSubmittingData(true)
984
+ const { error: checkoutError, data: checkoutData } =
985
+ await billingCoreRef.current.checkoutOrder(checkoutBody)
986
+ setIsLoading(false)
987
+ setIsSubmittingData(false)
988
+
989
+ if (checkoutError) {
990
+ onCheckoutError?.(checkoutError)
991
+ setSkippingStatus('false')
992
+ return showAlert(checkoutError.message)
993
+ }
994
+
995
+ if (!checkoutData) {
996
+ onCheckoutError?.({ message: 'Checkout returned not data' })
997
+ setSkippingStatus('false')
998
+ return showAlert('Checkout returned not data')
999
+ }
1000
+
1001
+ setSkippingStatus('success')
1002
+ billingCoreRef.current.stopCartTimer()
1003
+ onCheckoutSuccess(checkoutData)
1004
+ }
1005
+
1006
+ const getRegisterFormData = (data: IRegisterNewUserBody): FormData => {
1007
+ const bodyFormData = new FormData()
1008
+ _forEach(data.attributes, (item: any, key: string) => {
1009
+ bodyFormData.append(key, item)
1010
+ })
1011
+ return bodyFormData
1012
+ }
1013
+
1014
+ const performNewUserRegister = async () => {
1015
+ if (!billingCoreRef.current) {
1016
+ showAlert('BillingCore is not ready')
1017
+ return onRegisterError?.({ message: 'BillingCore is not initialized' })
1018
+ }
1019
+
1020
+ setIsSubmittingData(true)
1021
+
1022
+ const registerUserBody = getRegisterNewUserBody()
1023
+ const registerForm = getRegisterFormData(registerUserBody)
1024
+
1025
+ const { registerNewUserResponseData, registerNewUserResponseError } =
1026
+ await billingCoreRef.current.registerNewUser(registerForm)
1027
+
1028
+ if (registerNewUserResponseError) {
1029
+ setIsSubmittingData(false)
1030
+ if (registerNewUserResponseError.isAlreadyRegistered) {
1031
+ setLoginMessage(registerNewUserResponseError.message!)
1032
+ showLoginDialog()
1033
+ return handleOnRegisterFail(registerNewUserResponseError.raw)
1034
+ }
1035
+ handleOnRegisterFail(registerNewUserResponseError.raw)
1036
+ return showAlert(registerNewUserResponseError.message!)
1037
+ }
1038
+
1039
+ if (!registerNewUserResponseData) {
1040
+ setIsSubmittingData(false)
1041
+ handleOnRegisterFail('Register user returned no data')
1042
+ return showAlert('Register user returned no data')
1043
+ }
1044
+
1045
+ storedToken.current = registerNewUserResponseData.accessTokenData.accessToken
1046
+
1047
+ onRegisterSuccess?.(registerNewUserResponseData)
1048
+
1049
+ await performCheckout()
1050
+ }
1051
+
1052
+ const getRegisterNewUserBody = (): IRegisterNewUserBody => {
1053
+ const phoneNumber = isPhoneRequired ? phone : emptyPhone(phone)
1054
+
1055
+ const body: IRegisterNewUserBody = isTicketFree
1056
+ ? {
1057
+ attributes: {
1058
+ email: email,
1059
+ first_name: firstName,
1060
+ last_name: lastName,
1061
+ password: password,
1062
+ phone: phoneNumber,
1063
+ password_confirmation: passwordConfirmation,
1064
+ client_id: Config.CLIENT_ID!,
1065
+ client_secret: Config.CLIENT_SECRET!,
1066
+ check_cart_expiration: true,
1067
+ },
1068
+ }
1069
+ : {
1070
+ attributes: {
1071
+ city: city,
1072
+ country: parseInt(selectedCountry!.value as string, 10),
1073
+ email: email,
1074
+ first_name: firstName,
1075
+ last_name: lastName,
1076
+ password: password,
1077
+ phone: phoneNumber,
1078
+ state: parseInt(selectedState!.value as string, 10),
1079
+ street_address: street,
1080
+ zip: postalCode,
1081
+ password_confirmation: passwordConfirmation,
1082
+ client_id: Config.CLIENT_ID!,
1083
+ client_secret: Config.CLIENT_SECRET!,
1084
+ check_cart_expiration: true,
1085
+ },
1086
+ }
1087
+
1088
+ if (body.attributes.phone === undefined) {
1089
+ delete body.attributes.phone
1090
+ }
1091
+
1092
+ if (isAgeRequired && dateOfBirth) {
1093
+ body.attributes.dob_day = dateOfBirth.getDate()
1094
+ body.attributes.dob_month = dateOfBirth.getMonth() + 1
1095
+ body.attributes.dob_year = dateOfBirth.getFullYear()
1096
+ }
1097
+
1098
+ return body
1099
+ }
1100
+
1101
+ const getCheckoutBody = (): ICheckoutBody => {
1102
+ const parsedTicketHolders: ICheckoutTicketHolder[] = []
1103
+
1104
+ if (config.shouldHideTicketHolderSectionOnSingleTicket && numberOfTicketHolders) {
1105
+ parsedTicketHolders.push({
1106
+ first_name: firstName,
1107
+ last_name: lastName,
1108
+ phone: phone,
1109
+ email: email,
1110
+ })
1111
+ } else {
1112
+ for (let i = 0; i <= numberOfTicketHolders! - 1; i++) {
1113
+ const individualHolder = {
1114
+ first_name: ticketHoldersData[i]?.firstName || '',
1115
+ last_name: ticketHoldersData[i]?.lastName || '',
1116
+ phone: ticketHoldersData[i]?.phone || '',
1117
+ email: ticketHoldersData[i]?.email || '',
1118
+ }
1119
+ parsedTicketHolders.push(individualHolder)
1120
+ }
1121
+ }
1122
+
1123
+ const formattedPhone = isPhoneRequired ? phone : emptyPhone(phone)
1124
+
1125
+ const checkoutBody: ICheckoutBody = isTicketFree
1126
+ ? {
1127
+ attributes: {
1128
+ confirm_email: emailConfirmation,
1129
+ email: email,
1130
+ first_name: firstName,
1131
+ last_name: lastName,
1132
+ password: password,
1133
+ phone: formattedPhone,
1134
+ ticket_holders: parsedTicketHolders,
1135
+ ttf_opt_in: isSubToTicketFairy,
1136
+ brand_opt_in: isSubToBrand,
1137
+ },
1138
+ }
1139
+ : {
1140
+ attributes: {
1141
+ city: city,
1142
+ confirm_email: emailConfirmation,
1143
+ country: parseInt(selectedCountry!.value as string, 10),
1144
+ email: email,
1145
+ first_name: firstName,
1146
+ last_name: lastName,
1147
+ password: password,
1148
+ phone: formattedPhone,
1149
+ state: parseInt(selectedState!.value as string, 10),
1150
+ street_address: street,
1151
+ zip: postalCode,
1152
+ ticket_holders: parsedTicketHolders,
1153
+ ttf_opt_in: isSubToTicketFairy,
1154
+ brand_opt_in: isSubToBrand,
1155
+ },
1156
+ }
1157
+
1158
+ if (isAgeRequired && dateOfBirth) {
1159
+ checkoutBody.attributes.dob_day = dateOfBirth.getDate()
1160
+ checkoutBody.attributes.dob_month = dateOfBirth.getMonth() + 1
1161
+ checkoutBody.attributes.dob_year = dateOfBirth.getFullYear()
1162
+ }
1163
+
1164
+ if (checkoutBody.attributes.phone === undefined) {
1165
+ delete checkoutBody.attributes.phone
1166
+ }
1167
+
1168
+ return checkoutBody
1169
+ }
1170
+
1171
+ const getCheckoutBodyWhenSkipping = ({
1172
+ userProfile,
1173
+ ticketsQuantity,
1174
+ }: {
1175
+ userProfile: IUserProfilePublic
1176
+ ticketsQuantity: number
1177
+ }): ICheckoutBody => {
1178
+ const parsedTicketHolders: ICheckoutTicketHolder[] = []
1179
+ const hFirstName = userProfile.firstName
1180
+ const hLastName = userProfile.lastName
1181
+ const hPhone = userProfile.phone
1182
+ const hEmail = userProfile.email
1183
+
1184
+ for (let i = 0; i <= ticketsQuantity - 1; i++) {
1185
+ const individualHolder = i
1186
+ ? {
1187
+ first_name: '',
1188
+ last_name: '',
1189
+ phone: '',
1190
+ email: '',
1191
+ }
1192
+ : {
1193
+ first_name: hFirstName,
1194
+ last_name: hLastName,
1195
+ phone: hPhone,
1196
+ email: hEmail,
1197
+ }
1198
+
1199
+ parsedTicketHolders.push(individualHolder)
1200
+ }
1201
+
1202
+ const checkoutBody: ICheckoutBody = isTicketFree
1203
+ ? {
1204
+ attributes: {
1205
+ confirm_email: userProfile.email,
1206
+ email: userProfile.email,
1207
+ first_name: userProfile.firstName,
1208
+ last_name: userProfile.lastName,
1209
+ phone: userProfile.phone,
1210
+ ticket_holders: parsedTicketHolders,
1211
+ ttf_opt_in: isSubToTicketFairy,
1212
+ brand_opt_in: isSubToBrand,
1213
+ password: password,
1214
+ },
1215
+ }
1216
+ : {
1217
+ attributes: {
1218
+ city: userProfile.city,
1219
+ confirm_email: userProfile.email,
1220
+ country: parseInt(userProfile.countryId, 10),
1221
+ email: userProfile.email,
1222
+ first_name: userProfile.firstName,
1223
+ last_name: userProfile.lastName,
1224
+ phone: userProfile.phone,
1225
+ state: parseInt(userProfile.stateId, 10),
1226
+ street_address: userProfile.streetAddress,
1227
+ zip: userProfile.zipCode,
1228
+ ticket_holders: parsedTicketHolders,
1229
+ ttf_opt_in: isSubToTicketFairy,
1230
+ brand_opt_in: isSubToBrand,
1231
+ password: password,
1232
+ },
1233
+ }
1234
+
1235
+ if (checkoutBody.attributes.phone === undefined) {
1236
+ delete checkoutBody.attributes.phone
1237
+ }
1238
+
1239
+ return checkoutBody
1240
+ }
1241
+
1242
+ const onSubmit = async () => {
1243
+ showErrorMessages({
1244
+ firstName: firstName,
1245
+ lastName: lastName,
1246
+ email: email,
1247
+ confirmEmail: emailConfirmation,
1248
+ password: password,
1249
+ confirmPassword: passwordConfirmation,
1250
+ street: street,
1251
+ city: city,
1252
+ selectedCountry: selectedCountry,
1253
+ selectedState: selectedState,
1254
+ postalCode: postalCode,
1255
+ dateOfBirth: dateOfBirth,
1256
+ phoneNumber: phone,
1257
+ isRegistering: !loggedUserFirstName && !storedToken.current,
1258
+ ticketHolderData: ticketHoldersData,
1259
+ })
1260
+
1261
+ const isBasicDataValid = checkBasicDataValid()
1262
+ const isExtraDataValidErrors = checkExtraDataValid()
1263
+
1264
+ if (isExtraDataValidErrors || !isBasicDataValid) {
1265
+ return
1266
+ }
1267
+
1268
+ if (loggedUserFirstName && storedToken.current) {
1269
+ await performCheckout()
1270
+ } else {
1271
+ await performNewUserRegister()
1272
+ }
1273
+ }
1274
+ //#endregion
1275
+
1276
+ const setCountryByEvent = async () => {
1277
+ const eventCountry = await getData(LocalStorageKeys.EVENT_COUNTRY)
1278
+
1279
+ if (!eventCountry) {
1280
+ return
1281
+ }
1282
+
1283
+ if (countries.length > 1 && eventCountry) {
1284
+ const selectedCountryItem = _find(countries, (item) => {
1285
+ const stringValue = item.code as string
1286
+ return stringValue.toUpperCase() === eventCountry?.toUpperCase()
1287
+ })
1288
+ setSelectedCountry(selectedCountryItem)
1289
+ }
1290
+ }
1291
+
1292
+ //#region Fetch Initial Data
1293
+ const fetchData = async () => {
1294
+ if (!billingCoreRef.current) {
1295
+ onFetchCartError?.({ message: 'BillingCoreRef not initialized' })
1296
+ return showAlert('BillingCoreRef not initialized')
1297
+ }
1298
+
1299
+ setIsLoading(true)
1300
+
1301
+ let usrPrfl: IUserProfile | undefined
1302
+ const usrTkn = await getData(LocalStorageKeys.ACCESS_TOKEN)
1303
+ let skippingStatusInner: SkippingStatusType
1304
+
1305
+ const { countriesData, countriesError } =
1306
+ await billingCoreRef.current.getCountries()
1307
+
1308
+ if (countriesError) {
1309
+ setSkippingStatus('fail')
1310
+ setIsLoading(false)
1311
+ onFetchCountriesError?.(countriesError)
1312
+ return showAlert(countriesError.message || 'Error fetching countries')
1313
+ }
1314
+
1315
+ onFetchCountriesSuccess?.(countriesData!)
1316
+
1317
+ const parsedCountries: IDropdownItem[] = _map(countriesData, (item) => {
1318
+ return { label: item.name, value: item.id, code: item.code }
1319
+ })
1320
+
1321
+ if (usrTkn) {
1322
+ storedToken.current = usrTkn
1323
+ const { userProfileError, userProfileData } =
1324
+ await billingCoreRef.current.getUserProfile()
1325
+
1326
+ if (userProfileError || !userProfileData) {
1327
+ setSkippingStatus('fail')
1328
+ setIsLoading(false)
1329
+ onFetchUserProfileError?.(userProfileError!)
1330
+
1331
+ return showAlert(userProfileError?.message || 'Error fetching user profile')
1332
+ }
1333
+
1334
+ onFetchUserProfileSuccess?.({
1335
+ firstName: userProfileData.firstName,
1336
+ lastName: userProfileData.lastName,
1337
+ })
1338
+
1339
+ usrPrfl = userProfileData
1340
+ } else {
1341
+ skippingStatusInner = 'fail'
1342
+ parsedCountries.unshift({
1343
+ value: '-1',
1344
+ label: texts?.form?.country || 'Country',
1345
+ code: '__',
1346
+ })
1347
+ setSelectedCountry({
1348
+ value: '-1',
1349
+ label: texts?.form?.country || 'Country',
1350
+ code: '__',
1351
+ })
1352
+ }
1353
+
1354
+ const { cartData, cartError } = await billingCoreRef.current.getCart()
1355
+
1356
+ if (cartError || !cartData) {
1357
+ setSkippingStatus('fail')
1358
+ setIsLoading(false)
1359
+ onFetchCartError?.(cartError || { message: 'Error fetching cart' })
1360
+ return showAlert(cartError?.message || 'Error fetching cart')
1361
+ }
1362
+
1363
+ onFetchCartSuccess?.()
1364
+
1365
+ if (skippingStatusInner === 'fail') {
1366
+ setSkippingStatus('fail')
1367
+ } else {
1368
+ setSkippingStatus(getSkippingStatus(cartData.quantity))
1369
+ }
1370
+
1371
+ setNumberOfTicketHolders(cartData.quantity)
1372
+ setIsSubToBrand(cartData.isMarketingOptedIn)
1373
+ setIsSubToTicketFairy(cartData.isTfOptIn || false)
1374
+ setIsTtfCheckboxHidden(cartData.isTfOptInHidden || false)
1375
+
1376
+ if (cartData.expiresAt) {
1377
+ setSecondsLeft(cartData.expiresAt)
1378
+ }
1379
+
1380
+ const tHolders: ITicketHolderField[] = []
1381
+ for (let i = 0; i < cartData.quantity; i++) {
1382
+ tHolders.push({
1383
+ firstName: i === 0 && usrPrfl ? usrPrfl.firstName : '',
1384
+ lastName: i === 0 && usrPrfl ? usrPrfl.lastName : '',
1385
+ email: i === 0 && usrPrfl ? usrPrfl.email : '',
1386
+ phone: i === 0 && usrPrfl ? usrPrfl.phone : '',
1387
+ firstNameError: '',
1388
+ lastNameError: '',
1389
+ })
1390
+ }
1391
+
1392
+ let phoneCountry = 'US'
1393
+ let phoneCountryDialCode = '+1'
1394
+ const eventCountry = await getData(LocalStorageKeys.EVENT_COUNTRY)
1395
+
1396
+ if (eventCountry) {
1397
+ phoneCountry = eventCountry.toUpperCase()
1398
+ phoneCountryDialCode = getCountryDialCode(phoneCountry)
1399
+ } else {
1400
+ try {
1401
+ const deviceCountry = await DeviceCountry.getCountryCode(TYPE_ANY)
1402
+ phoneCountry = deviceCountry.code.toUpperCase()
1403
+ phoneCountryDialCode = getCountryDialCode(phoneCountry)
1404
+ } catch (err) {
1405
+ phoneCountry = 'US'
1406
+ }
1407
+ }
1408
+
1409
+ if (usrPrfl) {
1410
+ if (!isPhoneHidden && isPhoneRequired) {
1411
+ if (!checkIsStoredPhoneNumberFormat(usrPrfl.phone)) {
1412
+ setPhoneError(
1413
+ texts?.invalidPhoneNumberError || 'Please enter a valid phone number'
1414
+ )
1415
+ skippingStatusInner = 'fail'
1416
+ setSkippingStatus('fail')
1417
+ setIsLoading(false)
1418
+ } else {
1419
+ // We can perform Checkout process since phone is valid
1420
+ if (!isBillingRequired && usrTkn && cartData) {
1421
+ const checkoutBody: ICheckoutBody = getCheckoutBodyWhenSkipping({
1422
+ userProfile: usrPrfl,
1423
+ ticketsQuantity: cartData.quantity,
1424
+ })
1425
+ return await performCheckout(checkoutBody)
1426
+ } else {
1427
+ if (skippingStatusInner === 'skipping') {
1428
+ setSkippingStatus('fail')
1429
+ }
1430
+ }
1431
+ }
1432
+ } else {
1433
+ // We can perform Checkout process since phone is valid
1434
+ if (!isBillingRequired && usrTkn && cartData) {
1435
+ const checkoutBody: ICheckoutBody = getCheckoutBodyWhenSkipping({
1436
+ userProfile: usrPrfl,
1437
+ ticketsQuantity: cartData.quantity,
1438
+ })
1439
+ return await performCheckout(checkoutBody)
1440
+ } else {
1441
+ if (skippingStatusInner === 'skipping') {
1442
+ setSkippingStatus('fail')
1443
+ }
1444
+ }
1445
+ }
1446
+
1447
+ const userPhone = usrPrfl.phone === null ? phoneCountryDialCode : usrPrfl.phone
1448
+
1449
+ if (userPhone.length <= 5) {
1450
+ phoneCountryCode.current = userPhone
1451
+ }
1452
+
1453
+ handleSetFormDataFromUserProfile({
1454
+ ...usrPrfl,
1455
+ phone: userPhone,
1456
+ })
1457
+ } else {
1458
+ // There is no user profile data
1459
+ phoneCountryCode.current = phoneCountryDialCode
1460
+ setPhone(phoneCountryDialCode)
1461
+ }
1462
+
1463
+ setCountries(parsedCountries)
1464
+ setTicketHoldersData(tHolders)
1465
+ setIsSubmittingData(false)
1466
+ setIsLoading(false)
1467
+ }
1468
+ //#endregion Fetch Initial Data
1469
+
1470
+ //#region Effects
1471
+ useEffect(() => {
1472
+ handleOnLoadingChange(isLoading)
1473
+ }, [isLoading, handleOnLoadingChange])
1474
+
1475
+ useEffect(() => {
1476
+ handleOnSkippingStatusChange(skippingStatus)
1477
+ }, [handleOnSkippingStatusChange, skippingStatus])
1478
+
1479
+ useEffect(() => {
1480
+ if (countryId) {
1481
+ if (countries.length > 1) {
1482
+ const selectedCountryItem = _find(countries, (item) => item.value === countryId)
1483
+ setSelectedCountry(selectedCountryItem)
1484
+ }
1485
+ } else {
1486
+ setCountryByEvent()
1487
+ }
1488
+ }, [countries, countryId])
1489
+
1490
+ useEffect(() => {
1491
+ const getStates = async () => {
1492
+ if (!selectedCountry) {
1493
+ return
1494
+ }
1495
+
1496
+ if (!billingCoreRef.current) {
1497
+ onFetchCartError?.({ message: 'BillingCoreRef not initialized' })
1498
+ return showAlert('BillingCoreRef not initialized')
1499
+ }
1500
+
1501
+ const { statesData, statesError } = await billingCoreRef.current.getStates(
1502
+ selectedCountry.value.toString()
1503
+ )
1504
+
1505
+ if (statesError) {
1506
+ onFetchStatesError?.(statesError!)
1507
+ return showAlert(statesError?.message || 'Error fetching states')
1508
+ }
1509
+
1510
+ const parsedStates: IDropdownItem[] = _map(statesData, (item, index) => {
1511
+ return { label: item, value: index }
1512
+ })
1513
+
1514
+ onFetchStatesSuccess?.()
1515
+ setStates(parsedStates)
1516
+ }
1517
+
1518
+ if (selectedCountry && selectedCountry.value !== '-1') {
1519
+ getStates()
1520
+ }
1521
+ }, [selectedCountry])
1522
+
1523
+ useEffect(() => {
1524
+ if (states.length > 1 && stateId) {
1525
+ const selectedStateItem = _find(states, (item) => item.value === stateId)
1526
+ if (!selectedStateItem) {
1527
+ return setSelectedState({
1528
+ value: '-1',
1529
+ label: texts?.form?.state || 'State/County',
1530
+ })
1531
+ }
1532
+ setSelectedState(selectedStateItem)
1533
+ } else {
1534
+ setSelectedState({
1535
+ value: '-1',
1536
+ label: texts?.form?.state || 'State/County',
1537
+ })
1538
+ }
1539
+ }, [stateId, states])
1540
+
1541
+ useEffect(() => {
1542
+ setCountries([
1543
+ {
1544
+ value: '-1',
1545
+ label: texts?.form?.country || 'Country',
1546
+ },
1547
+ ])
1548
+ setStates([
1549
+ {
1550
+ value: '-1',
1551
+ label: texts?.form?.state || 'State/County',
1552
+ },
1553
+ ])
1554
+ fetchData()
1555
+ }, [])
1556
+ //#endregion
1557
+
1558
+ const isDataValid = checkBasicDataValid()
1559
+
1560
+ const isButtonDisabled = config.isCheckoutAlwaysButtonEnabled ? false : !isDataValid
1561
+
1562
+ //#region RENDER
1563
+ const renderTicketHolders = () => {
1564
+ if (!numberOfTicketHolders || !holderLabels || ticketHoldersData.length === 0) {
1565
+ return null
1566
+ }
1567
+
1568
+ const tHolders = []
1569
+ for (let i = 0; i < numberOfTicketHolders; i++) {
1570
+ const thItemTitle = texts?.form?.ticketHolderItem || 'Ticket Holder'
1571
+ tHolders.push(
1572
+ <View key={`ticketHolder.${i}`}>
1573
+ <Text style={styles?.ticketHolderItemHeader}>
1574
+ {thItemTitle} {i + 1}
1575
+ </Text>
1576
+ <Input
1577
+ label={holderLabels.firstName}
1578
+ value={ticketHoldersData[i].firstName}
1579
+ onChangeText={(text) => {
1580
+ const copyTicketHolders = [...ticketHoldersData]
1581
+ copyTicketHolders[i].firstName = text
1582
+ copyTicketHolders[i].firstNameError = validateEmpty(text)
1583
+
1584
+ setTicketHoldersData(copyTicketHolders)
1585
+ }}
1586
+ error={ticketHoldersData[i].firstNameError}
1587
+ styles={styles?.inputStyles}
1588
+ />
1589
+ <Input
1590
+ label={holderLabels.lastName}
1591
+ value={ticketHoldersData[i].lastName}
1592
+ onChangeText={(text) => {
1593
+ const copyTicketHolders = [...ticketHoldersData]
1594
+ copyTicketHolders[i].lastName = text
1595
+ copyTicketHolders[i].lastNameError = validateEmpty(text)
1596
+
1597
+ setTicketHoldersData(copyTicketHolders)
1598
+ }}
1599
+ error={ticketHoldersData[i].lastNameError}
1600
+ styles={styles?.inputStyles}
1601
+ />
1602
+ <Input
1603
+ label={holderLabels.email}
1604
+ value={ticketHoldersData[i].email}
1605
+ onChangeText={(text) => {
1606
+ const copyTicketHolders = [...ticketHoldersData]
1607
+ copyTicketHolders[i].email = text
1608
+ setTicketHoldersData(copyTicketHolders)
1609
+ }}
1610
+ keyboardType="email-address"
1611
+ styles={styles?.inputStyles}
1612
+ autoCapitalize="none"
1613
+ />
1614
+ <Input
1615
+ label={holderLabels.phone}
1616
+ value={ticketHoldersData[i].phone}
1617
+ onChangeText={(text) => {
1618
+ const copyTicketHolders = [...ticketHoldersData]
1619
+ copyTicketHolders[i].phone = text
1620
+ setTicketHoldersData(copyTicketHolders)
1621
+ }}
1622
+ keyboardType="phone-pad"
1623
+ styles={styles?.inputStyles}
1624
+ />
1625
+ </View>
1626
+ )
1627
+ }
1628
+
1629
+ return (
1630
+ <>
1631
+ <Text style={styles?.ticketHoldersTitle}>
1632
+ {texts?.form?.ticketHoldersTitle || 'Ticket Holders'}
1633
+ </Text>
1634
+ {tHolders}
1635
+ </>
1636
+ )
1637
+ }
1638
+
1639
+ const renderCheckingOut = () => {
1640
+ const skippingStyles = skipBillingConfig?.styles
1641
+ return (
1642
+ <View style={[s.skippingRootContainer, skippingStyles?.rootContainer]}>
1643
+ <View style={[s.skippingDialogContainer, skippingStyles?.dialogContainer]}>
1644
+ <Image
1645
+ source={skipBillingConfig?.brandImage || R.images.brand}
1646
+ style={[s.skippingBrandImage, skippingStyles?.brandImage]}
1647
+ />
1648
+ <Text style={[s.skippingMessage, skippingStyles?.text]}>
1649
+ {texts?.skippingMessage || 'Checking out...'}
1650
+ </Text>
1651
+ {!!skipBillingConfig?.isActivityIndicatorVisible && (
1652
+ <ActivityIndicator
1653
+ color={skippingStyles?.activityIndicator?.color || R.colors.black}
1654
+ size={skippingStyles?.activityIndicator?.size || 'large'}
1655
+ />
1656
+ )}
1657
+ </View>
1658
+ </View>
1659
+ )
1660
+ }
1661
+
1662
+ const renderContent = () => (
1663
+ <>
1664
+ <KeyboardAwareScrollView extraScrollHeight={32}>
1665
+ <View style={styles?.rootContainer}>
1666
+ <Login
1667
+ onLoginSuccessful={handleOnLoginSuccess}
1668
+ onLoginError={handleOnLoginError}
1669
+ onLogoutSuccess={handleOnLogoutSuccess}
1670
+ onLogoutError={onLogoutError}
1671
+ isLoginDialogVisible={isLoginDialogVisible}
1672
+ showLoginDialog={showLoginDialog}
1673
+ hideLoginDialog={hideLoginDialog}
1674
+ userFirstName={loggedUserFirstName}
1675
+ texts={{ ...texts?.loginTexts, message: loginMessage }}
1676
+ styles={styles?.loginStyles}
1677
+ brandImages={loginBrandImages}
1678
+ />
1679
+ <Text style={styles?.screenTitle}>
1680
+ {texts?.form?.getYourTicketsTitle || 'Get Your Tickets'}
1681
+ </Text>
1682
+
1683
+ <Input
1684
+ label={texts?.form?.firstName || 'First name'}
1685
+ value={firstName}
1686
+ onChangeText={handleOnFirstNameChanged}
1687
+ error={firstNameError || firstNameErrorState}
1688
+ styles={styles?.inputStyles}
1689
+ />
1690
+ <Input
1691
+ label={texts?.form?.lastName || 'Last name'}
1692
+ value={lastName}
1693
+ onChangeText={handleOnLastNameChanged}
1694
+ error={lastNameError || lastNameErrorState}
1695
+ styles={styles?.inputStyles}
1696
+ />
1697
+
1698
+ <Text style={styles?.texts}>
1699
+ {texts?.form?.emailsAdvice ||
1700
+ `IMPORTANT: Please double check that your email address is correct.\nIt's where we send your confirmation and e-tickets to!`}
1701
+ </Text>
1702
+
1703
+ <Input
1704
+ label={texts?.form?.email || 'Email'}
1705
+ value={email}
1706
+ onChangeText={handleOnEmailChanged}
1707
+ keyboardType="email-address"
1708
+ error={emailError || emailErrorState}
1709
+ styles={styles?.inputStyles}
1710
+ autoCapitalize="none"
1711
+ />
1712
+ <Input
1713
+ label={texts?.form?.confirmEmail || 'Confirm email'}
1714
+ value={emailConfirmation}
1715
+ onChangeText={handleOnEmailConfirmationChanged}
1716
+ keyboardType="email-address"
1717
+ error={confirmEmailError || emailConfirmationErrorState}
1718
+ styles={styles?.inputStyles}
1719
+ autoCapitalize="none"
1720
+ />
1721
+ {isAgeRequired && (
1722
+ <DatePicker
1723
+ text={texts?.form?.dateOfBirth || 'Date of Birth'}
1724
+ onSelectDate={handleOnSelectDate}
1725
+ selectedDate={dateOfBirth}
1726
+ styles={styles?.datePicker}
1727
+ error={dateOfBirthError}
1728
+ />
1729
+ )}
1730
+ {!loggedUserFirstName && (
1731
+ <>
1732
+ <Text style={styles?.passwordTitle}>
1733
+ {texts?.form?.choosePassword ||
1734
+ 'Choose a password for your new TICKETFAIRY account'}
1735
+ </Text>
1736
+ <Input
1737
+ label={texts?.form?.password || 'Password'}
1738
+ isSecure
1739
+ onChangeText={handleOnPasswordChanged}
1740
+ error={passwordError || passwordErrorState}
1741
+ styles={styles?.inputStyles}
1742
+ autoCapitalize="none"
1743
+ secureTextEntry={true}
1744
+ textContentType="oneTimeCode"
1745
+ />
1746
+ <Input
1747
+ label={texts?.form?.confirmPassword || 'Confirm password'}
1748
+ isSecure
1749
+ onChangeText={handleOnConfirmPasswordChanged}
1750
+ error={confirmPasswordError || confirmPasswordErrorState}
1751
+ styles={styles?.inputStyles}
1752
+ autoCapitalize="none"
1753
+ secureTextEntry={true}
1754
+ textContentType="oneTimeCode"
1755
+ />
1756
+ </>
1757
+ )}
1758
+
1759
+ {!isPhoneHidden && (
1760
+ <PhoneInput
1761
+ phoneNumber={phone}
1762
+ onChangePhoneNumber={handleOnChangePhoneNumber}
1763
+ styles={styles?.phoneInputStyles}
1764
+ error={phoneError}
1765
+ texts={{
1766
+ label: phoneLabel,
1767
+ ...texts?.form?.phoneInput,
1768
+ }}
1769
+ />
1770
+ )}
1771
+
1772
+ {!isTicketFree && (
1773
+ <>
1774
+ <Input
1775
+ label={addressLabel}
1776
+ value={street}
1777
+ onChangeText={handleOnStreetChanged}
1778
+ error={streetError || streetErrorState}
1779
+ styles={styles?.inputStyles}
1780
+ />
1781
+ <Input
1782
+ label={texts?.form?.city || 'City'}
1783
+ value={city}
1784
+ onChangeText={handleOnCityChanged}
1785
+ error={cityError || cityErrorState}
1786
+ styles={styles?.inputStyles}
1787
+ />
1788
+ <DropdownMaterial
1789
+ items={countries}
1790
+ onSelectItem={handleOnCountryChanged}
1791
+ selectedOption={selectedCountry}
1792
+ styles={styles?.dropdownMaterialStyles}
1793
+ materialInputProps={{
1794
+ label: texts?.form?.country || 'Country',
1795
+ error: countryErrorState,
1796
+ }}
1797
+ />
1798
+ <Input
1799
+ label={texts?.form?.zipCode || 'Postal Code / Zip Code'}
1800
+ value={postalCode}
1801
+ onChangeText={handleOnPostalCodeChanged}
1802
+ error={postalCodeError || postalCodeErrorState}
1803
+ styles={styles?.inputStyles}
1804
+ />
1805
+ <DropdownMaterial
1806
+ items={states}
1807
+ onSelectItem={handleOnStateChanged}
1808
+ selectedOption={selectedState}
1809
+ styles={styles?.dropdownMaterialStyles}
1810
+ materialInputProps={{
1811
+ label: texts?.form?.state || 'State',
1812
+ error: stateErrorState,
1813
+ }}
1814
+ />
1815
+ </>
1816
+ )}
1817
+ <Checkbox
1818
+ onPress={handleIsSubToBrandToggle}
1819
+ text={brandCheckBoxText}
1820
+ isActive={isSubToBrand}
1821
+ styles={styles?.checkboxStyles}
1822
+ />
1823
+
1824
+ {!isTtfCheckboxHidden && (
1825
+ <Checkbox
1826
+ onPress={handleIsSubToTicketFairyToggle}
1827
+ isActive={isSubToTicketFairy}
1828
+ customTextComp={
1829
+ <Text
1830
+ style={[
1831
+ styles?.customCheckbox?.text,
1832
+ !!ttfPrivacyPolicyError && {
1833
+ color: styles?.customCheckbox?.errorColor,
1834
+ },
1835
+ ]}
1836
+ >
1837
+ {texts?.form?.isSubToTicketFairy ||
1838
+ `I agree that The Ticket Fairy may use the personal data that have provided for marketing purposes, such as recommending events that I might be interested in, in accordance with its `}
1839
+ <Text
1840
+ style={styles?.privacyPolicyLinkStyle}
1841
+ onPress={handleOpenPrivacyLink}
1842
+ >
1843
+ {texts?.form?.privacyPolicy || 'Privacy Policy'}
1844
+ </Text>
1845
+ .
1846
+ </Text>
1847
+ }
1848
+ styles={{ error: s.ttfPolicyError, ...styles?.checkboxStyles }}
1849
+ error={ttfPrivacyPolicyError}
1850
+ />
1851
+ )}
1852
+
1853
+ {renderTicketHolders()}
1854
+
1855
+ <Button
1856
+ onPress={onSubmit}
1857
+ text={texts?.checkoutButton || 'CHECKOUT'}
1858
+ isDisabled={isButtonDisabled}
1859
+ isLoading={isSubmittingData}
1860
+ styles={
1861
+ isButtonDisabled
1862
+ ? {
1863
+ button: s.submitButtonDisabled,
1864
+ ...styles?.checkoutButtonDisabled,
1865
+ }
1866
+ : {
1867
+ container: [s.submitButton, styles?.checkoutButton?.container],
1868
+ text: styles?.checkoutButton?.text,
1869
+ button: styles?.checkoutButton?.button,
1870
+ }
1871
+ }
1872
+ />
1873
+ </View>
1874
+ {areLoadingIndicatorsEnabled && isLoading && <Loading />}
1875
+ </KeyboardAwareScrollView>
1876
+ <CartTimer
1877
+ secondsLeft={secondsLeft}
1878
+ styles={styles?.cartTimer}
1879
+ texts={texts?.cartTimer}
1880
+ shouldNotMinimize={shouldCartTimerNotMinimizeOnTap}
1881
+ />
1882
+ </>
1883
+ )
1884
+
1885
+ return (
1886
+ <BillingCore
1887
+ ref={billingCoreRef}
1888
+ onSecondsLeftChange={setSecondsLeft}
1889
+ onCartExpired={onCartExpired}
1890
+ >
1891
+ <SessionHandle ref={sessionHandleRef}>
1892
+ {skippingStatus === 'skipping' && areLoadingIndicatorsEnabled
1893
+ ? renderCheckingOut()
1894
+ : renderContent()}
1895
+ </SessionHandle>
1896
+ </BillingCore>
1897
+ )
1898
+ //#endregion
1899
+ }
1900
+ )
1901
+
1902
+ export default Billing