tf-checkout-react 1.7.30 → 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 (453) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +141 -1033
  3. package/dist/checkout.css +17 -0
  4. package/dist/index.d.mts +3930 -0
  5. package/dist/index.d.ts +3930 -30
  6. package/dist/index.esm.js +9123 -0
  7. package/dist/index.esm.js.map +1 -0
  8. package/dist/index.js +9277 -6
  9. package/dist/index.js.map +1 -0
  10. package/dist/styles/addons.css +75 -0
  11. package/dist/styles/auth.css +294 -0
  12. package/dist/styles/billing.css +98 -0
  13. package/dist/styles/confirmation.css +51 -0
  14. package/dist/styles/foundation.css +146 -0
  15. package/dist/styles/payment.css +179 -0
  16. package/dist/styles/primitives.css +356 -0
  17. package/dist/styles/seat-map.css +46 -0
  18. package/dist/styles/tickets.css +285 -0
  19. package/dist/styles/verification-confirmation.css +258 -0
  20. package/package.json +93 -78
  21. package/src/.d.ts +1 -1
  22. package/src/CardInput.tsx +374 -0
  23. package/src/EmbeddedCheckout.tsx +400 -0
  24. package/src/ResumedCheckout.tsx +132 -0
  25. package/src/auth/AuthModal.tsx +231 -0
  26. package/src/auth/ForgotPasswordForm.tsx +93 -0
  27. package/src/auth/LoginForm.tsx +104 -0
  28. package/src/auth/PasswordInput.tsx +33 -0
  29. package/src/auth/RegisterForm.tsx +333 -0
  30. package/src/auth/ResetPasswordForm.tsx +112 -0
  31. package/src/auth/index.ts +5 -0
  32. package/src/checkout.css +17 -0
  33. package/src/configure.ts +29 -0
  34. package/src/confirmer.ts +439 -0
  35. package/src/index.ts +41 -30
  36. package/src/instance.ts +21 -0
  37. package/src/sections/AddOns.tsx +241 -0
  38. package/src/sections/BillingInfo.tsx +743 -0
  39. package/src/sections/Confirmation.tsx +146 -0
  40. package/src/sections/IDVerification.tsx +76 -0
  41. package/src/sections/OrderConfirmation.tsx +277 -0
  42. package/src/sections/OrderIDVerification.tsx +117 -0
  43. package/src/sections/OrderSummary.tsx +84 -0
  44. package/src/sections/Payment.tsx +541 -0
  45. package/src/sections/SeatMap.tsx +512 -0
  46. package/src/sections/Tickets.tsx +573 -0
  47. package/src/sections/billing/BillingAddressFields.tsx +138 -0
  48. package/src/sections/billing/BuyerField.tsx +75 -0
  49. package/src/sections/billing/TicketHoldersCard.tsx +119 -0
  50. package/src/sections/billing/types.ts +10 -0
  51. package/src/sections/index.ts +15 -0
  52. package/src/sections/seatMap.utils.ts +105 -0
  53. package/src/styles/addons.css +75 -0
  54. package/src/styles/auth.css +294 -0
  55. package/src/styles/billing.css +98 -0
  56. package/src/styles/confirmation.css +51 -0
  57. package/src/styles/foundation.css +146 -0
  58. package/src/styles/payment.css +179 -0
  59. package/src/styles/primitives.css +356 -0
  60. package/src/styles/seat-map.css +46 -0
  61. package/src/styles/tickets.css +285 -0
  62. package/src/styles/verification-confirmation.css +258 -0
  63. package/src/typings.d.ts +2 -2
  64. package/src/ui/Button.tsx +38 -0
  65. package/src/ui/Card.tsx +54 -0
  66. package/src/ui/CheckoutProvider.tsx +172 -0
  67. package/src/ui/CustomFields.tsx +195 -0
  68. package/src/ui/Field.tsx +114 -0
  69. package/src/ui/I18nProvider.tsx +36 -0
  70. package/src/ui/InstallmentPicker.tsx +69 -0
  71. package/src/ui/Loader.tsx +12 -0
  72. package/src/ui/PaymentMethods.tsx +133 -0
  73. package/src/ui/PriceLine.tsx +24 -0
  74. package/src/ui/QuantitySelect.tsx +50 -0
  75. package/src/ui/Stepper.tsx +36 -0
  76. package/src/ui/Timer.tsx +34 -0
  77. package/src/ui/TimerBanner.tsx +55 -0
  78. package/src/ui/cx.ts +3 -0
  79. package/src/ui/index.ts +54 -0
  80. package/src/ui/theme.ts +83 -0
  81. package/src/useCheckout.ts +35 -0
  82. package/src/xendit.ts +438 -0
  83. package/dist/adapters/customFields.d.ts +0 -12
  84. package/dist/adapters/index.d.ts +0 -1
  85. package/dist/api/auth.d.ts +0 -27
  86. package/dist/api/cart.d.ts +0 -2
  87. package/dist/api/checkout.d.ts +0 -3
  88. package/dist/api/common.d.ts +0 -11
  89. package/dist/api/guestTicketDelegation.d.ts +0 -47
  90. package/dist/api/index.d.ts +0 -82
  91. package/dist/api/interceptors.d.ts +0 -1
  92. package/dist/api/orders.d.ts +0 -2
  93. package/dist/api/payment.d.ts +0 -5
  94. package/dist/api/preRegistrationComplete.d.ts +0 -3
  95. package/dist/api/publicRequest.d.ts +0 -9
  96. package/dist/api/resale.d.ts +0 -5
  97. package/dist/components/account-settings/index.d.ts +0 -3
  98. package/dist/components/addonsContainer/AddonComponent.d.ts +0 -18
  99. package/dist/components/addonsContainer/SimpleAddonsContainer.d.ts +0 -20
  100. package/dist/components/addonsContainer/adapters/index.d.ts +0 -12
  101. package/dist/components/addonsContainer/index.d.ts +0 -22
  102. package/dist/components/addonsContainer/normalizers/index.d.ts +0 -1
  103. package/dist/components/addonsContainer/useAddons.d.ts +0 -23
  104. package/dist/components/addonsContainer/utils/index.d.ts +0 -16
  105. package/dist/components/billing-info-container/hooks/index.d.ts +0 -3
  106. package/dist/components/billing-info-container/hooks/usePaymentContext.d.ts +0 -5
  107. package/dist/components/billing-info-container/hooks/usePaymentRedirect.d.ts +0 -14
  108. package/dist/components/billing-info-container/hooks/useStripePayment.d.ts +0 -18
  109. package/dist/components/billing-info-container/index.d.ts +0 -69
  110. package/dist/components/billing-info-container/utils.d.ts +0 -59
  111. package/dist/components/common/Checkbox.d.ts +0 -11
  112. package/dist/components/common/CheckboxField/index.d.ts +0 -9
  113. package/dist/components/common/CopyField.d.ts +0 -12
  114. package/dist/components/common/CopyMessageModal.d.ts +0 -7
  115. package/dist/components/common/CustomField.d.ts +0 -26
  116. package/dist/components/common/DatePickerField.d.ts +0 -20
  117. package/dist/components/common/FieldSection/index.d.ts +0 -19
  118. package/dist/components/common/FieldSection/utils/index.d.ts +0 -8
  119. package/dist/components/common/FormikPhoneNumberField.d.ts +0 -11
  120. package/dist/components/common/Loader.d.ts +0 -2
  121. package/dist/components/common/ModalComponent/index.d.ts +0 -16
  122. package/dist/components/common/NativeSelectFeild/index.d.ts +0 -21
  123. package/dist/components/common/PhoneNumberField.d.ts +0 -14
  124. package/dist/components/common/PoweredBy.d.ts +0 -2
  125. package/dist/components/common/RadioField.d.ts +0 -11
  126. package/dist/components/common/RadioGroupField/index.d.ts +0 -17
  127. package/dist/components/common/RedirectModal.d.ts +0 -7
  128. package/dist/components/common/SelectField/index.d.ts +0 -19
  129. package/dist/components/common/SnackbarAlert.d.ts +0 -13
  130. package/dist/components/common/index.d.ts +0 -11
  131. package/dist/components/common/socials.d.ts +0 -10
  132. package/dist/components/confirmModal/index.d.ts +0 -10
  133. package/dist/components/confirmationContainer/config.d.ts +0 -1
  134. package/dist/components/confirmationContainer/index.d.ts +0 -46
  135. package/dist/components/confirmationContainer/social-buttons.d.ts +0 -16
  136. package/dist/components/countdown/index.d.ts +0 -14
  137. package/dist/components/delegationsContainer/IssueComponent.d.ts +0 -10
  138. package/dist/components/delegationsContainer/IssueTicketForm.d.ts +0 -9
  139. package/dist/components/delegationsContainer/TicketsAssignedTable.d.ts +0 -11
  140. package/dist/components/delegationsContainer/TicketsAvailableTable.d.ts +0 -11
  141. package/dist/components/delegationsContainer/index.d.ts +0 -10
  142. package/dist/components/forgotPasswordModal/index.d.ts +0 -12
  143. package/dist/components/idVerificationContainer/VerificationPendingModal.d.ts +0 -10
  144. package/dist/components/idVerificationContainer/constants.d.ts +0 -21
  145. package/dist/components/idVerificationContainer/index.d.ts +0 -16
  146. package/dist/components/index.d.ts +0 -12
  147. package/dist/components/loginForm/index.d.ts +0 -31
  148. package/dist/components/loginModal/SignUpForm.d.ts +0 -10
  149. package/dist/components/loginModal/constants.d.ts +0 -39
  150. package/dist/components/loginModal/index.d.ts +0 -22
  151. package/dist/components/myTicketsContainer/index.d.ts +0 -16
  152. package/dist/components/myTicketsContainer/row.d.ts +0 -3
  153. package/dist/components/myTicketsContainer/tableConfig.d.ts +0 -5
  154. package/dist/components/orderDetailsContainer/CustomFieldsForm.d.ts +0 -12
  155. package/dist/components/orderDetailsContainer/TicketHolderCustomFields.d.ts +0 -10
  156. package/dist/components/orderDetailsContainer/index.d.ts +0 -66
  157. package/dist/components/orderDetailsContainer/ticketsTable.d.ts +0 -46
  158. package/dist/components/orderDetailsContainer/utils/index.d.ts +0 -6
  159. package/dist/components/paymentContainer/OrderDetails.d.ts +0 -9
  160. package/dist/components/paymentContainer/PaymentPlanSection.d.ts +0 -10
  161. package/dist/components/paymentContainer/handlePayment.d.ts +0 -15
  162. package/dist/components/paymentContainer/index.d.ts +0 -39
  163. package/dist/components/preRegistration/FieldsSection.d.ts +0 -19
  164. package/dist/components/preRegistration/Influancers.d.ts +0 -2
  165. package/dist/components/preRegistration/PreRegistrationComplete.d.ts +0 -13
  166. package/dist/components/preRegistration/PreRegistrationInformations.d.ts +0 -2
  167. package/dist/components/preRegistration/Prewards.d.ts +0 -2
  168. package/dist/components/preRegistration/ShareOptions.d.ts +0 -2
  169. package/dist/components/preRegistration/constants.d.ts +0 -2
  170. package/dist/components/preRegistration/index.d.ts +0 -23
  171. package/dist/components/preRegistration/utils.d.ts +0 -12
  172. package/dist/components/registerForm/adapters/index.d.ts +0 -4
  173. package/dist/components/registerForm/constants.d.ts +0 -1
  174. package/dist/components/registerForm/index.d.ts +0 -16
  175. package/dist/components/registerModal/index.d.ts +0 -12
  176. package/dist/components/resetPasswordContainer/index.d.ts +0 -10
  177. package/dist/components/rsvpContainer/index.d.ts +0 -7
  178. package/dist/components/seatMapContainer/SeatMapComponent.d.ts +0 -8
  179. package/dist/components/seatMapContainer/TicketsSection.d.ts +0 -9
  180. package/dist/components/seatMapContainer/addToCart.d.ts +0 -14
  181. package/dist/components/seatMapContainer/index.d.ts +0 -2
  182. package/dist/components/seatMapContainer/utils.d.ts +0 -6
  183. package/dist/components/signupModal/index.d.ts +0 -12
  184. package/dist/components/ticketResale/index.d.ts +0 -12
  185. package/dist/components/ticketResaleModal/index.d.ts +0 -19
  186. package/dist/components/ticketsContainer/AccessCodeSection.d.ts +0 -7
  187. package/dist/components/ticketsContainer/InfoIcon.d.ts +0 -5
  188. package/dist/components/ticketsContainer/PromoCodeSection.d.ts +0 -15
  189. package/dist/components/ticketsContainer/ReferralLogic.d.ts +0 -5
  190. package/dist/components/ticketsContainer/TicketRow.d.ts +0 -13
  191. package/dist/components/ticketsContainer/TicketsSection.d.ts +0 -20
  192. package/dist/components/ticketsContainer/TimeSlotTicketRow.d.ts +0 -19
  193. package/dist/components/ticketsContainer/TimeSlotsSection.d.ts +0 -25
  194. package/dist/components/ticketsContainer/index.d.ts +0 -93
  195. package/dist/components/ticketsContainer/utils.d.ts +0 -13
  196. package/dist/components/timerWidget/index.d.ts +0 -16
  197. package/dist/components/waitingList/index.d.ts +0 -9
  198. package/dist/constants/index.d.ts +0 -7
  199. package/dist/env.d.ts +0 -16
  200. package/dist/hoc/CustomFields/index.d.ts +0 -3
  201. package/dist/hoc/index.d.ts +0 -1
  202. package/dist/hooks/index.d.ts +0 -1
  203. package/dist/hooks/useCookieListener.d.ts +0 -1
  204. package/dist/hooks/useEventListener.d.ts +0 -1
  205. package/dist/hooks/useLocalStorageListener.d.ts +0 -1
  206. package/dist/hooks/useOnline.d.ts +0 -1
  207. package/dist/hooks/usePixel.d.ts +0 -6
  208. package/dist/images/Polygon.png +0 -0
  209. package/dist/images/cross.svg +0 -44
  210. package/dist/images/done.svg +0 -3
  211. package/dist/images/edit.svg +0 -10
  212. package/dist/images/email.svg +0 -1
  213. package/dist/images/instagram.svg +0 -5
  214. package/dist/images/logo-ttf.png +0 -0
  215. package/dist/images/spotify.svg +0 -6
  216. package/dist/images/user.svg +0 -1
  217. package/dist/images/xmark.svg +0 -92
  218. package/dist/normalizers/index.d.ts +0 -4
  219. package/dist/tf-checkout-react.cjs.development.js +0 -16149
  220. package/dist/tf-checkout-react.cjs.development.js.map +0 -1
  221. package/dist/tf-checkout-react.cjs.production.min.js +0 -2
  222. package/dist/tf-checkout-react.cjs.production.min.js.map +0 -1
  223. package/dist/tf-checkout-react.esm.js +0 -16116
  224. package/dist/tf-checkout-react.esm.js.map +0 -1
  225. package/dist/tf-checkout-styles.css +0 -1
  226. package/dist/types/add_on.d.ts +0 -8
  227. package/dist/types/billing-info-data.d.ts +0 -27
  228. package/dist/types/checkoutPageConfigs.d.ts +0 -13
  229. package/dist/types/index.d.ts +0 -6
  230. package/dist/types/order-data.d.ts +0 -15
  231. package/dist/types/payment-field.d.ts +0 -6
  232. package/dist/types/payment-plan-configuration.d.ts +0 -18
  233. package/dist/types/referral-promotion.d.ts +0 -6
  234. package/dist/types/verification.d.ts +0 -12
  235. package/dist/utils/adaptStripeErrors.d.ts +0 -8
  236. package/dist/utils/auth.d.ts +0 -21
  237. package/dist/utils/cookies.d.ts +0 -3
  238. package/dist/utils/createCheckoutDataBodyWithDefaultHolder.d.ts +0 -23
  239. package/dist/utils/createMarkup.d.ts +0 -3
  240. package/dist/utils/customFields.d.ts +0 -35
  241. package/dist/utils/downloadPDF.d.ts +0 -1
  242. package/dist/utils/form.d.ts +0 -3
  243. package/dist/utils/formikErrorFocus.d.ts +0 -2
  244. package/dist/utils/getDomain.d.ts +0 -1
  245. package/dist/utils/getImage.d.ts +0 -1
  246. package/dist/utils/getQueryVariable.d.ts +0 -1
  247. package/dist/utils/htmlNodeFromString.d.ts +0 -1
  248. package/dist/utils/index.d.ts +0 -15
  249. package/dist/utils/isBrowser.d.ts +0 -1
  250. package/dist/utils/isValidNumber.d.ts +0 -1
  251. package/dist/utils/jsonUtils.d.ts +0 -1
  252. package/dist/utils/replaceVarInString.d.ts +0 -1
  253. package/dist/utils/setConfigs.d.ts +0 -11
  254. package/dist/utils/showZero.d.ts +0 -1
  255. package/dist/validators/index.d.ts +0 -8
  256. package/src/adapters/customFields.ts +0 -85
  257. package/src/adapters/index.ts +0 -1
  258. package/src/api/auth.ts +0 -88
  259. package/src/api/cart.ts +0 -28
  260. package/src/api/checkout.ts +0 -28
  261. package/src/api/common.ts +0 -190
  262. package/src/api/guestTicketDelegation.ts +0 -79
  263. package/src/api/index.ts +0 -346
  264. package/src/api/interceptors.ts +0 -77
  265. package/src/api/orders.ts +0 -30
  266. package/src/api/payment.ts +0 -77
  267. package/src/api/preRegistrationComplete.ts +0 -37
  268. package/src/api/publicRequest.ts +0 -47
  269. package/src/api/resale.ts +0 -28
  270. package/src/assets/images/Polygon.png +0 -0
  271. package/src/assets/images/cross.svg +0 -44
  272. package/src/assets/images/done.svg +0 -3
  273. package/src/assets/images/edit.svg +0 -10
  274. package/src/assets/images/email.svg +0 -1
  275. package/src/assets/images/instagram.svg +0 -5
  276. package/src/assets/images/logo-ttf.png +0 -0
  277. package/src/assets/images/spotify.svg +0 -6
  278. package/src/assets/images/user.svg +0 -1
  279. package/src/assets/images/xmark.svg +0 -92
  280. package/src/components/account-settings/index.tsx +0 -161
  281. package/src/components/account-settings/style.css +0 -200
  282. package/src/components/addonsContainer/AddonComponent.tsx +0 -204
  283. package/src/components/addonsContainer/SimpleAddonsContainer.tsx +0 -459
  284. package/src/components/addonsContainer/adapters/index.tsx +0 -62
  285. package/src/components/addonsContainer/index.tsx +0 -353
  286. package/src/components/addonsContainer/normalizers/index.ts +0 -5
  287. package/src/components/addonsContainer/useAddons.ts +0 -248
  288. package/src/components/addonsContainer/utils/index.tsx +0 -231
  289. package/src/components/billing-info-container/hooks/index.ts +0 -3
  290. package/src/components/billing-info-container/hooks/usePaymentContext.ts +0 -22
  291. package/src/components/billing-info-container/hooks/usePaymentRedirect.ts +0 -145
  292. package/src/components/billing-info-container/hooks/useStripePayment.ts +0 -119
  293. package/src/components/billing-info-container/index.tsx +0 -1695
  294. package/src/components/billing-info-container/style.css +0 -150
  295. package/src/components/billing-info-container/utils.tsx +0 -413
  296. package/src/components/common/Checkbox.tsx +0 -51
  297. package/src/components/common/CheckboxField/index.tsx +0 -41
  298. package/src/components/common/CopyField.tsx +0 -53
  299. package/src/components/common/CopyMessageModal.tsx +0 -34
  300. package/src/components/common/CustomField.tsx +0 -168
  301. package/src/components/common/DatePickerField.tsx +0 -126
  302. package/src/components/common/FieldSection/index.tsx +0 -141
  303. package/src/components/common/FieldSection/utils/index.tsx +0 -92
  304. package/src/components/common/FormikPhoneNumberField.tsx +0 -51
  305. package/src/components/common/Loader.tsx +0 -8
  306. package/src/components/common/ModalComponent/index.tsx +0 -68
  307. package/src/components/common/NativeSelectFeild/index.tsx +0 -86
  308. package/src/components/common/PhoneNumberField.tsx +0 -117
  309. package/src/components/common/PoweredBy.tsx +0 -15
  310. package/src/components/common/RadioField.tsx +0 -36
  311. package/src/components/common/RadioGroupField/index.tsx +0 -76
  312. package/src/components/common/RedirectModal.tsx +0 -43
  313. package/src/components/common/SelectField/index.tsx +0 -104
  314. package/src/components/common/SnackbarAlert.tsx +0 -52
  315. package/src/components/common/index.tsx +0 -11
  316. package/src/components/common/socials.tsx +0 -33
  317. package/src/components/confirmModal/index.tsx +0 -60
  318. package/src/components/confirmationContainer/config.ts +0 -79
  319. package/src/components/confirmationContainer/index.tsx +0 -349
  320. package/src/components/confirmationContainer/social-buttons.tsx +0 -149
  321. package/src/components/confirmationContainer/style.css +0 -206
  322. package/src/components/countdown/index.tsx +0 -100
  323. package/src/components/countdown/style.css +0 -10
  324. package/src/components/delegationsContainer/IssueComponent.tsx +0 -156
  325. package/src/components/delegationsContainer/IssueTicketForm.tsx +0 -109
  326. package/src/components/delegationsContainer/TicketsAssignedTable.tsx +0 -55
  327. package/src/components/delegationsContainer/TicketsAvailableTable.tsx +0 -54
  328. package/src/components/delegationsContainer/index.tsx +0 -83
  329. package/src/components/forgotPasswordModal/index.tsx +0 -138
  330. package/src/components/forgotPasswordModal/style.css +0 -47
  331. package/src/components/idVerificationContainer/VerificationPendingModal.tsx +0 -47
  332. package/src/components/idVerificationContainer/constants.ts +0 -27
  333. package/src/components/idVerificationContainer/index.tsx +0 -323
  334. package/src/components/index.ts +0 -12
  335. package/src/components/loginForm/index.tsx +0 -202
  336. package/src/components/loginModal/SignUpForm.tsx +0 -329
  337. package/src/components/loginModal/constants.ts +0 -46
  338. package/src/components/loginModal/index.tsx +0 -263
  339. package/src/components/loginModal/style.css +0 -116
  340. package/src/components/myTicketsContainer/index.tsx +0 -228
  341. package/src/components/myTicketsContainer/row.tsx +0 -46
  342. package/src/components/myTicketsContainer/style.css +0 -40
  343. package/src/components/myTicketsContainer/tableConfig.tsx +0 -80
  344. package/src/components/myTicketsContainer/types.d.ts +0 -41
  345. package/src/components/orderDetailsContainer/CustomFieldsForm.tsx +0 -75
  346. package/src/components/orderDetailsContainer/TicketHolderCustomFields.tsx +0 -100
  347. package/src/components/orderDetailsContainer/index.tsx +0 -586
  348. package/src/components/orderDetailsContainer/style.css +0 -77
  349. package/src/components/orderDetailsContainer/ticketsTable.tsx +0 -246
  350. package/src/components/orderDetailsContainer/utils/index.tsx +0 -55
  351. package/src/components/paymentContainer/OrderDetails.tsx +0 -277
  352. package/src/components/paymentContainer/PaymentPlanSection.tsx +0 -169
  353. package/src/components/paymentContainer/handlePayment.ts +0 -86
  354. package/src/components/paymentContainer/index.tsx +0 -643
  355. package/src/components/paymentContainer/style.css +0 -196
  356. package/src/components/preRegistration/FieldsSection.tsx +0 -150
  357. package/src/components/preRegistration/Influancers.tsx +0 -34
  358. package/src/components/preRegistration/PreRegistrationComplete.tsx +0 -186
  359. package/src/components/preRegistration/PreRegistrationInformations.tsx +0 -60
  360. package/src/components/preRegistration/Prewards.tsx +0 -41
  361. package/src/components/preRegistration/ShareOptions.tsx +0 -77
  362. package/src/components/preRegistration/constants.tsx +0 -169
  363. package/src/components/preRegistration/index.tsx +0 -330
  364. package/src/components/preRegistration/style.css +0 -3
  365. package/src/components/preRegistration/utils.ts +0 -163
  366. package/src/components/registerForm/adapters/index.tsx +0 -10
  367. package/src/components/registerForm/constants.tsx +0 -98
  368. package/src/components/registerForm/index.tsx +0 -188
  369. package/src/components/registerModal/index.tsx +0 -154
  370. package/src/components/registerModal/style.css +0 -18
  371. package/src/components/resetPasswordContainer/index.tsx +0 -102
  372. package/src/components/resetPasswordContainer/style.css +0 -36
  373. package/src/components/rsvpContainer/index.tsx +0 -126
  374. package/src/components/seatMapContainer/SeatMapComponent.tsx +0 -77
  375. package/src/components/seatMapContainer/TicketsSection.tsx +0 -286
  376. package/src/components/seatMapContainer/addToCart.ts +0 -66
  377. package/src/components/seatMapContainer/index.tsx +0 -443
  378. package/src/components/seatMapContainer/utils.ts +0 -133
  379. package/src/components/signupModal/index.tsx +0 -178
  380. package/src/components/signupModal/style.css +0 -58
  381. package/src/components/ticketResale/index.tsx +0 -86
  382. package/src/components/ticketResaleModal/index.tsx +0 -224
  383. package/src/components/ticketResaleModal/style.css +0 -28
  384. package/src/components/ticketsContainer/AccessCodeSection.tsx +0 -50
  385. package/src/components/ticketsContainer/InfoIcon.tsx +0 -35
  386. package/src/components/ticketsContainer/PromoCodeSection.tsx +0 -116
  387. package/src/components/ticketsContainer/ReferralLogic.tsx +0 -33
  388. package/src/components/ticketsContainer/TicketRow.tsx +0 -107
  389. package/src/components/ticketsContainer/TicketsSection.tsx +0 -350
  390. package/src/components/ticketsContainer/TimeSlotTicketRow.tsx +0 -243
  391. package/src/components/ticketsContainer/TimeSlotsSection.tsx +0 -194
  392. package/src/components/ticketsContainer/index.tsx +0 -986
  393. package/src/components/ticketsContainer/style.css +0 -178
  394. package/src/components/ticketsContainer/utils.ts +0 -35
  395. package/src/components/timerWidget/index.tsx +0 -97
  396. package/src/components/timerWidget/style.css +0 -35
  397. package/src/components/waitingList/index.tsx +0 -190
  398. package/src/components/waitingList/style.css +0 -27
  399. package/src/constants/index.ts +0 -3
  400. package/src/env.ts +0 -29
  401. package/src/hoc/CustomFields/index.tsx +0 -85
  402. package/src/hoc/index.ts +0 -1
  403. package/src/hooks/index.ts +0 -1
  404. package/src/hooks/useCookieListener.ts +0 -32
  405. package/src/hooks/useEventListener.ts +0 -32
  406. package/src/hooks/useLocalStorageListener.ts +0 -32
  407. package/src/hooks/useOnline.ts +0 -21
  408. package/src/hooks/usePixel.ts +0 -88
  409. package/src/normalizers/index.ts +0 -49
  410. package/src/types/add_on.ts +0 -8
  411. package/src/types/api/auth.d.ts +0 -63
  412. package/src/types/api/axiosResponse.d.ts +0 -6
  413. package/src/types/api/cart.d.ts +0 -73
  414. package/src/types/api/checkout.d.ts +0 -92
  415. package/src/types/api/common.d.ts +0 -153
  416. package/src/types/api/guestTicketDelegation.d.ts +0 -18
  417. package/src/types/api/orders.d.ts +0 -116
  418. package/src/types/api/payment.d.ts +0 -180
  419. package/src/types/api/preRegistration.d.ts +0 -11
  420. package/src/types/api/preRegistrationComplete.d.ts +0 -95
  421. package/src/types/api/ticketResale.d.ts +0 -13
  422. package/src/types/billing-info-data.ts +0 -37
  423. package/src/types/checkoutPageConfigs.ts +0 -13
  424. package/src/types/formFields.d.ts +0 -29
  425. package/src/types/index.ts +0 -6
  426. package/src/types/order-data.ts +0 -16
  427. package/src/types/payment-field.ts +0 -7
  428. package/src/types/payment-plan-configuration.ts +0 -19
  429. package/src/types/pre-registration-complete.d.ts +0 -47
  430. package/src/types/referral-promotion.ts +0 -7
  431. package/src/types/seatMap.d.ts +0 -159
  432. package/src/types/verification.ts +0 -12
  433. package/src/utils/adaptStripeErrors.ts +0 -26
  434. package/src/utils/auth.ts +0 -45
  435. package/src/utils/cookies.ts +0 -73
  436. package/src/utils/createCheckoutDataBodyWithDefaultHolder.ts +0 -81
  437. package/src/utils/createMarkup.ts +0 -1
  438. package/src/utils/customFields.ts +0 -80
  439. package/src/utils/downloadPDF.tsx +0 -42
  440. package/src/utils/form.ts +0 -34
  441. package/src/utils/formikErrorFocus.ts +0 -24
  442. package/src/utils/getDomain.ts +0 -21
  443. package/src/utils/getImage.ts +0 -14
  444. package/src/utils/getQueryVariable.ts +0 -13
  445. package/src/utils/htmlNodeFromString.ts +0 -6
  446. package/src/utils/index.ts +0 -15
  447. package/src/utils/isBrowser.ts +0 -2
  448. package/src/utils/isValidNumber.ts +0 -8
  449. package/src/utils/jsonUtils.ts +0 -8
  450. package/src/utils/replaceVarInString.ts +0 -9
  451. package/src/utils/setConfigs.ts +0 -24
  452. package/src/utils/showZero.tsx +0 -10
  453. package/src/validators/index.ts +0 -61
@@ -0,0 +1,333 @@
1
+ import { useT } from '../ui/I18nProvider'
2
+ import React, { useEffect, useMemo, useState, type FC, type FormEvent } from 'react'
3
+ import { PhoneInput, type CountryIso2 } from 'react-international-phone'
4
+
5
+ import {
6
+ hooks,
7
+ type AuthFieldErrors,
8
+ type AuthFieldName,
9
+ type AuthRegistrationInput,
10
+ } from 'tf-checkout-shared'
11
+
12
+ import { Button } from '../ui/Button'
13
+ import { Field, FieldRow, Input, Select } from '../ui/Field'
14
+ import { PasswordInput } from './PasswordInput'
15
+
16
+ export interface RegisterFormProps {
17
+ initialEmail?: string
18
+ errors?: AuthFieldErrors
19
+ error?: string
20
+ loading?: boolean
21
+ requireAddress?: boolean
22
+ onSubmit: (
23
+ input: AuthRegistrationInput,
24
+ options: { requireState: boolean }
25
+ ) => void | Promise<unknown>
26
+ onFieldChange?: (field: AuthFieldName) => void
27
+ }
28
+
29
+ const emptyRegistration = (email: string): AuthRegistrationInput => ({
30
+ firstName: '',
31
+ lastName: '',
32
+ email,
33
+ password: '',
34
+ passwordConfirmation: '',
35
+ phone: '',
36
+ streetAddress: '',
37
+ city: '',
38
+ zip: '',
39
+ countryId: '',
40
+ stateId: '',
41
+ })
42
+
43
+ /** Legacy-compatible account fields with no API or validation logic inside. */
44
+ export const RegisterForm: FC<RegisterFormProps> = ({
45
+ initialEmail = '',
46
+ errors = {},
47
+ error,
48
+ loading = false,
49
+ requireAddress = true,
50
+ onSubmit,
51
+ onFieldChange,
52
+ }) => {
53
+ const t = useT()
54
+ const [values, setValues] = useState<AuthRegistrationInput>(() =>
55
+ emptyRegistration(initialEmail)
56
+ )
57
+ const countriesQuery = hooks.useCountries()
58
+ const countries = useMemo(() => countriesQuery.data ?? [], [countriesQuery.data])
59
+ const statesQuery = hooks.useStates(values.countryId, {
60
+ enabled: requireAddress && Boolean(values.countryId),
61
+ })
62
+ const states = useMemo(() => statesQuery.data ?? [], [statesQuery.data])
63
+
64
+ useEffect(() => {
65
+ if (initialEmail && !values.email)
66
+ setValues((current) => ({ ...current, email: initialEmail }))
67
+ }, [initialEmail, values.email])
68
+
69
+ // The old form defaults to the US. Resolve it by ISO code rather than the
70
+ // old hard-coded country id so this remains backend/environment safe.
71
+ useEffect(() => {
72
+ if (!requireAddress || values.countryId || countries.length === 0) return
73
+ const preferred =
74
+ countries.find((country) => country.code?.toLowerCase() === 'us') ?? countries[0]
75
+ setValues((current) => ({
76
+ ...current,
77
+ countryId: String(preferred.id),
78
+ phone:
79
+ current.phone || (preferred.code?.toLowerCase() === 'us' ? '+1' : current.phone),
80
+ }))
81
+ }, [countries, requireAddress, values.countryId])
82
+
83
+ const patch = (next: Partial<AuthRegistrationInput>) =>
84
+ setValues((current) => ({ ...current, ...next }))
85
+ const setField = (field: AuthFieldName, value: string) => {
86
+ setValues((current) => ({ ...current, [field]: value }))
87
+ onFieldChange?.(field)
88
+ }
89
+
90
+ const selectedCountry = countries.find(
91
+ (country) => String(country.id) === String(values.countryId)
92
+ )
93
+ const phoneCountry = (selectedCountry?.code?.toLowerCase() ?? 'us') as CountryIso2
94
+
95
+ const submit = (event: FormEvent) => {
96
+ event.preventDefault()
97
+ void onSubmit(values, { requireState: states.length > 0 })
98
+ }
99
+
100
+ return (
101
+ <form
102
+ className="tf-checkout-auth__form tf-checkout-auth__form--register"
103
+ onSubmit={submit}
104
+ noValidate
105
+ >
106
+ {error && (
107
+ <div className="tf-checkout-auth__alert" role="alert">
108
+ {error}
109
+ </div>
110
+ )}
111
+
112
+ <FieldRow>
113
+ <Field
114
+ className="tf-checkout-auth__input-field"
115
+ label={t('auth.firstName')}
116
+ error={errors.firstName}
117
+ >
118
+ <Input
119
+ name="firstName"
120
+ placeholder={t('auth.firstNamePlaceholder')}
121
+ autoComplete="given-name"
122
+ autoFocus
123
+ required
124
+ value={values.firstName}
125
+ invalid={Boolean(errors.firstName)}
126
+ onChange={(event) => setField('firstName', event.target.value)}
127
+ />
128
+ </Field>
129
+ <Field
130
+ className="tf-checkout-auth__input-field"
131
+ label={t('auth.lastName')}
132
+ error={errors.lastName}
133
+ >
134
+ <Input
135
+ name="lastName"
136
+ placeholder={t('auth.lastNamePlaceholder')}
137
+ autoComplete="family-name"
138
+ required
139
+ value={values.lastName}
140
+ invalid={Boolean(errors.lastName)}
141
+ onChange={(event) => setField('lastName', event.target.value)}
142
+ />
143
+ </Field>
144
+ </FieldRow>
145
+
146
+ {requireAddress ? (
147
+ <>
148
+ <FieldRow>
149
+ <Field
150
+ className="tf-checkout-auth__input-field"
151
+ label={t('auth.email')}
152
+ error={errors.email}
153
+ >
154
+ <Input
155
+ type="email"
156
+ name="email"
157
+ placeholder={t('auth.emailPlaceholder')}
158
+ autoComplete="email"
159
+ required
160
+ value={values.email}
161
+ invalid={Boolean(errors.email)}
162
+ onChange={(event) => setField('email', event.target.value)}
163
+ />
164
+ </Field>
165
+ <Field
166
+ className="tf-checkout-auth__input-field"
167
+ label={t('auth.streetAddress')}
168
+ error={errors.streetAddress}
169
+ >
170
+ <Input
171
+ name="streetAddress"
172
+ placeholder={t('auth.streetAddressPlaceholder')}
173
+ autoComplete="street-address"
174
+ required
175
+ value={values.streetAddress}
176
+ invalid={Boolean(errors.streetAddress)}
177
+ onChange={(event) => setField('streetAddress', event.target.value)}
178
+ />
179
+ </Field>
180
+ </FieldRow>
181
+ <FieldRow>
182
+ <Field
183
+ className="tf-checkout-auth__input-field"
184
+ label={t('auth.postcode')}
185
+ error={errors.zip}
186
+ >
187
+ <Input
188
+ name="zip"
189
+ placeholder={t('auth.postcodePlaceholder')}
190
+ autoComplete="postal-code"
191
+ required
192
+ value={values.zip}
193
+ invalid={Boolean(errors.zip)}
194
+ onChange={(event) => setField('zip', event.target.value)}
195
+ />
196
+ </Field>
197
+ <Field
198
+ className="tf-checkout-auth__select-field"
199
+ label={t('auth.country')}
200
+ error={errors.countryId}
201
+ >
202
+ <Select
203
+ name="countryId"
204
+ autoComplete="country"
205
+ required
206
+ value={values.countryId}
207
+ invalid={Boolean(errors.countryId)}
208
+ onChange={(event) => {
209
+ patch({ countryId: event.target.value, stateId: '' })
210
+ onFieldChange?.('countryId')
211
+ onFieldChange?.('stateId')
212
+ }}
213
+ >
214
+ <option value="">{t('auth.selectCountry')}</option>
215
+ {countries.map((country) => (
216
+ <option key={country.id} value={country.id}>
217
+ {country.name}
218
+ </option>
219
+ ))}
220
+ </Select>
221
+ </Field>
222
+ </FieldRow>
223
+ <FieldRow>
224
+ <Field
225
+ className="tf-checkout-auth__select-field"
226
+ label={t('auth.state')}
227
+ error={errors.stateId}
228
+ >
229
+ <Select
230
+ name="stateId"
231
+ autoComplete="address-level1"
232
+ value={values.stateId}
233
+ disabled={!values.countryId || states.length === 0}
234
+ required={states.length > 0}
235
+ invalid={Boolean(errors.stateId)}
236
+ onChange={(event) => setField('stateId', event.target.value)}
237
+ >
238
+ <option value="">
239
+ {states.length > 0 ? 'Select state / region' : 'Not required'}
240
+ </option>
241
+ {states.map((state) => (
242
+ <option key={state.id} value={state.id}>
243
+ {state.name}
244
+ </option>
245
+ ))}
246
+ </Select>
247
+ </Field>
248
+ <Field
249
+ className="tf-checkout-auth__input-field"
250
+ label={t('auth.city')}
251
+ error={errors.city}
252
+ >
253
+ <Input
254
+ name="city"
255
+ placeholder={t('auth.cityPlaceholder')}
256
+ autoComplete="address-level2"
257
+ required
258
+ value={values.city}
259
+ invalid={Boolean(errors.city)}
260
+ onChange={(event) => setField('city', event.target.value)}
261
+ />
262
+ </Field>
263
+ </FieldRow>
264
+ </>
265
+ ) : (
266
+ <Field
267
+ className="tf-checkout-auth__input-field"
268
+ label={t('auth.email')}
269
+ error={errors.email}
270
+ >
271
+ <Input
272
+ type="email"
273
+ name="email"
274
+ placeholder={t('auth.emailPlaceholder')}
275
+ autoComplete="email"
276
+ required
277
+ value={values.email}
278
+ invalid={Boolean(errors.email)}
279
+ onChange={(event) => setField('email', event.target.value)}
280
+ />
281
+ </Field>
282
+ )}
283
+
284
+ <Field className="tf-checkout-auth__phone-field" label={t('auth.phone')}>
285
+ <PhoneInput
286
+ className="tf-checkout-phone"
287
+ inputClassName="tf-checkout-input tf-checkout-phone__input"
288
+ defaultCountry={phoneCountry}
289
+ value={values.phone ?? ''}
290
+ placeholder=""
291
+ inputProps={{ autoComplete: 'tel', 'aria-label': 'Phone' }}
292
+ onChange={(phone) => setField('phone', phone)}
293
+ />
294
+ </Field>
295
+
296
+ <FieldRow>
297
+ <Field
298
+ className="tf-checkout-auth__input-field"
299
+ label={t('auth.password')}
300
+ error={errors.password}
301
+ >
302
+ <PasswordInput
303
+ name="password"
304
+ placeholder={t('auth.passwordPlaceholder')}
305
+ autoComplete="new-password"
306
+ required
307
+ value={values.password}
308
+ invalid={Boolean(errors.password)}
309
+ onChange={(event) => setField('password', event.target.value)}
310
+ />
311
+ </Field>
312
+ <Field
313
+ className="tf-checkout-auth__input-field"
314
+ label={t('auth.confirmPassword')}
315
+ error={errors.passwordConfirmation}
316
+ >
317
+ <PasswordInput
318
+ name="passwordConfirmation"
319
+ placeholder={t('auth.confirmPasswordPlaceholder')}
320
+ autoComplete="new-password"
321
+ required
322
+ value={values.passwordConfirmation}
323
+ invalid={Boolean(errors.passwordConfirmation)}
324
+ onChange={(event) => setField('passwordConfirmation', event.target.value)}
325
+ />
326
+ </Field>
327
+ </FieldRow>
328
+ <Button type="submit" block loading={loading}>
329
+ Create Account
330
+ </Button>
331
+ </form>
332
+ )
333
+ }
@@ -0,0 +1,112 @@
1
+ import { useT } from '../ui/I18nProvider'
2
+ import React, { useMemo, useState, type FC, type FormEvent } from 'react'
3
+
4
+ import { errorMessage, hooks } from 'tf-checkout-shared'
5
+
6
+ import { Button } from '../ui/Button'
7
+ import { Field, Input } from '../ui/Field'
8
+
9
+ export interface ResetPasswordFormProps {
10
+ /** Token from the password-reset email. */
11
+ token: string
12
+ onSuccess?: () => void
13
+ onBackToLogin?: () => void
14
+ }
15
+
16
+ /** Complete the password-reset flow started by `<ForgotPasswordForm/>`. */
17
+ export const ResetPasswordForm: FC<ResetPasswordFormProps> = ({
18
+ token,
19
+ onSuccess,
20
+ onBackToLogin,
21
+ }) => {
22
+ const t = useT()
23
+ const [password, setPassword] = useState('')
24
+ const [confirmation, setConfirmation] = useState('')
25
+ const [submitted, setSubmitted] = useState(false)
26
+ const [success, setSuccess] = useState(false)
27
+
28
+ const validation = useMemo(() => {
29
+ if (!submitted) return {}
30
+ return {
31
+ token: token ? '' : 'This password-reset link is missing its token.',
32
+ password:
33
+ password.length < 8
34
+ ? 'Password must have at least 8 characters.'
35
+ : !/[@$!%*#?&]/.test(password)
36
+ ? 'Password must contain at least one special character.'
37
+ : '',
38
+ confirmation: password !== confirmation ? 'Passwords must match.' : '',
39
+ }
40
+ }, [confirmation, password, submitted, token])
41
+
42
+ const reset = hooks.useResetPassword({
43
+ onSuccess: () => {
44
+ setSuccess(true)
45
+ onSuccess?.()
46
+ },
47
+ })
48
+
49
+ const submit = (event: FormEvent) => {
50
+ event.preventDefault()
51
+ setSubmitted(true)
52
+ const passwordValid = password.length >= 8 && /[@$!%*#?&]/.test(password)
53
+ if (!token || !passwordValid || password !== confirmation) return
54
+ reset.mutate({ token, password, passwordConfirmation: confirmation })
55
+ }
56
+
57
+ if (success) {
58
+ return (
59
+ <div className="tf-checkout-auth__form">
60
+ <div className="tf-checkout-auth__success" role="status">
61
+ Your password has been changed. You can now log in.
62
+ </div>
63
+ {onBackToLogin && (
64
+ <Button type="button" block onClick={onBackToLogin}>
65
+ Log in
66
+ </Button>
67
+ )}
68
+ </div>
69
+ )
70
+ }
71
+
72
+ return (
73
+ <form className="tf-checkout-auth__form" onSubmit={submit} noValidate>
74
+ <h2 className="tf-checkout-auth__title">{t('auth.changePassword')}</h2>
75
+ {validation.token && (
76
+ <div className="tf-checkout-auth__alert" role="alert">
77
+ {validation.token}
78
+ </div>
79
+ )}
80
+ {reset.error && (
81
+ <div className="tf-checkout-auth__alert" role="alert">
82
+ {errorMessage(reset.error)}
83
+ </div>
84
+ )}
85
+ <Field label={t('auth.newPassword')} error={validation.password}>
86
+ <Input
87
+ type="password"
88
+ name="password"
89
+ autoComplete="new-password"
90
+ required
91
+ value={password}
92
+ invalid={Boolean(validation.password)}
93
+ onChange={(event) => setPassword(event.target.value)}
94
+ />
95
+ </Field>
96
+ <Field label={t('auth.confirmPassword')} error={validation.confirmation}>
97
+ <Input
98
+ type="password"
99
+ name="password_confirmation"
100
+ autoComplete="new-password"
101
+ required
102
+ value={confirmation}
103
+ invalid={Boolean(validation.confirmation)}
104
+ onChange={(event) => setConfirmation(event.target.value)}
105
+ />
106
+ </Field>
107
+ <Button type="submit" block loading={reset.isPending} disabled={!token}>
108
+ Submit
109
+ </Button>
110
+ </form>
111
+ )
112
+ }
@@ -0,0 +1,5 @@
1
+ export { AuthModal, type AuthModalProps } from './AuthModal'
2
+ export { LoginForm, type LoginFormProps } from './LoginForm'
3
+ export { RegisterForm, type RegisterFormProps } from './RegisterForm'
4
+ export { ForgotPasswordForm, type ForgotPasswordFormProps } from './ForgotPasswordForm'
5
+ export { ResetPasswordForm, type ResetPasswordFormProps } from './ResetPasswordForm'
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Public checkout stylesheet entry point.
3
+ *
4
+ * Feature styles live in small, responsibility-based files. Keep this import
5
+ * order stable: it preserves the checkout's existing cascade and public
6
+ * `tf-checkout-*` override contract for white-label consumers.
7
+ */
8
+ @import './styles/foundation.css';
9
+ @import './styles/primitives.css';
10
+ @import './styles/tickets.css';
11
+ @import './styles/payment.css';
12
+ @import './styles/confirmation.css';
13
+ @import './styles/billing.css';
14
+ @import './styles/auth.css';
15
+ @import './styles/addons.css';
16
+ @import './styles/verification-confirmation.css';
17
+ @import './styles/seat-map.css';
@@ -0,0 +1,29 @@
1
+ /**
2
+ * One-time SDK setup for the web. Wraps the shared `configure()` and defaults
3
+ * the storage adapter to `localStorage` (SSR-safe — no-ops on the server). Call
4
+ * once at app start, before any `useCheckout`/`ttf` call:
5
+ *
6
+ * configureCheckout({ env: 'PROD', clientId, clientSecret })
7
+ */
8
+ import {
9
+ configure,
10
+ type StorageAdapter,
11
+ type TtfConfig,
12
+ } from 'tf-checkout-shared'
13
+
14
+ const isBrowser =
15
+ typeof window !== 'undefined' && typeof window.localStorage !== 'undefined'
16
+
17
+ /** localStorage-backed token storage. No-ops on the server (SSR). */
18
+ export const localStorageAdapter: StorageAdapter = {
19
+ getItem: (key) => (isBrowser ? window.localStorage.getItem(key) : null),
20
+ setItem: (key, value) => {
21
+ if (isBrowser) window.localStorage.setItem(key, value)
22
+ },
23
+ removeItem: (key) => {
24
+ if (isBrowser) window.localStorage.removeItem(key)
25
+ },
26
+ }
27
+
28
+ export const configureCheckout = (config: TtfConfig): void =>
29
+ configure({ storage: localStorageAdapter, ...config })