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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (683) hide show
  1. package/README.md +150 -3340
  2. package/dist/index.d.mts +3810 -0
  3. package/dist/index.d.ts +3810 -0
  4. package/dist/index.js +8348 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.mjs +8348 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +31 -57
  9. package/src/CardInput.tsx +49 -0
  10. package/src/EmbeddedCheckout.tsx +323 -0
  11. package/src/auth/AuthModal.tsx +221 -0
  12. package/src/auth/ForgotPasswordForm.tsx +98 -0
  13. package/src/auth/LoginForm.tsx +99 -0
  14. package/src/auth/PasswordInput.tsx +45 -0
  15. package/src/auth/RegisterForm.tsx +247 -0
  16. package/src/auth/ResetPasswordForm.tsx +112 -0
  17. package/src/auth/index.ts +7 -0
  18. package/src/configure.ts +26 -0
  19. package/src/confirmer.ts +180 -0
  20. package/src/index.tsx +25 -227
  21. package/src/instance.ts +13 -0
  22. package/src/sections/AddOns.tsx +335 -0
  23. package/src/sections/BillingInfo.tsx +770 -0
  24. package/src/sections/Confirmation.tsx +143 -0
  25. package/src/sections/IDVerification.tsx +77 -0
  26. package/src/sections/OrderSummary.tsx +116 -0
  27. package/src/sections/Payment.tsx +417 -0
  28. package/src/sections/Tickets.tsx +680 -0
  29. package/src/sections/billing/BillingAddressFields.tsx +126 -0
  30. package/src/sections/billing/BuyerField.tsx +78 -0
  31. package/src/sections/billing/TicketHoldersCard.tsx +119 -0
  32. package/src/sections/billing/types.ts +10 -0
  33. package/src/sections/index.ts +8 -0
  34. package/src/storage.ts +27 -0
  35. package/src/ui/CheckoutProvider.tsx +140 -0
  36. package/src/ui/CustomFields.tsx +176 -0
  37. package/src/ui/Field.tsx +171 -0
  38. package/src/ui/InstallmentPicker.tsx +158 -0
  39. package/src/ui/PaymentMethods.tsx +177 -0
  40. package/src/ui/QuantitySelect.tsx +103 -0
  41. package/src/ui/Select.tsx +151 -0
  42. package/src/ui/Timer.tsx +69 -0
  43. package/src/ui/TimerBanner.tsx +95 -0
  44. package/src/ui/index.ts +17 -0
  45. package/src/ui/primitives.tsx +191 -0
  46. package/src/ui/theme.ts +89 -0
  47. package/src/useCheckout.ts +35 -0
  48. package/lib/brand-DA2IARBI.png +0 -0
  49. package/lib/ic_check-FLIJQ3BY.png +0 -0
  50. package/lib/ic_clock-BZ4Z7PIP.png +0 -0
  51. package/lib/ic_copy-VWMA4B7X.png +0 -0
  52. package/lib/ic_dropdown-BCS3QDNJ.png +0 -0
  53. package/lib/ic_error-KDEZUPSN.png +0 -0
  54. package/lib/ic_eye-WGXVXVAN.png +0 -0
  55. package/lib/ic_eye_off-XTCE6XSO.png +0 -0
  56. package/lib/ic_more-LZWKYCDU.png +0 -0
  57. package/lib/ic_next-LCNIGEDM.png +0 -0
  58. package/lib/index.js +0 -18222
  59. package/lib/index.js.map +0 -1
  60. package/lib/index.mjs +0 -18309
  61. package/lib/index.mjs.map +0 -1
  62. package/lib/typescript/package.json +0 -1
  63. package/lib/typescript/src/api/ApiClient.d.ts +0 -49
  64. package/lib/typescript/src/api/ApiClient.d.ts.map +0 -1
  65. package/lib/typescript/src/api/Constants.d.ts +0 -11
  66. package/lib/typescript/src/api/Constants.d.ts.map +0 -1
  67. package/lib/typescript/src/api/ErrorHandler.d.ts +0 -12
  68. package/lib/typescript/src/api/ErrorHandler.d.ts.map +0 -1
  69. package/lib/typescript/src/api/api.types.d.ts +0 -8
  70. package/lib/typescript/src/api/api.types.d.ts.map +0 -1
  71. package/lib/typescript/src/api/types.d.ts +0 -518
  72. package/lib/typescript/src/api/types.d.ts.map +0 -1
  73. package/lib/typescript/src/apiv2/index.d.ts +0 -3
  74. package/lib/typescript/src/apiv2/index.d.ts.map +0 -1
  75. package/lib/typescript/src/common/query.types.d.ts +0 -3
  76. package/lib/typescript/src/common/query.types.d.ts.map +0 -1
  77. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModal.d.ts +0 -8
  78. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModal.d.ts.map +0 -1
  79. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalStyles.d.ts +0 -39
  80. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalStyles.d.ts.map +0 -1
  81. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalTypes.d.ts +0 -23
  82. package/lib/typescript/src/components/bottomSheetModal/BottomSheetModalTypes.d.ts.map +0 -1
  83. package/lib/typescript/src/components/button/Button.d.ts +0 -5
  84. package/lib/typescript/src/components/button/Button.d.ts.map +0 -1
  85. package/lib/typescript/src/components/button/styles.d.ts +0 -28
  86. package/lib/typescript/src/components/button/styles.d.ts.map +0 -1
  87. package/lib/typescript/src/components/button/types.d.ts +0 -15
  88. package/lib/typescript/src/components/button/types.d.ts.map +0 -1
  89. package/lib/typescript/src/components/cartTimer/CartTimer.d.ts +0 -5
  90. package/lib/typescript/src/components/cartTimer/CartTimer.d.ts.map +0 -1
  91. package/lib/typescript/src/components/cartTimer/styles.d.ts +0 -47
  92. package/lib/typescript/src/components/cartTimer/styles.d.ts.map +0 -1
  93. package/lib/typescript/src/components/cartTimer/types.d.ts +0 -19
  94. package/lib/typescript/src/components/cartTimer/types.d.ts.map +0 -1
  95. package/lib/typescript/src/components/checkbox/Checkbox.d.ts +0 -4
  96. package/lib/typescript/src/components/checkbox/Checkbox.d.ts.map +0 -1
  97. package/lib/typescript/src/components/checkbox/styles.d.ts +0 -39
  98. package/lib/typescript/src/components/checkbox/styles.d.ts.map +0 -1
  99. package/lib/typescript/src/components/checkbox/types.d.ts +0 -22
  100. package/lib/typescript/src/components/checkbox/types.d.ts.map +0 -1
  101. package/lib/typescript/src/components/datePicker/DatePicker.d.ts +0 -4
  102. package/lib/typescript/src/components/datePicker/DatePicker.d.ts.map +0 -1
  103. package/lib/typescript/src/components/datePicker/styles.d.ts +0 -35
  104. package/lib/typescript/src/components/datePicker/styles.d.ts.map +0 -1
  105. package/lib/typescript/src/components/datePicker/types.d.ts +0 -20
  106. package/lib/typescript/src/components/datePicker/types.d.ts.map +0 -1
  107. package/lib/typescript/src/components/dropdown/Dropdown.d.ts +0 -4
  108. package/lib/typescript/src/components/dropdown/Dropdown.d.ts.map +0 -1
  109. package/lib/typescript/src/components/dropdown/DropdownListItem.d.ts +0 -4
  110. package/lib/typescript/src/components/dropdown/DropdownListItem.d.ts.map +0 -1
  111. package/lib/typescript/src/components/dropdown/styles.d.ts +0 -85
  112. package/lib/typescript/src/components/dropdown/styles.d.ts.map +0 -1
  113. package/lib/typescript/src/components/dropdown/types.d.ts +0 -35
  114. package/lib/typescript/src/components/dropdown/types.d.ts.map +0 -1
  115. package/lib/typescript/src/components/dropdownMaterial/DropdownMaterial.d.ts +0 -4
  116. package/lib/typescript/src/components/dropdownMaterial/DropdownMaterial.d.ts.map +0 -1
  117. package/lib/typescript/src/components/dropdownMaterial/styles.d.ts +0 -79
  118. package/lib/typescript/src/components/dropdownMaterial/styles.d.ts.map +0 -1
  119. package/lib/typescript/src/components/dropdownMaterial/types.d.ts +0 -22
  120. package/lib/typescript/src/components/dropdownMaterial/types.d.ts.map +0 -1
  121. package/lib/typescript/src/components/enterPassword/EnterPassword.d.ts +0 -5
  122. package/lib/typescript/src/components/enterPassword/EnterPassword.d.ts.map +0 -1
  123. package/lib/typescript/src/components/enterPassword/styles.d.ts +0 -21
  124. package/lib/typescript/src/components/enterPassword/styles.d.ts.map +0 -1
  125. package/lib/typescript/src/components/enterPassword/types.d.ts +0 -24
  126. package/lib/typescript/src/components/enterPassword/types.d.ts.map +0 -1
  127. package/lib/typescript/src/components/formField/FormField.d.ts +0 -4
  128. package/lib/typescript/src/components/formField/FormField.d.ts.map +0 -1
  129. package/lib/typescript/src/components/formField/styles.d.ts +0 -35
  130. package/lib/typescript/src/components/formField/styles.d.ts.map +0 -1
  131. package/lib/typescript/src/components/formField/types.d.ts +0 -48
  132. package/lib/typescript/src/components/formField/types.d.ts.map +0 -1
  133. package/lib/typescript/src/components/index.d.ts +0 -21
  134. package/lib/typescript/src/components/index.d.ts.map +0 -1
  135. package/lib/typescript/src/components/input/Input.d.ts +0 -4
  136. package/lib/typescript/src/components/input/Input.d.ts.map +0 -1
  137. package/lib/typescript/src/components/input/styles.d.ts +0 -47
  138. package/lib/typescript/src/components/input/styles.d.ts.map +0 -1
  139. package/lib/typescript/src/components/input/types.d.ts +0 -28
  140. package/lib/typescript/src/components/input/types.d.ts.map +0 -1
  141. package/lib/typescript/src/components/loading/Loading.d.ts +0 -4
  142. package/lib/typescript/src/components/loading/Loading.d.ts.map +0 -1
  143. package/lib/typescript/src/components/loading/styles.d.ts +0 -30
  144. package/lib/typescript/src/components/loading/styles.d.ts.map +0 -1
  145. package/lib/typescript/src/components/loading/types.d.ts +0 -15
  146. package/lib/typescript/src/components/loading/types.d.ts.map +0 -1
  147. package/lib/typescript/src/components/loggedIn/LoggedIn.d.ts +0 -5
  148. package/lib/typescript/src/components/loggedIn/LoggedIn.d.ts.map +0 -1
  149. package/lib/typescript/src/components/loggedIn/styles.d.ts +0 -9
  150. package/lib/typescript/src/components/loggedIn/styles.d.ts.map +0 -1
  151. package/lib/typescript/src/components/loggedIn/types.d.ts +0 -24
  152. package/lib/typescript/src/components/loggedIn/types.d.ts.map +0 -1
  153. package/lib/typescript/src/components/login/Login.d.ts +0 -5
  154. package/lib/typescript/src/components/login/Login.d.ts.map +0 -1
  155. package/lib/typescript/src/components/login/LoginView.d.ts +0 -5
  156. package/lib/typescript/src/components/login/LoginView.d.ts.map +0 -1
  157. package/lib/typescript/src/components/login/components/LoginForm.d.ts +0 -5
  158. package/lib/typescript/src/components/login/components/LoginForm.d.ts.map +0 -1
  159. package/lib/typescript/src/components/login/components/types.d.ts +0 -19
  160. package/lib/typescript/src/components/login/components/types.d.ts.map +0 -1
  161. package/lib/typescript/src/components/login/styles.d.ts +0 -62
  162. package/lib/typescript/src/components/login/styles.d.ts.map +0 -1
  163. package/lib/typescript/src/components/login/types.d.ts +0 -144
  164. package/lib/typescript/src/components/login/types.d.ts.map +0 -1
  165. package/lib/typescript/src/components/phoneInput/PhoneInput.d.ts +0 -5
  166. package/lib/typescript/src/components/phoneInput/PhoneInput.d.ts.map +0 -1
  167. package/lib/typescript/src/components/phoneInput/styles.d.ts +0 -29
  168. package/lib/typescript/src/components/phoneInput/styles.d.ts.map +0 -1
  169. package/lib/typescript/src/components/phoneInput/types.d.ts +0 -31
  170. package/lib/typescript/src/components/phoneInput/types.d.ts.map +0 -1
  171. package/lib/typescript/src/components/promoCode/PromoCode.d.ts +0 -5
  172. package/lib/typescript/src/components/promoCode/PromoCode.d.ts.map +0 -1
  173. package/lib/typescript/src/components/promoCode/styles.d.ts +0 -61
  174. package/lib/typescript/src/components/promoCode/styles.d.ts.map +0 -1
  175. package/lib/typescript/src/components/promoCode/types.d.ts +0 -36
  176. package/lib/typescript/src/components/promoCode/types.d.ts.map +0 -1
  177. package/lib/typescript/src/components/radioButton/RadioButton.d.ts +0 -5
  178. package/lib/typescript/src/components/radioButton/RadioButton.d.ts.map +0 -1
  179. package/lib/typescript/src/components/radioButton/styles.d.ts +0 -25
  180. package/lib/typescript/src/components/radioButton/styles.d.ts.map +0 -1
  181. package/lib/typescript/src/components/radioButton/types.d.ts +0 -16
  182. package/lib/typescript/src/components/radioButton/types.d.ts.map +0 -1
  183. package/lib/typescript/src/components/radioGroup/RadioGroup.d.ts +0 -4
  184. package/lib/typescript/src/components/radioGroup/RadioGroup.d.ts.map +0 -1
  185. package/lib/typescript/src/components/radioGroup/index.d.ts +0 -4
  186. package/lib/typescript/src/components/radioGroup/index.d.ts.map +0 -1
  187. package/lib/typescript/src/components/radioGroup/types.d.ts +0 -24
  188. package/lib/typescript/src/components/radioGroup/types.d.ts.map +0 -1
  189. package/lib/typescript/src/components/restorePassword/RestorePassword.d.ts +0 -5
  190. package/lib/typescript/src/components/restorePassword/RestorePassword.d.ts.map +0 -1
  191. package/lib/typescript/src/components/restorePassword/ResultDialog.d.ts +0 -5
  192. package/lib/typescript/src/components/restorePassword/ResultDialog.d.ts.map +0 -1
  193. package/lib/typescript/src/components/restorePassword/styles.d.ts +0 -34
  194. package/lib/typescript/src/components/restorePassword/styles.d.ts.map +0 -1
  195. package/lib/typescript/src/components/restorePassword/types.d.ts +0 -49
  196. package/lib/typescript/src/components/restorePassword/types.d.ts.map +0 -1
  197. package/lib/typescript/src/components/separator/Separator.d.ts +0 -4
  198. package/lib/typescript/src/components/separator/Separator.d.ts.map +0 -1
  199. package/lib/typescript/src/components/separator/types.d.ts +0 -9
  200. package/lib/typescript/src/components/separator/types.d.ts.map +0 -1
  201. package/lib/typescript/src/components/stripePayment/StripePayment.d.ts +0 -5
  202. package/lib/typescript/src/components/stripePayment/StripePayment.d.ts.map +0 -1
  203. package/lib/typescript/src/components/stripePayment/styles.d.ts +0 -7
  204. package/lib/typescript/src/components/stripePayment/styles.d.ts.map +0 -1
  205. package/lib/typescript/src/components/stripePayment/types.d.ts +0 -14
  206. package/lib/typescript/src/components/stripePayment/types.d.ts.map +0 -1
  207. package/lib/typescript/src/components/waitingList/WaitingList.d.ts +0 -6
  208. package/lib/typescript/src/components/waitingList/WaitingList.d.ts.map +0 -1
  209. package/lib/typescript/src/components/waitingList/WaitingListView.d.ts +0 -5
  210. package/lib/typescript/src/components/waitingList/WaitingListView.d.ts.map +0 -1
  211. package/lib/typescript/src/components/waitingList/styles.d.ts +0 -9
  212. package/lib/typescript/src/components/waitingList/styles.d.ts.map +0 -1
  213. package/lib/typescript/src/components/waitingList/types.d.ts +0 -59
  214. package/lib/typescript/src/components/waitingList/types.d.ts.map +0 -1
  215. package/lib/typescript/src/containers/billingInfo/Billing.d.ts +0 -6
  216. package/lib/typescript/src/containers/billingInfo/Billing.d.ts.map +0 -1
  217. package/lib/typescript/src/containers/billingInfo/styles.d.ts +0 -61
  218. package/lib/typescript/src/containers/billingInfo/styles.d.ts.map +0 -1
  219. package/lib/typescript/src/containers/billingInfo/types.d.ts +0 -160
  220. package/lib/typescript/src/containers/billingInfo/types.d.ts.map +0 -1
  221. package/lib/typescript/src/containers/checkout/Checkout.d.ts +0 -7
  222. package/lib/typescript/src/containers/checkout/Checkout.d.ts.map +0 -1
  223. package/lib/typescript/src/containers/checkout/CheckoutData.d.ts +0 -3
  224. package/lib/typescript/src/containers/checkout/CheckoutData.d.ts.map +0 -1
  225. package/lib/typescript/src/containers/checkout/components/Conditions.d.ts +0 -4
  226. package/lib/typescript/src/containers/checkout/components/Conditions.d.ts.map +0 -1
  227. package/lib/typescript/src/containers/checkout/components/OrderReview.d.ts +0 -4
  228. package/lib/typescript/src/containers/checkout/components/OrderReview.d.ts.map +0 -1
  229. package/lib/typescript/src/containers/checkout/components/styles.d.ts +0 -26
  230. package/lib/typescript/src/containers/checkout/components/styles.d.ts.map +0 -1
  231. package/lib/typescript/src/containers/checkout/styles.d.ts +0 -42
  232. package/lib/typescript/src/containers/checkout/styles.d.ts.map +0 -1
  233. package/lib/typescript/src/containers/checkout/types.d.ts +0 -126
  234. package/lib/typescript/src/containers/checkout/types.d.ts.map +0 -1
  235. package/lib/typescript/src/containers/index.d.ts +0 -9
  236. package/lib/typescript/src/containers/index.d.ts.map +0 -1
  237. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetails.d.ts +0 -6
  238. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetails.d.ts.map +0 -1
  239. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetailsView.d.ts +0 -5
  240. package/lib/typescript/src/containers/myOrderDetails/MyOrderDetailsView.d.ts.map +0 -1
  241. package/lib/typescript/src/containers/myOrderDetails/components/Notification.d.ts +0 -15
  242. package/lib/typescript/src/containers/myOrderDetails/components/Notification.d.ts.map +0 -1
  243. package/lib/typescript/src/containers/myOrderDetails/components/OrderListItem.d.ts +0 -3
  244. package/lib/typescript/src/containers/myOrderDetails/components/OrderListItem.d.ts.map +0 -1
  245. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActions.d.ts +0 -5
  246. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActions.d.ts.map +0 -1
  247. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.d.ts +0 -30
  248. package/lib/typescript/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.d.ts.map +0 -1
  249. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.d.ts +0 -8
  250. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.d.ts.map +0 -1
  251. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.d.ts +0 -33
  252. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.d.ts.map +0 -1
  253. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.d.ts +0 -30
  254. package/lib/typescript/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.d.ts.map +0 -1
  255. package/lib/typescript/src/containers/myOrderDetails/components/styles.d.ts +0 -39
  256. package/lib/typescript/src/containers/myOrderDetails/components/styles.d.ts.map +0 -1
  257. package/lib/typescript/src/containers/myOrderDetails/styles.d.ts +0 -55
  258. package/lib/typescript/src/containers/myOrderDetails/styles.d.ts.map +0 -1
  259. package/lib/typescript/src/containers/myOrderDetails/types.d.ts +0 -126
  260. package/lib/typescript/src/containers/myOrderDetails/types.d.ts.map +0 -1
  261. package/lib/typescript/src/containers/myOrders/MyOrders.d.ts +0 -6
  262. package/lib/typescript/src/containers/myOrders/MyOrders.d.ts.map +0 -1
  263. package/lib/typescript/src/containers/myOrders/MyOrdersView.d.ts +0 -5
  264. package/lib/typescript/src/containers/myOrders/MyOrdersView.d.ts.map +0 -1
  265. package/lib/typescript/src/containers/myOrders/components/OrderListItem.d.ts +0 -5
  266. package/lib/typescript/src/containers/myOrders/components/OrderListItem.d.ts.map +0 -1
  267. package/lib/typescript/src/containers/myOrders/components/styles.d.ts +0 -56
  268. package/lib/typescript/src/containers/myOrders/components/styles.d.ts.map +0 -1
  269. package/lib/typescript/src/containers/myOrders/components/types.d.ts +0 -26
  270. package/lib/typescript/src/containers/myOrders/components/types.d.ts.map +0 -1
  271. package/lib/typescript/src/containers/myOrders/styles.d.ts +0 -37
  272. package/lib/typescript/src/containers/myOrders/styles.d.ts.map +0 -1
  273. package/lib/typescript/src/containers/myOrders/types.d.ts +0 -73
  274. package/lib/typescript/src/containers/myOrders/types.d.ts.map +0 -1
  275. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmation.d.ts +0 -6
  276. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmation.d.ts.map +0 -1
  277. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmationView.d.ts +0 -5
  278. package/lib/typescript/src/containers/purchaseConfirmation/PurchaseConfirmationView.d.ts.map +0 -1
  279. package/lib/typescript/src/containers/purchaseConfirmation/styles.d.ts +0 -74
  280. package/lib/typescript/src/containers/purchaseConfirmation/styles.d.ts.map +0 -1
  281. package/lib/typescript/src/containers/purchaseConfirmation/types.d.ts +0 -66
  282. package/lib/typescript/src/containers/purchaseConfirmation/types.d.ts.map +0 -1
  283. package/lib/typescript/src/containers/resaleTickets/ResaleTickets.d.ts +0 -6
  284. package/lib/typescript/src/containers/resaleTickets/ResaleTickets.d.ts.map +0 -1
  285. package/lib/typescript/src/containers/resaleTickets/ResaleTicketsView.d.ts +0 -5
  286. package/lib/typescript/src/containers/resaleTickets/ResaleTicketsView.d.ts.map +0 -1
  287. package/lib/typescript/src/containers/resaleTickets/types.d.ts +0 -129
  288. package/lib/typescript/src/containers/resaleTickets/types.d.ts.map +0 -1
  289. package/lib/typescript/src/containers/resetPassword/ResetPassword.d.ts +0 -5
  290. package/lib/typescript/src/containers/resetPassword/ResetPassword.d.ts.map +0 -1
  291. package/lib/typescript/src/containers/resetPassword/ResetPasswordView.d.ts +0 -5
  292. package/lib/typescript/src/containers/resetPassword/ResetPasswordView.d.ts.map +0 -1
  293. package/lib/typescript/src/containers/resetPassword/styles.d.ts +0 -33
  294. package/lib/typescript/src/containers/resetPassword/styles.d.ts.map +0 -1
  295. package/lib/typescript/src/containers/resetPassword/types.d.ts +0 -48
  296. package/lib/typescript/src/containers/resetPassword/types.d.ts.map +0 -1
  297. package/lib/typescript/src/containers/tickets/Tickets.d.ts +0 -6
  298. package/lib/typescript/src/containers/tickets/Tickets.d.ts.map +0 -1
  299. package/lib/typescript/src/containers/tickets/TicketsView.d.ts +0 -4
  300. package/lib/typescript/src/containers/tickets/TicketsView.d.ts.map +0 -1
  301. package/lib/typescript/src/containers/tickets/components/TicketGroupListHeader.d.ts +0 -5
  302. package/lib/typescript/src/containers/tickets/components/TicketGroupListHeader.d.ts.map +0 -1
  303. package/lib/typescript/src/containers/tickets/components/TicketListItem.d.ts +0 -4
  304. package/lib/typescript/src/containers/tickets/components/TicketListItem.d.ts.map +0 -1
  305. package/lib/typescript/src/containers/tickets/components/styles.d.ts +0 -51
  306. package/lib/typescript/src/containers/tickets/components/styles.d.ts.map +0 -1
  307. package/lib/typescript/src/containers/tickets/components/types.d.ts +0 -40
  308. package/lib/typescript/src/containers/tickets/components/types.d.ts.map +0 -1
  309. package/lib/typescript/src/containers/tickets/styles.d.ts +0 -20
  310. package/lib/typescript/src/containers/tickets/styles.d.ts.map +0 -1
  311. package/lib/typescript/src/containers/tickets/types.d.ts +0 -114
  312. package/lib/typescript/src/containers/tickets/types.d.ts.map +0 -1
  313. package/lib/typescript/src/core/BillingCore/BillingCore.d.ts +0 -13
  314. package/lib/typescript/src/core/BillingCore/BillingCore.d.ts.map +0 -1
  315. package/lib/typescript/src/core/BillingCore/BillingCoreTypes.d.ts +0 -24
  316. package/lib/typescript/src/core/BillingCore/BillingCoreTypes.d.ts.map +0 -1
  317. package/lib/typescript/src/core/CheckoutCore/CheckoutCore.d.ts +0 -15
  318. package/lib/typescript/src/core/CheckoutCore/CheckoutCore.d.ts.map +0 -1
  319. package/lib/typescript/src/core/CheckoutCore/CheckoutCoreTypes.d.ts +0 -17
  320. package/lib/typescript/src/core/CheckoutCore/CheckoutCoreTypes.d.ts.map +0 -1
  321. package/lib/typescript/src/core/CoreProps.d.ts +0 -5
  322. package/lib/typescript/src/core/CoreProps.d.ts.map +0 -1
  323. package/lib/typescript/src/core/LoginCore/LoginCore.d.ts +0 -6
  324. package/lib/typescript/src/core/LoginCore/LoginCore.d.ts.map +0 -1
  325. package/lib/typescript/src/core/LoginCore/LoginCoreHelper.d.ts +0 -3
  326. package/lib/typescript/src/core/LoginCore/LoginCoreHelper.d.ts.map +0 -1
  327. package/lib/typescript/src/core/LoginCore/LoginCoreTypes.d.ts +0 -15
  328. package/lib/typescript/src/core/LoginCore/LoginCoreTypes.d.ts.map +0 -1
  329. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCore.d.ts +0 -6
  330. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCore.d.ts.map +0 -1
  331. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCoreTypes.d.ts +0 -10
  332. package/lib/typescript/src/core/MyOrdersCore/MyOrdersCoreTypes.d.ts.map +0 -1
  333. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCore.d.ts +0 -6
  334. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCore.d.ts.map +0 -1
  335. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCoreTypes.d.ts +0 -9
  336. package/lib/typescript/src/core/OrderDetailsCore/OrderDetailsCoreTypes.d.ts.map +0 -1
  337. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.d.ts +0 -6
  338. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.d.ts.map +0 -1
  339. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.d.ts +0 -8
  340. package/lib/typescript/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.d.ts.map +0 -1
  341. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCore.d.ts +0 -6
  342. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCore.d.ts.map +0 -1
  343. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCoreTypes.d.ts +0 -5
  344. package/lib/typescript/src/core/ResetPasswordCore/ResetPasswordCoreTypes.d.ts.map +0 -1
  345. package/lib/typescript/src/core/Session/SessionCoreTypes.d.ts +0 -9
  346. package/lib/typescript/src/core/Session/SessionCoreTypes.d.ts.map +0 -1
  347. package/lib/typescript/src/core/Session/SessionHandle.d.ts +0 -6
  348. package/lib/typescript/src/core/Session/SessionHandle.d.ts.map +0 -1
  349. package/lib/typescript/src/core/TicketsCore/TicketsCore.d.ts +0 -6
  350. package/lib/typescript/src/core/TicketsCore/TicketsCore.d.ts.map +0 -1
  351. package/lib/typescript/src/core/TicketsCore/TicketsCoreTypes.d.ts +0 -40
  352. package/lib/typescript/src/core/TicketsCore/TicketsCoreTypes.d.ts.map +0 -1
  353. package/lib/typescript/src/core/WaitingListCore/WaitingListCore.d.ts +0 -6
  354. package/lib/typescript/src/core/WaitingListCore/WaitingListCore.d.ts.map +0 -1
  355. package/lib/typescript/src/core/WaitingListCore/WaitingListCoreTypes.d.ts +0 -12
  356. package/lib/typescript/src/core/WaitingListCore/WaitingListCoreTypes.d.ts.map +0 -1
  357. package/lib/typescript/src/core/index.d.ts +0 -21
  358. package/lib/typescript/src/core/index.d.ts.map +0 -1
  359. package/lib/typescript/src/features/auth/api-hooks.d.ts +0 -178
  360. package/lib/typescript/src/features/auth/api-hooks.d.ts.map +0 -1
  361. package/lib/typescript/src/features/auth/types.d.ts +0 -51
  362. package/lib/typescript/src/features/auth/types.d.ts.map +0 -1
  363. package/lib/typescript/src/features/auth/utils.d.ts +0 -3
  364. package/lib/typescript/src/features/auth/utils.d.ts.map +0 -1
  365. package/lib/typescript/src/features/checkout-v2/components/AddonsContainer.d.ts +0 -37
  366. package/lib/typescript/src/features/checkout-v2/components/AddonsContainer.d.ts.map +0 -1
  367. package/lib/typescript/src/features/checkout-v2/components/Conditions.d.ts +0 -30
  368. package/lib/typescript/src/features/checkout-v2/components/Conditions.d.ts.map +0 -1
  369. package/lib/typescript/src/features/checkout-v2/components/OrderReview.d.ts +0 -25
  370. package/lib/typescript/src/features/checkout-v2/components/OrderReview.d.ts.map +0 -1
  371. package/lib/typescript/src/features/checkout-v2/components/TicketHoldersSection.d.ts +0 -14
  372. package/lib/typescript/src/features/checkout-v2/components/TicketHoldersSection.d.ts.map +0 -1
  373. package/lib/typescript/src/features/checkout-v2/form/config.d.ts +0 -61
  374. package/lib/typescript/src/features/checkout-v2/form/config.d.ts.map +0 -1
  375. package/lib/typescript/src/features/checkout-v2/form/index.d.ts +0 -22
  376. package/lib/typescript/src/features/checkout-v2/form/index.d.ts.map +0 -1
  377. package/lib/typescript/src/features/checkout-v2/form/styles.d.ts +0 -4501
  378. package/lib/typescript/src/features/checkout-v2/form/styles.d.ts.map +0 -1
  379. package/lib/typescript/src/features/checkout-v2/form/texts.d.ts +0 -4
  380. package/lib/typescript/src/features/checkout-v2/form/texts.d.ts.map +0 -1
  381. package/lib/typescript/src/features/checkout-v2/form/types.d.ts +0 -191
  382. package/lib/typescript/src/features/checkout-v2/form/types.d.ts.map +0 -1
  383. package/lib/typescript/src/features/checkout-v2/hooks/api-hooks.d.ts +0 -227
  384. package/lib/typescript/src/features/checkout-v2/hooks/api-hooks.d.ts.map +0 -1
  385. package/lib/typescript/src/features/checkout-v2/hooks/use-checkout.d.ts +0 -37
  386. package/lib/typescript/src/features/checkout-v2/hooks/use-checkout.d.ts.map +0 -1
  387. package/lib/typescript/src/features/checkout-v2/index.d.ts +0 -42
  388. package/lib/typescript/src/features/checkout-v2/index.d.ts.map +0 -1
  389. package/lib/typescript/src/features/checkout-v2/types.d.ts +0 -433
  390. package/lib/typescript/src/features/checkout-v2/types.d.ts.map +0 -1
  391. package/lib/typescript/src/features/checkout-v2/utils.d.ts +0 -12
  392. package/lib/typescript/src/features/checkout-v2/utils.d.ts.map +0 -1
  393. package/lib/typescript/src/features/event/api-hooks.d.ts +0 -171
  394. package/lib/typescript/src/features/event/api-hooks.d.ts.map +0 -1
  395. package/lib/typescript/src/features/event/types.d.ts +0 -58
  396. package/lib/typescript/src/features/event/types.d.ts.map +0 -1
  397. package/lib/typescript/src/features/form/index.d.ts +0 -24
  398. package/lib/typescript/src/features/form/index.d.ts.map +0 -1
  399. package/lib/typescript/src/features/form/styles.d.ts +0 -35
  400. package/lib/typescript/src/features/form/styles.d.ts.map +0 -1
  401. package/lib/typescript/src/features/form/types.d.ts +0 -33
  402. package/lib/typescript/src/features/form/types.d.ts.map +0 -1
  403. package/lib/typescript/src/features/geo/api-hooks.d.ts +0 -12
  404. package/lib/typescript/src/features/geo/api-hooks.d.ts.map +0 -1
  405. package/lib/typescript/src/features/geo/types.d.ts +0 -13
  406. package/lib/typescript/src/features/geo/types.d.ts.map +0 -1
  407. package/lib/typescript/src/helpers/Config.d.ts +0 -24
  408. package/lib/typescript/src/helpers/Config.d.ts.map +0 -1
  409. package/lib/typescript/src/helpers/CountryCodes.d.ts +0 -16
  410. package/lib/typescript/src/helpers/CountryCodes.d.ts.map +0 -1
  411. package/lib/typescript/src/helpers/Debounced.d.ts +0 -2
  412. package/lib/typescript/src/helpers/Debounced.d.ts.map +0 -1
  413. package/lib/typescript/src/helpers/Domains.d.ts +0 -3
  414. package/lib/typescript/src/helpers/Domains.d.ts.map +0 -1
  415. package/lib/typescript/src/helpers/LocalStorage.d.ts +0 -27
  416. package/lib/typescript/src/helpers/LocalStorage.d.ts.map +0 -1
  417. package/lib/typescript/src/helpers/RefreshAccessToken.d.ts +0 -3
  418. package/lib/typescript/src/helpers/RefreshAccessToken.d.ts.map +0 -1
  419. package/lib/typescript/src/helpers/StringsHelper.d.ts +0 -3
  420. package/lib/typescript/src/helpers/StringsHelper.d.ts.map +0 -1
  421. package/lib/typescript/src/helpers/Validators.d.ts +0 -16
  422. package/lib/typescript/src/helpers/Validators.d.ts.map +0 -1
  423. package/lib/typescript/src/index.d.ts +0 -49
  424. package/lib/typescript/src/index.d.ts.map +0 -1
  425. package/lib/typescript/src/res/colors.d.ts +0 -16
  426. package/lib/typescript/src/res/colors.d.ts.map +0 -1
  427. package/lib/typescript/src/res/icons.d.ts +0 -13
  428. package/lib/typescript/src/res/icons.d.ts.map +0 -1
  429. package/lib/typescript/src/res/images.d.ts +0 -5
  430. package/lib/typescript/src/res/images.d.ts.map +0 -1
  431. package/lib/typescript/src/res/index.d.ts +0 -32
  432. package/lib/typescript/src/res/index.d.ts.map +0 -1
  433. package/lib/typescript/src/types/IAccountTickets.d.ts +0 -71
  434. package/lib/typescript/src/types/IAccountTickets.d.ts.map +0 -1
  435. package/lib/typescript/src/types/ICountry.d.ts +0 -2
  436. package/lib/typescript/src/types/ICountry.d.ts.map +0 -1
  437. package/lib/typescript/src/types/IError.d.ts +0 -6
  438. package/lib/typescript/src/types/IError.d.ts.map +0 -1
  439. package/lib/typescript/src/types/IEvent.d.ts +0 -87
  440. package/lib/typescript/src/types/IEvent.d.ts.map +0 -1
  441. package/lib/typescript/src/types/ITicket.d.ts +0 -71
  442. package/lib/typescript/src/types/ITicket.d.ts.map +0 -1
  443. package/lib/typescript/src/types/IUserProfile.d.ts +0 -30
  444. package/lib/typescript/src/types/IUserProfile.d.ts.map +0 -1
  445. package/lib/typescript/src/types/index.d.ts +0 -6
  446. package/lib/typescript/src/types/index.d.ts.map +0 -1
  447. package/lib/typescript/src/utils/Logger.d.ts +0 -21
  448. package/lib/typescript/src/utils/Logger.d.ts.map +0 -1
  449. package/lib/typescript/src/utils/handlers.d.ts +0 -9
  450. package/lib/typescript/src/utils/handlers.d.ts.map +0 -1
  451. package/lib/typescript/src/utils/storageAdapter.d.ts +0 -14
  452. package/lib/typescript/src/utils/storageAdapter.d.ts.map +0 -1
  453. package/lib/typescript/src/utils/styleUtils.d.ts +0 -18
  454. package/lib/typescript/src/utils/styleUtils.d.ts.map +0 -1
  455. package/src/api/ApiClient.ts +0 -1539
  456. package/src/api/Constants.ts +0 -10
  457. package/src/api/ErrorHandler.ts +0 -36
  458. package/src/api/api.types.ts +0 -8
  459. package/src/api/types.ts +0 -593
  460. package/src/apiv2/index.ts +0 -143
  461. package/src/assets/icons/ic_check.png +0 -0
  462. package/src/assets/icons/ic_clock.png +0 -0
  463. package/src/assets/icons/ic_copy.png +0 -0
  464. package/src/assets/icons/ic_dropdown.png +0 -0
  465. package/src/assets/icons/ic_error.png +0 -0
  466. package/src/assets/icons/ic_eye.png +0 -0
  467. package/src/assets/icons/ic_eye_off.png +0 -0
  468. package/src/assets/icons/ic_more.png +0 -0
  469. package/src/assets/icons/ic_next.png +0 -0
  470. package/src/assets/images/brand.png +0 -0
  471. package/src/common/query.types.ts +0 -6
  472. package/src/components/bottomSheetModal/BottomSheetModal.tsx +0 -95
  473. package/src/components/bottomSheetModal/BottomSheetModalStyles.ts +0 -43
  474. package/src/components/bottomSheetModal/BottomSheetModalTypes.ts +0 -26
  475. package/src/components/button/Button.tsx +0 -53
  476. package/src/components/button/styles.tsx +0 -30
  477. package/src/components/button/types.ts +0 -16
  478. package/src/components/cartTimer/CartTimer.tsx +0 -68
  479. package/src/components/cartTimer/styles.ts +0 -44
  480. package/src/components/cartTimer/types.ts +0 -22
  481. package/src/components/checkbox/Checkbox.tsx +0 -53
  482. package/src/components/checkbox/styles.ts +0 -41
  483. package/src/components/checkbox/types.ts +0 -23
  484. package/src/components/datePicker/DatePicker.tsx +0 -81
  485. package/src/components/datePicker/styles.ts +0 -39
  486. package/src/components/datePicker/types.ts +0 -21
  487. package/src/components/dropdown/Dropdown.tsx +0 -111
  488. package/src/components/dropdown/DropdownListItem.tsx +0 -36
  489. package/src/components/dropdown/styles.ts +0 -97
  490. package/src/components/dropdown/types.ts +0 -38
  491. package/src/components/dropdownMaterial/DropdownMaterial.tsx +0 -129
  492. package/src/components/dropdownMaterial/styles.ts +0 -91
  493. package/src/components/dropdownMaterial/types.ts +0 -24
  494. package/src/components/enterPassword/EnterPassword.tsx +0 -50
  495. package/src/components/enterPassword/styles.ts +0 -23
  496. package/src/components/enterPassword/types.ts +0 -27
  497. package/src/components/formField/FormField.tsx +0 -131
  498. package/src/components/formField/styles.ts +0 -37
  499. package/src/components/formField/types.ts +0 -60
  500. package/src/components/index.ts +0 -20
  501. package/src/components/input/Input.tsx +0 -77
  502. package/src/components/input/styles.ts +0 -53
  503. package/src/components/input/types.ts +0 -38
  504. package/src/components/loading/Loading.tsx +0 -30
  505. package/src/components/loading/styles.ts +0 -32
  506. package/src/components/loading/types.ts +0 -16
  507. package/src/components/loggedIn/LoggedIn.tsx +0 -60
  508. package/src/components/loggedIn/styles.ts +0 -9
  509. package/src/components/loggedIn/types.ts +0 -27
  510. package/src/components/login/Login.tsx +0 -161
  511. package/src/components/login/LoginView.tsx +0 -259
  512. package/src/components/login/components/LoginForm.tsx +0 -92
  513. package/src/components/login/components/types.ts +0 -22
  514. package/src/components/login/styles.ts +0 -63
  515. package/src/components/login/types.ts +0 -189
  516. package/src/components/phoneInput/PhoneInput.tsx +0 -72
  517. package/src/components/phoneInput/styles.ts +0 -31
  518. package/src/components/phoneInput/types.ts +0 -35
  519. package/src/components/promoCode/PromoCode.tsx +0 -111
  520. package/src/components/promoCode/styles.ts +0 -63
  521. package/src/components/promoCode/types.ts +0 -43
  522. package/src/components/radioButton/RadioButton.tsx +0 -26
  523. package/src/components/radioButton/styles.ts +0 -32
  524. package/src/components/radioButton/types.ts +0 -17
  525. package/src/components/radioGroup/RadioGroup.tsx +0 -86
  526. package/src/components/radioGroup/index.ts +0 -4
  527. package/src/components/radioGroup/types.ts +0 -26
  528. package/src/components/restorePassword/RestorePassword.tsx +0 -63
  529. package/src/components/restorePassword/ResultDialog.tsx +0 -26
  530. package/src/components/restorePassword/styles.ts +0 -38
  531. package/src/components/restorePassword/types.ts +0 -61
  532. package/src/components/separator/Separator.tsx +0 -26
  533. package/src/components/separator/types.ts +0 -9
  534. package/src/components/stripePayment/StripePayment.tsx +0 -51
  535. package/src/components/stripePayment/styles.ts +0 -7
  536. package/src/components/stripePayment/types.ts +0 -22
  537. package/src/components/waitingList/WaitingList.tsx +0 -147
  538. package/src/components/waitingList/WaitingListView.tsx +0 -94
  539. package/src/components/waitingList/styles.ts +0 -9
  540. package/src/components/waitingList/types.ts +0 -68
  541. package/src/containers/billingInfo/Billing.tsx +0 -1902
  542. package/src/containers/billingInfo/styles.ts +0 -64
  543. package/src/containers/billingInfo/types.ts +0 -217
  544. package/src/containers/checkout/Checkout.tsx +0 -519
  545. package/src/containers/checkout/CheckoutData.ts +0 -29
  546. package/src/containers/checkout/components/Conditions.tsx +0 -22
  547. package/src/containers/checkout/components/OrderReview.tsx +0 -31
  548. package/src/containers/checkout/components/styles.ts +0 -28
  549. package/src/containers/checkout/styles.ts +0 -44
  550. package/src/containers/checkout/types.ts +0 -148
  551. package/src/containers/index.ts +0 -8
  552. package/src/containers/myOrderDetails/MyOrderDetails.tsx +0 -318
  553. package/src/containers/myOrderDetails/MyOrderDetailsView.tsx +0 -269
  554. package/src/containers/myOrderDetails/components/Notification.tsx +0 -40
  555. package/src/containers/myOrderDetails/components/OrderListItem.tsx +0 -12
  556. package/src/containers/myOrderDetails/components/TicketActions/TicketActions.tsx +0 -68
  557. package/src/containers/myOrderDetails/components/TicketActions/TicketActionsTypes.ts +0 -41
  558. package/src/containers/myOrderDetails/components/TicketListItem/TicketListItem.tsx +0 -63
  559. package/src/containers/myOrderDetails/components/TicketListItem/TicketListItemStyles.ts +0 -33
  560. package/src/containers/myOrderDetails/components/TicketListItem/TicketListItemTypes.ts +0 -39
  561. package/src/containers/myOrderDetails/components/styles.ts +0 -42
  562. package/src/containers/myOrderDetails/styles.ts +0 -57
  563. package/src/containers/myOrderDetails/types.ts +0 -173
  564. package/src/containers/myOrders/MyOrders.tsx +0 -340
  565. package/src/containers/myOrders/MyOrdersView.tsx +0 -182
  566. package/src/containers/myOrders/components/OrderListItem.tsx +0 -50
  567. package/src/containers/myOrders/components/styles.ts +0 -55
  568. package/src/containers/myOrders/components/types.ts +0 -28
  569. package/src/containers/myOrders/styles.ts +0 -42
  570. package/src/containers/myOrders/types.ts +0 -84
  571. package/src/containers/purchaseConfirmation/PurchaseConfirmation.tsx +0 -145
  572. package/src/containers/purchaseConfirmation/PurchaseConfirmationView.tsx +0 -82
  573. package/src/containers/purchaseConfirmation/styles.ts +0 -79
  574. package/src/containers/purchaseConfirmation/types.ts +0 -77
  575. package/src/containers/resaleTickets/ResaleTickets.tsx +0 -234
  576. package/src/containers/resaleTickets/ResaleTicketsView.tsx +0 -314
  577. package/src/containers/resaleTickets/types.ts +0 -154
  578. package/src/containers/resetPassword/ResetPassword.tsx +0 -110
  579. package/src/containers/resetPassword/ResetPasswordView.tsx +0 -81
  580. package/src/containers/resetPassword/styles.ts +0 -35
  581. package/src/containers/resetPassword/types.ts +0 -56
  582. package/src/containers/tickets/Tickets.tsx +0 -525
  583. package/src/containers/tickets/TicketsView.tsx +0 -164
  584. package/src/containers/tickets/components/TicketGroupListHeader.tsx +0 -12
  585. package/src/containers/tickets/components/TicketListItem.tsx +0 -124
  586. package/src/containers/tickets/components/styles.ts +0 -54
  587. package/src/containers/tickets/components/types.ts +0 -47
  588. package/src/containers/tickets/styles.ts +0 -22
  589. package/src/containers/tickets/types.ts +0 -158
  590. package/src/core/BillingCore/BillingCore.tsx +0 -129
  591. package/src/core/BillingCore/BillingCoreTypes.ts +0 -34
  592. package/src/core/BillingCore/README.md +0 -22
  593. package/src/core/CheckoutCore/CheckoutCore.tsx +0 -113
  594. package/src/core/CheckoutCore/CheckoutCoreTypes.ts +0 -23
  595. package/src/core/CheckoutCore/README.md +0 -20
  596. package/src/core/CoreProps.ts +0 -5
  597. package/src/core/LoginCore/LoginCore.tsx +0 -140
  598. package/src/core/LoginCore/LoginCoreHelper.ts +0 -22
  599. package/src/core/LoginCore/LoginCoreTypes.ts +0 -21
  600. package/src/core/MIGRATION.md +0 -148
  601. package/src/core/MyOrdersCore/MyOrdersCore.tsx +0 -44
  602. package/src/core/MyOrdersCore/MyOrdersCoreTypes.ts +0 -15
  603. package/src/core/OrderDetailsCore/OrderDetailsCore.tsx +0 -36
  604. package/src/core/OrderDetailsCore/OrderDetailsCoreTypes.ts +0 -10
  605. package/src/core/PurchaseConfirmationCore/PurchaseConfirmationCore.tsx +0 -37
  606. package/src/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.ts +0 -10
  607. package/src/core/ResetPasswordCore/ResetPasswordCore.tsx +0 -21
  608. package/src/core/ResetPasswordCore/ResetPasswordCoreTypes.ts +0 -5
  609. package/src/core/Session/SessionCoreTypes.ts +0 -10
  610. package/src/core/Session/SessionHandle.tsx +0 -23
  611. package/src/core/TicketsCore/TicketsCore.tsx +0 -216
  612. package/src/core/TicketsCore/TicketsCoreTypes.ts +0 -52
  613. package/src/core/WaitingListCore/WaitingListCore.tsx +0 -35
  614. package/src/core/WaitingListCore/WaitingListCoreTypes.ts +0 -16
  615. package/src/core/index.ts +0 -20
  616. package/src/features/auth/api-hooks.ts +0 -61
  617. package/src/features/auth/types.ts +0 -54
  618. package/src/features/auth/utils.ts +0 -27
  619. package/src/features/checkout-v2/components/AddonsContainer.tsx +0 -159
  620. package/src/features/checkout-v2/components/Conditions.tsx +0 -144
  621. package/src/features/checkout-v2/components/OrderReview.tsx +0 -96
  622. package/src/features/checkout-v2/components/TicketHoldersSection.tsx +0 -131
  623. package/src/features/checkout-v2/form/config.tsx +0 -194
  624. package/src/features/checkout-v2/form/index.tsx +0 -830
  625. package/src/features/checkout-v2/form/styles.ts +0 -241
  626. package/src/features/checkout-v2/form/texts.ts +0 -133
  627. package/src/features/checkout-v2/form/types.ts +0 -231
  628. package/src/features/checkout-v2/hooks/api-hooks.ts +0 -332
  629. package/src/features/checkout-v2/hooks/use-checkout.ts +0 -927
  630. package/src/features/checkout-v2/index.tsx +0 -289
  631. package/src/features/checkout-v2/types.ts +0 -475
  632. package/src/features/checkout-v2/utils.ts +0 -156
  633. package/src/features/event/api-hooks.ts +0 -28
  634. package/src/features/event/types.ts +0 -69
  635. package/src/features/form/index.tsx +0 -185
  636. package/src/features/form/styles.ts +0 -37
  637. package/src/features/form/types.ts +0 -38
  638. package/src/features/geo/api-hooks.ts +0 -43
  639. package/src/features/geo/types.ts +0 -15
  640. package/src/helpers/Config.ts +0 -81
  641. package/src/helpers/CountryCodes.ts +0 -3382
  642. package/src/helpers/Debounced.ts +0 -27
  643. package/src/helpers/Domains.ts +0 -32
  644. package/src/helpers/LocalStorage.tsx +0 -152
  645. package/src/helpers/RefreshAccessToken.ts +0 -25
  646. package/src/helpers/StringsHelper.ts +0 -5
  647. package/src/helpers/Validators.ts +0 -108
  648. package/src/packages/rn-material-ui-textfield/README.md +0 -149
  649. package/src/packages/rn-material-ui-textfield/components/affix/index.js +0 -61
  650. package/src/packages/rn-material-ui-textfield/components/affix/styles.js +0 -8
  651. package/src/packages/rn-material-ui-textfield/components/counter/index.js +0 -36
  652. package/src/packages/rn-material-ui-textfield/components/counter/styles.js +0 -12
  653. package/src/packages/rn-material-ui-textfield/components/field/index.js +0 -700
  654. package/src/packages/rn-material-ui-textfield/components/field/styles.js +0 -42
  655. package/src/packages/rn-material-ui-textfield/components/field-filled/index.js +0 -21
  656. package/src/packages/rn-material-ui-textfield/components/field-filled/styles.js +0 -10
  657. package/src/packages/rn-material-ui-textfield/components/field-outlined/index.js +0 -59
  658. package/src/packages/rn-material-ui-textfield/components/helper/index.js +0 -78
  659. package/src/packages/rn-material-ui-textfield/components/helper/styles.js +0 -12
  660. package/src/packages/rn-material-ui-textfield/components/label/index.js +0 -123
  661. package/src/packages/rn-material-ui-textfield/components/label/styles.js +0 -16
  662. package/src/packages/rn-material-ui-textfield/components/line/index.js +0 -117
  663. package/src/packages/rn-material-ui-textfield/components/line/styles.js +0 -18
  664. package/src/packages/rn-material-ui-textfield/components/outline/index.js +0 -139
  665. package/src/packages/rn-material-ui-textfield/components/outline/styles.js +0 -83
  666. package/src/packages/rn-material-ui-textfield/index.d.ts +0 -53
  667. package/src/packages/rn-material-ui-textfield/index.js +0 -5
  668. package/src/packages/rn-material-ui-textfield/license.txt +0 -28
  669. package/src/res/colors.ts +0 -16
  670. package/src/res/icons.ts +0 -11
  671. package/src/res/images.ts +0 -3
  672. package/src/res/index.ts +0 -11
  673. package/src/types/IAccountTickets.ts +0 -75
  674. package/src/types/ICountry.ts +0 -2
  675. package/src/types/IError.ts +0 -5
  676. package/src/types/IEvent.ts +0 -87
  677. package/src/types/ITicket.ts +0 -75
  678. package/src/types/IUserProfile.ts +0 -30
  679. package/src/types/index.ts +0 -5
  680. package/src/utils/Logger.ts +0 -75
  681. package/src/utils/handlers.ts +0 -49
  682. package/src/utils/storageAdapter.ts +0 -44
  683. package/src/utils/styleUtils.ts +0 -76
package/README.md CHANGED
@@ -1,3419 +1,229 @@
1
1
  # tf-checkout-react-native
2
2
 
3
- React Native library for Ticket Fairy checkout.
3
+ The TicketFairy checkout for React Native. Drop in one component and you have
4
+ ticket selection, add-ons, buyer details, payment, ID verification, and the
5
+ receipt — or compose the sections yourself.
4
6
 
5
- For Single Sign-On (SSO) Please be aware that this is the first version of the implementation, we are working to release a V2, that will cover other use cases, in the near future.
7
+ Same API as [`tf-checkout-react`](../tf-checkout-react/README.md); the flow,
8
+ validation, and gating rules are literally the same code.
6
9
 
7
- # Requirements
10
+ ## Install
8
11
 
9
- Configure [ReactNative environment](https://reactnative.dev/docs/environment-setup) for desired platforms (iOS, Android or both).
10
-
11
- ### React Native
12
-
13
- - React Native version `0.81.4`
14
- - React version `19.1.0`
15
- - Node version `20.18.3` or later
16
-
17
- ### Android
18
-
19
- - Android 5.0 (API level 21) and above
20
- - Gradle plugin version `7.3.1`
21
- - Gradle version `7.5.1`
22
- - Compile Sdk Version and Target Sdk Version `33`
23
- - Build Tools Version `33.0.0`
24
- - Java version `1.8`
25
- - Kotlin version `1.5.31`
26
-
27
- Add the following to your Android Manifest as activity property.
28
-
29
- To download the PDFs, add the `WRITE_EXTERNAL_STORAGE` permission to the Android's Manifest file.
30
-
31
- ```xml
32
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
33
- ```
34
-
35
- ### iOS
36
-
37
- - Compatible with apps targeting iOS `13.0` or above.
38
- - Pods version `1.10.1`
39
- - Command Line Tools version `13.0`
40
-
41
- To download the PDFs, add the following flags to `Info.plist` file:
42
-
43
- ```
44
- - UIFileSharingEnabled: Application supports iTunes file sharing
45
- - LSSupportsOpeningDocumentsInPlace: Supports opening documents in place
46
- ```
47
-
48
- # Installation
49
-
50
- 🔗 Required peer dependencies
51
- This package relies on several React Native native modules. You need to install them in your app for the SDK to work properly:
52
- If you are running on bare React Native, you will need to install the following dependencies:
53
-
54
- ```sh
55
- # Using pnpm
56
- pnpm add tf-checkout-react-native \
57
- @react-native-async-storage/async-storage@^2.0.0 \
58
- @react-native-clipboard/clipboard@^1.14.0 \
59
- @react-native-community/datetimepicker@^8.0.0 \
60
- react-native-background-timer@^2.4.1 \
61
- react-native-device-country@^1.1.1 \
62
- react-native-fs@^2.18.0 \
63
- @stripe/stripe-react-native@^0.54.0
64
-
65
- # Using yarn
66
- yarn add tf-checkout-react-native \
67
- @react-native-async-storage/async-storage@^2.0.0 \
68
- @react-native-clipboard/clipboard@^1.14.0 \
69
- @react-native-community/datetimepicker@^8.0.0 \
70
- react-native-background-timer@^2.4.1 \
71
- react-native-device-country@^1.1.1 \
72
- react-native-fs@^2.18.0 \
73
- @stripe/stripe-react-native@^0.54.0
74
-
75
- # Using npm
76
- npm install tf-checkout-react-native \
77
- @react-native-async-storage/async-storage@^2.0.0 \
78
- @react-native-clipboard/clipboard@^1.14.0 \
79
- @react-native-community/datetimepicker@^8.0.0 \
80
- react-native-background-timer@^2.4.1 \
81
- react-native-device-country@^1.1.1 \
82
- react-native-fs@^2.18.0 \
83
- @stripe/stripe-react-native@^0.54.0
84
- ```
85
-
86
- If you are running on expo, you will need to install the following dependencies:
87
-
88
- ```sh
89
- # Using pnpm
90
- pnpm add tf-checkout-react-native \
91
- @react-native-async-storage/async-storage@^2.0.0 \
92
- @react-native-clipboard/clipboard@^1.14.0 \
93
- react-native-background-timer@^2.4.1
94
-
95
- # Using yarn
96
- yarn add tf-checkout-react-native \
97
- @react-native-async-storage/async-storage@^2.0.0 \
98
- @react-native-clipboard/clipboard@^1.14.0 \
99
- react-native-background-timer@^2.4.1
100
-
101
- # Using npm
102
- npm install tf-checkout-react-native \
103
- @react-native-async-storage/async-storage@^2.0.0 \
104
- @react-native-clipboard/clipboard@^1.14.0 \
105
- react-native-background-timer@^2.4.1
106
- ```
107
-
108
- Make sure to install all the required dependencies in your project.
109
-
110
- ### Metro
111
-
112
- Add the following to your `metro.config.js` in the resolver property:
113
-
114
- `sourceExts: ['jsx', 'js', 'ts', 'tsx']`
115
-
116
- Result:
117
-
118
- ```js
119
- module.exports = {
120
- watchFolders: [moduleRoot],
121
- resolver: {
122
- sourceExts: ['jsx', 'js', 'ts', 'tsx'],
123
- extraNodeModules: {
124
- react: path.resolve(__dirname,
125
- }
126
- ....
127
- ```
128
-
129
- ### Required for Android
130
-
131
- Add below dependency to your `app/build.gradle` file with specified version (in our example we are using `1.4.0`).
132
-
133
- ```java
134
- implementation 'com.google.android.material:material:<version>'
135
- ```
136
-
137
- Set appropriate style in your styles.xml file.
138
-
139
- ```xml
140
- <style name="Theme.MyApp" parent="Theme.MaterialComponents.DayNight.NoActionBar">
141
- <!-- ... -->
142
- </style>
12
+ ```bash
13
+ npx expo install tf-checkout-react-native \
14
+ @tanstack/react-query \
15
+ @stripe/stripe-react-native \
16
+ react-native-mmkv \
17
+ @react-native-clipboard/clipboard
143
18
  ```
144
19
 
145
- # Set your configuration
20
+ Bare React Native:
146
21
 
147
- Import the function from the library.
148
-
149
- ```ts
150
- import { setConfig } from 'tf-checkout-react-native'
22
+ ```bash
23
+ npm install tf-checkout-react-native @tanstack/react-query @stripe/stripe-react-native react-native-mmkv @react-native-clipboard/clipboard
151
24
  ```
152
25
 
153
- Use it in your initial useEffect function, please keep in mind this is an `async` function. It is highly recommended that you track when `setConfig` is finished, and pass that control prop to the Tickets component.
26
+ Those four are **peer dependencies** on purpose. React contexts and native
27
+ modules must exist exactly once in an app — a second copy of react-query means
28
+ your `<QueryClientProvider>` is invisible to our hooks, and a second Stripe
29
+ means a duplicate pod. As peers there is one copy and no Metro aliasing is ever
30
+ needed.
154
31
 
155
- ```ts
156
-
157
- const YourComponent: FC () => {
158
- const [isCheckingCurrentSession, setIsCheckingCurrentSession] = useState(true)
159
-
160
- useEffect(() => {
161
- const initConfig = async () => {
162
- setIsCheckingCurrentSession(true)
163
-
164
- await setConfig({
165
- EVENT_ID: '4344',
166
- CLIENT: 'ttf',
167
- ENV: 'STAG',
168
- CLIENT_ID: '3emd9023349dfn',
169
- CLIENT_SECRET: 'CCEw33o4030e4df',
170
- AUTH: {
171
- ACCESS_TOKEN: 'token393939',
172
- REFRESH_TOKEN: 'dee2030edmd',
173
- TOKEN_TYPE: 'bearer',
174
- SCOPE: 'scope',
175
- }
176
- })
32
+ Everything else — the SDK core, the flow, the UI — ships inside the package.
177
33
 
178
- setIsCheckingCurrentSession(false)
179
- }
34
+ ## Requirements
180
35
 
181
- initConfig()
182
- }, [])
36
+ - React Native `0.81+` with the New Architecture enabled (required by
37
+ `react-native-mmkv` 3.x)
38
+ - React `19.1+`, Node `20.18.3+`
39
+ - iOS 15.1+ · Android API 24+ (Stripe SDK minimums)
40
+ - A development build. **Expo Go will not work** — this package uses native
41
+ modules.
183
42
 
184
- return <Tickets
185
- isCheckingCurrentSession
186
- />
187
- }
188
- ```
43
+ Add the Stripe plugin to `app.json`:
189
44
 
190
- `setConfig` set your event's configuration, with the following options:
191
-
192
- ```ts
45
+ ```json
193
46
  {
194
- EVENT_ID?: string | number,
195
- CLIENT?: string,
196
- ENV?: 'PROD' | 'DEV' | 'STAG',
197
- CLIENT_ID?: string,
198
- CLIENT_SECRET?: string,
199
- TIMEOUT?: number,
200
- BRAND?: string,
201
- ARE_SUB_BRANDS_INCLUDED?: boolean
202
- AUTH?: {
203
- ACCESS_TOKEN: string
204
- REFRESH_TOKEN: string
205
- TOKEN_TYPE: string
206
- SCOPE: string
47
+ "expo": {
48
+ "plugins": [["@stripe/stripe-react-native", { "enableGooglePay": false }]]
207
49
  }
208
50
  }
209
51
  ```
210
52
 
211
- ### Props
212
-
213
- | Property | Description |
214
- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
215
- | EVENT_ID |  Specify the event's ID. |
216
- | CLIENT | Specify your client designated name example `ttf`. |
217
- | ENV | Sets the environment to any of the following environments: Production, Staging or Development. Receives the following values: `PROD`, `DEV`, `STAG`. Defaults to `PROD`. |
218
- | CLIENT_ID | Set your CLIENT_ID. |
219
- | CLIENT_SECRET | Set your CLIENT_SECRET. |
220
- | BRAND | Set your BRAND so users can only see this brand in their orders. |
221
- | TIMEOUT | Set custom timeout for the APIs requests. |
222
- | ARE_SUB_BRANDS_INCLUDED | If true will include orders from the `BRAND` sub-brands. Default `false`. |
223
- | AUTH | Object that receives data for Single Sign On (SSO). |
224
-
225
- # Run the example app
226
-
227
- 1. Clone this repo.
228
- 2. In the App.tsx file, update the `EVENT_ID` const with the assigned ID to be able to retrieve data from the server.
229
- 3. cd into the _root project_ folder and `yarn` or `npm install`.
230
- 4. cd into the _example_ folder and `yarn` or `npm install`.
231
- - If running on iOS, cd into ios folder and `pod install && cd ..`.
232
- 5. Run `yarn ios` or `npm run ios` to initialize and run in the iPhone simulator.
233
- 6. If running on Android, run `yarn android` or `npm run android` to run it in the Android emulator or connected physical device.
234
-
235
- # Features
236
-
237
- This library exports the following components:
238
-
239
- ### Login
240
-
241
- Used to authenticate the user and request password restore.
242
-
243
- ### Tickets
244
-
245
- Will retrieve and show a list of tickets corresponding to `eventId`. It also includes a PromoCode component that validates it and updates the tickets list.
246
-
247
- User can select what ticket type wants to buy and the quantity of tickets.
248
-
249
- ### Billing information
250
-
251
- User will need to enter its data into a form to create a Ticket Fairy account. Also, depending on the number of tickets selected, will need to fill the information of each one of them.
252
-
253
- ### Checkout
254
-
255
- Will show the order details and a card form that the user will need to fill with its card details.
256
-
257
- TicketFairy doesn't store any card related data, we use [Stripe](https://stripe.com/) as payments solution.
258
-
259
- ### Purchase confirmation
53
+ Then build a dev client once:
260
54
 
261
- This is shown once the payment is successfully completed, could show components to share the purchase in social media or refer it with friends to get discounts on the purchase.
262
-
263
- ### My Orders
264
-
265
- Will show the purchased orders for the logged user.
266
-
267
- ### My Order details
268
-
269
- Will show the details for the selected Order, it also allows the user to download the Ticket PDF.
270
-
271
- ### Tickets Resale
272
-
273
- Let the user to resale their tickets. They can choose between selling them to a friend or to any other user.
274
-
275
- ### Reset Password
276
-
277
- After opening and URL with the corresponding schema, use this component to let the user reset its password.
278
-
279
- ### Exported functions
280
-
281
- - setConfig: Sets config for the library
282
-
283
- - refreshAccessToken: Let refresh the expired access token.
284
-
285
- # React Hooks API
286
-
287
- As of the latest version, we're introducing a new hooks-based API that provides a more modern and flexible approach to implementing the checkout flow. The hooks-based implementation replaces the Core components (`BillingCore` and `CheckoutCore`) which are now deprecated.
288
-
289
- ## Available Hooks
290
-
291
- ### Checkout Hooks
292
-
293
- Wrapping with CheckoutProvider
294
-
295
- All checkout components & hooks (CheckoutV2, CustomCheckout, or your own flow) must be wrapped in CheckoutProvider to work correctly.
296
-
297
- | Hook | Description |
298
- | ---------------------- | ---------------------------------------------------------------------------------- |
299
- | `useCheckoutFlow()` | Complete checkout flow with form management, data fetching, and payment processing |
300
- | `useCart()` | Fetch cart data with automatic expiration countdown |
301
- | `useCheckout()` | Process checkout with payment information |
302
- | `useAddToCart()` | Add items to cart |
303
- | `useTickets()` | Fetch available tickets for an event |
304
- | `useEventInfo()` | Fetch event information |
305
- | `usePaymentData()` | Get payment data for an order |
306
- | `usePaymentSuccess()` | Process payment success |
307
- | `useEventConditions()` | Fetch event conditions |
308
- | `useAddons()` | Fetch and manage event add-ons |
309
- | `useUpdateCheckout()` | Update checkout with add-ons |
310
-
311
- ### Location Hooks
312
-
313
- | Hook | Description |
314
- | ---------------------- | ----------------------------------- |
315
- | `useCountries()` | Fetch countries list |
316
- | `useStates(countryId)` | Fetch states for a specific country |
317
-
318
- ### Auth Hooks
319
-
320
- | Hook | Description |
321
- | ------------------- | -------------------------------- |
322
- | `useUserProfile()` | Fetch authenticated user profile |
323
- | `useRegisterUser()` | Register a new user |
324
-
325
- ## Migration from Core Components
326
-
327
- If you're currently using `BillingCore` or `CheckoutCore` components, please refer to the [Migration Guide](./src/core/MIGRATION.md) for detailed instructions on how to update your code to use the new hooks-based API.
55
+ ```bash
56
+ npx expo run:ios
57
+ ```
328
58
 
329
- ## Example Usage
59
+ ## Use it
330
60
 
331
61
  ```tsx
332
- import { useCheckoutFlow, CheckoutForm, CheckoutProvider } from 'tf-checkout-react-native'
333
-
334
- const CheckoutScreen = () => {
335
- const {
336
- onSubmit,
337
- initialValues,
338
- countries,
339
- states,
340
- orderItems,
341
- secondsLeft,
342
- isSubmitting,
343
- isInitialLoading
344
- } = useCheckoutFlow({
345
- onCartExpired: () => navigation.navigate('ExpiredScreen'),
346
- onCheckoutSuccess: ({ hash, total, values }) => {
347
- // Handle checkout success
348
- },
349
- onPaymentSuccess: (result) => {
350
- // Handle payment success
351
- }
352
- })
62
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
63
+ import { configureCheckout, EmbeddedCheckout } from 'tf-checkout-react-native'
353
64
 
354
- if (isInitialLoading) {
355
- return <LoadingIndicator />
356
- }
65
+ configureCheckout({ env: 'PROD', clientId: '…', clientSecret: '…' })
357
66
 
358
- return (
359
- <CheckoutForm
360
- onSubmit={onSubmit}
361
- initialValues={initialValues}
362
- countries={countries}
363
- states={states}
364
- orderItems={orderItems}
365
- secondsLeft={secondsLeft}
366
- isSubmitting={isSubmitting}
367
- />
368
- )
369
- }
67
+ const queryClient = new QueryClient()
370
68
 
371
- export default MyCustomCheckout() => {
69
+ export default function App() {
372
70
  return (
373
- <CheckoutProvider>
374
- <CheckoutScreen />
375
- </CheckoutProvider>
71
+ <QueryClientProvider client={queryClient}>
72
+ <EmbeddedCheckout eventId="14304" onComplete={(order) => console.log(order)} />
73
+ </QueryClientProvider>
376
74
  )
377
75
  }
378
-
379
- ```
380
-
381
- # Component styling
382
-
383
- ### Button
384
-
385
- ```ts
386
- interface IButtonStyles {
387
- container?: StyleProp<ViewStyle>
388
- button?: StyleProp<ViewStyle>
389
- text?: StyleProp<TextStyle>
390
- }
391
- ```
392
-
393
- ### Input
394
-
395
- ```ts
396
- interface IInputStyles {
397
- color?: ColorValue
398
- container?: StyleProp<ViewStyle>
399
- input?: StyleProp<TextStyle>
400
- lineWidth?: number
401
- activeLineWidth?: number
402
- baseColor?: ColorValue
403
- errorColor?: ColorValue
404
- }
405
- ```
406
-
407
- ### Checkbox
408
-
409
- ```ts
410
- interface ICheckboxStyles {
411
- container?: StyleProp<ViewStyle>
412
- content?: StyleProp<ViewStyle>
413
- indicator?: StyleProp<ViewStyle>
414
- indicatorDisabled?: StyleProp<ViewStyle>
415
- text?: StyleProp<TextStyle>
416
- box?: StyleProp<ViewStyle>
417
- icon?: StyleProp<ImageStyle>
418
- }
419
- ```
420
-
421
- # Exported functions
422
-
423
- ## setConfig
424
-
425
- Set the configuration for the library.
426
-
427
- ```ts
428
- export interface IConfig {
429
- EVENT_ID: string | number
430
- CLIENT?: string
431
- ENV?: EnvType
432
- CLIENT_ID?: string
433
- CLIENT_SECRET?: string
434
- TIMEOUT?: number
435
- BRAND?: string
436
- ARE_SUB_BRANDS_INCLUDED?: boolean
437
- // AUTH is used for single sign on v1.
438
- // It receives the needed information for the authenticated user.
439
- AUTH?: {
440
- ACCESS_TOKEN: string
441
- REFRESH_TOKEN: string
442
- TOKEN_TYPE: string
443
- SCOPE: string
444
- }
445
- }
446
- ```
447
-
448
- ## refreshAccessToken
449
-
450
- Let refresh the expired access token, it can use the internal stored refresh token, passing nothing to it, or you can pass a `string` refresh token.
451
-
452
- ```ts
453
- const response: IFetchAccessTokenResponse = await refreshAccessToken(refreshToken?: string)
454
- ```
455
-
456
- Returns the new access token data or error.
457
-
458
- ```ts
459
- accessTokenError?: {
460
- code?: number
461
- message: string
462
- }
463
- accessTokenData?: {
464
- accessToken: string
465
- refreshToken: string
466
- tokenType: string
467
- scope: string
468
- }
469
76
  ```
470
77
 
471
- # Exported handlers
472
-
473
- ## SessionCoreHandle
474
-
475
- Exports function to refresh access token.
78
+ `configureCheckout` runs once at app start. It persists tokens to MMKV, so a
79
+ signed-in buyer survives a relaunch.
476
80
 
477
- ### refreshAccessToken
81
+ ### Why native defaults to cookie auth
478
82
 
479
- Allows to refresh access token inside the component. It will automatically re-fetch the component's data from the server. You will need to create a `ref` object with the corresponding type.
83
+ `configureCheckout` turns on `cookieAuth` by default. This is not cosmetic: the
84
+ cart lives in the backend session, and a bearer request without a guest header
85
+ gets moved onto a synthetic empty session — so a buyer who reserves tickets and
86
+ then signs in mid-checkout would lose the cart to "The cart is expired". On the
87
+ cookie flow no bearer is minted, the session holding the cart stays put, and the
88
+ rotating `X-TF-ECOMMERCE` ticket is persisted to MMKV.
480
89
 
481
- Example:
90
+ Pass `cookieAuth: false` to opt into the bearer chain.
482
91
 
483
- In your parent component
92
+ ### Environments
484
93
 
485
94
  ```ts
486
- const sessionHandleRef = useRef<SessionHandleType>(null)
487
-
488
- // Call the refreshAccessToken function by using
489
- await sessionHandleRef.current?.refreshAccessToken()
95
+ configureCheckout({ env: 'STAG', clientId, clientSecret })
490
96
  ```
491
97
 
492
- # Exported components
493
-
494
- Depending on your needs, you can use the UI Components or the Core Components.
495
-
496
- [UI Components](#ui-components) use the Core Components at their core but also exposes an UI that you can configure with your own styles. There is no need to create any kind of logic with them, only setConfig and implement the callbacks to get their data.
497
-
498
- [Core Components](#core-components) are wrappers that don't include any UI neither validation logics, they only act as a Middleware to retrieve and send data from the server and return it to your implementation components. They are useful when your design cannot be achieved by the UI components. You will need to use references to access their exposed functions.
499
-
500
- # UI Components
501
-
502
- [Login](#login-ui)
503
-
504
- [Tickets](#tickets-ui)
505
-
506
- [BillingInfo](#billinginfo-ui)
507
-
508
- [Checkout](#checkout-ui)
509
-
510
- [CheckoutSP](#checkoutsp-ui)
511
-
512
- [Purchase Confirmation](#purchase-confirmation-ui)
513
-
514
- [My Orders](#my-orders-ui)
98
+ `PROD` → `www.ticketfairy.com`, `STAG` → `test.ticketfairy.com`, `DEV` →
99
+ `sandbox.ticketfairy.com`. Pass `baseUrl` to point elsewhere.
515
100
 
516
- [My Order Details](#myorder-details-ui)
101
+ ## `<EmbeddedCheckout />`
517
102
 
518
- [Resale](#resale-tickets-ui)
103
+ | Prop | Type | Default | Does |
104
+ | ----------------------------------- | ----------------------------------- | ----------- | --------------------------------------------- |
105
+ | `eventId` | `string` | — | The event to sell. Required. |
106
+ | `onComplete` | `(order: PlaceOrderResult) => void` | — | Fires once payment settles. |
107
+ | `confirmationMode` | `'inline' \| 'redirect'` | `'inline'` | `redirect` leaves routing to `onComplete`. |
108
+ | `initialView` | `'tickets' \| 'seats'` | `'tickets'` | Opening screen. |
109
+ | `onViewChange` | `(view) => void` | — | Reports the visible view. |
110
+ | `requireEmailConfirmation` | `boolean` | `true` | Make guests repeat their email. |
111
+ | `collectTicketHolders` | `boolean` | `true` | One named holder per ticket. |
112
+ | `collectHolderContact` | `boolean` | `true` | Also collect holder email/phone. |
113
+ | `skipBillingWhenProfileComplete` | `boolean` | `false` | Skip billing for complete signed-in profiles. |
114
+ | `auth` | `false \| AuthOptions` | built-in | Configure or remove the login modal. |
115
+ | `onLogin` | `(email?: string) => void` | — | Open your own login UI instead. |
116
+ | `privacyPolicy` | `CheckoutPrivacyPolicy` | — | Your privacy policy link and brand name. |
117
+ | `additionalConditions` | `EventCondition[]` | — | Extra acknowledgements. |
118
+ | `ttfOptInLabel` / `brandOptInLabel` | `string` | — | Override the marketing opt-in copy. |
119
+ | `initialPromoCode` | `string` | — | Apply a promo code on load. |
120
+ | `referrer` | `string \| number` | — | Attribute the sale. |
121
+ | `showTestCardHint` | `boolean` | `false` | Show sandbox card copy. Demos only. |
122
+ | `theme` | `CheckoutTheme` | — | Recolor via design tokens. |
519
123
 
520
- [Reset Password](#reset-password-ui)
124
+ `readAttributionFromUrl` is accepted for parity with web and is a no-op —
125
+ there is no `window.location` on a device.
521
126
 
522
- ---
523
-
524
- ## Session handle
525
-
526
- In all components with the exception of Login and Reset Password, you can pass a `ref` with type `SessionHandleType` to access two functions:
527
-
528
- `refreshAccessToken` After a successful access token refresh, it will re-fetch component's data from server when applicable.
529
- `reloadData` It will re-fetch component's data from server.
530
-
531
- ---
532
-
533
- ## Login UI
534
-
535
- Import the component from the library
127
+ ## Theming
536
128
 
537
129
  ```tsx
538
- import { Login } from 'tf-checkout-react-native'
539
- ```
540
-
541
- Then add it to the render function.
542
-
543
- ```tsx
544
- <Login
545
- onLoginSuccessful: (
546
- userProfile: IUserProfile,
547
- accessTokenData?: IFetchAccessTokenData
548
- ) => void
549
- onLoginError?: (error: IError) => void
550
-
551
- onFetchUserProfileError?: (error: IError) => void
552
- onFetchUserProfileSuccess?: (data: any) => void
553
-
554
- onFetchAccessTokenError?: (error: IError) => void
555
- onFetchAccessTokenSuccess?: () => void
556
-
557
- isLoginDialogVisible: boolean
558
- showLoginDialog: () => void
559
- hideLoginDialog: () => void
560
-
561
- //Logout
562
- onLogoutSuccess?: () => void
563
- onLogoutError?: () => void
564
-
565
- userFirstName={loggedUserName}
566
- refs={{
567
- inputs?: {
568
- email?: any
569
- password?: any
570
- }
571
- button?: {
572
- containerView?: any
573
- touchableOpacity?: any
574
- loadingView?: any
575
- activityIndicator?: any
576
- loadingText?: any
577
- }}
578
- brandImages={
579
- containerStyle?: StyleProp<ViewStyle>
580
- image1?: ImageSourcePropType
581
- image1Style?: StyleProp<ImageStyle>
582
- image2?: ImageSourcePropType
583
- image2Style?: StyleProp<ImageStyle>
584
- }
585
- styles?: ILoginViewStyles
586
- texts?: ILoginViewTexts
587
-
588
- isShowPasswordButtonVisible?: boolean
589
-
590
- //Restore password
591
- onRestorePasswordError?: (error: IError) => void
592
- onRestorePasswordSuccess?: () => void
130
+ <EmbeddedCheckout
131
+ eventId="14304"
132
+ theme={{ colorScheme: 'dark', accent: '#ff2d55', radiusCard: 16 }}
593
133
  />
594
134
  ```
595
135
 
596
- ### Data Types
597
-
598
- #### IUserProfile
599
-
600
- ```ts
601
- {
602
- customerId: string
603
- firstName: string
604
- lastName: string
605
- email: string
606
- phone: string
607
- streetAddress: string
608
- zipCode: string
609
- countryId: string
610
- company?: string
611
- state: string
612
- stateId: string
613
- city: string
614
- }
615
- ```
616
-
617
- #### IFetchAccessTokenData
618
-
619
- ```ts
620
- {
621
- accessToken: string
622
- refreshToken: string
623
- tokenType: string
624
- scope: string
625
- }
626
- ```
627
-
628
- ### Props
629
-
630
- | Property | Description |
631
- | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
632
- | onLoginSuccessful: (userProfile: IUserProfile, accessToken: string)` | When login was successful, return userProfile data and the access token to use if for future API requests. |
633
- | onLoginFailure?: (error: string) | When login fails will return the error received. |
634
- | onFetchUserProfileFailure?: (error: string) | This is used if the authentication worked but the fetch of the userProfile failed. |
635
- | onFetchAccessTokenFailure?: (error: string) | When the fetch of the access token failed. |
636
- | isLoginDialogVisible: boolean | Flag to show or hide the login dialog. |
637
- | showLoginDialog: () => void | Callback to show the Login dialog. |
638
- | hideLoginDialog: () => void | Callback to hide the Login dialog. |
639
- | onLogoutSuccess?: () => void | Use it to logout the authenticated user. It will delete all the stored data, including access token. Please make sure to update the `userFirstName` prop so the component will show the logged out view. |
640
- | onLogoutFail?: () => void | Will be called if something went wrong while deleting the local data. |
641
- | styles?: ILoginViewStyles | Use this to style your components. |
642
- | texts?: ILoginViewTexts | Use this to change some texts that appear in this component. |
643
- | userFirstName?: string | Once authenticated send the received firstName data to this prop, so the component can render the Logged in view. |
644
- | brandImages?: ILoginBrandImages | Receives up to 2 images with their styles and the container style for the images. |
645
- | onRestorePasswordError?: (error: string) | When restore password fails will return the error received. |
646
- | onRestorePasswordSuccess? | Called when restore password request was successful |
136
+ The same token names as web: color (`accent`, `surface`, `text`, `muted`,
137
+ `border`, `error`, `success`), shape, and typography. Read them anywhere with
138
+ `useTheme()`.
647
139
 
648
- ### styles
649
-
650
- ```js
651
- interface ILoginViewStyles {
652
- guest?: {
653
- loginButton?: IButtonStyles
654
- linesContainer?: StyleProp<ViewStyle>
655
- line1?: StyleProp<TextStyle>
656
- line2?: StyleProp<TextStyle>
657
- message?: StyleProp<TextStyle>
658
- }
659
- dialog?: {
660
- container?: StyleProp<ViewStyle>
661
- loginButton?: IButtonStyles
662
- loginButtonDisabled?: IButtonStyles
663
- input?: IInputStyles
664
- title?: StyleProp<TextStyle>
665
- message?: StyleProp<TextStyle>
666
- }
667
- loggedIn?: {
668
- container?: StyleProp<ViewStyle>
669
- placeholder?: StyleProp<TextStyle>
670
- value?: StyleProp<TextStyle>
671
- button?: IButtonStyles
672
- message?: StyleProp<TextStyle>
673
- }
674
- restorePassword?: {
675
- rootContainer?: StyleProp<ViewStyle>
676
- restorePasswordButton?: {
677
- container?: StyleProp<ViewStyle>
678
- button?: StyleProp<ViewStyle>
679
- text?: StyleProp<TextStyle>
680
- }
681
- cancelRestorePasswordButton?: {
682
- container?: StyleProp<ViewStyle>
683
- button?: StyleProp<ViewStyle>
684
- text?: StyleProp<TextStyle>
685
- }
686
- input?: IInputStyles
687
- title?: StyleProp<TextStyle>
688
- message?: StyleProp<TextStyle>
689
- apiError?: StyleProp<TextStyle>
690
- }
691
- restorePasswordSuccess?: {
692
- rootContainer?: StyleProp<ViewStyle>
693
- title?: StyleProp<TextStyle>
694
- message?: StyleProp<TextStyle>
695
- button?: {
696
- container?: StyleProp<ViewStyle>
697
- button?: StyleProp<ViewStyle>
698
- text?: StyleProp<TextStyle>
699
- }
700
- }
701
- }
702
- ```
140
+ ## Composing your own layout
703
141
 
704
- \*Note: Logos images styles are passed from the `brandImages` prop.
142
+ Every section reads the same `useCheckout()` store from the provider.
705
143
 
706
- ### texts
144
+ ```tsx
145
+ import {
146
+ CheckoutProvider,
147
+ Tickets,
148
+ AddOns,
149
+ BillingInfo,
150
+ Payment,
151
+ OrderSummary,
152
+ useCheckout,
153
+ } from 'tf-checkout-react-native'
707
154
 
708
- ```js
709
- {
710
- loginButton?: string
711
- logoutButton?: string
712
- line1?: string
713
- line2?: string
714
- message?: string
715
- dialog?: {
716
- loginButton?: string
717
- message?: string
718
- title?: string
719
- }
720
- logoutDialog?: {
721
- title?: string
722
- message?: string
723
- confirm?: string
724
- cancel?: string
725
- }
726
- loggedIn?: {
727
- loggedAs?: string
728
- notYou?: string
729
- }
730
- restorePassword?: {
731
- restorePasswordButton?: string
732
- cancelButton?: string
733
- message?: string
734
- inputLabel?: string
735
- title?: string
736
- }
737
- restorePasswordSuccess?: {
738
- title?: string
739
- message?: string
740
- button?: string
741
- }
742
- }
155
+ const MyCheckout = () => (
156
+ <CheckoutProvider theme={{ colorScheme: 'dark' }}>
157
+ <ScrollView>
158
+ <Tickets />
159
+ <AddOns />
160
+ <BillingInfo />
161
+ <OrderSummary />
162
+ <Payment />
163
+ </ScrollView>
164
+ </CheckoutProvider>
165
+ )
743
166
  ```
744
167
 
745
- ---
746
-
747
- ## Tickets UI
748
-
749
- This component will first fetch for the Event's data, if data is ok, then will fetch the tickets for this event.
750
-
751
- ### Password protected event
168
+ **Sections** — `Tickets`, `AddOns`, `BillingInfo`, `OrderSummary`, `Payment`,
169
+ `IDVerification`, `Confirmation`.
752
170
 
753
- If the Event's response returns a `401` error, then it means it's password protected and need to authenticate with a password. Then the `EnterPassword` component will be shown for the user to enter the password.
171
+ **UI primitives** — `Card`, `Button`, `BodyText`, `MutedText`, `Field`,
172
+ `Select`, `QuantitySelect`, `PaymentMethods`, `Timer`, `TimerBanner`.
754
173
 
755
- Import the component from the library.
174
+ **Auth** — `AuthModal`, `LoginForm`, `RegisterForm`, `ForgotPasswordForm`,
175
+ `ResetPasswordForm`.
756
176
 
757
- ```js
758
- import { Tickets } from 'tf-checkout-react-native'
759
- ```
177
+ ## Headless
760
178
 
761
- Then add it to the render function.
179
+ `useCheckout()` gives you the whole flow with no UI.
762
180
 
763
- ```js
764
- const sessionHandleRef = useRef<SessionHandleType>(null)
181
+ ```tsx
182
+ const checkout = useCheckout({ eventId: '14304' })
765
183
 
766
- <Tickets
767
- ref={sessionHandleRef}
768
- onAddToCartSuccess={handleOnAddToCartSuccess} />
184
+ await checkout.setTickets('14304', [{ ticketTypeId: '1', quantity: 2 }])
185
+ checkout.setBilling({ firstName, lastName, email, phone })
186
+ checkout.setConsent({ ttfOptIn: true, brandOptIn: false })
187
+ const order = await checkout.placeOrder('card')
769
188
  ```
770
189
 
771
- ### Props
772
-
773
- ```js
774
- {
775
- ref?: SessionHandleType
776
- // Callbacks for when user taps on GET Tickets button
777
- onAddToCartSuccess: (data: {
778
- isBillingRequired: boolean
779
- isPhoneRequired?: boolean
780
- isAgeRequired?: boolean
781
- minimumAge?: number
782
- isNameRequired?: boolean
783
- isTicketFree?: boolean
784
- isPhoneHidden?: boolean
785
- }) => void
786
- onAddToCartError?: (error: {
787
- code: number
788
- message: string
789
- extraData?: any
790
- }) => void
791
-
792
- // Callbacks for fetching the tickets
793
- onFetchTicketsError?: (error: {
794
- code: number
795
- message: string
796
- extraData?: any
797
- }) => void
798
-
799
- // Callbacks for fetching the Event base on the eventId prop
800
- onFetchTicketsSuccess?: (data: {
801
- tickets: ITicket[]
802
- promoCodeResponse: {
803
- success?: boolean
804
- message?: string
805
- }
806
- isInWaitingList: boolean
807
- isAccessCodeRequired: boolean
808
- }) => void
809
- onFetchEventError?: (error: {
810
- code: number
811
- message: string
812
- extraData?: any
813
- }) => void
814
-
815
- // Callbacks for Waiting list
816
- onAddToWaitingListSuccess?: (data: any) => void
817
- onAddToWaitingListError?: (error: {
818
- code: number
819
- message: string
820
- extraData?: any
821
- }) => void
822
-
823
- styles?: ITicketsViewStyles
824
- texts?: ITicketsViewTexts
190
+ `placeOrder` is retry-safe: one order, one charge, however many times the button
191
+ is pressed.
825
192
 
826
- isPromoEnabled?: boolean
827
- isAccessCodeEnabled?: boolean
193
+ The full SDK is re-exported from this package — `ttf`, `api`, `hooks`, `dtos`,
194
+ `logic`, and the engine. See the [SDK reference](../tf-checkout-shared/README.md).
828
195
 
829
- onPressMyOrders: () => void
830
- onPressLogout?: () => void
196
+ ## Known gaps vs web
831
197
 
832
- onLoadingChange?: (isLoading: boolean) => void
833
- promoCodeCloseIcon?: ImageSourcePropType
198
+ - **Seat maps** — the seat-picker view is a placeholder until the native picker
199
+ (WebView + seats.io) lands. Non-seated events are unaffected.
200
+ - **Smooth scroll** — no `scrollIntoView` equivalent, so `autoScroll` has no
201
+ native counterpart.
834
202
 
835
- // Event password protected
836
- onPressSubmitEventPassword?: (password: string) => void
837
- passwordProtectedEventData?: {
838
- isPasswordProtected?: boolean
839
- message?: string
840
- apiError?: string
841
- isLoading?: boolean
842
- }
843
-
844
- // Configure the Component behavior
845
- config: {
846
- areActivityIndicatorsEnabled?: boolean
847
- areAlertsEnabled?: boolean
848
- areTicketsSortedBySoldOut?: boolean
849
- areTicketsGrouped?: boolean
850
- }
851
-
852
- // For SSO
853
- isCheckingCurrentSession?: boolean
854
-
855
- // Referral discounts
856
- referrerId?: string
857
- }
858
- ```
859
-
860
- `eventId` is required in order to fetch the tickets from this event.
861
- `onAddToCartSuccess` is called after the Add to Cart was completed successfully, it will return the following data:
203
+ ## Development
862
204
 
863
- ```js
864
- {
865
- isBillingRequired: boolean
866
- isPhoneRequired?: boolean
867
- isAgeRequired?: boolean
868
- minimumAge?: number
869
- isNameRequired?: boolean
870
- }
871
- ```
872
-
873
- ### config prop
205
+ From the repo root:
874
206
 
875
- Configure the component's behavior
876
-
877
- ```ts
878
- config: {
879
- // Whether or not show the loading indicators.
880
- areActivityIndicatorsEnabled?: boolean
881
- // Whether or not show the alerts.
882
- areAlertsEnabled?: boolean
883
- // Whether or not the Ticket should be sorted by Sold Out.
884
- areTicketsSortedBySoldOut?: boolean
885
- // Whether or not the tickets should be grouped, they need to be configured as groups in the Tickets admin.
886
- areTicketsGrouped?: boolean
887
- }
207
+ ```bash
208
+ pnpm run start:react-native
888
209
  ```
889
210
 
890
- You can then call the `BillingInfo` component and pass them as props in the `cartProps` prop.
891
-
892
- `onFetchTicketsSuccess` When tickets fetching was successful, will return fetched data, including `promoCodeResponse`.
211
+ `pnpm run playground:react-native` opens the playground mode instead.
893
212
 
894
- ### styles
213
+ Both need a dev client. Build one with:
895
214
 
896
- ```js
897
- {
898
- rootContainer?: ViewStyle
899
- container?: ViewStyle
900
- title?: TextStyle
901
- getTicketsButtonDisabled?: IButtonStyles
902
- getTicketsButtonActive?: IButtonStyles
903
- promoCode?: {
904
- rootContainer?: ViewStyle
905
- contentWrapper?: ViewStyle
906
- content?: StyleProp<ViewStyle>
907
- input?: TextInputProps['style']
908
- inputPlaceholderColor?: string
909
-
910
- mainButton?: IButtonStyles
911
- applyButton?: IButtonStyles
912
- applyDisabledButton?: IButtonStyles
913
-
914
- errorMessage?: StyleProp<TextStyle>
915
- validMessage?: StyleProp<TextStyle>
916
-
917
- cancelButton?: StyleProp<ViewStyle>
918
- cancelIcon?: StyleProp<ImageStyle>
919
- }
920
- ticketList?: {
921
- sectionHeader?: {
922
- container?: StyleProp<ViewStyle>
923
- title?: StyleProp<TextStyle>
924
- }
925
- listContainer?: ViewStyle
926
- item?: {
927
- container?: ViewStyle
928
- ticketName?: TextStyle
929
- price?: TextStyle
930
- oldPrice?: TextStyle
931
- fees?: TextStyle
932
- soldOutText?: TextStyle
933
- soldOutContainer?: ViewStyle
934
- dropdown?: IDropdownStyles
935
- pricesContainer?: StyleProp<ViewStyle>
936
- }
937
- }
938
- loading?: {
939
- animation?: {
940
- color?: ActivityIndicatorProps['color']
941
- size?: ActivityIndicatorProps['size']
942
- }
943
- content?: ViewStyle
944
- text?: TextStyle
945
- }
946
- waitingList?: {
947
- rootContainer?: StyleProp<ViewStyle>
948
- title?: StyleProp<TextStyle>
949
- button?: IButtonStyles
950
- input?: IInputStyles
951
- buttonDisabled?: IButtonStyles
952
- success?: {
953
- container?: StyleProp<ViewStyle>
954
- title?: StyleProp<ViewStyle>
955
- message?: StyleProp<ViewStyle>
956
- }
957
- }
958
- loggedIn?: {
959
- rootContainer?: StyleProp<ViewStyle>
960
- myOrdersButton?: IButtonStyles
961
- logOutButton?: IButtonStyles
962
- }
963
- enterPassword?: {
964
- input?: IInputStyles
965
- title?: StyleProp<TextStyle>
966
- error?: StyleProp<TextStyle>
967
- button?: IButtonStyles
968
- rootContainer?: StyleProp<ViewStyle>
969
- contentContainer?: StyleProp<ViewStyle>
970
- }
971
- }
215
+ ```bash
216
+ cd example && pnpm run ios
972
217
  ```
973
218
 
974
- ### texts
219
+ Set credentials in `example/.env` (`EXPO_PUBLIC_`-prefixed); see
220
+ `example/.env.example`.
975
221
 
976
- ```js
977
- {
978
- promoCode?: {
979
- promoCodeButton?: string
980
- inputPlaceHolder?: string
981
- apply?: string
982
- cancel?: string
983
- mainButton?: string
984
- title?: string
985
- }
986
- getTicketsButton?: string
987
- title?: string
988
- waitingList?: {
989
- title?: string
990
- firstName?: string
991
- lastName?: string
992
- email?: string
993
- button?: string
994
- successTitle?: string
995
- successMessage?: string
996
- }
997
- loggedInTexts?: {
998
- logoutDialog?: {
999
- title?: string
1000
- message?: string
1001
- confirmButton?: string
1002
- cancelButton?: string
1003
- }
1004
- myOrderButtonText?: string
1005
- logOutButtonText?: string
1006
- }
1007
- listItem?: {
1008
- soldOut?: string
1009
- salesNotStarted?: string
1010
- salesEnded?: string
1011
- inclFees?: string
1012
- exclFees?: string
1013
- free?: string
1014
- ticket?: string
1015
- }
1016
- enterPassword?: {
1017
- inputLabel?: string
1018
- title?: string
1019
- buttonText?: string
1020
- }
1021
- }
1022
- ```
222
+ The example's `metro.config.js` pins React, react-query, and Stripe to single
223
+ copies. That is a **workspace-only** concern — it exists because the example
224
+ consumes the library through a symlink. Consumers installing from npm need
225
+ nothing of the sort.
1023
226
 
1024
227
  ---
1025
228
 
1026
- ## BillingInfo UI
1027
-
1028
- Import the component from the library
1029
-
1030
- ```js
1031
- import { BillingInfo } from 'tf-checkout-react-native'
1032
- ```
1033
-
1034
- Add it to the render function.
1035
-
1036
- ```js
1037
- const sessionHandleRef = useRef<SessionHandleType>(null)
1038
-
1039
-
1040
- <BillingInfo
1041
- ref={sessionHandleRef}
1042
- cartProps: {
1043
- isBillingRequired: boolean
1044
- isNameRequired: boolean
1045
- isAgeRequired: boolean
1046
- isPhoneRequired: boolean
1047
- minimumAge: number
1048
- }
1049
- // registerNewUser
1050
- onRegisterSuccess?: (data: {
1051
- accessTokenData: {
1052
- accessToken: string
1053
- refreshToken: string
1054
- tokenType: string
1055
- scope: string
1056
- }
1057
- userProfile: {
1058
- firstName: string
1059
- lastName: string
1060
- email: string
1061
- }
1062
- }) => void
1063
- onRegisterError?: (error: {
1064
- isAlreadyRegistered?: boolean
1065
- message?: string
1066
- raw?: any
1067
- }) => void
1068
-
1069
- onCheckoutSuccess: (data: {
1070
- id: string
1071
- hash: string
1072
- total: string
1073
- status: string
1074
- }) => void
1075
- onCheckoutError?: (error: IError) => void
1076
-
1077
- // See ILoginSuccessData data type below.
1078
- onLoginSuccess: (data: ILoginSuccessData) => void
1079
- onLoginError?: (error: IError) => void
1080
-
1081
- onFetchUserProfileSuccess?: (data: any) => void
1082
- onFetchUserProfileError?: (error: IError) => void
1083
-
1084
- //fetchCart
1085
- onFetchCartError?: (error: IError) => void
1086
- onFetchCartSuccess?: () => void
1087
-
1088
- // fetchCountries
1089
- onFetchCountriesError?: (error: IError) => void
1090
- onFetchCountriesSuccess?: (data: {
1091
- code: string
1092
- id: string
1093
- name: string
1094
- }[]) => void
1095
-
1096
- // fetchState
1097
- onFetchStatesError?: (error: IError) => void
1098
- onFetchStatesSuccess?: () => void
1099
-
1100
- // fetch Token
1101
- onFetchAccessTokenError?: (error: IError) => void
1102
- onFetchAccessTokenSuccess?: () => void
1103
-
1104
- styles?: IBillingInfoViewStyles
1105
- texts?: IBillingInfoViewTexts
1106
-
1107
- styles?: IBillingInfoViewStyles
1108
- texts?: IBillingInfoViewTexts
1109
-
1110
- // Configure the skipping component visible, when isBillingRequired is false
1111
- skipBillingConfig?: {
1112
- styles?: {
1113
- rootContainer?: StyleProp<ViewStyle>
1114
- dialogContainer?: StyleProp<ViewStyle>
1115
- brandImage?: StyleProp<ImageStyle>
1116
- text?: StyleProp<TextStyle>
1117
- activityIndicator?: {
1118
- color?: ColorValue
1119
- size?: 'large' | 'small'
1120
- }
1121
- }
1122
- brandImage?: ImageSourcePropType
1123
- isActivityIndicatorVisible?: boolean
1124
- }
1125
-
1126
- loginBrandImages?: {
1127
- containerStyle?: StyleProp<ViewStyle>
1128
- image1?: ImageSourcePropType
1129
- image1Style?: StyleProp<ImageStyle>
1130
- image2?: ImageSourcePropType
1131
- image2Style?: StyleProp<ImageStyle>
1132
- }
1133
-
1134
- config?: {
1135
- isCheckoutAlwaysButtonEnabled?: boolean
1136
- shouldHideTicketHolderSectionOnSingleTicket?: boolean
1137
- }
1138
- />
1139
- ```
1140
-
1141
- ### DataTypes
1142
-
1143
- ILoginSuccessData
1144
-
1145
- ```ts
1146
- interface ILoginSuccessData {
1147
- userProfile: {
1148
- customerId: string
1149
- firstName: string
1150
- lastName: string
1151
- email: string
1152
- phone: string
1153
- streetAddress: string
1154
- zipCode: string
1155
- countryId: string
1156
- company?: string
1157
- state: string
1158
- stateId: string
1159
- city: string
1160
- }
1161
- accessTokenData?: {
1162
- accessToken: string
1163
- refreshToken: string
1164
- tokenType: string
1165
- scope: string
1166
- }
1167
- }
1168
- ```
1169
-
1170
- ### Props
1171
-
1172
- | Property | Description |
1173
- | ----------------- | ----------------------------------------------------------------------------------- |
1174
- | cartProps | Received from the Tickets component |
1175
- | onCheckoutSuccess | Will return Order data from the Checkout action |
1176
- | loginBrandImages |  Receives styles and images sources to show in the `Login` component |
1177
- | skipBillingConfig | Configure the skipping component, visible when `isBillingRequired` is set to false  |
1178
-
1179
- ### texts
1180
-
1181
- ```js
1182
- interface IBillingInfoViewTexts {
1183
- loginTexts?: ILoginViewTexts
1184
- checkoutButton?: string
1185
- skippingMessage?: string
1186
- invalidPhoneNumberError?: string
1187
- form?: {
1188
- firstName?: string
1189
- lastName?: string
1190
- email?: string
1191
- confirmEmail?: string
1192
- password?: string
1193
- confirmPassword?: string
1194
- phone?: string
1195
- street?: string
1196
- city?: string
1197
- country?: string
1198
- state?: string
1199
- zipCode?: string
1200
- dateOfBirth?: string
1201
- isSubToBrand?: string // your brand's checkbox label
1202
- ticketHoldersTitle?: string
1203
- ticketHolderItem?: string
1204
- holderFirstName?: string
1205
- holderLastName?: string
1206
- holderEmail?: string
1207
- holderPhone?: string
1208
- getYourTicketsTitle?: string
1209
- emailsAdvice?: string
1210
- choosePassword?: string
1211
- optional?: string
1212
- phoneInput?: {
1213
- label?: string
1214
- customError?: string
1215
- }
1216
- ttfPrivacyPolicyRequiredError?: string
1217
- }
1218
- cartTimer?: {
1219
- message?: string
1220
- }
1221
- }
1222
- ```
1223
-
1224
- ### styles
1225
-
1226
- ```js
1227
- interface IBillingInfoViewStyles {
1228
- rootContainer?: StyleProp<ViewStyle>
1229
- loginStyles?: ILoginViewStyles
1230
- checkoutButton?: IButtonStyles
1231
- checkoutButtonDisabled?: IButtonStyles
1232
- passwordTitle?: StyleProp<TextStyle>
1233
-
1234
- inputStyles?: IInputStyles
1235
- dropdownStyles?: IDropdownStyles
1236
- dropdownMaterialStyles?: {
1237
- container?: StyleProp<ViewStyle>
1238
- button?: StyleProp<ViewStyle>
1239
- icon?: StyleProp<ImageStyle>
1240
- label?: StyleProp<TextStyle>
1241
- dialog?: StyleProp<ViewStyle>
1242
- flatListContainer?: StyleProp<ViewStyle>
1243
- listItem?: {
1244
- container?: StyleProp<ViewStyle>
1245
- button?: StyleProp<ViewStyle>
1246
- buttonSelected?: StyleProp<ViewStyle>
1247
- text?: StyleProp<TextStyle>
1248
- textSelected?: StyleProp<TextStyle>
1249
- }
1250
- input?: IInputStyles
1251
- }
1252
-
1253
- checkboxStyles?: {
1254
- container?: StyleProp<ViewStyle>
1255
- content?: StyleProp<ViewStyle>
1256
- indicator?: StyleProp<ViewStyle>
1257
- indicatorDisabled?: StyleProp<ViewStyle>
1258
- text?: StyleProp<TextStyle>
1259
- box?: StyleProp<ViewStyle>
1260
- icon?: StyleProp<ImageStyle>
1261
- error?: StyleProp<TextStyle>
1262
- }
1263
-
1264
- screenTitle?: StyleProp<TextStyle>
1265
- ticketHoldersTitle?: StyleProp<TextStyle>
1266
- ticketHolderItemHeader?: StyleProp<TextStyle>
1267
-
1268
- texts?: StyleProp<TextStyle>
1269
- customCheckbox?: ICheckboxStyles
1270
-
1271
- datePicker?: IDatePickerStyles
1272
-
1273
- privacyPolicyLinkStyle?: StyleProp<TextStyle>
1274
-
1275
- phoneInputStyles?: {
1276
- rootContainer?: StyleProp<ViewStyle>
1277
- errorColor?: ColorValue
1278
- country?: {
1279
- container?: StyleProp<ViewStyle>
1280
- button?: StyleProp<ViewStyle>
1281
- }
1282
- input?: IInputStyles
1283
- }
1284
-
1285
- cartTimer?: {
1286
- rootContainer?: StyleProp<ViewStyle>
1287
- contentContainer?: StyleProp<ViewStyle>
1288
- textsContainer?: StyleProp<ViewStyle>
1289
- icon?: StyleProp<ImageStyle>
1290
- message?: StyleProp<TextStyle>
1291
- time?: StyleProp<TextStyle>
1292
- }
1293
-
1294
- privacyPolicyLinkStyle?: StyleProp<TextStyle>
1295
- }
1296
- ```
1297
-
1298
- ---
1299
-
1300
- ## Checkout UI
1301
-
1302
- Import the component from the library
1303
-
1304
- ```js
1305
- import { Checkout } from 'tf-checkout-react-native'
1306
- ```
1307
-
1308
- Add it to the render function.
1309
-
1310
- ```js
1311
- const sessionHandleRef = useRef<SessionHandleType>(null)
1312
-
1313
- <Checkout
1314
- ref={sessionHandleRef}
1315
- hash={hash}
1316
- total={total}
1317
- onPaymentSuccess={handleOnPaymentSuccess}
1318
- onPressExit={handleStripeError}
1319
- areLoadingIndicatorsEnabled={false}
1320
- styles={styles}
1321
- {...props}
1322
- />
1323
- ```
1324
-
1325
- ### Props
1326
-
1327
- ```js
1328
- {
1329
- ref?: SessionHandleType
1330
- hash: string
1331
- total: string
1332
-
1333
- onFetchOrderReviewError?: (error: IError) => void
1334
- onFetchOrderReviewSuccess?: (data: any) => void
1335
-
1336
- onFetchEventConditionsError?: (error: IError) => void
1337
- onFetchEventConditionsSuccess?: (data: any) => void
1338
-
1339
- onCheckoutCompletedSuccess?: (data: any) => void
1340
- onCheckoutCompletedError?: (error: IError) => void
1341
-
1342
- onPaymentSuccess: (data: any) => void
1343
- onPaymentError?: (error: IError) => void
1344
-
1345
- onStripeInitializeError?: (error: string) => void
1346
-
1347
- onPressExit: () => void
1348
-
1349
- texts?: {
1350
- title?: string
1351
- subTitle?: string
1352
- missingStripeConfigMessage?: string
1353
- exitButton?: string
1354
- payButton?: string
1355
- freeRegistrationButton?: string
1356
- providePaymentInfo?: string
1357
- orderReviewItems?: {
1358
- event?: string
1359
- ticketType?: string
1360
- numberOfTickets?: string
1361
- price?: string
1362
- total?: string
1363
- }
1364
- cartTimer?: {
1365
- message?: string
1366
- }
1367
- }
1368
-
1369
- styles?: ICheckoutStyles
1370
-
1371
- onLoadingChange?: (isLoading: boolean) => void
1372
- onSkippingStatusChange?: (status: | 'skipping'
1373
- | 'fail'
1374
- | 'success'
1375
- | 'false'
1376
- | undefined) => void
1377
- areAlertsEnabled?: boolean
1378
- areLoadingIndicatorsEnabled?: boolean
1379
- }
1380
- ```
1381
-
1382
- | Property | Description |
1383
- | --------------------------- | ------------------------------------------------------------------------------- |
1384
- | hash | retrieved from the `onCheckoutSuccess` callback in the `BillingInfo`component.  |
1385
- | total | retrieved from the `onCheckoutSuccess` callback in the `BillingInfo` component. |
1386
- | onPaymentSuccess | will handle the success in the payment process. Will return the `hash`. |
1387
- | areLoadingIndicatorsEnabled | whether or not show the Loading Indicator, `default: true`. |
1388
- | areAlertsEnabled | whether or not show the Error Alerts, `default: true`. |
1389
-
1390
- _Note: If the you need to modify the card container, use the `styles.payment.cardContainer` prop. Useful if the card is to short and the zip code is not visible._
1391
-
1392
- ### styles
1393
-
1394
- ```ts
1395
- {
1396
- rootStyle?: ViewStyle
1397
- title?: StyleProp<TextStyle>
1398
- subTitle?: StyleProp<TextStyle>
1399
- missingStripeConfig?: {
1400
- container?: StyleProp<ViewStyle>
1401
- message?: StyleProp<TextStyle>
1402
- exitButton?: IButtonStyles
1403
- }
1404
- freeRegistrationButton?: IButtonStyles
1405
- orderReview?: IOrderReviewStyles
1406
- payment?: {
1407
- container?: StyleProp<ViewStyle>
1408
- title?: StyleProp<TextStyle>
1409
- cardBackgroundColor?: string
1410
- cardContainer?: StyleProp<ViewStyle>
1411
- button?: IButtonStyles
1412
- buttonDisabled?: IButtonStyles
1413
- }
1414
- cartTimer?: {
1415
- rootContainer?: StyleProp<ViewStyle>
1416
- contentContainer?: StyleProp<ViewStyle>
1417
- textsContainer?: StyleProp<ViewStyle>
1418
- icon?: StyleProp<ImageStyle>
1419
- message?: StyleProp<TextStyle>
1420
- time?: StyleProp<TextStyle>
1421
- }
1422
- }
1423
- ```
1424
-
1425
- ### Stripe
1426
-
1427
- Currently, Stripe card is not customizable. Please see the open issues in their Github.
1428
-
1429
- - [563](https://github.com/stripe/stripe-react-native/issues/563)
1430
- - [285](https://github.com/stripe/stripe-react-native/issues/285)
1431
-
1432
- Additionally, if you are encountering problems with building your project, please take a look at the [Stripe troubleshooting](https://github.com/stripe/stripe-react-native#troubleshooting).
1433
-
1434
- ## Purchase Confirmation UI
1435
-
1436
- Import the component from the library
1437
-
1438
- ```js
1439
- import { PurchaseConfirmation, SessionHandleType } from 'tf-checkout-react-native'
1440
- ```
1441
-
1442
- Add it to the render function.
1443
-
1444
- ```ts
1445
- const sessionHandleRef = useRef<SessionHandleType>(null)
1446
-
1447
- <PurchaseConfirmation
1448
- ref={sessionHandleRef}
1449
- orderHash={checkoutProps!.hash}
1450
- onComplete={handleOnComplete}
1451
-
1452
- styles?: {
1453
- rootContainer?: StyleProp<ViewStyle>
1454
- title?: StyleProp<TextStyle>
1455
-
1456
- message?: {
1457
- container?: StyleProp<ViewStyle>
1458
- line1?: StyleProp<TextStyle>
1459
- line2?: StyleProp<TextStyle>
1460
- }
1461
- exitButton?: {
1462
- container?: StyleProp<ViewStyle>
1463
- button?: StyleProp<ViewStyle>
1464
- text?: StyleProp<TextStyle>
1465
- }
1466
- }
1467
-
1468
- texts?: {
1469
- title?: string
1470
- message?: {
1471
- line1?: string
1472
- line2?: string
1473
- }
1474
- exitButton?: string
1475
- }
1476
- />
1477
- ```
1478
-
1479
- ### Props
1480
-
1481
- | Property | Description |
1482
- | ---------- | -------------------------------------------------------------------------------------------------------------------- |
1483
- | orderHash | The `hash` returned in the `BillingInfo` component |
1484
- | onComplete | To handle the completion of the flow. Here you can handle the unmount of the component or navigate to another screen |
1485
- | styles | Styles for the component |
1486
- | texts | Texts for the component |
1487
-
1488
- ---
1489
-
1490
- ## My Orders UI
1491
-
1492
- If there is a valid session, there will appear a button to access `MyOrders` in the `Tickets` component.
1493
-
1494
- Import the component from the library.
1495
-
1496
- ```js
1497
- import { MyOrders, SessionHandleType } from 'tf-checkout-react-native'
1498
- ```
1499
-
1500
- ### Props
1501
-
1502
- ```ts
1503
- {
1504
- ref={SessionHandleType}
1505
- onSelectOrder: (order: {
1506
- order: {
1507
- header: {
1508
- currency: string
1509
- date: string
1510
- eventEndDate: string
1511
- eventId: string
1512
- eventName: string
1513
- eventSalesEndDate: string
1514
- eventSalesStartDate: string
1515
- eventStartDate: string
1516
- eventUrl: string
1517
- hideVenueUntil: string | null
1518
- id: string
1519
- image: string
1520
- isReferralDisabled: boolean
1521
- isVenueHidden: boolean
1522
- salesReferred: string
1523
- shareLink: string
1524
- timeZone: string
1525
- total: string
1526
- venue: {
1527
- city: string
1528
- country: string
1529
- googlePlaceId?: string
1530
- latitude?: string
1531
- longitude?: string
1532
- name?: string
1533
- postalCode?: string
1534
- state: string
1535
- street?: string
1536
- streetNumber?: string
1537
- }
1538
- },
1539
- items: [
1540
- {
1541
- name: string
1542
- currency: string
1543
- price: string
1544
- discount: string
1545
- quantity: string
1546
- total: string
1547
- },
1548
- {...}
1549
- ],
1550
- tickets: [
1551
- {
1552
- hash: string
1553
- ticketType: string
1554
- holderName?: string
1555
- holderEmail?: string
1556
- holderPhone?: string
1557
- status: string
1558
- pdfLink?: string
1559
- qrData?: string
1560
- isSellable?: boolean
1561
- description?: string
1562
- descriptionPlain?: string
1563
- },
1564
- {...}
1565
- ]
1566
- }
1567
- }) => void
1568
-
1569
- onFetchMyOrdersSuccess?: (data: IMyOrdersData) => void
1570
- onFetchMyOrdersError?: (error: IError) => void
1571
-
1572
- onFetchOrderDetailsSuccess?: (data: IMyOrderDetailsData) => void
1573
- onFetchOrderDetailsError?: (error: IError) => void
1574
-
1575
- onLoadingChange?: (isLoading: boolean) => void
1576
-
1577
- styles?: {
1578
- orderListItem?: IOrderListItemStyles
1579
- safeArea?: StyleProp<ViewStyle>
1580
- listContainer?: StyleProp<ViewStyle>
1581
- eventsContainer?: StyleProp<ViewStyle>
1582
- eventsTitle?: StyleProp<TextStyle>
1583
- refreshControlColor?: ColorValue
1584
- eventsDropdown?: IDropdownStyles
1585
- rootContainer?: StyleProp<ViewStyle>
1586
- eventsSelectionContainer?: StyleProp<ViewStyle>
1587
- clearEventSelectionIcon?: StyleProp<ImageStyle>
1588
- timeFilters?: {
1589
- container?: StyleProp<ViewStyle>
1590
- dropdown?: IDropdownStyles
1591
- selectionContainer?: StyleProp<ViewStyle>
1592
- clearSelectionIcon?: StyleProp<ImageStyle>
1593
- }
1594
- }
1595
- config?: {
1596
- isEventsDropdownHidden?: boolean
1597
- areActivityIndicatorsEnabled?: boolean
1598
- areAlertsEnabled?: boolean
1599
- isTimeFilterDropdownHidden?: boolean
1600
- }
1601
- texts?: {
1602
- selectEventPlaceholder?: string
1603
- selectTimeFilterPlaceholder?: string
1604
- title?: string
1605
- timeFilters?: {
1606
- upcoming?: string
1607
- ongoingAndUpcoming?: string
1608
- ongoing?: string
1609
- past?: string
1610
- }
1611
- }
1612
- }
1613
- ```
1614
-
1615
- IMyOrdersData
1616
-
1617
- ```ts
1618
- {
1619
- events: {
1620
- event_name: string
1621
- url_name: string
1622
- }[]
1623
- orders: {
1624
- amount: string
1625
- currency: string
1626
- date: string
1627
- eventEndDate: string
1628
- eventId: string
1629
- eventName: string
1630
- eventSalesEndDate: string
1631
- eventSalesStartDate: string | null
1632
- eventStartDate: string
1633
- eventUrl: string
1634
- hideVenue: boolean
1635
- hideVenueUntil: string | null
1636
- id: string
1637
- image: string
1638
- timezone: string
1639
- venueCity: string
1640
- venueCountry: string
1641
- venueGooglePlaceId?: string
1642
- venueLatitude?: string
1643
- venueLongitude?: string
1644
- venueName?: string
1645
- venuePostalCode?: string
1646
- venueState: string
1647
- venueStreet?: string
1648
- venueStreetNumber?: string
1649
- }[]
1650
- //Those mark with ? are only included if the venue is not hidden
1651
- filter?: string
1652
- brandFilter?: string
1653
- subBrands?: boolean
1654
- pagination: {
1655
- page: number
1656
- limit: number
1657
- totalCount: number
1658
- totalPages: number
1659
- }
1660
- }
1661
- ```
1662
-
1663
- IMyOrderDetailsData
1664
-
1665
- ```ts
1666
- {
1667
- header: {
1668
- currency: string
1669
- date: string
1670
- eventEndDate: string
1671
- eventId: string
1672
- eventName: string
1673
- eventSalesEndDate: string
1674
- eventSalesStartDate: string
1675
- eventStartDate: string
1676
- eventUrl: string
1677
- hideVenueUntil: string | null
1678
- id: string
1679
- image: string
1680
- isReferralDisabled: boolean
1681
- isVenueHidden: boolean
1682
- salesReferred: string
1683
- shareLink: string
1684
- timeZone: string
1685
- total: string
1686
- venue: {
1687
- city: string
1688
- country: string
1689
- googlePlaceId?: string
1690
- latitude?: string
1691
- longitude?: string
1692
- name?: string
1693
- postalCode?: string
1694
- state: string
1695
- street?: string
1696
- streetNumber?: string
1697
- }
1698
- //Those mark with ? are only included if the venue is not hidden
1699
- }
1700
- items?: {
1701
- currency: string
1702
- discount: string
1703
- hash: string
1704
- isActive: boolean
1705
- name: string
1706
- price: string
1707
- quantity: string
1708
- total: string
1709
- }[]
1710
- tickets: {
1711
- currency: string
1712
- description: string
1713
- descriptionPlain?: string
1714
- eventName: string
1715
- hash: string
1716
- holderEmail?: string
1717
- holderName: string
1718
- holderPhone?: string
1719
- isOnSale: boolean
1720
- isSellable: boolean
1721
- isTable: boolean
1722
- pdfLink: string
1723
- qrData: string
1724
- resaleFeeAmount: number
1725
- status: string
1726
- ticketType: string
1727
- ticketTypeHash: string
1728
- }[]
1729
- }
1730
- ```
1731
-
1732
- ### styles
1733
-
1734
- ```js
1735
- {
1736
- orderListItem?: {
1737
- rootContainer?: StyleProp<ViewStyle>
1738
- contentContainer?: StyleProp<ViewStyle>
1739
- infoContainer?: StyleProp<ViewStyle>
1740
- infoTopContainer?: StyleProp<ViewStyle>
1741
- infoBottomContainer?: StyleProp<ViewStyle>
1742
- imageContainer?: StyleProp<ViewStyle>
1743
- image?: StyleProp<ImageStyle>
1744
- infoRootContainer?: StyleProp<ViewStyle>
1745
- iconNextContainer?: StyleProp<ViewStyle>
1746
- iconNext?: StyleProp<ImageStyle>
1747
- orderId?: StyleProp<TextStyle>
1748
- orderDate?: StyleProp<TextStyle>
1749
- eventName?: StyleProp<TextStyle>
1750
- priceContainer?: StyleProp<ViewStyle>
1751
- price?: StyleProp<TextStyle>
1752
- currency?: StyleProp<TextStyle>
1753
- }
1754
- safeArea?: StyleProp<ViewStyle>
1755
- listContainer?: StyleProp<ViewStyle>
1756
- eventsContainer?: StyleProp<ViewStyle>
1757
- eventsTitle?: StyleProp<TextStyle>
1758
- refreshControlColor?: ColorValue
1759
- eventsDropdown?: {
1760
- container?: StyleProp<ViewStyle>
1761
- button?: StyleProp<ViewStyle>
1762
- icon?: StyleProp<ImageStyle>
1763
- label?: StyleProp<TextStyle>
1764
- dialog?: StyleProp<ViewStyle>
1765
- flatListContainer?: StyleProp<ViewStyle>
1766
- listItem?: {
1767
- container?: StyleProp<ViewStyle>
1768
- button?: StyleProp<ViewStyle>
1769
- buttonSelected?: StyleProp<ViewStyle>
1770
- text?: StyleProp<TextStyle>
1771
- textSelected?: StyleProp<TextStyle>
1772
- }
1773
-
1774
- }
1775
- rootContainer?: StyleProp<ViewStyle>
1776
- eventsSelectionContainer?: StyleProp<ViewStyle>
1777
- clearEventSelectionIcon?: StyleProp<ImageStyle>
1778
- }
1779
- ```
1780
-
1781
- ---
1782
-
1783
- ## MyOrder Details UI
1784
-
1785
- When user selects an order from the `MyOrders` component, will show it details.
1786
-
1787
- Import the component from the library.
1788
-
1789
- ```js
1790
- import { MyOrderDetails, SessionHandleType } from 'tf-checkout-react-native'
1791
- ```
1792
-
1793
- ### Props
1794
-
1795
- ```tsx
1796
- {
1797
- ref={SessionHandleType}
1798
- data: IMyOrderDetailsData
1799
-
1800
- // Used to navigate to the Resale Tickets screen
1801
- onPressResaleTicket: (
1802
- ticket: IMyOrderDetailsTicket,
1803
- isTicketTypeActive: boolean
1804
- ) => void
1805
-
1806
- onRemoveTicketFromResaleSuccess: (message: string) => void
1807
-
1808
- onRemoveTicketFromResaleError?: (error: IError) => void
1809
-
1810
-
1811
- config?: {
1812
- areActivityIndicatorsEnabled?: boolean
1813
- areAlertsEnabled?: boolean
1814
- }
1815
- onDownloadStatusChange?: (status?:
1816
- 'downloading' |
1817
- 'downloaded' |
1818
- 'failed'
1819
- ) => void
1820
- downloadStatusIcons?: {
1821
- success?: ImageSourcePropType
1822
- error?: ImageSourcePropType
1823
- }
1824
- onAndroidWritePermission?: (permission?: boolean) => void
1825
- onLinkCopied?: (copied?: boolean) => void
1826
-
1827
- moreButtonIcon?: StyleProp<ImageStyle>
1828
-
1829
- ticketActionsIcons?: {
1830
- downloadPdf?: ImageSourcePropType
1831
- sell?: ImageSourcePropType
1832
- removeFromSale?: ImageSourcePropType
1833
- refund?: ImageSourcePropType
1834
- }
1835
-
1836
- styles?: {
1837
- rootContainer?: StyleProp<ViewStyle>
1838
- header?: {
1839
- container?: StyleProp<ViewStyle>
1840
- title?: StyleProp<TextStyle>
1841
- subTitle?: StyleProp<TextStyle>
1842
-
1843
- shareLink?: {
1844
- container?: StyleProp<ViewStyle>
1845
- text?: StyleProp<TextStyle>
1846
- link?: StyleProp<TextStyle>
1847
- copyContainer?: StyleProp<ViewStyle>
1848
- copyText?: StyleProp<TextStyle>
1849
- copyIcon?: StyleProp<ImageStyle>
1850
- copyIconTint?: ColorValue
1851
- copyIconTintActive?: ColorValue
1852
- message?: StyleProp<TextStyle>
1853
- referrals?: StyleProp<TextStyle>
1854
- referralValue?: StyleProp<TextStyle>
1855
- }
1856
- }
1857
- section0Footer?: {
1858
- container?: StyleProp<ViewStyle>
1859
- label?: StyleProp<TextStyle>
1860
- value?: StyleProp<TextStyle>
1861
- }
1862
- sectionHeader?: StyleProp<TextStyle>
1863
-
1864
- listItem?: {
1865
- container?: StyleProp<ViewStyle>
1866
- innerLeftContainer?: StyleProp<ViewStyle>
1867
- innerRightContainer?: StyleProp<ViewStyle>
1868
- rowPlaceholder?: StyleProp<TextStyle>
1869
- rowValue?: StyleProp<TextStyle>
1870
- }
1871
- ticketItem?: {
1872
- rootContainer?: StyleProp<ViewStyle>
1873
- leftContent?: StyleProp<ViewStyle>
1874
- rightContent?: StyleProp<ViewStyle>
1875
- rowPlaceholder?: StyleProp<TextStyle>
1876
- rowValue?: StyleProp<TextStyle>
1877
- downloadButton?: IButtonStyles
1878
- moreButton?: StyleProp<ViewStyle>
1879
- moreButtonIcon?: StyleProp<ImageStyle>
1880
- }
1881
- downloadButton?: {
1882
- container?: StyleProp<ViewStyle>
1883
- button?: StyleProp<ViewStyle>
1884
- text?: StyleProp<TextStyle>
1885
- }
1886
- bottomSheetModal?: {
1887
- rootContainer?: StyleProp<ViewStyle>
1888
- headerContainer?: StyleProp<ViewStyle>
1889
- content?: StyleProp<ViewStyle>
1890
- title?: StyleProp<TextStyle>
1891
- closeButton?: StyleProp<ViewStyle>
1892
- closeButtonIcon?: StyleProp<ImageStyle>
1893
- contentContainer?: StyleProp<ViewStyle>
1894
- }
1895
- ticketActions?: {
1896
- rootScrollViewContainer?: StyleProp<ViewStyle>
1897
- buttonContainer?: StyleProp<ViewStyle>
1898
- buttonContent?: StyleProp<ViewStyle>
1899
- icon?: StyleProp<ImageStyle>
1900
- text?: StyleProp<TextStyle>
1901
- }
1902
- texts?: {
1903
- title?: string
1904
- subTitle?: string
1905
- referralLink?: string
1906
- referral?: {
1907
- soFar?: string
1908
- tickets?: string
1909
- }
1910
- listItem?: {
1911
- title?: string
1912
- ticketType?: string
1913
- price?: string
1914
- quantity?: string
1915
- total?: string
1916
- }
1917
- ticketItem?: {
1918
- ticketType: string
1919
- holderName: string
1920
- ticketId: string
1921
- status: string
1922
- download: string
1923
- sellTicket: string
1924
- removeTicketFromResale: string
1925
- }
1926
- downloadNotification?: {
1927
- successMessage?: string
1928
- errorMessage?: string
1929
- }
1930
- copyText?: {
1931
- copy?: string
1932
- copied?: string
1933
- }
1934
- sellTicket?: string
1935
- removeTicketFromResale?: string
1936
- ticketsTitle?: string
1937
-
1938
- bottomSheetModal?: {
1939
- title?: string
1940
- }
1941
- ticketActions?: {
1942
- downloadPdf?: string
1943
- sell?: string
1944
- removeFromSale?: string
1945
- refund?: string
1946
- }
1947
- }
1948
- }
1949
- ```
1950
-
1951
- ## Resale Tickets UI
1952
-
1953
- Allows the user to resale the tickets they bought. They can decide wether sell it to a friend or to any other user.
1954
-
1955
- Import the component from the library.
1956
-
1957
- ```js
1958
- import { ResaleTickets, SessionHandleType } from 'tf-checkout-react-native'
1959
- ```
1960
-
1961
- ### Props
1962
-
1963
- ```ts
1964
- {
1965
- ref={SessionHandleType}
1966
- ticket: {
1967
- currency: string
1968
- description: string
1969
- descriptionPlain?: string
1970
- eventName: string
1971
- hash: string
1972
- holderEmail?: string
1973
- holderName: string
1974
- holderPhone?: string
1975
- isOnSale: boolean
1976
- isSellable: boolean
1977
- pdfLink: string
1978
- qrData: string
1979
- resaleFeeAmount: number
1980
- status: string
1981
- ticketType: string
1982
- }
1983
- styles?: {
1984
- rootContainer?: StyleProp<ViewStyle>
1985
- title?: StyleProp<TextStyle>
1986
- terms?: IResaleTermsStyles
1987
- resaleTicketsButton?: IButtonStyles
1988
- resaleTicketsButtonDisabled?: IButtonStyles
1989
- resaleTicketsButtonLoading?: IButtonStyles
1990
- ticketOrderDetails?: ITicketOrderDetailsStyles
1991
- ticketBuyerForm?: ITicketBuyerFormStyles
1992
- termsCheckbox?: ICheckboxStyles
1993
- }
1994
- onResaleTicketsSuccess: (
1995
- resaleTicketData: {
1996
- message: string
1997
- },
1998
- ticket: {
1999
- currency: string
2000
- description: string
2001
- descriptionPlain?: string
2002
- eventName: string
2003
- hash: string
2004
- holderEmail?: string
2005
- holderName: string
2006
- holderPhone?: string
2007
- isOnSale: boolean
2008
- isSellable: boolean
2009
- pdfLink: string
2010
- qrData: string
2011
- resaleFeeAmount: number
2012
- status: string
2013
- ticketType: string
2014
- }
2015
- ) => void
2016
- onResaleTicketsError?: (error: {
2017
- code?: number
2018
- message: string
2019
- extraData?: any
2020
- }) => void
2021
- config?: {
2022
- areAlertsEnabled?: boolean
2023
- areActivityIndicatorsEnabled?: boolean
2024
- }
2025
- texts?: {
2026
- title?: string
2027
- orderDetails?: {
2028
- title?: string
2029
- eventName?: string
2030
- orderedBy?: string
2031
- orderId?: string
2032
- }
2033
- sellToWhom?: {
2034
- title?: string
2035
- friend?: string
2036
- anyone?: string
2037
- }
2038
- friendForm?: {
2039
- firstName?: string
2040
- lastName?: string
2041
- email?: string
2042
- emailConfirm?: string
2043
- }
2044
- terms?: {
2045
- title?: string
2046
- paragraph1?: string
2047
- paragraph2_1?: string
2048
- paragraph2_2?: string
2049
- paragraph3_1?: string
2050
- paragraph3_2?: string
2051
- }
2052
- agree?: string
2053
- resaleTicketsButton?: string
2054
- }
2055
- }
2056
- ```
2057
-
2058
- ## Reset Password UI
2059
-
2060
- After opening and URL with the corresponding schema and token, use this component to let the user reset its password.
2061
-
2062
- ### Usage
2063
-
2064
- Import the component from the library.
2065
-
2066
- ```ts
2067
- import { ResetPassword } from 'tf-checkout-react-native'
2068
- ```
2069
-
2070
- Then add it to the render function.
2071
-
2072
- ```xml
2073
- <ResetPassword
2074
- styles={myStyles}
2075
- token={resetToken}
2076
- onPressResetButton={handleOnPressResetButton}
2077
- onPressCancelButton={handleOnPressCancelButton}
2078
- onResetPasswordSuccess={handleOnResetPasswordSuccess}
2079
- onResetPasswordError={handleOnResetPasswordError}
2080
- />
2081
- ```
2082
-
2083
- ### Props
2084
-
2085
- ```ts
2086
- {
2087
- token: string
2088
- styles?: {
2089
- rootContainer?: StyleProp<ViewStyle>
2090
- contentContainer?: StyleProp<ViewStyle>
2091
- title?: StyleProp<TextStyle>
2092
- resetButton?: IButtonStyles
2093
- cancelButton?: IButtonStyles
2094
- input?: IInputStyles
2095
- apiError?: StyleProp<TextStyle>
2096
- apiSuccess?: StyleProp<TextStyle>
2097
- }
2098
- texts?: {
2099
- title?: string
2100
- resetButton?: string
2101
- cancelButton?: string
2102
- newPasswordLabel?: string
2103
- confirmNewPasswordLabel?: string
2104
- }
2105
- onResetPasswordSuccess?: (data: {
2106
- message: string
2107
- status?: number
2108
- }) => void
2109
- onResetPasswordError?: (error: {
2110
- code?: number
2111
- message: string
2112
- extraData?: any
2113
- }) => void
2114
- onPressResetButton?: () => void
2115
- onPressCancelButton?: () => void
2116
- }
2117
- ```
2118
-
2119
- # Core Components
2120
-
2121
- **⚠️ Remember that you first need to set your configuration using the [setConfig](#set-your-configuration)
2122
- function. ⚠️**
2123
-
2124
- ### Index
2125
-
2126
- [TicketsCore](#ticketscore)
2127
-
2128
- [WaitingListCore](#waitinglistcore)
2129
-
2130
- [BillingCore](#billingcore)
2131
-
2132
- [CheckoutCore](#checkoutcore)
2133
-
2134
- [PurchaseConfirmationCore](#purchaseconfirmationcore)
2135
-
2136
- [MyOrdersCore](#myorderscore)
2137
-
2138
- [OrderDetailsCore](#orderdetailscore)
2139
-
2140
- [LoginCore](#logincore)
2141
-
2142
- [ResetPasswordCore](#resetpasswordcore)
2143
-
2144
- ---
2145
-
2146
- ## SessionCoreHandle
2147
-
2148
- All Core components with the exception of Login and ResetPassword exposes the `refreshAccessToken` function to re-authenticate the user after the access token is expired. This is through the corresponding `CoreHandle` ref.
2149
-
2150
- It returns the `IFetchAccessTokenResponse` object:
2151
-
2152
- ```ts
2153
- IFetchAccessTokenResponse {
2154
- accessTokenError?: {
2155
- code?: number
2156
- message: string
2157
- extraData?: any
2158
- }
2159
- accessTokenData?: {
2160
- accessToken: string
2161
- refreshToken: string
2162
- tokenType: string
2163
- scope: string
2164
- }
2165
- }
2166
- ```
2167
-
2168
- ### Example:
2169
-
2170
- Import the component from the library
2171
-
2172
- ```js
2173
- import {
2174
- TicketsCore
2175
- TicketsCoreHandle // You can import the Handle to use it as type in the useRef hook
2176
- } from 'tf-checkout-react-native'
2177
- ```
2178
-
2179
- Declare a reference to pass it to the component.
2180
-
2181
- ```js
2182
- const ticketsCoreRef = useRef < TicketsCoreHandle > null
2183
- ```
2184
-
2185
- Then add it to the render function and assign the reference to the corresponding component.
2186
-
2187
- ```js
2188
- <TicketsCore ref={ticketsCoreRef}>
2189
- <YourComponent />
2190
- </TicketsCore>
2191
- ```
2192
-
2193
- Use the reference to access the component methods.
2194
-
2195
- ```js
2196
- const handleGetTickets = async () => {
2197
- const res = await ticketsCoreRef.current.refreshAccessToken()
2198
- }
2199
- ```
2200
-
2201
- ---
2202
-
2203
- ## TicketsCore
2204
-
2205
- This is the initial component to show. It will retrieve the tickets, event, present My Orders and Logout buttons if the user is logged in, and will add the selected tickets to the cart.
2206
-
2207
- Exposes the following functions:
2208
-
2209
- `getTickets` Fetches the tickets from the event set in the config function. It receives a promoCode and referrerId parameters to apply to the tickets. PromoCode is higher priority than referrerId
2210
-
2211
- `getEvent` Fetches the event from the eventId set in the config function.
2212
-
2213
- `addToCart` Adds the selected tickets to the cart.
2214
-
2215
- `postReferralVisit` Posts a referral visit to the server.
2216
-
2217
- `refreshAccessToken` : Refreshes expired access token.
2218
-
2219
- `getAccountTickets`: Fetches the tickets purchased for the user that logged in.
2220
-
2221
- ```js
2222
- {
2223
- // Fetches the tickets from the event set in the config function. It receives a promoCode parameter to apply to the tickets.
2224
- getTickets({ promoCode?: string, referredId?: string }): Promise<{
2225
- tickets?: {
2226
- sortOrder: number
2227
- displayTicket?: boolean
2228
- salesEnded: boolean
2229
- salesStarted: boolean
2230
- id: string
2231
- displayName: string
2232
- optionName: string
2233
- optionValue: string
2234
- isTable: string
2235
- feeIncluded: boolean
2236
- price: number
2237
- basePrice: number
2238
- chosen: number
2239
- priceCurrency: string
2240
- priceSymbol: string
2241
- taxesIncluded: boolean
2242
- taxName: string
2243
- minQuantity: number
2244
- maxQuantity: number
2245
- multiplier: number
2246
- tags: []
2247
- allowMultiplePurchases: number
2248
- priceReplacementText: string
2249
- waitingListEnabled: boolean
2250
- soldOut?: boolean
2251
- soldOutMessage: string
2252
- minGuests?: number
2253
- maxGuests?: number
2254
- buyButtonText?: string
2255
- totalStock: number
2256
- guestPrice?: number
2257
- alwaysAvailable: string
2258
- feeText: string
2259
- x_face_value: number
2260
- sold_out?: boolean
2261
- oldPrice?: number
2262
- oldBasePrice?: number
2263
- descriptionRich?: string
2264
- }[]
2265
- error?: {
2266
- code?: number
2267
- message: string
2268
- extraData?: any
2269
- }
2270
- promoCodeResult?: {
2271
- isValid: boolean | number
2272
- message: string
2273
- }
2274
- isInWaitingList?: boolean
2275
- isAccessCodeRequired?: boolean
2276
- }>
2277
-
2278
- // Fetches the event from the eventId set in the config function.
2279
- getEvent(): Promise<{
2280
- eventError?: {
2281
- code?: number
2282
- message: string
2283
- extraData?: any
2284
- }
2285
- eventData?: {
2286
- affirmAllowed: boolean
2287
- alwaysShowWaitingList?: any
2288
- backgroundImage: string
2289
- backgroundVideo?: string
2290
- brandCheckoutPixels?: string
2291
- brandConversionPixels?: string
2292
- brandGoogleAnalyticsKey?: string
2293
- brandPagePixels?: string
2294
- checkoutPixels?: string
2295
- conversionPixels?: string
2296
- country: string
2297
- currency: {
2298
- currency: string
2299
- decimal_places: number
2300
- symbol: string
2301
- }
2302
- date: string
2303
- description?: string
2304
- descriptions: any
2305
- enableWaitingList: boolean
2306
- endDate: string
2307
- eventType: any
2308
- facebookEvent?: string
2309
- faq: []
2310
- feeMode: string
2311
- feesIncluded?: any
2312
- formattedDate: string
2313
- fullTitleReplacement?: any
2314
- hideTopInfluencers: boolean
2315
- hideVenue?: boolean
2316
- hideVenueUntil?: string
2317
- imageUrl: string
2318
- imageUrlHd: string
2319
- imageURLs: any
2320
- isTimeSlotEvent: boolean
2321
- l10nLanguages: []
2322
- minimumAge?: any
2323
- name: string
2324
- ogImage?: string
2325
- pagePixels?: string
2326
- passwordAuthenticated: boolean
2327
- passwordProtected: boolean
2328
- preregEnabled: boolean
2329
- preregistered: []
2330
- presalesEnded: boolean
2331
- presalesStarted: boolean
2332
- productImage: string
2333
- redirectUrl?: string
2334
- referrals: []
2335
- referralsEnabled: boolean
2336
- relatedProducts: []
2337
- salesEnd: string
2338
- salesEnded: boolean
2339
- salesStart?: string
2340
- salesStarted: boolean
2341
- slug: string
2342
- startDate: string
2343
- subHeading?: any
2344
- tableMapEnabled: boolean
2345
- tags: []
2346
- ticketsSold: number
2347
- timezone: string
2348
- title: string
2349
- titleReplacementHeight?: any
2350
- titleReplacementImage?: any
2351
- titleReplacementImageSvg?: any
2352
- twitterImage?: string
2353
- venueCity?: string
2354
- venueCountry: string
2355
- venueGooglePlaceId?: string
2356
- venueLatitude?: string
2357
- venueLongitude?: string
2358
- venueName?: string
2359
- venuePostalCode?: string
2360
- venueState?: string
2361
- venueStreet?: string
2362
- venueStreetNumber?: string
2363
- waitingListMaxQuantity: number
2364
- }
2365
- }>
2366
-
2367
- // Adds selected tickets to the cart.
2368
- addToCart(
2369
- options: {
2370
- optionName: string
2371
- ticketId: string
2372
- quantity: number
2373
- price: number
2374
- }
2375
- ): Promise<{
2376
- error?: {
2377
- code?: number
2378
- message: string
2379
- extraData?: any
2380
- }
2381
- data?: {
2382
- isBillingRequired: boolean
2383
- isPhoneRequired?: boolean
2384
- isAgeRequired?: boolean
2385
- minimumAge?: number
2386
- isNameRequired?: boolean
2387
- isTicketFree?: boolean
2388
- isPhoneHidden?: boolean
2389
- }
2390
-
2391
- postReferralVisit(referralId: string): Promise<
2392
- postReferralError?: {
2393
- code?: number
2394
- message: string
2395
- extraData?: any
2396
- }
2397
- postReferralData?: {
2398
- message: string
2399
- status: number
2400
- }>
2401
- refreshAccessToken(refreshToken?: string): Promise<IFetchAccessTokenResponse>
2402
-
2403
- getAccountTickets({
2404
- page: number
2405
- limit?: number
2406
- filter?: string
2407
- from?: MyOrderRequestFromType
2408
- }): Promise<
2409
- data?: {
2410
- attributes: {
2411
- page: number
2412
- limit: number
2413
- total_count: number
2414
- total_pages: number
2415
- filter?: any
2416
- brand_filter: string
2417
- sub_brands: boolean
2418
- purchased_events: {
2419
- url_name: string
2420
- event_name: string
2421
- }[]
2422
- tickets: {
2423
- id: string
2424
- orderId: string
2425
- hash: string
2426
- qrData: string
2427
- ticketType: string
2428
- ticketTypeHash: string
2429
- description?: any
2430
- descriptionPlain?: any
2431
- currency: string
2432
- price: string
2433
- retainAmountOnSale: number
2434
- status: string
2435
- holderName: string
2436
- holderEmail?: any
2437
- holderPhone?: any
2438
- isTable: boolean
2439
- isSellable: boolean
2440
- isOnSale: boolean
2441
- createdAt: Date
2442
- pdfLink: string
2443
- eventId: string
2444
- eventName: string
2445
- eventUrl: string
2446
- eventTimezone: string
2447
- eventStartDate: Date
2448
- eventEndDate: Date
2449
- eventSalesStartDate?: any
2450
- eventSalesEndDate: Date
2451
- eventImage: string
2452
- eventBackgroundImage: string
2453
- eventIsOnlineEvent: boolean
2454
- venueCountry: string
2455
- venueCity: string
2456
- venueState: string
2457
- hideVenueUntil?: any
2458
- hideVenue: boolean
2459
- venueName?: string //Optional
2460
- venueGooglePlaceId?: string //Optional
2461
- venueLatitude?: string //Optional
2462
- venueLongitude?: string //Optional
2463
- venuePostalCode?: string //Optional
2464
- venueStreet?: string //Optional
2465
- venueStreetNumber?: string //Optional
2466
- }[]
2467
- }
2468
- relationships: any[]
2469
- type: string
2470
- },
2471
- error?: IError>
2472
- }>
2473
- }
2474
- ```
2475
-
2476
- ## MyOrderRequestFromType
2477
-
2478
- ```
2479
- MyOrderRequestFromType =
2480
- | 'upcoming_events'
2481
- | 'ongoing_and_upcoming_events'
2482
- | 'ongoing_events'
2483
- | 'past_events'
2484
- | ''
2485
- ```
2486
-
2487
- Import the component from the library
2488
-
2489
- ```js
2490
- import {
2491
- TicketsCore
2492
- TicketsCoreHandle // You can import the Handle to use it as type in the useRef hook
2493
- } from 'tf-checkout-react-native'
2494
- ```
2495
-
2496
- Declare a reference to pass it to the component.
2497
-
2498
- ```js
2499
- const ticketsCoreRef = useRef < TicketsCoreHandle > null
2500
- ```
2501
-
2502
- Then add it to the render function and assign the reference to the corresponding component.
2503
-
2504
- ```js
2505
- <TicketsCore ref={ticketsCoreRef}>
2506
- <YourComponent />
2507
- </TicketsCore>
2508
- ```
2509
-
2510
- Use the reference to access the component methods.
2511
-
2512
- ```js
2513
- const handleGetTickets = async () => {
2514
- const res = await ticketsCoreRef.current.getTickets()
2515
- }
2516
- ```
2517
-
2518
- ---
2519
-
2520
- ## WaitingListCore
2521
-
2522
- This component _must_ appear after getting the response from **getTickets()** and the property `isInWaitingList` is set to true.
2523
-
2524
- Exposes the following functions:
2525
-
2526
- ```tsx
2527
- {
2528
- addToWaitingList(
2529
- params: {
2530
- firstName: string
2531
- lastName: string
2532
- email: string
2533
- }
2534
- ): Promise<{
2535
- addToWaitingListError?: {
2536
- code?: number
2537
- message: string
2538
- extraData?: any
2539
- }
2540
- addToWaitingListData?: {
2541
- error: boolean
2542
- message: string
2543
- status: number
2544
- success: boolean
2545
- }
2546
- }>
2547
- refreshAccessToken(refreshToken?: string): Promise<IFetchAccessTokenResponse>
2548
- }
2549
- ```
2550
-
2551
- **addToWaitingList** Receives params with the following properties:
2552
-
2553
- ```js
2554
- firstName: string
2555
- lastName: string
2556
- email: string
2557
- ```
2558
-
2559
- And returns a Promise with the following object:
2560
-
2561
- ```js
2562
- {
2563
- addToWaitingListError?: {
2564
- code?: number // If it was a server error, this will be the error code
2565
- message: string //Error message that you could use it in your UI
2566
- extraData?: any // If there is a relevant extra data, it will be returned here
2567
- }
2568
- addToWaitingListData?: {
2569
- error: boolean // If there was an error, this will be true
2570
- message: string // message that you could use it in your UI, could be due an error or a success message
2571
- status: number // Status code
2572
- success: boolean // If there was no error, this will be true
2573
- }
2574
- }
2575
- ```
2576
-
2577
- Import the component from the library
2578
-
2579
- ```js
2580
- import {
2581
- WaitingListCore
2582
- WaitingListCoreHandle // You can import the Handle to use as type it in the useRef hook
2583
- } from 'tf-checkout-react-native'
2584
- ```
2585
-
2586
- Declare a reference to pass it to the component.
2587
-
2588
- ```js
2589
- const waitingListCoreRef = useRef < WaitingListCoreHandle > null
2590
- ```
2591
-
2592
- Then add it to the render function and assign the reference to the corresponding component.
2593
-
2594
- ```js
2595
- <WaitingListCore ref={waitingListCoreRef}>
2596
- <YourComponent />
2597
- </WaitingListCore>
2598
- ```
2599
-
2600
- Use the reference to access the component methods.
2601
-
2602
- ```js
2603
- const handleAddToWaitingList = async (params: IAddToWaitingListCoreParams) => {
2604
- const res = await waitingListCoreRef.current.addToWaitingList(params)
2605
- }
2606
- ```
2607
-
2608
- ---
2609
-
2610
- ## BillingCore ⚠️ Deprecated
2611
-
2612
- > This component is deprecated. Please migrate to hooks. See [Migration Guide](./MIGRATION.md).
2613
-
2614
- This component collects user's billing information and checks the order out. If the entered user data is already in the system it will perform checkout, other wise it will perform a registration and then the checkout.
2615
-
2616
- Exposes the following functions:
2617
-
2618
- `getCart` Fetches the current cart information, needed to know how many ticket holders data is needed.
2619
-
2620
- `getCountries` Fetches the countries list.
2621
-
2622
- `getStates` Fetches the states list.
2623
-
2624
- `getUserProfile` Fetches the user profile information.
2625
-
2626
- `registerNewUser` Registers a new user. Returns accessTokens data.
2627
-
2628
- `checkoutOrder` Performs the checkout.
2629
-
2630
- ```ts
2631
- {
2632
- // Fetches the current cart information, needed to know how many ticket holders data is needed.
2633
- getCart(): Promise<{
2634
- cartError?: {
2635
- code?: number
2636
- message: string
2637
- extraData?: any
2638
- }
2639
- cartData?: {
2640
- quantity: number
2641
- isTfOptInHidden?: boolean
2642
- isTfOptIn: boolean // Ticket fairy
2643
- isMarketingOptedIn: boolean // Brand
2644
- }
2645
- }>
2646
-
2647
- // Performs the checkout.
2648
- checkoutOrder(body: ICheckoutBody): Promise<{
2649
- error?: {
2650
- code?: number
2651
- message: string
2652
- extraData?: any
2653
- }
2654
- data?: {
2655
- id: string
2656
- hash: string
2657
- total: string
2658
- status: string
2659
- }
2660
- }>
2661
-
2662
- // Fetches the country list.
2663
- getCountries(): Promise<{
2664
- countriesError?: {
2665
- code?: number
2666
- message: string
2667
- extraData?: any
2668
- }
2669
- countriesData?: {
2670
- code: string
2671
- id: string
2672
- name: string
2673
- }[]
2674
- }>
2675
-
2676
- // Fetches the states list.
2677
- getStates(countryId: string): Promise<{
2678
- statesError?: {
2679
- code?: number
2680
- message: string
2681
- extraData?: any
2682
- }
2683
- statesData?: {
2684
- [key: number | string]: string
2685
- }
2686
- }>
2687
-
2688
- // Fetches the user profile information.
2689
- getUserProfile(): Promise<{
2690
- userProfileError?: {
2691
- code?: number
2692
- message: string
2693
- extraData?: any
2694
- }
2695
- userProfileData?: {
2696
- customerId: string
2697
- firstName: string
2698
- lastName: string
2699
- email: string
2700
- phone: string
2701
- streetAddress: string
2702
- zipCode: string
2703
- countryId: string
2704
- company?: string
2705
- state: string
2706
- stateId: string
2707
- city: string
2708
- }
2709
- }>
2710
-
2711
- // Registers a new user.
2712
- registerNewUser(data: FormData): Promise<{
2713
- registerNewUserResponseError?: {
2714
- isAlreadyRegistered?: boolean
2715
- message?: string
2716
- raw?: any
2717
- }
2718
- registerNewUserResponseData?: {
2719
- accessTokenData: {
2720
- accessToken: string
2721
- refreshToken: string
2722
- tokenType: string
2723
- scope: string
2724
- }
2725
- userProfile: {
2726
- firstName: string
2727
- lastName: string
2728
- email: string
2729
- }
2730
- }
2731
- }>
2732
-
2733
- refreshAccessToken(refreshToken?: string): Promise<IFetchAccessTokenResponse>
2734
- }
2735
-
2736
- ```
2737
-
2738
- ---
2739
-
2740
- ## CheckoutCore ⚠️ Deprecated
2741
-
2742
- > This component is deprecated. Please migrate to hooks. See [Migration Guide](./MIGRATION.md).
2743
-
2744
- Shows the event conditions, purchase details and process the payment and free registration to an event.
2745
-
2746
- You will need to install and use the [ReactNative Stripe SDK](https://github.com/stripe/stripe-react-native) (we recommend version 0.2.3). Follow their documentation to implement it. Our backend is already prepared to process the payments.
2747
-
2748
- Remember that you will need the `publishableKey`.
2749
-
2750
- After you collect the card information and call the `confirmPayment` function, you will need to call the `paymentSuccess` function to complete the payment.
2751
-
2752
- Exposes the following functions:
2753
-
2754
- `getEventConditions` Get event conditions for the current event.
2755
-
2756
- `getPurchaseOrderDetails` Get purchase order details for the current event.
2757
-
2758
- `getOrderReview` Get order review for the current event.
2759
-
2760
- `freeRegistration` Free registration to an event.
2761
-
2762
- `paymentSuccess` Payment success.
2763
-
2764
- `refreshAccessToken` Refreshes access token.
2765
-
2766
- ```ts
2767
- // Get event conditions for the Event Id set on the setConfig.
2768
- getEventConditions(): Promise<any>
2769
-
2770
- // Get purchase order details for the current event.
2771
- getPurchaseOrderDetails(orderId: string): Promise<{
2772
- orderDetailsError?: {
2773
- code?: number
2774
- message: string
2775
- extraData?: any
2776
- }
2777
- orderDetailsData?: {
2778
- header: {
2779
- isReferralDisabled: boolean
2780
- shareLink: string
2781
- total: string
2782
- salesReferred: string
2783
- }
2784
- items: {
2785
- isActive: boolean
2786
- currency: string
2787
- discount: string
2788
- name: string
2789
- price: string
2790
- quantity: string
2791
- total: string
2792
- }[]
2793
- tickets: {
2794
- currency: string
2795
- description: string
2796
- descriptionPlain?: string
2797
- eventName: string
2798
- hash: string
2799
- holderEmail?: string
2800
- holderName: string
2801
- holderPhone?: string
2802
- isOnSale: boolean
2803
- isSellable: true
2804
- pdfLink: string
2805
- qrData: string
2806
- resaleFeeAmount: number
2807
- status: string
2808
- ticketType: string
2809
- }[]
2810
- }
2811
- }>
2812
-
2813
- // Get order review for the current event.
2814
- getOrderReview(orderHash: string): Promise<{
2815
- orderReviewError?: {
2816
- code?: number
2817
- message: string
2818
- extraData?: any
2819
- }
2820
- orderReviewData?: {
2821
- reviewData: {
2822
- event: string
2823
- price: string
2824
- ticketType: string
2825
- total: string
2826
- numberOfTickets: string
2827
- currency: string
2828
- }
2829
- paymentData: {
2830
- id: string
2831
- name: string
2832
- stripeClientSecret?: string
2833
- stripeConnectedAccount?: string
2834
- stripePublishableKey?: string
2835
- }
2836
- addressData: {
2837
- city: string
2838
- line1: string
2839
- state: string
2840
- postalCode: string
2841
- }
2842
- billingData: {
2843
- firstName: string
2844
- lastName: string
2845
- }
2846
- }
2847
- }>
2848
-
2849
- // Free registration to an event.
2850
- freeRegistration(orderHash: string): Promise<{
2851
- freeRegistrationError?: {
2852
- code?: number
2853
- message: string
2854
- extraData?: any
2855
- }
2856
- freeRegistrationData?: {
2857
- id: string
2858
- customerId: string
2859
- total: string
2860
- currency: string
2861
- orderHash: string
2862
- }
2863
- }>
2864
-
2865
- // Payment success.
2866
- paymentSuccess(orderHash: string): Promise<any>
2867
-
2868
- // Refresh access token.
2869
- refreshAccessToken(refreshToken?: string): Promise<IFetchAccessTokenResponse>
2870
- ```
2871
-
2872
- ---
2873
-
2874
- ## PurchaseConfirmationCore
2875
-
2876
- Shows the purchase confirmation information.
2877
-
2878
- It exposes the following functions:
2879
-
2880
- `getPurchaseConfirmation` Get purchase confirmation for the current event.
2881
-
2882
- `refreshAccesstoken` Refreshes access token.
2883
-
2884
- ```ts
2885
- getPurchaseConfirmation(
2886
- orderHash: string
2887
- ): Promise<{
2888
- purchaseConfirmationError?: {
2889
- code?: number
2890
- message: string
2891
- extraData?: any
2892
- }
2893
- purchaseConfirmationData?: {
2894
- conversionPixels?: any
2895
- currency: {
2896
- currency: string;
2897
- decimalPlaces: number;
2898
- symbol: string
2899
- }
2900
- customConfirmationPageText?: string
2901
- customerId: string
2902
- isReferralDisabled: boolean
2903
- eventDate: string
2904
- eventDescription: string
2905
- eventType: string
2906
- message: string
2907
- orderTotal: number
2908
- personalShareLink: string
2909
- productId: string
2910
- productImage: string
2911
- productName: string
2912
- productPrice: number
2913
- productUrl: string
2914
- twitterHashtag?: string
2915
- personalShareSales: {
2916
- price: number
2917
- sales: number
2918
- }[]
2919
- }
2920
- }>
2921
- refreshAccessToken(refreshToken?: string): Promise<IFetchAccessTokenResponse>
2922
- ```
2923
-
2924
- ---
2925
-
2926
- ## MyOrdersCore
2927
-
2928
- Shows the purchased orders from the user. It can also show the sub-brands if the `ARE_SUB_BRANDS_INCLUDED` was set to true and the `BRAND` was set to an existing brand.
2929
-
2930
- Exposes the following functions:
2931
-
2932
- `getMyOrders` Get the orders purchased from the current user.
2933
-
2934
- `getOrderDetails` Get the details from a specific order.
2935
-
2936
- `refreshAccessToken` Refreshes access token.
2937
-
2938
- `getAccountTickets`: Fetches the tickets purchased for the user that logged in.
2939
-
2940
- ```ts
2941
- refreshAccessToken(refreshToken?: string): Promise<IFetchAccessTokenResponse>
2942
-
2943
- getMyOrders(page: number, filter: string): Promise<{
2944
- myOrdersData?: {
2945
- events: {
2946
- url_name: string
2947
- event_name: string
2948
- }[]
2949
-
2950
- orders: {
2951
- id: string
2952
- date: string
2953
- currency: string
2954
- amount: string
2955
- eventName: string
2956
- eventUrl: string
2957
- image: string
2958
- }[]
2959
- filter?: string
2960
- brandFilter?: string
2961
- subBrands?: boolean
2962
- pagination: {
2963
- page: number
2964
- limit: number
2965
- totalCount: number
2966
- totalPages: number
2967
- }
2968
- }
2969
-
2970
- myOrdersError?: {
2971
- code?: number
2972
- message: string
2973
- extraData?: any
2974
- }
2975
-
2976
- getAccountTickets({
2977
- page: number
2978
- limit?: number
2979
- filter?: string
2980
- from?: MyOrderRequestFromType
2981
- }): Promise<
2982
- data?: {
2983
- attributes: {
2984
- page: number
2985
- limit: number
2986
- total_count: number
2987
- total_pages: number
2988
- filter?: any
2989
- brand_filter: string
2990
- sub_brands: boolean
2991
- purchased_events: {
2992
- url_name: string
2993
- event_name: string
2994
- }[]
2995
- tickets: {
2996
- id: string
2997
- orderId: string
2998
- hash: string
2999
- qrData: string
3000
- ticketType: string
3001
- ticketTypeHash: string
3002
- description?: any
3003
- descriptionPlain?: any
3004
- currency: string
3005
- price: string
3006
- retainAmountOnSale: number
3007
- status: string
3008
- holderName: string
3009
- holderEmail?: any
3010
- holderPhone?: any
3011
- isTable: boolean
3012
- isSellable: boolean
3013
- isOnSale: boolean
3014
- createdAt: Date
3015
- pdfLink: string
3016
- eventId: string
3017
- eventName: string
3018
- eventUrl: string
3019
- eventTimezone: string
3020
- eventStartDate: Date
3021
- eventEndDate: Date
3022
- eventSalesStartDate?: any
3023
- eventSalesEndDate: Date
3024
- eventImage: string
3025
- eventBackgroundImage: string
3026
- eventIsOnlineEvent: boolean
3027
- venueCountry: string
3028
- venueCity: string
3029
- venueState: string
3030
- hideVenueUntil?: any
3031
- hideVenue: boolean
3032
- venueName?: string //Optional
3033
- venueGooglePlaceId?: string //Optional
3034
- venueLatitude?: string //Optional
3035
- venueLongitude?: string //Optional
3036
- venuePostalCode?: string //Optional
3037
- venueStreet?: string //Optional
3038
- venueStreetNumber?: string //Optional
3039
- }[]
3040
- }
3041
- relationships: any[]
3042
- type: string
3043
- },
3044
- error?: IError>
3045
- }>
3046
-
3047
-
3048
- getOrderDetails(orderId: string): Promise<{
3049
- orderDetailsError?: {
3050
- code?: number
3051
- message: string
3052
- extraData?: any
3053
- }
3054
- orderDetailsData?: {
3055
- header: {
3056
- isReferralDisabled: boolean
3057
- shareLink: string
3058
- total: string
3059
- salesReferred: string
3060
- }
3061
- items: {
3062
- isActive: boolean
3063
- currency: string
3064
- discount: string
3065
- name: string
3066
- price: string
3067
- quantity: string
3068
- total: string
3069
- }[]
3070
- tickets: {
3071
- currency: string
3072
- description: string
3073
- descriptionPlain?: string
3074
- eventName: string
3075
- hash: string
3076
- holderEmail?: string
3077
- holderName: string
3078
- holderPhone?: string
3079
- isOnSale: boolean
3080
- isSellable: true
3081
- pdfLink: string
3082
- qrData: string
3083
- resaleFeeAmount: number
3084
- status: string
3085
- ticketType: string
3086
- }[]
3087
- }
3088
- }>
3089
- ```
3090
-
3091
- ## MyOrderRequestFromType
3092
-
3093
- ```
3094
- MyOrderRequestFromType =
3095
- | 'upcoming_events'
3096
- | 'ongoing_and_upcoming_events'
3097
- | 'ongoing_events'
3098
- | 'past_events'
3099
- | ''
3100
- ```
3101
-
3102
- ---
3103
-
3104
- ## OrderDetailsCore
3105
-
3106
- Allows to re-sale the tickets or to remove them from the re-sale system.
3107
-
3108
- Import it from the library.
3109
-
3110
- ```ts
3111
- import { OrderDetailsCore, OrderDetailsCoreHandle } from 'tf-checkout-react-native'
3112
- ```
3113
-
3114
- Create a ref
3115
-
3116
- ```ts
3117
- const myOrderDetailsCoreRef = useRef<OrderDetailsCoreHandle>(null)
3118
- ```
3119
-
3120
- Assign the ref to the wrapper component.
3121
-
3122
- ```tsx
3123
- <OrderDetailsCore ref={myOrderDetailsCoreRef}>
3124
- ```
3125
-
3126
- Access the exposed function through the current value.
3127
-
3128
- ```ts
3129
- await myOrderDetailsCoreRef.current.removeTicketFromResale(ticket.hash)
3130
- ```
3131
-
3132
- ```ts
3133
- resaleTicket(
3134
- /*
3135
- formData.append('to', toWhom)
3136
- formData.append('first_name', firstName)
3137
- formData.append('last_name', lastName)
3138
- formData.append('email', email)
3139
- formData.append('confirm_email', emailConfirm)
3140
- formData.append('confirm', String(isTermsAgreed))
3141
- */
3142
-
3143
- data: FormData,
3144
- orderHash: string
3145
- ): Promise<{
3146
- {
3147
- resaleTicketError?: {
3148
- code?: number
3149
- message: string
3150
- extraData?: any
3151
- }
3152
- resaleTicketData?: {
3153
- message: string
3154
- }
3155
- }
3156
- }>
3157
- ```
3158
-
3159
- ```ts
3160
- removeTicketFromResale(
3161
- orderHash: string
3162
- ): Promise<{
3163
- removeTicketFromResaleError?: {
3164
- code?: number
3165
- message: string
3166
- extraData?: any
3167
- }
3168
- removeTicketFromResaleData?: {
3169
- message: string
3170
- }
3171
- }>
3172
- ```
3173
-
3174
- ---
3175
-
3176
- ## LoginCore
3177
-
3178
- Handles the login and logout process.
3179
-
3180
- Exposes the following functions:
3181
-
3182
- `login` Logs in the user.
3183
-
3184
- `logout` Logs out the user.
3185
-
3186
- ```ts
3187
- login(fields?: {
3188
- email: string
3189
- password: string
3190
- }): Promise<{
3191
- error?: {
3192
- code?: number
3193
- message: string
3194
- extraData?: any
3195
- }
3196
-
3197
- userProfile?: {
3198
- customerId: string
3199
- firstName: string
3200
- lastName: string
3201
- email: string
3202
- phone: string
3203
- streetAddress: string
3204
- zipCode: string
3205
- countryId: string
3206
- company?: string
3207
- state: string
3208
- stateId: string
3209
- city: string
3210
- }
3211
-
3212
- accessTokenData?: {
3213
- accessToken: string
3214
- refreshToken: string
3215
- tokenType: string
3216
- scope: string
3217
- }
3218
- }>
3219
-
3220
- logout(): Promise<void>
3221
- ```
3222
-
3223
- ---
3224
-
3225
- ## ResetPasswordCore
3226
-
3227
- Will allow the user to reset its password.
3228
-
3229
- Exposes the following function:
3230
-
3231
- `postResetPassword` Sends the reset token and the new password values.
3232
-
3233
- postResetPassword parameters:
3234
-
3235
- ```
3236
- token: string,
3237
- password: string,
3238
- password_confirmation: string,
3239
- ```
3240
-
3241
- postResetPassword returning data:
3242
-
3243
- ```ts
3244
- {
3245
- data?: {
3246
- message: string
3247
- status?: number
3248
- }
3249
- error?: {
3250
- code?: number
3251
- message: string
3252
- extraData?: any
3253
- }
3254
- }
3255
- ```
3256
-
3257
- ### Usage
3258
-
3259
- Import it from the library.
3260
-
3261
- ```ts
3262
- import { ResetPasswordCore, ResetPasswordCoreHandle } from 'tf-checkout-react-native'
3263
- ```
3264
-
3265
- Wrap your component with the Core component.
3266
-
3267
- ```xml
3268
- <ResetPasswordCore ref={resetPasswordCoreRef}>
3269
- {yourComponent}
3270
- </ResetPasswordCore>
3271
- ```
3272
-
3273
- # Utils
3274
-
3275
- `deleteAllData` asynchronously deletes all the data stored in the local storage. Use this with caution, only in an edge case.
3276
-
3277
- # Changelog
3278
-
3279
- ## Version 1.0.38
3280
-
3281
- - Add `CheckoutV2` – new recommended checkout component combining hooks and UI pieces.
3282
- - Add `Custom Checkout with Hooks` example in docs.
3283
- - Add `MIGRATION.md` – detailed migration guide for moving from Core components to hooks.
3284
-
3285
- - Documentation updated to reflect `CheckoutV2` as the default recommended approach.
3286
- - `BillingCore` and `CheckoutCore` marked as **⚠️ Deprecated**.
3287
-
3288
- ## Version 1.0.32
3289
-
3290
- - Add `referredId` property to Tickets component and getTickets method. This will apply special prices fo the passed `refferentId` property.
3291
-
3292
- ## Version 1.0.31
3293
-
3294
- - Add missing styles to LoginForm.
3295
-
3296
- ## Version 1.0.30
3297
-
3298
- - Show errors in Billing UI form fields.
3299
- - Add config prop to Billing UI component, includes 2 configuration flags.
3300
-
3301
- ```
3302
- config?: {
3303
- isCheckoutAlwaysButtonEnabled?: boolean
3304
- shouldHideTicketHolderSectionOnSingleTicket?: boolean
3305
- }
3306
- ```
3307
-
3308
- - Replacing `"rn-material-ui-textfield": "1.0.5"` library with `"rn-material-ui-textfield": "jorgtz/rn-material-ui-textfield"`, make sure to replace it in all the package.json files.
3309
-
3310
- ## Version 1.0.29
3311
-
3312
- - Update Stripe SDK to version 0.26.0.
3313
- - Minimum iOS Deployment version = `13`.
3314
- - Expose styles to customize Stripe Card Form:
3315
- - cardStyle?: CardFormView.Styles
3316
-
3317
- ```
3318
- {
3319
- backgroundColor?: string;
3320
- borderWidth?: number;
3321
- borderColor?: string;
3322
- borderRadius?: number;
3323
- textColor?: string;
3324
- fontSize?: number;
3325
- placeholderColor?: string;
3326
- cursorColor?: string;
3327
- textErrorColor?: string;
3328
- fontFamily?: string;
3329
- }
3330
- ```
3331
-
3332
- - cardContainer?: StyleProp<ViewStyle>
3333
-
3334
- ## Version 1.0.28
3335
-
3336
- - Add `getAccountTickets` request in `MyOrdersCore` and `TicketsCore`, it will allow get Tickets from the logged-in user.
3337
- - Add filter to `getMyOrders` request in `MyOrdersCore` component, to filter by time frame by passing the following string:
3338
-
3339
- ```ts
3340
- ;'upcoming_events' | 'ongoing_and_upcoming_events' | 'ongoing_events' | 'past_events'
3341
- ```
3342
-
3343
- - Add more data to the `getMyOrders` success response.
3344
- - Add more data to the `getOrderDetails` success response.
3345
- - Add `ticketsSold` prop to Event's object in fetchEvent success data.
3346
-
3347
- ## Version 1.0.27
3348
-
3349
- - Make `EVENT_ID` optional in the `setConfig` function. An error will be returned when `EVENT_ID` is not set and trying to make a request that requires it.
3350
-
3351
- - Remove `eventId` prop from `Checkout UI` component in favor of use the one on the Config.
3352
-
3353
- - Add missing pagination data in `onFetchMyOrdersSuccess` response.
3354
-
3355
- - Add missing success data in `onFetchOrderDetailsSuccess` response.
3356
-
3357
- ## Version 1.0.26
3358
-
3359
- - Add the possibility to remove all of the following Billing/Street Address fields from free tickets:
3360
- - Billing Street Address
3361
- - City
3362
- - State/County
3363
- - Post Code/Zip
3364
- - Country
3365
-
3366
- - Update `addToCart` success response to include:
3367
-
3368
- ```
3369
- isTicketFree?: boolean
3370
- isPhoneHidden?: boolean
3371
- ```
3372
-
3373
- ## Version 1.0.25
3374
-
3375
- - Exposes `refreshAccessToken` function.
3376
- - Changed returned `data` prop to `userProfile` in LoginCore response.
3377
- - In **LoginCore Component**:
3378
- - Add `accessTokenData` object prop in `onLoginSuccessful` response.
3379
- - On **BillingUI Component**:
3380
- - Change `onRegisterSuccess` return data type.
3381
- - Change `onRegisterError` return data type.
3382
- - On **LoginCore**:
3383
- - Change `login` return data type to include `accessTokenData` object.
3384
- - Exports `SessionHandleType` to use it in the `ref` of the UI components.
3385
- - All UI and Core components except Login and ResetPassword:
3386
- - Export function `refreshAccessToken`
3387
- - Add `reloadData` to re-fetch servers data in UI components.
3388
-
3389
- ## Version 1.0.24
3390
-
3391
- - Add **SingleSignOn** feature.
3392
- - Add show Tickets in groups and the option to sort them by sold out.
3393
- - Add config prop to Tickets component:
3394
-
3395
- ```ts
3396
- config: {
3397
- // Indicates if loading component should be visible.
3398
- areActivityIndicatorsEnabled?: boolean
3399
- areAlertsEnabled?: boolean
3400
- areTicketsSortedBySoldOut?: boolean
3401
- areTicketsGrouped?: boolean
3402
- }
3403
- ```
3404
-
3405
- - Updated Tickets styles prop to include Ticket Section Header.
3406
- - Moved `areActivityIndicatorsEnabled` and `areAlertsEnabled` to the `config` prop.
3407
- - Made TTF Privacy Policy mandatory.
3408
- - Added `styles` and `texts` props for TTF Privacy Policy checkbox.
3409
- - Added **Password Protected** event feature.
3410
-
3411
- ## Version 1.0.23
3412
-
3413
- - Fix Checkout not allowing free registrations
3414
-
3415
- ## Version 1.0.22
3416
-
3417
- - Added cartTimer component, that will show the cart's remaining expiration time in the Billing screen.
3418
- - setConfig not longer receives the `DOMAIN` prop, instead it receives the `CLIENT`
3419
- - Added a three dot button to my orders to show the possible actions.
229
+ Part of the [TicketFairy checkout monorepo](../../README.md).