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,102 +0,0 @@
1
- import './style.css'
2
-
3
- import { CircularProgress } from '@mui/material'
4
- import axios, { AxiosError } from 'axios'
5
- import { Field, Form, Formik } from 'formik'
6
- import _identity from 'lodash/identity'
7
- import React, { FC, useState } from 'react'
8
- import * as Yup from 'yup'
9
-
10
- import { resetPassword } from '../../api'
11
- import { CustomField } from '../common/CustomField'
12
-
13
- interface IResetPasswordProps {
14
- token?: string;
15
- onResetPasswordSuccess?: (res: any) => void;
16
- onResetPasswordError?: (e: AxiosError) => void;
17
- }
18
-
19
- const Schema = Yup.object().shape({
20
- password: Yup.string()
21
- .min(8, 'Password must have 8+ characters')
22
- .required('Required')
23
- .matches(
24
- new RegExp('^(?=.*[@$!%*#?&])'),
25
- 'Password must contain at least one special character'
26
- ),
27
- password_confirmation: Yup.string()
28
- .required('Required')
29
- .oneOf([Yup.ref('password'), null], 'Passwords must match'),
30
- })
31
-
32
- export const ResetPasswordContainer: FC<IResetPasswordProps> = ({
33
- token: tokenProps = '',
34
- onResetPasswordSuccess = _identity,
35
- onResetPasswordError = _identity,
36
- }) => {
37
- const [loading, setLoading] = useState(false)
38
- return (
39
- <div className="reset-password">
40
- <div className="title">Change Password</div>
41
- <Formik
42
- initialValues={{ password: '', password_confirmation: '' }}
43
- validationSchema={Schema}
44
- onSubmit={async (values: any) => {
45
- try {
46
- setLoading(true)
47
- let token
48
- if (tokenProps) {
49
- token = tokenProps
50
- } else {
51
- if (typeof window !== 'undefined') {
52
- const params: URLSearchParams = new URL(`${window.location}`).searchParams
53
- token = params.get('token')
54
- }
55
- }
56
-
57
- const payload = {
58
- token,
59
- ...values,
60
- }
61
- const res = await resetPassword(payload)
62
- onResetPasswordSuccess(res)
63
- } catch (e) {
64
- if (axios.isAxiosError(e)) {
65
- onResetPasswordError(e)
66
- }
67
- } finally {
68
- setLoading(false)
69
- }
70
- }}
71
- >
72
- {({ isValid, dirty }) => (
73
- <Form>
74
- <div className="body">
75
- <div className="field-item">
76
- <Field
77
- name="password"
78
- label="New Password"
79
- type="password"
80
- component={CustomField}
81
- />
82
- </div>
83
- <div className="field-item">
84
- <Field
85
- name="password_confirmation"
86
- label="Confirm Password"
87
- type="password"
88
- component={CustomField}
89
- />
90
- </div>
91
- </div>
92
- <div className="action-button">
93
- <button type="submit" disabled={!(isValid && dirty)}>
94
- {loading ? <CircularProgress size="22px" /> : 'Submit'}
95
- </button>
96
- </div>
97
- </Form>
98
- )}
99
- </Formik>
100
- </div>
101
- )
102
- }
@@ -1,36 +0,0 @@
1
- .reset-password {
2
- padding: 14px;
3
- max-width: 300px;
4
- margin: 0 auto;
5
- }
6
- .reset-password .title {
7
- font-size: 20px;
8
- font-weight: bold;
9
- }
10
- .reset-password .field-item {
11
- margin-top: 14px;
12
- }
13
- .reset-password .action-button button {
14
- padding: 10px;
15
- width: 100%;
16
- margin-top: 14px;
17
- border: none;
18
- border-radius: 0;
19
- height: 45px;
20
- font-weight: 600;
21
- font-size: 26px;
22
- line-height: 18px;
23
- color: white;
24
- cursor: pointer;
25
- outline: none;
26
- background-color: #212529;
27
- text-transform: uppercase;
28
- }
29
- .reset-password .action-button button:hover:enabled {
30
- background-color: #505050;
31
- border-color: #505050;
32
- }
33
- .reset-password .action-button button[disabled] {
34
- opacity: .7;
35
- cursor: unset;
36
- }
@@ -1,126 +0,0 @@
1
- import Box from '@mui/material/Box'
2
- import Button from '@mui/material/Button'
3
- import Modal from '@mui/material/Modal'
4
- import { Field, Form, Formik } from 'formik'
5
- import React, { useState } from 'react'
6
-
7
- import { sendRSVPInfo } from '../../api'
8
- import { isBrowser } from '../../utils'
9
- import { combineValidators, emailValidator, requiredValidator } from '../../validators'
10
- import { CustomField, Loader } from '../common/index'
11
-
12
- interface IRsvpContainerPage {
13
- showSection?: boolean;
14
- eventId: number;
15
- }
16
-
17
- interface IRSVPValuesTypes {
18
- email: string;
19
- }
20
-
21
- const style: React.CSSProperties = {
22
- position: 'absolute',
23
- top: '50%',
24
- left: '50%',
25
- transform: 'translate(-50%, -50%)',
26
- minWidth: 480,
27
- backgroundColor: '#e3e3e3',
28
- border: '1px solid white',
29
- outline: 'none',
30
- padding: '14px',
31
- maxHeight: '85vh',
32
- overflow: 'auto',
33
- }
34
-
35
- export const RsvpContainer = ({ showSection = false, eventId }: IRsvpContainerPage) => {
36
- const userDataEncoded = isBrowser ? window.localStorage.getItem('user_data') : ''
37
- const parsedData = JSON.parse(userDataEncoded || '{}')
38
-
39
- const [loading, setLoading] = useState(false)
40
- const [modal, setModal] = useState({ isOpen: false, text: '' })
41
-
42
- const handleModalClose = () => {
43
- setModal({ isOpen: false, text: '' })
44
- }
45
-
46
- const handleSubmit = async (values: IRSVPValuesTypes) => {
47
- try {
48
- setLoading(true)
49
-
50
- const requestData = { data: { email: values.email } }
51
- const response = await sendRSVPInfo(eventId, requestData)
52
-
53
- setModal({ isOpen: true, text: response.message })
54
- } catch (error) {
55
- if (error.response.status === 403) {
56
- setModal({ isOpen: true, text: error.response.data?.message })
57
- }
58
- } finally {
59
- setLoading(false)
60
- }
61
- }
62
-
63
- if (!showSection) {
64
- return null
65
- }
66
-
67
- return (
68
- <>
69
- <Modal
70
- open={modal.isOpen}
71
- onClose={handleModalClose}
72
- aria-labelledby="modal-modal-title"
73
- aria-describedby="modal-modal-description"
74
- className="rsvp-modal"
75
- >
76
- <Box style={style} className="rsvp-modal-box">
77
- <div className="rsvp-modal-container">
78
- <div className="rsvp-modal-header">{modal.text}</div>
79
- <div className="rsvp-modal-button">
80
- <button type="button" onClick={handleModalClose}>
81
- OK
82
- </button>
83
- </div>
84
- </div>
85
- </Box>
86
- </Modal>
87
- <div className="rsvp-container">
88
- {loading ? (
89
- <Loader />
90
- ) : (
91
- <>
92
- <div className="rsvp-header">RSVP</div>
93
- <div className="rsvp-email-container">
94
- <Formik
95
- initialValues={{
96
- email: parsedData?.email || '',
97
- }}
98
- onSubmit={handleSubmit}
99
- enableReinitialize
100
- >
101
- <Form>
102
- <div className="rsvp-email-input-container">
103
- <Field
104
- name="email"
105
- label="EMAIL ADDRESS"
106
- type="email"
107
- validate={combineValidators(
108
- (value: string) =>
109
- requiredValidator(value, 'Please enter your Email'),
110
- (value: string) => emailValidator(value)
111
- )}
112
- component={CustomField}
113
- />
114
- </div>
115
- <div className="rsvp-button-container">
116
- <Button type="submit">RSVP</Button>
117
- </div>
118
- </Form>
119
- </Formik>
120
- </div>
121
- </>
122
- )}
123
- </div>
124
- </>
125
- )
126
- }
@@ -1,77 +0,0 @@
1
- import 'tf-seat-map-view/dist/index.css'
2
-
3
- import React, { useEffect } from 'react'
4
- import ReactDom from 'react-dom'
5
- import SeatMapView from 'tf-seat-map-view'
6
-
7
- import { Loader } from '../common'
8
- import { getTierRelationsArray } from './utils'
9
-
10
- const CONTAINER_DEFAULT_ID = 'seat_map_default_container'
11
-
12
- // Temp solution
13
- declare global {
14
- interface Window {
15
- tierPrices: any;
16
- }
17
- }
18
-
19
- export const SeatMapComponent = (props: ISeatMapContainerProps) => {
20
- const { seatMapProps, mapContainerId } = props
21
- const {
22
- seatData,
23
- statuses,
24
- seatMapType = null,
25
- seatMapEvents = {},
26
- ticketTypeTierRelations = {},
27
- tierPrices,
28
- isReserving,
29
- predefinedSeats,
30
- isLoadingSeatMapData,
31
- } = seatMapProps
32
-
33
- useEffect(() => {
34
- const parentElement = document.getElementById(mapContainerId || CONTAINER_DEFAULT_ID)
35
-
36
- // Temp solution
37
- window.tierPrices = tierPrices
38
-
39
- if (parentElement) {
40
- let mapComponent = null
41
-
42
- if (!(seatData && statuses) || isLoadingSeatMapData) {
43
- mapComponent = <Loader />
44
- } else {
45
- mapComponent = (
46
- <SeatMapView
47
- disabled={isReserving}
48
- loading={isReserving}
49
- events={seatMapEvents}
50
- isSelectionOn={false}
51
- seatData={seatData}
52
- statuses={statuses}
53
- ticketTypeTireRelationsArray={getTierRelationsArray(ticketTypeTierRelations)}
54
- width={Math.min(parentElement?.clientWidth || 800, 800)}
55
- height={Math.min(parentElement?.clientWidth || 800, 800)}
56
- isBlockMap={seatMapType === 'block'}
57
- isTableMap={seatMapType === 'table'}
58
- predefinedSeats={predefinedSeats}
59
- />
60
- )
61
- }
62
-
63
- ReactDom.render(mapComponent, parentElement)
64
- }
65
- }, [
66
- isReserving,
67
- mapContainerId,
68
- seatData,
69
- seatMapEvents,
70
- seatMapType,
71
- tierPrices,
72
- statuses,
73
- ticketTypeTierRelations,
74
- ])
75
-
76
- return <div id={CONTAINER_DEFAULT_ID} />
77
- }
@@ -1,286 +0,0 @@
1
- import { CSSProperties } from '@emotion/serialize'
2
- import { Select, SelectChangeEvent, ThemeOptions } from '@mui/material'
3
- import CircularProgress from '@mui/material/CircularProgress'
4
- import FormControl from '@mui/material/FormControl'
5
- import InputLabel from '@mui/material/InputLabel'
6
- import MenuItem from '@mui/material/MenuItem'
7
- import { createTheme, ThemeProvider } from '@mui/material/styles'
8
- import Tooltip from '@mui/material/Tooltip'
9
- import _find from 'lodash/find'
10
- import _identity from 'lodash/identity'
11
- import _isEmpty from 'lodash/isEmpty'
12
- import _keys from 'lodash/keys'
13
- import _map from 'lodash/map'
14
- import _some from 'lodash/some'
15
- import React, { useState } from 'react'
16
- import { Button } from 'react-bootstrap'
17
-
18
- import { createFixedFloatNormalizer } from '../../normalizers'
19
- import { createMarkup } from '../../utils'
20
- import { getButtonLabel, getTicketDropdownData } from './utils'
21
-
22
- export const TicketsSection = (
23
- props: ITicketsSectionProps & {
24
- themeOptions?: ThemeOptions & {
25
- input?: CSSProperties;
26
- checkbox?: CSSProperties;
27
- };
28
- }
29
- ) => {
30
- const {
31
- ticketTypeTierRelations,
32
- reservedSeats,
33
- theme = 'light',
34
- getTicketsBtnLabel,
35
- contentStyle = {},
36
- isButtonScrollable = false,
37
- themeOptions,
38
- handleGetTicketClick,
39
- handleCancelReservation,
40
- ticketDeleteButtonContent = 'Delete',
41
- ticketInfoContent = 'Info',
42
- selectedTickets,
43
- handleTicketSelect,
44
- currencySymbol,
45
- tableMapEnabled = false,
46
- guestCounts,
47
- setGuestCounts,
48
- isAddingToCart,
49
- } = props
50
-
51
- const [selectedTicketsInfo, setSelectedTicketsInfo] = useState<{
52
- [seatId: string]: boolean | undefined;
53
- }>({})
54
-
55
- const bookButtonIsDisabled =
56
- _some(selectedTickets, item => !item) ||
57
- _isEmpty(reservedSeats) ||
58
- reservedSeats.length !== _keys(selectedTickets).length
59
- const themeMui = createTheme(themeOptions)
60
-
61
- const ticketsDropdownsData = getTicketDropdownData(
62
- reservedSeats,
63
- ticketTypeTierRelations
64
- )
65
-
66
- const handleTicketChange = (event: SelectChangeEvent<string>, seatId: string) => {
67
- const {
68
- target: { value },
69
- } = event
70
-
71
- if (value !== 'default') {
72
- handleTicketSelect(value, seatId)
73
- }
74
- }
75
-
76
- const handleShowtTicketInfo = (seatId: string) => {
77
- setSelectedTicketsInfo(prevState => ({ ...prevState, [seatId]: !prevState[seatId] }))
78
- }
79
-
80
- return (
81
- <ThemeProvider theme={themeMui}>
82
- <div className={`get-tickets-page ${theme}`} style={contentStyle}>
83
- <div className="tickets-section">
84
- {_map(selectedTickets, (ticketItem: string, key: string) => {
85
- const dropdownData =
86
- _find(ticketsDropdownsData, item => item.seatId === key) ||
87
- ({} as ITicketsDropdownsData)
88
-
89
- const selectedTicketData = _find(
90
- dropdownData.ticketsData,
91
- ticket => ticket.ticket_type_id === ticketItem
92
- ) as TicketTypeTierRelationsData
93
-
94
- // guest count dropdown options
95
- const startNum = Number(selectedTicketData?.ticket_type_min_number_of_guests)
96
- const endNum = Number(selectedTicketData?.ticket_type_max_number_of_guests)
97
- const numLength = endNum - startNum + 1
98
- const showGuestCountDropdown = Boolean(startNum && endNum)
99
- const showDescription = Boolean(selectedTicketData?.description)
100
-
101
- // prices
102
- const guestPrice =
103
- (guestCounts[dropdownData.seatId] - startNum) *
104
- Number(selectedTicketData?.guest_price)
105
-
106
- const finalPrice = createFixedFloatNormalizer(2)(
107
- selectedTicketData?.ticket_type_price + guestPrice
108
- )
109
-
110
- return (
111
- <div className="ticket" key={key}>
112
- <div className="ticketsDropdowns">
113
- <Select
114
- value={ticketItem || 'default'}
115
- onChange={event => handleTicketChange(event, dropdownData.seatId)}
116
- inputProps={{ 'aria-label': 'Without label' }}
117
- MenuProps={{
118
- PaperProps: {
119
- sx: { maxHeight: 150 },
120
- className: 'get-tickets-paper',
121
- },
122
- }}
123
- displayEmpty
124
- sx={{ borderRadius: 0 }}
125
- >
126
- <MenuItem value={'default'}>
127
- {`Please select ${tableMapEnabled ? 'Table Type' : 'Ticket Type'}`}
128
- </MenuItem>
129
- {_map(dropdownData.ticketsData, (option, index) => {
130
- if (option.ticket_type_id !== 'default') {
131
- return (
132
- <MenuItem value={option.ticket_type_id} key={index}>
133
- {option.ticket_type_name}
134
- </MenuItem>
135
- )
136
- }
137
- return null
138
- })}
139
- </Select>
140
- <Button
141
- className="ticket-delete"
142
- onClick={() => {
143
- handleCancelReservation(dropdownData.seatId, dropdownData.tierId)
144
- }}
145
- >
146
- {ticketDeleteButtonContent}
147
- </Button>
148
- </div>
149
- {selectedTicketData && (
150
- <>
151
- <div style={{ display: 'flex' }}>
152
- <div
153
- style={{
154
- width: '100%',
155
- display: 'flex',
156
- flexDirection: 'column',
157
- justifyContent: 'center',
158
- }}
159
- >
160
- <div className="ticketPrice">
161
- Price:
162
- <span className="ticketPrice-value">
163
- {`${currencySymbol} ${finalPrice}`}
164
- </span>
165
- <span className="fees">
166
- {selectedTicketData.fee_included
167
- ? ' (incl. Fees)'
168
- : ' (excl. Fees)'}
169
- </span>
170
- </div>
171
- {!_isEmpty(selectedTicketData.ticket_type_deposit) && (
172
- <div className="ticketDeposit">
173
- Deposit:
174
- <span className="ticketPrice-value">
175
- {` ${selectedTicketData?.ticket_type_deposit}%`}
176
- </span>
177
- </div>
178
- )}
179
- </div>
180
- <div
181
- style={{
182
- width: '100%',
183
- display: 'flex',
184
- justifyContent: 'end',
185
- alignItems: 'center',
186
- marginRight: 16,
187
- }}
188
- >
189
- {showDescription && (
190
- <Tooltip
191
- title="View Ticket Info"
192
- placement="left"
193
- arrow
194
- componentsProps={{
195
- tooltip: {
196
- sx: {
197
- backgroundColor: 'common.black',
198
- marginRight: '6px !important',
199
- '& .MuiTooltip-arrow': {
200
- color: 'common.black',
201
- },
202
- },
203
- },
204
- }}
205
- >
206
- <div
207
- className="ticket-info"
208
- onClick={() => handleShowtTicketInfo(dropdownData.seatId)}
209
- onKeyDown={() => handleShowtTicketInfo(dropdownData.seatId)}
210
- >
211
- {ticketInfoContent}
212
- </div>
213
- </Tooltip>
214
- )}
215
- {showGuestCountDropdown && (
216
- <FormControl variant="outlined" sx={{ m: 1, minWidth: 80 }}>
217
- <InputLabel id="demo-simple-select-standard-label" shrink>
218
- GUESTS
219
- </InputLabel>
220
- <Select
221
- label="GUESTS"
222
- labelId="demo-simple-select-standard-label"
223
- value={guestCounts[dropdownData.seatId] || startNum}
224
- onChange={event => {
225
- setGuestCounts({
226
- ...guestCounts,
227
- [dropdownData.seatId]: Number(event.target.value),
228
- })
229
- }}
230
- inputProps={{ 'aria-label': 'Without label' }}
231
- MenuProps={{
232
- PaperProps: {
233
- sx: { maxHeight: 150 },
234
- className: 'get-tickets-paper',
235
- },
236
- }}
237
- displayEmpty
238
- sx={{ borderRadius: 0 }}
239
- >
240
- {_map(
241
- Array.from({ length: numLength }, (_, i) => startNum + i),
242
- (option, index) => (
243
- <MenuItem value={option} key={index}>
244
- {option}
245
- </MenuItem>
246
- )
247
- )}
248
- </Select>
249
- </FormControl>
250
- )}
251
- </div>
252
- </div>
253
- {selectedTicketsInfo[dropdownData.seatId] && (
254
- <div
255
- className="ticket-description-content"
256
- dangerouslySetInnerHTML={createMarkup(
257
- selectedTicketData.description || ''
258
- )}
259
- />
260
- )}
261
- </>
262
- )}
263
- </div>
264
- )
265
- })}
266
- </div>
267
- <div>
268
- <Button
269
- className={`book-button
270
- ${bookButtonIsDisabled ? 'disabled' : ''}
271
- ${isButtonScrollable ? 'is-scrollable' : ''}
272
- `}
273
- onClick={!bookButtonIsDisabled ? handleGetTicketClick : _identity}
274
- disabled={isAddingToCart}
275
- >
276
- {isAddingToCart ? (
277
- <CircularProgress size={20} style={{ marginLeft: 10 }} />
278
- ) : (
279
- getTicketsBtnLabel || getButtonLabel(reservedSeats.length, tableMapEnabled)
280
- )}
281
- </Button>
282
- </div>
283
- </div>
284
- </ThemeProvider>
285
- )
286
- }
@@ -1,66 +0,0 @@
1
- import _get from 'lodash/get'
2
-
3
- import { addToCart, getCheckoutPageConfigs, postOnCheckout } from '../../api'
4
- import { createCheckoutDataBodyWithDefaultHolder, isBrowser } from '../../utils'
5
-
6
- interface IAddToCartFuncProps {
7
- eventId: string | number;
8
- data: any;
9
- ticketQuantity: number;
10
- enableBillingInfoAutoCreate?: boolean;
11
- }
12
-
13
- export const addToCartFunc = async ({
14
- eventId,
15
- data,
16
- ticketQuantity,
17
- enableBillingInfoAutoCreate = true,
18
- }: IAddToCartFuncProps) => {
19
- const result = await addToCart(eventId, data)
20
- const pageConfigsDataResponse = await getCheckoutPageConfigs()
21
-
22
- if (result.status === 200 && pageConfigsDataResponse.status === 200) {
23
- const pageConfigsData = _get(pageConfigsDataResponse, 'data.attributes') || {}
24
-
25
- const {
26
- skip_billing_page: skipBillingPage = false,
27
- has_add_on: hasAddOn = false,
28
- free_ticket: freeTicket = false,
29
- } = pageConfigsData
30
-
31
- let hash: string | number | undefined = ''
32
- let total: string | number | undefined = ''
33
-
34
- isBrowser && window.localStorage.removeItem('add_ons')
35
-
36
- if (skipBillingPage && !hasAddOn) {
37
- // Get user data for checkout data
38
- const userData =
39
- isBrowser && window.localStorage.getItem('user_data')
40
- ? JSON.parse(window.localStorage.getItem('user_data') || '')
41
- : {}
42
-
43
- const checkoutBody = createCheckoutDataBodyWithDefaultHolder(
44
- ticketQuantity,
45
- userData
46
- )
47
-
48
- const checkoutResponse = enableBillingInfoAutoCreate
49
- ? await postOnCheckout(checkoutBody, freeTicket)
50
- : null
51
-
52
- hash = checkoutResponse?.data?.attributes?.hash || ''
53
- total = checkoutResponse?.data?.attributes?.total || ''
54
- }
55
-
56
- return {
57
- skip_billing_page: skipBillingPage,
58
- event_id: String(eventId),
59
- hash,
60
- total,
61
- hasAddOn,
62
- }
63
- }
64
-
65
- return null
66
- }