tf-checkout-react 1.7.31 → 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,443 +0,0 @@
1
- import { Alert } from '@mui/material'
2
- import axios from 'axios'
3
- import _find from 'lodash/find'
4
- import _forEach from 'lodash/forEach'
5
- import _get from 'lodash/get'
6
- import _identity from 'lodash/identity'
7
- import _isEmpty from 'lodash/isEmpty'
8
- import _isEqual from 'lodash/isEqual'
9
- import _keys from 'lodash/keys'
10
- import _map from 'lodash/map'
11
- import _values from 'lodash/values'
12
- import moment from 'moment'
13
- import React, { useCallback, useEffect, useRef, useState } from 'react'
14
- import Countdown, { CountdownRenderProps } from 'react-countdown'
15
-
16
- import {
17
- getSeatMapData,
18
- getSeatMapStatuses,
19
- removeSeatReserve,
20
- reserveSeat,
21
- } from '../../api'
22
- import { useOnline } from '../../hooks/useOnline'
23
- import { showZero } from '../../utils/showZero'
24
- import { ReferralLogic } from '../ticketsContainer/ReferralLogic'
25
- import { addToCartFunc } from './addToCart'
26
- import { SeatMapComponent } from './SeatMapComponent'
27
- import { TicketsSection } from './TicketsSection'
28
- import {
29
- getAddToCartRequestData,
30
- getOwnReservationsBasedOnStatuses,
31
- getTicketDropdownData,
32
- getTierIdBasedOnSeatId,
33
- } from './utils'
34
-
35
- const OFFLINE_MESSAGE = 'Offline.'
36
-
37
- interface IGuestCounts {
38
- [key: string]: number;
39
- }
40
-
41
- export const SeatMapContainer = (props: IMapContainerProps) => {
42
- const {
43
- event: {
44
- id: eventId,
45
- currency: { symbol },
46
- tableMapEnabled,
47
- country,
48
- },
49
- mapContainerId,
50
- timerMessage = '',
51
- onAddToCartSuccess = _identity,
52
- onCountdownFinish = _identity,
53
- ticketDeleteButtonContent,
54
- ticketInfoContent,
55
- } = props
56
-
57
- const [seatMapData, setSeatMapData] = useState({
58
- seatMap: '',
59
- } as {
60
- seatMap: string;
61
- seatReservationTime: number;
62
- seatMapType: string | null;
63
- tierPrices: any;
64
- predefinedSeats: any;
65
- })
66
- const eventSeatsRef = useRef([] as EventSeat[])
67
- const ticketTypeTierRelationsRef = useRef({} as TicketTypeTierRelations)
68
- const [selectedTickets, setSelectedTickets] = useState<{
69
- [seatId: string]: string;
70
- }>({})
71
- const [seatMapStatuses, setSeatMapStatuses] = useState('')
72
- const [reservedSeats, setReservedSeats] = useState<Array<SeatReservationData>>([])
73
- const [isLoadingSeatMapData, setIsLoadingSeatMapData] = useState(true)
74
- const [isLoadingStatuses, setIsLoadingStatuses] = useState(false)
75
- const [isReserving, setIsReserving] = useState(false)
76
- const [isAddingToCart, setIsAddingToCart] = useState(false)
77
- const [error, setError] = useState<string | null>(null)
78
- const [showTimer, setShowTimer] = useState(
79
- Date.now() <= Number(localStorage.getItem(`reservationStart-${eventId}`))
80
- )
81
- const [guestCounts, setGuestCounts] = useState<IGuestCounts>({} as IGuestCounts)
82
- const [isOnline, setIsOnline] = useState(true)
83
- const isGuestCountsSet = useRef(false)
84
-
85
- useOnline(setIsOnline)
86
-
87
- const updateGuestCounts = (data: any) => {
88
- _forEach(data, (item: any) => {
89
- const tierTickets = ticketTypeTierRelationsRef.current[item.tierId]
90
- const seatTicketsArray = _values(tierTickets)
91
-
92
- setGuestCounts((prevState: any) => ({
93
- [item.seatId]: Number(seatTicketsArray[0].ticket_type_min_number_of_guests),
94
- ...prevState,
95
- }))
96
- })
97
- }
98
-
99
- const fetchSeatMapData = useCallback(async () => {
100
- try {
101
- const seatMapDataResponse = await getSeatMapData(eventId)
102
- const {
103
- data: {
104
- attributes: {
105
- seatData,
106
- ticketTypeTierRelations,
107
- eventSeats,
108
- seatReservationTime,
109
- seatMapType,
110
- tierPrices,
111
- predefinedSeats,
112
- },
113
- },
114
- } = seatMapDataResponse
115
- eventSeatsRef.current = eventSeats
116
- ticketTypeTierRelationsRef.current = ticketTypeTierRelations
117
- setSeatMapData({
118
- seatMap: JSON.parse(seatData),
119
- seatReservationTime,
120
- seatMapType,
121
- tierPrices,
122
- predefinedSeats,
123
- })
124
- } catch (error) {
125
- setError('Something went wrong')
126
- } finally {
127
- setIsLoadingSeatMapData(false)
128
- }
129
- }, [eventId])
130
-
131
- const fetchSeatMapReservations = useCallback(async () => {
132
- if (isOnline) {
133
- try {
134
- const statusesResponse = await getSeatMapStatuses(eventId)
135
- const statuses = _get(statusesResponse, 'data.attributes') || {}
136
- const reservationData: Array<SeatReservationData> = []
137
- const ownReservations: string[] = getOwnReservationsBasedOnStatuses(statuses)
138
-
139
- _forEach(ownReservations, reservation => {
140
- const tierIdOfReservation = getTierIdBasedOnSeatId(
141
- reservation,
142
- eventSeatsRef.current
143
- ) as string
144
- reservationData.push({
145
- seatId: reservation,
146
- tierId: tierIdOfReservation,
147
- type: 'reserve',
148
- })
149
- })
150
-
151
- localStorage.setItem('reservationData', JSON.stringify(reservationData))
152
-
153
- if (!_isEqual(seatMapStatuses, statusesResponse.data.attributes)) {
154
- setSeatMapStatuses(statusesResponse.data.attributes)
155
- }
156
- if (!_isEqual(reservationData, reservedSeats)) {
157
- setReservedSeats(reservationData)
158
- }
159
-
160
- // automatically set ticket/table type if it's the only one
161
- if (
162
- ticketTypeTierRelationsRef.current &&
163
- !_isEqual(reservationData, reservedSeats)
164
- ) {
165
- if (!isGuestCountsSet.current) {
166
- updateGuestCounts(reservationData)
167
- isGuestCountsSet.current = true
168
- }
169
- _forEach(reservationData, (item: any) => {
170
- const tierTickets = ticketTypeTierRelationsRef.current[item.tierId]
171
- const seatTicketsArray = _values(tierTickets)
172
-
173
- setSelectedTickets((prevState: any) => ({
174
- ...prevState,
175
- [item.seatId]:
176
- seatTicketsArray.length === 1 ? seatTicketsArray[0].ticket_type_id : '',
177
- }))
178
- })
179
-
180
- if (_isEmpty(reservationData)) {
181
- setGuestCounts({})
182
- setSelectedTickets({})
183
- }
184
- }
185
- } catch (error) {
186
- setError('Something went wrong')
187
- }
188
- }
189
- }, [eventId, seatMapStatuses, reservedSeats, isOnline])
190
-
191
- const startTimer = useCallback(
192
- (duration: number) => {
193
- setShowTimer(true)
194
-
195
- if (!localStorage.getItem(`reservationStart-${eventId}`)) {
196
- localStorage.setItem(`reservationStart-${eventId}`, String(Date.now() + duration))
197
- }
198
- },
199
- [eventId]
200
- )
201
-
202
- const endTimer = useCallback(() => {
203
- localStorage.removeItem(`reservationStart-${eventId}`)
204
- setShowTimer(false)
205
- }, [eventId])
206
-
207
- const handleSeatReservation = async (
208
- eventId: string,
209
- tierId: string,
210
- seatId: string
211
- ) => {
212
- setIsReserving(true)
213
- try {
214
- await reserveSeat(eventId, tierId, seatId)
215
- await fetchSeatMapReservations()
216
-
217
- startTimer(seatMapData.seatReservationTime * 60000)
218
- const reservationData = JSON.parse(localStorage.getItem('reservationData') || '')
219
- setReservedSeats(reservationData)
220
- updateGuestCounts(reservationData)
221
-
222
- // automatically set ticket/table type if it's the only one
223
- const relations = _keys(ticketTypeTierRelationsRef.current[tierId])
224
- const [firstItem] = _keys(ticketTypeTierRelationsRef.current[tierId])
225
- handleTicketSelect(relations.length === 1 ? firstItem : '', seatId)
226
- } catch (error) {
227
- setError(
228
- error?.response?.data?.message === 'Selected seat is not available'
229
- ? // eslint-disable-next-line max-len
230
- 'No more of this ticket type are available right now - they’re either sold out or in people’s shopping carts. Try refreshing the page!'
231
- : 'Something went wrong'
232
- )
233
- } finally {
234
- setIsReserving(false)
235
- }
236
- }
237
-
238
- const handleCancelSeatReservtion = async (
239
- eventId: string,
240
- tierId: string,
241
- seatId: string
242
- ) => {
243
- setIsReserving(true)
244
- try {
245
- await removeSeatReserve(eventId, tierId, [seatId])
246
- await fetchSeatMapReservations()
247
- if (_isEmpty(JSON.parse(localStorage.getItem('reservationData') as string))) {
248
- endTimer()
249
- }
250
- const reservationData = JSON.parse(localStorage.getItem('reservationData') || '')
251
- const currentSelectedTickets = { ...selectedTickets }
252
- delete currentSelectedTickets[seatId]
253
- setReservedSeats(reservationData)
254
- setSelectedTickets(currentSelectedTickets)
255
- } catch (error) {
256
- setError('Something went wrong')
257
- } finally {
258
- setIsReserving(false)
259
- }
260
- }
261
-
262
- const onSeatClick = async (seatInfo: {
263
- seat: {
264
- tierId: string;
265
- seatId: string;
266
- status: string;
267
- };
268
- }) => {
269
- const {
270
- seat: { tierId, seatId, status },
271
- } = seatInfo
272
-
273
- const reservationData = JSON.parse(localStorage.getItem('reservationData') || '[]')
274
- if (status === 'B' || status === 'R' || status === 'BLOCKED' || status === 'RE')
275
- return
276
- if (_find(reservationData, data => data.seatId === seatId)) {
277
- handleCancelSeatReservtion(eventId, tierId, seatId)
278
- } else if (reservationData.length >= 10) {
279
- setError('Limit exceeded')
280
- } else {
281
- handleSeatReservation(eventId, tierId, seatId)
282
- }
283
- }
284
-
285
- const handleTicketSelect = (ticketId: string, seatId: string) => {
286
- const currentSelectedTickets = { ...selectedTickets }
287
- currentSelectedTickets[seatId] = ticketId
288
- setSelectedTickets(currentSelectedTickets)
289
- }
290
-
291
- const handleGetTicketBtnClick = async () => {
292
- setIsAddingToCart(true)
293
- const ticketsDropdownsData = getTicketDropdownData(
294
- reservedSeats,
295
- ticketTypeTierRelationsRef.current
296
- )
297
- let selectedSeats = {}
298
- _forEach(ticketsDropdownsData, ticketData => {
299
- selectedSeats = {
300
- ...selectedSeats,
301
- [ticketData.seatId]: ticketData.ticketsData,
302
- }
303
- })
304
- const addToCartData = getAddToCartRequestData({
305
- eventId,
306
- reservations: _map(reservedSeats, seat => seat.seatId),
307
- selectedSeats,
308
- selectedTickets,
309
- guestCounts,
310
- })
311
- try {
312
- const response = await addToCartFunc({
313
- eventId,
314
- data: addToCartData,
315
- ticketQuantity: addToCartData?.attributes?.product_cart_quantity,
316
- })
317
- localStorage.removeItem('reservationData')
318
- onAddToCartSuccess(response)
319
- } catch (error) {
320
- if (axios.isAxiosError(error)) {
321
- const message = _get(error, 'response.data.message', '')
322
- setError(message)
323
- }
324
- } finally {
325
- setIsAddingToCart(false)
326
- }
327
- }
328
-
329
- useEffect(() => {
330
- if (Date.now() > Number(localStorage.getItem(`reservationStart-${eventId}`))) {
331
- setSelectedTickets({})
332
- setReservedSeats([])
333
- }
334
-
335
- const makeRequests = async () => {
336
- try {
337
- setIsLoadingStatuses(true)
338
- await fetchSeatMapData()
339
- await fetchSeatMapReservations()
340
- } catch (error) {
341
- setError('Something went wrong')
342
- } finally {
343
- setIsLoadingStatuses(false)
344
- }
345
- }
346
-
347
- makeRequests()
348
-
349
- if (country) {
350
- localStorage.setItem('eventCountry', country)
351
- }
352
- }, [country, eventId, fetchSeatMapData])
353
-
354
- useEffect(() => {
355
- const intervalId = setInterval(() => {
356
- fetchSeatMapReservations()
357
- }, 3000)
358
-
359
- return () => {
360
- clearInterval(intervalId)
361
- }
362
- }, [fetchSeatMapReservations])
363
-
364
- useEffect(() => {
365
- if (!isOnline) {
366
- setError(OFFLINE_MESSAGE)
367
- } else if (isOnline && error === OFFLINE_MESSAGE) {
368
- setError(null)
369
- }
370
- }, [error, isOnline])
371
-
372
- return (
373
- <>
374
- {error && (
375
- <Alert
376
- severity="error"
377
- onClose={() => {
378
- setError(null)
379
- }}
380
- variant="filled"
381
- style={{ width: '350px' }}
382
- >
383
- {error}
384
- </Alert>
385
- )}
386
- {showTimer && (
387
- <Countdown
388
- date={moment(
389
- Number(localStorage.getItem(`reservationStart-${eventId}`))
390
- ).valueOf()}
391
- renderer={(props: CountdownRenderProps) => (
392
- <div className="reservation-countdown">
393
- <span className="reservation-message">{timerMessage}</span>
394
- <span className="reservation-timer">
395
- {showZero(props.minutes)}:{showZero(props.seconds)}
396
- </span>
397
- </div>
398
- )}
399
- onComplete={() => {
400
- endTimer()
401
- setSelectedTickets({})
402
- setReservedSeats([])
403
- if (onCountdownFinish) {
404
- onCountdownFinish()
405
- }
406
- }}
407
- />
408
- )}
409
- {!isLoadingSeatMapData && !isLoadingStatuses && <ReferralLogic eventId={eventId} />}
410
- <TicketsSection
411
- selectedTickets={selectedTickets}
412
- handleTicketSelect={handleTicketSelect}
413
- handleCancelReservation={(seatId: string, tireId: string) =>
414
- handleCancelSeatReservtion(eventId, tireId, seatId)
415
- }
416
- handleGetTicketClick={handleGetTicketBtnClick}
417
- isAddingToCart={isAddingToCart}
418
- reservedSeats={reservedSeats}
419
- ticketDeleteButtonContent={ticketDeleteButtonContent}
420
- ticketInfoContent={ticketInfoContent}
421
- ticketTypeTierRelations={ticketTypeTierRelationsRef.current}
422
- currencySymbol={symbol}
423
- tableMapEnabled={Boolean(tableMapEnabled)}
424
- guestCounts={guestCounts}
425
- setGuestCounts={setGuestCounts}
426
- />
427
- <SeatMapComponent
428
- seatMapProps={{
429
- seatData: seatMapData.seatMap,
430
- statuses: seatMapStatuses,
431
- tierPrices: seatMapData.tierPrices,
432
- seatMapType: seatMapData.seatMapType,
433
- ticketTypeTierRelations: ticketTypeTierRelationsRef.current,
434
- seatMapEvents: { onSeatClick },
435
- isReserving,
436
- predefinedSeats: seatMapData.predefinedSeats,
437
- isLoadingSeatMapData,
438
- }}
439
- mapContainerId={mapContainerId}
440
- />
441
- </>
442
- )
443
- }
@@ -1,133 +0,0 @@
1
- import _find from 'lodash/find'
2
- import _forEach from 'lodash/forEach'
3
- import _isEmpty from 'lodash/isEmpty'
4
- import _values from 'lodash/values'
5
-
6
- export const getTierIdBasedOnSeatId = (seatId: string, eventSeats: Array<EventSeat>) => {
7
- let tierId: number | string = ''
8
-
9
- _forEach(eventSeats, group => {
10
- _forEach(group.seats, (seatsCount, rowId) => {
11
- const [row_id, seat_id] = seatId.split(':')
12
- if (row_id === rowId && seat_id <= seatsCount) {
13
- tierId = Number(group.tier_id)
14
- return false
15
- }
16
- return true
17
- })
18
- })
19
-
20
- return tierId
21
- }
22
-
23
- export const getButtonLabel = (count: number, tableMapEnabled: boolean) => {
24
- if (!count) {
25
- return tableMapEnabled ? `GET TABLES` : `GET TICKETS`
26
- } else if (count === 1) {
27
- return tableMapEnabled ? `GET ${count} TABLE` : `GET ${count} TICKET`
28
- }
29
- return tableMapEnabled ? `GET ${count} TABLES` : `GET ${count} TICKETS`
30
- }
31
-
32
- export const getOwnReservationsBasedOnStatuses = (statuses: any) => {
33
- const ownReservations: string[] = []
34
- Object.keys(statuses).forEach((groupRowId: string) =>
35
- Object.keys(statuses[groupRowId]).forEach((seatIndex: string | number) => {
36
- if (statuses[groupRowId][seatIndex] === 'OR') {
37
- ownReservations.push(`${groupRowId}:${seatIndex}`)
38
- } else if (statuses[groupRowId][seatIndex] === 'H') {
39
- statuses[groupRowId][seatIndex] = 'BLOCKED'
40
- }
41
- })
42
- )
43
- return ownReservations
44
- }
45
-
46
- export const getTicketDropdownData = (
47
- reservationData: Array<SeatReservationData>,
48
- tierReleations: TicketTypeTierRelations
49
- ) => {
50
- const ticketsDropdownsData: Array<ITicketsDropdownsData> = []
51
- _forEach(reservationData, reservation => {
52
- if (tierReleations[reservation.tierId]) {
53
- const ticketsData = _values(tierReleations[reservation.tierId])
54
- ticketsDropdownsData.push({
55
- seatId: reservation.seatId,
56
- tierId: reservation.tierId,
57
- ticketsData,
58
- })
59
- } else {
60
- ticketsDropdownsData.push({
61
- seatId: reservation.seatId,
62
- tierId: reservation.tierId,
63
- ticketsData: [
64
- {
65
- ticket_type_tier_id: reservation.tierId,
66
- ticket_type_name: 'Please select Ticket Type',
67
- ticket_type_price: '',
68
- ticket_type_id: 'default',
69
- },
70
- ],
71
- })
72
- }
73
- })
74
- return ticketsDropdownsData
75
- }
76
-
77
- export const getAddToCartRequestData = ({
78
- eventId,
79
- reservations = [],
80
- selectedSeats = [],
81
- selectedTickets = [],
82
- guestCounts = {},
83
- }: any) => {
84
- const hasGuests = !_isEmpty(guestCounts)
85
-
86
- const addToCartData: ICartRequestData = {
87
- attributes: {
88
- alternative_view_id: null,
89
- product_cart_quantity: reservations.length,
90
- product_options: {},
91
- product_id: eventId,
92
- ticket_types: {},
93
- },
94
- }
95
-
96
- const productOptions = {} as any
97
- const ticketTypes = {} as any
98
-
99
- _forEach(reservations, (item, index) => {
100
- const ticket = _find(
101
- selectedSeats[item],
102
- sitem => sitem.ticket_type_id === selectedTickets[item]
103
- )
104
- productOptions[ticket.ticket_type_option] = ticket.ticket_type_id
105
-
106
- const ticketTypesKey = hasGuests ? index : ticket.ticket_type_id
107
- const quantity = hasGuests
108
- ? guestCounts[item]
109
- : (ticketTypes[ticket.ticket_type_id]?.quantity || 0) + 1
110
-
111
- ticketTypes[ticketTypesKey] = {
112
- quantity,
113
- product_options: {
114
- [ticket.ticket_type_option]: ticket.ticket_type_id,
115
- ticket_price: ticket.ticket_type_price,
116
- },
117
- }
118
- })
119
-
120
- addToCartData.attributes.product_options = productOptions
121
- addToCartData.attributes.ticket_types = ticketTypes
122
-
123
- return addToCartData
124
- }
125
-
126
- export const getTierRelationsArray = (data: Array<TicketTypeTierRelationsData>) => {
127
- const ticketTypeTireRelationsArray: Array<string | number | null> = []
128
- _forEach(data, (item: TicketTypeTierRelationsData) => {
129
- ticketTypeTireRelationsArray.push(...(_values(item) as any))
130
- })
131
-
132
- return ticketTypeTireRelationsArray
133
- }