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
@@ -1,353 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable react/no-unescaped-entities */
3
-
4
- import { CircularProgress } from '@mui/material'
5
- import { Form, Formik } from 'formik'
6
- import _identity from 'lodash/identity'
7
- import _map from 'lodash/map'
8
- import React, { useEffect, useState } from 'react'
9
- import { Tooltip } from 'react-tooltip'
10
-
11
- import { FEES_STYLES } from '../../constants'
12
- import { currencyNormalizerCreator } from '../../normalizers'
13
- import { CONFIGS, createMarkup, getQueryVariable, isBrowser } from '../../utils'
14
- import { VerificationPendingModal } from '../idVerificationContainer/VerificationPendingModal'
15
- import InfoIcon from '../ticketsContainer/InfoIcon'
16
- import TimerWidget from '../timerWidget'
17
- import AddonComponent from './AddonComponent'
18
- import { getNormalizedPrice } from './normalizers'
19
- import { isAtLeastOneAddonSelected } from './utils'
20
- import { useAddons } from './useAddons'
21
-
22
- export interface IAddonContainterProps {
23
- classNamePrefix?: string;
24
- enableBillingInfoAutoCreate?: boolean;
25
- enableTimer?: boolean;
26
- onGetAddonsPageInfoSuccess?: (res: any) => void;
27
- onGetAddonsPageInfoError?: (error: any) => void;
28
- onPostCheckoutSuccess?: (res: any) => void;
29
- onPostCheckoutError?: (error: any) => void;
30
- onConfirmSelectionSuccess?: (res: any) => void;
31
- onConfirmSelectionError?: (error: any) => void;
32
- onCountdownFinish?: () => void;
33
- onPendingVerification?: () => void;
34
- samePage?: boolean;
35
- descriptionTrigger?: 'click' | 'hover' | 'always';
36
- addOnDataWithCustomFields: any;
37
- configs: any;
38
-
39
- onAddOnSelect?: (id: string, value: string, addon: any) => void;
40
- useStepperQty?: boolean;
41
- addonMaxQuantityGroups?: number;
42
- }
43
-
44
-
45
- export const AddonsContainter = ({
46
- classNamePrefix = 'add_on',
47
- enableBillingInfoAutoCreate = true,
48
- enableTimer = false,
49
- onGetAddonsPageInfoSuccess = _identity,
50
- onGetAddonsPageInfoError = _identity,
51
- onPostCheckoutSuccess = _identity,
52
- onPostCheckoutError = _identity,
53
- onConfirmSelectionSuccess = _identity,
54
- onConfirmSelectionError = _identity,
55
- onCountdownFinish = _identity,
56
- onPendingVerification = _identity,
57
- samePage,
58
- descriptionTrigger = 'click',
59
- addOnDataWithCustomFields,
60
- configs,
61
- onAddOnSelect = _identity,
62
- useStepperQty = false,
63
- }: IAddonContainterProps) => {
64
- const eventId = getQueryVariable('event_id') || null
65
-
66
- const {
67
- addons,
68
- addonsOptions,
69
- loading,
70
- cartExpirationTime,
71
- pendingVerificationMessage,
72
- initialValues,
73
- onFieldChange,
74
- handleConfirm,
75
- handleClearAddons,
76
- } = useAddons(eventId, {
77
- enableBillingInfoAutoCreate,
78
- addOnDataWithCustomFields,
79
- onGetAddonsPageInfoSuccess,
80
- onGetAddonsPageInfoError,
81
- onPostCheckoutSuccess,
82
- onPostCheckoutError,
83
- onConfirmSelectionSuccess,
84
- onConfirmSelectionError,
85
- })
86
-
87
- const [visibleDescription, setVisibleDescription] = useState<string | null>(null)
88
-
89
- const handleDescriptionToggle = (ticketId: string) => {
90
- setVisibleDescription(current => (current === ticketId ? null : ticketId))
91
- }
92
-
93
- useEffect(() => {
94
- if (samePage) {
95
- window.localStorage.removeItem('add_ons')
96
- }
97
- }, [])
98
-
99
- if (loading) {
100
- return (
101
- <div className={`${classNamePrefix}_loader`}>
102
- <CircularProgress size={50} />
103
- </div>
104
- )
105
- }
106
-
107
- if (addons?.length === 0) {
108
- return null
109
- }
110
-
111
- const params = new URL(`${window.location}`).searchParams
112
- const addOnIsIncluded = params.get('include_add_on') === 'true'
113
- const isResale = params.get('resale') === 'true'
114
-
115
- return (
116
- <>
117
- {!!cartExpirationTime && enableTimer && !samePage && (
118
- <TimerWidget
119
- expires_at={cartExpirationTime}
120
- onCountdownFinish={() => {
121
- handleClearAddons()
122
- onCountdownFinish()
123
- }}
124
- />
125
- )}
126
- <div className={`${classNamePrefix}_container`}>
127
- <div className={`${classNamePrefix}_block`}>
128
- <div className={`${classNamePrefix}_line_block`}>
129
- {samePage ? null : (
130
- <p className={`${classNamePrefix}_info_title`}>Get Your Tickets</p>
131
- )}
132
- {(!addons?.length || (isResale && addOnIsIncluded)) && samePage ? null : (
133
- <div className={`${classNamePrefix}_title`}>UPGRADES & ADD-ONS</div>
134
- )}
135
- {samePage ? null : (
136
- <button
137
- type="button"
138
- className={`${classNamePrefix}_skip`}
139
- onClick={() => {
140
- handleClearAddons()
141
- handleConfirm({}, true)
142
- }}
143
- >
144
- Skip
145
- </button>
146
- )}
147
- </div>
148
- {(!addons?.length || (isResale && addOnIsIncluded)) && samePage ? null : (
149
- <div className={`${classNamePrefix}_subtitle`}>
150
- PLEASE SELECT FROM THE OPTIONAL ADD-ONS BELOW
151
- </div>
152
- )}
153
- <Formik
154
- initialValues={initialValues}
155
- onSubmit={values => {
156
- handleConfirm(values)
157
- }}
158
- validate={
159
- samePage
160
- ? values => {
161
- if (isBrowser) {
162
- window.localStorage.setItem('add_ons', JSON.stringify(values))
163
- }
164
- }
165
- : undefined
166
- }
167
- >
168
- {({ values, errors, setFieldTouched }) => {
169
- const isConfirmDisabled = !isAtLeastOneAddonSelected(values)
170
-
171
- return (
172
- <Form autoComplete="off" className="form_holder">
173
- <>
174
- {(isResale && addOnIsIncluded ? [] : addons).map((addon: any) => {
175
- const price = addon.feeIncluded ? addon.price : addon.cost
176
- const isAddonFree = Number(addon?.price) === 0
177
-
178
- const addOnNormalizedCost = isAddonFree
179
- ? 'FREE'
180
- : currencyNormalizerCreator(
181
- getNormalizedPrice(addon?.cost ?? 0),
182
- addon.currency
183
- )
184
-
185
- const addonNormalizedPrice = isAddonFree
186
- ? 'FREE'
187
- : currencyNormalizerCreator(
188
- getNormalizedPrice(
189
- CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH
190
- ? addon?.price ?? price
191
- : price
192
- ),
193
- addon.currency
194
- )
195
-
196
- return (
197
- <div
198
- key={addon.id}
199
- className={`${classNamePrefix}_product_block`}
200
- >
201
- <div className={`${classNamePrefix}_product_images`}>
202
- {addon.imageUrl && (
203
- <div className={`${classNamePrefix}_product_image_block`}>
204
- <img src={addon.imageUrl} alt="No Data" />
205
- </div>
206
- )}
207
- </div>
208
- <div className={`${classNamePrefix}_product_info_block`}>
209
- <div className={`${classNamePrefix}_product_title`}>
210
- {addon.name}
211
- {addon.description && descriptionTrigger !== 'always' && (
212
- <>
213
- <span
214
- aria-hidden
215
- className="info-icon"
216
- onClick={
217
- descriptionTrigger === 'click'
218
- ? () => handleDescriptionToggle(addon.id)
219
- : undefined
220
- }
221
- onMouseEnter={
222
- descriptionTrigger === 'hover'
223
- ? () => setVisibleDescription(addon.id)
224
- : undefined
225
- }
226
- onMouseLeave={
227
- descriptionTrigger === 'hover'
228
- ? () => setVisibleDescription(null)
229
- : undefined
230
- }
231
- style={{
232
- marginLeft: 8,
233
- cursor: 'pointer',
234
- display: 'flex',
235
- }}
236
- data-tooltip-id={`tooltip-${addon.id}`}
237
- data-tooltip-content="View Add-On info"
238
- >
239
- <InfoIcon size={14} />
240
- </span>
241
- <Tooltip id={`tooltip-${addon.id}`} place="top">
242
- {addon.description || 'No description available'}
243
- </Tooltip>
244
- </>
245
- )}
246
- </div>
247
- <div className={`${classNamePrefix}_product_price`}>
248
- {CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL
249
- ? addonNormalizedPrice
250
- : addOnNormalizedCost}
251
- {!isAddonFree &&
252
- CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && (
253
- <span className={`${classNamePrefix}_product_fee`}>
254
- {addon.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'}
255
- </span>
256
- )}
257
- {!isAddonFree &&
258
- CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && (
259
- <>
260
- <span className={`${classNamePrefix}_product_fee`}>
261
- {`(${addonNormalizedPrice} with fees)`}
262
- </span>
263
- </>
264
- )}
265
- </div>
266
- </div>
267
- {(visibleDescription === addon.id ||
268
- descriptionTrigger === 'always') && (
269
- <div
270
- className={`${classNamePrefix}_product_desc`}
271
- dangerouslySetInnerHTML={createMarkup(addon.description)}
272
- />
273
- )}
274
- <div className={`${classNamePrefix}_product_select_container`}>
275
- {addon.variants ? (
276
- addon.variants.map((variant: any) => (
277
- // Group Variants
278
- <AddonComponent
279
- key={variant.id}
280
- data={variant}
281
- selectOptions={addonsOptions[variant.id]}
282
- classNamePrefix={classNamePrefix}
283
- siblingIds={addon.variants.map((v: any) => v.id).filter((vid: string) => vid !== variant.id)}
284
- handleAddonChange={(id, value) => {
285
- onAddOnSelect(id, value, addon)
286
- onFieldChange(id, value, addon)
287
- }}
288
- addOnDataWithCustomFields={addOnDataWithCustomFields}
289
- configs={configs}
290
- values={values}
291
- errors={errors}
292
- useStepperQty={useStepperQty}
293
- />
294
- ))
295
- ) : (
296
- // Simple Addon
297
- <AddonComponent
298
- key={addon.id}
299
- data={addon}
300
- selectOptions={addonsOptions[addon.id]}
301
- classNamePrefix={classNamePrefix}
302
- handleAddonChange={(id, value) => {
303
- onAddOnSelect(id, value, addon)
304
- onFieldChange(id, value, addon)
305
-
306
- _map(addOnDataWithCustomFields.fields, fieldGroup => {
307
- const { id, groupItems } = fieldGroup
308
- _map(groupItems, field => {
309
- setFieldTouched(
310
- `${addon.id}-${id}-${field.name}`,
311
- true,
312
- true
313
- )
314
- })
315
- })
316
- }}
317
- addOnDataWithCustomFields={addOnDataWithCustomFields}
318
- configs={configs}
319
- values={values}
320
- errors={errors}
321
- />
322
- )}
323
- </div>
324
- </div>
325
- )
326
- })}
327
- {samePage ? null : (
328
- <button
329
- type="submit"
330
- className={`${
331
- isConfirmDisabled ? `${classNamePrefix}_is_disabled` : ''
332
- } ${classNamePrefix}_submit_button`}
333
- disabled={isConfirmDisabled}
334
- >
335
- CONFIRM SELECTION
336
- </button>
337
- )}
338
- </>
339
- </Form>
340
- )
341
- }}
342
- </Formik>
343
- </div>
344
- </div>
345
- <VerificationPendingModal
346
- message={pendingVerificationMessage}
347
- onClose={() => {
348
- onPendingVerification()
349
- }}
350
- />
351
- </>
352
- )
353
- }
@@ -1,5 +0,0 @@
1
- export const getNormalizedPrice = (value: any) => {
2
- const minimizedValue = Number(value) / 100
3
- const normalized = minimizedValue.toFixed(2)
4
- return normalized
5
- }
@@ -1,248 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import _get from 'lodash/get'
3
- import _identity from 'lodash/identity'
4
- import _map from 'lodash/map'
5
- import { useEffect, useMemo, useState } from 'react'
6
-
7
- import { getAddons, getCart, getCheckoutPageConfigs, postOnCheckout } from '../../api'
8
- import { ICheckoutPageConfigs } from '../../types'
9
- import { createCheckoutDataBodyWithDefaultHolder, isBrowser } from '../../utils'
10
- import { addonsWithGroupsAdapter, cartAdapter } from './adapters'
11
- import {
12
- generateSelectOptions,
13
- getAddonSelectOptions,
14
- getSortedAddons,
15
- getTicketRelatedAddons,
16
- } from './utils'
17
-
18
- interface ObjectLiteral {
19
- [key: string]: any;
20
- }
21
-
22
- export interface IUseAddonsOptions {
23
- enableBillingInfoAutoCreate?: boolean;
24
- addOnDataWithCustomFields?: any;
25
- onGetAddonsPageInfoSuccess?: (res: any) => void;
26
- onGetAddonsPageInfoError?: (error: any) => void;
27
- onPostCheckoutSuccess?: (res: any) => void;
28
- onPostCheckoutError?: (error: any) => void;
29
- onConfirmSelectionSuccess?: (res: any) => void;
30
- onConfirmSelectionError?: (error: any) => void;
31
- }
32
-
33
- export const useAddons = (eventId: string | null, options: IUseAddonsOptions = {}) => {
34
- const {
35
- enableBillingInfoAutoCreate = true,
36
- addOnDataWithCustomFields,
37
- onGetAddonsPageInfoSuccess = _identity,
38
- onGetAddonsPageInfoError = _identity,
39
- onPostCheckoutSuccess = _identity,
40
- onPostCheckoutError = _identity,
41
- onConfirmSelectionSuccess = _identity,
42
- onConfirmSelectionError = _identity,
43
- } = options
44
-
45
- const [addons, setAddons] = useState<any>([])
46
- const [addonsOptions, setAddonsOptions] = useState<any>({})
47
- const [groupsWithSelectedVariants, setGroupsWithSelectedVariants] = useState<any>({})
48
- const [groupsWithInitialVariantsValues, setGroupsWithInitialVariantsValues] = useState<any>({})
49
- const [loading, setLoading] = useState(true)
50
- const [cartExpirationTime, setCartExpirationTime] = useState(0)
51
- const [pendingVerificationMessage, setPendingVerificationMessage] = useState<any>()
52
-
53
- useEffect(() => {
54
- const getAddonsPageInfo = async () => {
55
- try {
56
- if (eventId) {
57
- setLoading(true)
58
-
59
- const cart = await getCart()
60
- const { id: choosedTicketID, quantity, expiresAt } = cartAdapter(cart)
61
- const choosedTicketCount = Number(quantity)
62
- setCartExpirationTime(expiresAt)
63
-
64
- const addonsData = await getAddons(eventId)
65
- const adaptedAddons = addonsWithGroupsAdapter(addonsData)
66
- const ticketRelatedAddons = getTicketRelatedAddons(adaptedAddons, choosedTicketID)
67
- const sortedTicketAddons = getSortedAddons(ticketRelatedAddons)
68
-
69
- setAddons(sortedTicketAddons)
70
-
71
- const {
72
- addonsWithOptions,
73
- groupsWithSelectedVariantsInfo,
74
- groupsWithVariants,
75
- } = getAddonSelectOptions(adaptedAddons, choosedTicketCount)
76
-
77
- setAddonsOptions(addonsWithOptions)
78
- setGroupsWithSelectedVariants(groupsWithSelectedVariantsInfo)
79
- setGroupsWithInitialVariantsValues(groupsWithVariants)
80
-
81
- onGetAddonsPageInfoSuccess(addonsData)
82
- }
83
- } catch (e) {
84
- onGetAddonsPageInfoError(e)
85
- } finally {
86
- setLoading(false)
87
- }
88
- }
89
-
90
- getAddonsPageInfo()
91
- }, [eventId])
92
-
93
- const recreateGroupVariantsSelectOptions = (groupId: any, changedGroup: any) => {
94
- const { choosedVariants, limit, selectedCount } = changedGroup
95
- const remainingGroupStock = limit - selectedCount
96
- const recreatedVariantsOptions: ObjectLiteral = {}
97
-
98
- for (const variant in choosedVariants) {
99
- const variantId = variant
100
- const variantCurrSelectedValue = choosedVariants[variant]
101
- let allowedOptionCount
102
-
103
- if (
104
- remainingGroupStock >=
105
- groupsWithInitialVariantsValues[groupId][variantId] - variantCurrSelectedValue
106
- ) {
107
- allowedOptionCount = groupsWithInitialVariantsValues[groupId][variantId]
108
- } else {
109
- allowedOptionCount = remainingGroupStock + variantCurrSelectedValue
110
- }
111
-
112
- recreatedVariantsOptions[variantId] = generateSelectOptions(0, allowedOptionCount)
113
- }
114
-
115
- setAddonsOptions((prevState: any) => Object.assign({}, prevState, recreatedVariantsOptions))
116
- }
117
-
118
- const onFieldChange = (id: any, value: any, addon: any) => {
119
- const changeableGroup = groupsWithSelectedVariants[addon.id]
120
-
121
- if (changeableGroup) {
122
- const currGroupId = addon.id
123
- const currSelectedVariantId = id
124
- const currSelectedVariantCount = Number(value)
125
- const currSelectedVariantPrevCount =
126
- groupsWithSelectedVariants[currGroupId].choosedVariants[currSelectedVariantId]
127
-
128
- const currSelectedGroupCount =
129
- changeableGroup.selectedCount +
130
- (currSelectedVariantCount - currSelectedVariantPrevCount)
131
-
132
- const updatedGroupsWithSelectedVariants = {
133
- ...groupsWithSelectedVariants,
134
- [currGroupId]: {
135
- ...groupsWithSelectedVariants[currGroupId],
136
- selectedCount: currSelectedGroupCount,
137
- choosedVariants: {
138
- ...groupsWithSelectedVariants[currGroupId].choosedVariants,
139
- [currSelectedVariantId]: currSelectedVariantCount,
140
- },
141
- },
142
- }
143
- setGroupsWithSelectedVariants(updatedGroupsWithSelectedVariants)
144
-
145
- recreateGroupVariantsSelectOptions(
146
- currGroupId,
147
- updatedGroupsWithSelectedVariants[currGroupId]
148
- )
149
- }
150
- }
151
-
152
- const handleConfirm = async (values: any, skipAddonPage?: boolean) => {
153
- try {
154
- const pageConfigsDataResponse = await getCheckoutPageConfigs()
155
- const pageConfigsData: ICheckoutPageConfigs =
156
- _get(pageConfigsDataResponse, 'data.attributes') || {}
157
-
158
- const skipBillingPage = pageConfigsData.skip_billing_page ?? false
159
-
160
- if (skipBillingPage && enableBillingInfoAutoCreate) {
161
- const ticketsQuantity = window.localStorage.getItem('quantity')
162
- const userData = JSON.parse(window.localStorage.getItem('user_data') || '{}')
163
-
164
- const checkoutBody = createCheckoutDataBodyWithDefaultHolder(
165
- Number(ticketsQuantity) || 0,
166
- userData
167
- )
168
-
169
- try {
170
- const checkoutResponse = await postOnCheckout({
171
- ...checkoutBody,
172
- attributes: {
173
- ...checkoutBody.attributes,
174
- ...(!skipAddonPage && { add_ons: values }),
175
- },
176
- })
177
- const hash = checkoutResponse?.data?.attributes?.hash || ''
178
- const total = checkoutResponse?.data?.attributes?.total || ''
179
-
180
- isBrowser && window.localStorage.removeItem('quantity')
181
- isBrowser && window.localStorage.removeItem('add_ons')
182
-
183
- onPostCheckoutSuccess(checkoutResponse?.data.attributes)
184
- onConfirmSelectionSuccess({
185
- skip_billing_page: skipBillingPage,
186
- event_id: String(eventId),
187
- hash,
188
- total,
189
- })
190
- } catch (error) {
191
- if ((error as any).response?.data?.data?.hasUnverifiedOrder) {
192
- setPendingVerificationMessage((error as any).response?.data?.message)
193
- } else {
194
- onPostCheckoutError(error)
195
- onConfirmSelectionError(error)
196
- }
197
- }
198
- } else {
199
- if (isBrowser) {
200
- if (!skipAddonPage) {
201
- window.localStorage.setItem('add_ons', JSON.stringify(values))
202
- }
203
-
204
- onConfirmSelectionSuccess({
205
- skip_billing_page: skipBillingPage && enableBillingInfoAutoCreate,
206
- event_id: String(eventId),
207
- })
208
- } else {
209
- onConfirmSelectionError({ error: true, message: 'Window is not defined' })
210
- }
211
- }
212
- } catch (e) {
213
- onConfirmSelectionError(e)
214
- }
215
- }
216
-
217
- const handleClearAddons = () => {
218
- window.localStorage.removeItem('add_ons')
219
- }
220
-
221
- const initialValues = useMemo(() => {
222
- const addOnsData: any = {}
223
- if (addons?.length > 0 && addOnDataWithCustomFields?.fields?.length > 0) {
224
- _map(addons, addon => {
225
- _map(addOnDataWithCustomFields.fields, field => {
226
- const { id, groupItems } = field
227
- _map(groupItems, item => {
228
- addOnsData[`${addon.id}-${id}-${item.name}`] = item.value
229
- })
230
- })
231
- })
232
- }
233
- return addOnsData
234
- }, [addons, addOnDataWithCustomFields])
235
-
236
- return {
237
- addons,
238
- addonsOptions,
239
- loading,
240
- cartExpirationTime,
241
- pendingVerificationMessage,
242
- setPendingVerificationMessage,
243
- initialValues,
244
- onFieldChange,
245
- handleConfirm,
246
- handleClearAddons,
247
- }
248
- }