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,34 +0,0 @@
1
- import Modal from '@mui/material/Modal'
2
- import React from 'react'
3
-
4
- interface ICopyMessageModalProps {
5
- showCopyModal: boolean;
6
- onClose: () => void;
7
- }
8
-
9
- export const CopyMessageModal = (props: ICopyMessageModalProps) => {
10
- const { showCopyModal = false, onClose } = props
11
- return (
12
- <Modal
13
- open={showCopyModal}
14
- onClose={onClose}
15
- aria-labelledby="modal-modal-title"
16
- aria-describedby="modal-modal-description"
17
- className="success-copy-modal"
18
- >
19
- <div className="message-copy-success-box">
20
- <div className="message-copy-success">
21
- <span>
22
- Copied to your clipboard! Now paste your link in a Snapchat message,
23
- </span>
24
- <span>your Instagram bio, Whatsapp, Facebook or a text :)</span>
25
- </div>
26
- <div className="footer">
27
- <button className="footer-button" type="button" onClick={onClose}>
28
- OK
29
- </button>
30
- </div>
31
- </div>
32
- </Modal>
33
- )
34
- }
@@ -1,168 +0,0 @@
1
- /* eslint-disable no-underscore-dangle */
2
- /* eslint-disable import/no-unresolved */
3
- import Visibility from '@mui/icons-material/Visibility'
4
- import VisibilityOff from '@mui/icons-material/VisibilityOff'
5
- import IconButton from '@mui/material/IconButton'
6
- import InputAdornment from '@mui/material/InputAdornment'
7
- import MenuItem from '@mui/material/MenuItem'
8
- import TextField from '@mui/material/TextField'
9
- import { useTheme } from '@mui/styles'
10
- import { FieldInputProps, FormikProps } from 'formik'
11
- import _get from 'lodash/get'
12
- import _includes from 'lodash/includes'
13
- import _isFunction from 'lodash/isFunction'
14
- import _isObject from 'lodash/isObject'
15
- import _map from 'lodash/map'
16
- import React, { useEffect, useRef, useState } from 'react'
17
-
18
- export interface ISelectOption {
19
- label: string | number;
20
- value?: string | number;
21
- [key: string]: any;
22
- }
23
-
24
- export interface ICustomField {
25
- onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
26
- label: string;
27
- field: FieldInputProps<any>;
28
- form: FormikProps<any>;
29
- theme: 'dark' | 'light';
30
- // optional
31
- type?: string;
32
- selectOptions?: ISelectOption[];
33
- inputRef?:
34
- | { current: HTMLInputElement | null }
35
- | ((node: HTMLInputElement | null) => void);
36
- multiline?: boolean;
37
- minRows?: string | number;
38
- maxRows?: string | number;
39
- }
40
-
41
- export interface IOtherProps {
42
- [key: string]: any;
43
- }
44
-
45
- export const CustomField = ({
46
- label,
47
- type = 'text',
48
- field,
49
- selectOptions = [] as ISelectOption[],
50
- form: { touched, errors, submitCount },
51
- theme,
52
- inputProps: pInputProps = {},
53
- InputProps = {},
54
- inputRef,
55
- onChange,
56
- multiline = false,
57
- minRows = 3,
58
- maxRows,
59
- disabled,
60
- }: ICustomField & IOtherProps) => {
61
- const [isShrinked, setIsShrinked] = useState(Boolean(field.value))
62
- const [showPassword, setShowPassword] = useState(false)
63
- const _ref = useRef<HTMLInputElement>(null)
64
- const isAutoFilled = _ref.current?.matches ? _ref.current?.matches(':-webkit-autofill') : false
65
- const isSelectField = type === 'select'
66
- const isPasswordField = type === 'password'
67
- const error = _get(errors, field.name)
68
- const isTouched =
69
- Boolean(_get(touched, field.name)) ||
70
- (_includes(field.name, 'holder') && !!error && !!submitCount)
71
-
72
- const customTheme: any = useTheme()
73
- const inputProps: any = { sx: customTheme?.input }
74
-
75
- const handleClickShowPassword = () => {
76
- setShowPassword(!showPassword)
77
- }
78
-
79
- const handleMouseDownPassword = (event: React.MouseEvent<HTMLButtonElement>) => {
80
- event.preventDefault()
81
- }
82
-
83
- const finalInputProps = isPasswordField
84
- ? {
85
- ...InputProps,
86
- endAdornment: (
87
- <InputAdornment position="end">
88
- <IconButton
89
- aria-label="toggle password visibility"
90
- onClick={handleClickShowPassword}
91
- onMouseDown={handleMouseDownPassword}
92
- edge="end"
93
- size="small"
94
- sx={{ color: customTheme?.input?.color || 'inherit' }}
95
- >
96
- {showPassword ? <VisibilityOff /> : <Visibility />}
97
- </IconButton>
98
- </InputAdornment>
99
- ),
100
- }
101
- : InputProps
102
-
103
- useEffect(() => {
104
- if (_isFunction(inputRef)) {
105
- inputRef(_ref.current)
106
- } else if (_isObject(inputRef)) {
107
- inputRef.current = _ref.current
108
- }
109
- })
110
-
111
- return (
112
- <TextField
113
- disabled={disabled}
114
- placeholder=""
115
- id={field.name}
116
- label={label}
117
- type={isPasswordField ? (showPassword ? 'text' : 'password') : type}
118
- select={isSelectField}
119
- fullWidth={true}
120
- error={!!error && isTouched}
121
- helperText={isTouched && error}
122
- onFocus={() => {
123
- setIsShrinked(true)
124
- }}
125
- SelectProps={{
126
- native: false,
127
- className: theme,
128
- MenuProps: {
129
- className: theme,
130
- PaperProps: {
131
- sx: {
132
- '& .MuiMenuItem-root': {
133
- paddingLeft: '16px',
134
- paddingRight: '16px',
135
- },
136
- },
137
- },
138
- },
139
- }}
140
- InputLabelProps={{
141
- sx: customTheme?.input,
142
- shrink: isSelectField || isShrinked || Boolean(field.value) || isAutoFilled,
143
- }}
144
- InputProps={finalInputProps}
145
- inputProps={{ ...inputProps, ...pInputProps }}
146
- inputRef={_ref}
147
- multiline={multiline}
148
- minRows={minRows}
149
- maxRows={maxRows}
150
- {...field}
151
- onBlur={(e: React.FocusEvent<any, Element>) => {
152
- setIsShrinked(Boolean(field.value))
153
- if (field.onBlur) {
154
- field.onBlur(e)
155
- }
156
- }}
157
- onChange={onChange ?? field.onChange}
158
- >
159
- {isSelectField
160
- ? _map(selectOptions, option => (
161
- <MenuItem key={option.value} value={option.value} disabled={option.disabled}>
162
- {option.label}
163
- </MenuItem>
164
- ))
165
- : null}
166
- </TextField>
167
- )
168
- }
@@ -1,126 +0,0 @@
1
- import { ThemeOptions } from '@mui/material'
2
- import { createTheme, ThemeProvider } from '@mui/material/styles'
3
- import { CSSProperties } from '@mui/styles'
4
- import { DatePicker } from '@mui/x-date-pickers'
5
- import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment'
6
- import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'
7
- import { FieldInputProps, FormikProps } from 'formik'
8
- import React from 'react'
9
-
10
- import { CustomField } from './CustomField'
11
-
12
- const DATE_SIZE = 32
13
- const compactStyles = {
14
- '& > div': {
15
- minWidth: 256,
16
- },
17
- '& > div > div, & > div > div > div, & .MuiCalendarPicker-root': {
18
- width: 256,
19
- },
20
- '& .MuiTypography-caption': {
21
- width: DATE_SIZE,
22
- margin: 0,
23
- },
24
- '& .PrivatePickersSlideTransition-root': {
25
- minHeight: DATE_SIZE * 6,
26
- },
27
- '& .PrivatePickersSlideTransition-root [role="row"]': {
28
- margin: 0,
29
- },
30
- '& .MuiPickersDay-dayWithMargin': {
31
- margin: 0,
32
- },
33
- '& .MuiPickersDay-root': {
34
- width: DATE_SIZE,
35
- height: DATE_SIZE,
36
- },
37
- '& .MuiPickersArrowSwitcher-spacer': {
38
- width: 0,
39
- },
40
- '& [role="presentation"] .PrivatePickersFadeTransitionGroup-root': {
41
- marginRight: -1,
42
- },
43
- }
44
-
45
- const getTheme = (isCompact: boolean, baseThemeOptions?: object | null) => {
46
- if (isCompact) {
47
- return createTheme(
48
- Object.assign(baseThemeOptions ?? {}, {
49
- components: {
50
- MuiPaper: {
51
- defaultProps: {
52
- sx: compactStyles,
53
- },
54
- },
55
- },
56
- })
57
- )
58
- }
59
-
60
- return createTheme(baseThemeOptions ?? {})
61
- }
62
-
63
- export interface IDatePickerFieldProps {
64
- label: string;
65
-
66
- field: FieldInputProps<any>;
67
- form: FormikProps<any>;
68
- theme: 'dark' | 'light';
69
- themeOptions?: ThemeOptions & {
70
- input?: CSSProperties;
71
- checkbox?: CSSProperties;
72
- };
73
-
74
- useCompact?: boolean;
75
- }
76
-
77
- interface IOtherProps {
78
- [key: string]: any;
79
- }
80
-
81
- export const DatePickerField = ({
82
- label,
83
- field,
84
- form,
85
- theme,
86
- useCompact = true,
87
- themeOptions,
88
- dateFormat = 'DD/MM/YYYY',
89
- placeholder = 'dd/mm/yyyy',
90
- }: IDatePickerFieldProps & IOtherProps) => (
91
- <ThemeProvider theme={getTheme(useCompact, themeOptions ?? null)}>
92
- <LocalizationProvider dateAdapter={AdapterMoment}>
93
- <DatePicker
94
- value={field.value || ''}
95
- onChange={value => form.setFieldValue(field.name, value)}
96
- PopperProps={{
97
- placement: 'bottom-start',
98
- }}
99
- showDaysOutsideCurrentMonth={true}
100
- disableFuture={true}
101
- inputFormat={dateFormat}
102
- mask="__/__/____"
103
- renderInput={(params: any) => (
104
- <CustomField
105
- {...params}
106
- inputProps={{ ...params.inputProps, placeholder }}
107
- theme={theme}
108
- field={{
109
- ...field,
110
- onChange: (
111
- evt: React.FormEvent<HTMLInputElement | HTMLTextAreaElement>
112
- ) => {
113
- if (params.inputProps && params.inputProps.onChange) {
114
- params.inputProps.onChange(evt)
115
- }
116
- },
117
- }}
118
- form={form}
119
- label={label}
120
- type="tel"
121
- />
122
- )}
123
- />
124
- </LocalizationProvider>
125
- </ThemeProvider>
126
- )
@@ -1,141 +0,0 @@
1
- import { Field, FormikValues } from 'formik'
2
- import _identity from 'lodash/identity'
3
- import _map from 'lodash/map'
4
- import React, { FC } from 'react'
5
-
6
- import { replaceVarInString } from '../../../utils'
7
- import {
8
- CheckboxField,
9
- CustomField,
10
- DatePickerField,
11
- PhoneNumberField,
12
- SelectField,
13
- } from '../index'
14
- import { getFieldClassNames, getValidateFunctions, insertHTML } from './utils'
15
-
16
- export interface IFieldsSectionProps {
17
- formFields?: IFormFieldsSection[];
18
- values: FormikValues;
19
- setFieldValue: (
20
- field: string,
21
- value: FormikValues | string | number,
22
- shouldValidate?: boolean | undefined
23
- ) => void;
24
- disableField?: string;
25
- countries?: { [key: string]: string | number }[];
26
- states?: { [key: string]: string | number }[];
27
- theme?: 'dark' | 'light';
28
- containerClass?: string;
29
- setPhoneValidationIsLoading?: (isLoading: boolean) => void;
30
- onFieldChange?: (name: string, value: string | number) => void;
31
- }
32
-
33
- const SectionContainer: FC<{ className: string }> = ({
34
- children,
35
- className,
36
- }) => <div className={className}>{children}</div>
37
-
38
- export const FieldsSection = ({
39
- formFields = [],
40
- countries = [],
41
- states = [],
42
- values,
43
- setFieldValue,
44
- theme,
45
- containerClass = '',
46
- setPhoneValidationIsLoading = _identity,
47
- onFieldChange = _identity,
48
- disableField,
49
- }: IFieldsSectionProps) => (
50
- <>
51
- {_map(formFields, (item, index) => {
52
- const {
53
- name,
54
- groupLabel,
55
- groupLabelVars = [],
56
- groupLabelClassName,
57
- groupClassName = '',
58
- fields,
59
- } = item
60
- return (
61
- <SectionContainer key={name} className={groupClassName}>
62
- <span id={`group_label_${index}`} className={groupLabelClassName}>
63
- {typeof groupLabel === 'string'
64
- ? insertHTML(
65
- `group_label_${index}`,
66
- replaceVarInString(groupLabel, groupLabelVars)
67
- )
68
- : groupLabel}
69
- </span>
70
- <div className={`fields-container ${groupClassName}`}>
71
- {_map(fields, (fieldData, fieldIndex) => {
72
- const {
73
- name,
74
- label,
75
- className = 'full-width',
76
- type,
77
- component,
78
- options = [],
79
- required,
80
- } = fieldData
81
- const id = `${name}-${fieldIndex}`
82
- const classNames = `${containerClass}-container__field ${className}`
83
- return (
84
- component || (
85
- <div
86
- key={name}
87
- id={id}
88
- className={getFieldClassNames(id, classNames)}
89
- >
90
- <Field
91
- disabled={name === disableField || name === 'state' && !states.length}
92
- name={name}
93
- label={`${label}${required ? '' : ' (optional)'}`}
94
- type={type}
95
- validate={name === 'state' && !states.length ? false : getValidateFunctions({
96
- element: fieldData,
97
- values,
98
- })}
99
- setFieldValue={setFieldValue}
100
- component={
101
- type === 'checkbox'
102
- ? CheckboxField
103
- : type === 'select'
104
- ? SelectField
105
- : type === 'phone'
106
- ? PhoneNumberField
107
- : type === 'date'
108
- ? DatePickerField
109
- : CustomField
110
- }
111
- options={
112
- name === 'country'
113
- ? countries
114
- : name === 'state'
115
- ? states
116
- : options
117
- }
118
- theme={theme}
119
- setPhoneValidationIsLoading={
120
- type === 'phone'
121
- ? setPhoneValidationIsLoading
122
- : undefined
123
- }
124
- onChange={(e: React.FormEvent<EventTarget>) => {
125
- const element = e.target as HTMLInputElement
126
- const { value } = element
127
- setFieldValue(name, value)
128
- onFieldChange(name, value)
129
- }}
130
- disableDropdown={fieldData.disableDropdown}
131
- />
132
- </div>
133
- )
134
- )
135
- })}
136
- </div>
137
- </SectionContainer>
138
- )
139
- })}
140
- </>
141
- )
@@ -1,92 +0,0 @@
1
- import { FormikValues } from 'formik'
2
- import _isEmpty from 'lodash/isEmpty'
3
- import _map from 'lodash/map'
4
-
5
- import { isBrowser } from '../../../../utils'
6
- import { combineValidators, requiredValidator } from '../../../../validators'
7
-
8
- export const getValidateFunctions = ({
9
- element,
10
- values,
11
- }: {
12
- element: IFormField;
13
- values: FormikValues;
14
- }) => {
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- const validationFunctions: any[] = []
17
- if (element.required) {
18
- validationFunctions.push(requiredValidator)
19
- }
20
-
21
- if (element.onValidate) {
22
- validationFunctions.push(element.onValidate)
23
- }
24
-
25
- if (element.name === 'confirmEmail') {
26
- const isSameEmail = (confirmEmail?: string) =>
27
- values.email !== confirmEmail
28
- ? 'Please confirm your email address correctly'
29
- : null
30
- validationFunctions.push(isSameEmail)
31
- }
32
-
33
- if (element.name === 'confirmPassword') {
34
- const isSame = (confirmPassword?: string) =>
35
- values.password !== confirmPassword
36
- ? 'Password confirmation does not match'
37
- : null
38
-
39
- validationFunctions.push(isSame)
40
- }
41
-
42
- return combineValidators(...validationFunctions)
43
- }
44
-
45
- export const updateFormFieldsAttributes = (
46
- formFields: IFormFieldsSection[],
47
- attributes?: IFieldAttribute
48
- ) => {
49
- if (attributes && !_isEmpty(attributes)) {
50
- const updatedFormFields = _map(formFields, fieldSection => {
51
- const fieldSectionAttributes = attributes[fieldSection.name] || {}
52
-
53
- const updatedFields = _map(fieldSection.fields, fieldItem => {
54
- const fieldItemAttributes = attributes[fieldItem.name] || {}
55
- return { ...fieldItem, ...fieldItemAttributes }
56
- })
57
-
58
- return {
59
- ...fieldSection,
60
- ...fieldSectionAttributes,
61
- fields: updatedFields,
62
- }
63
- })
64
-
65
- return updatedFormFields
66
- }
67
- return formFields
68
- }
69
-
70
- export const getFieldClassNames = (id: string, existingClassNames: string) => {
71
- if (isBrowser) {
72
- const elem = document && document.getElementById(id)
73
-
74
- if ((elem?.parentElement?.clientWidth || 0) < 375) {
75
- return existingClassNames + ' full-width'
76
- }
77
- }
78
-
79
- return existingClassNames
80
- }
81
-
82
- export const insertHTML = (elementId: string, text = '') => {
83
- if (isBrowser) {
84
- const elem = document && document.getElementById(elementId)
85
-
86
- if (!elem?.childNodes.length) {
87
- elem?.insertAdjacentHTML('afterbegin', text)
88
- }
89
- }
90
-
91
- return null
92
- }
@@ -1,51 +0,0 @@
1
- import { useTheme } from '@mui/styles'
2
- import { FieldInputProps } from 'formik'
3
- import _get from 'lodash/get'
4
- import MuiPhoneNumber from 'material-ui-phone-number'
5
- import React from 'react'
6
-
7
- export interface INumberInField {
8
- label: string | number | JSX.Element;
9
- field: FieldInputProps<any>;
10
- }
11
-
12
- interface IOtherProps {
13
- [key: string]: any;
14
- }
15
-
16
- export const FormikPhoneNumberField = ({
17
- label,
18
- field,
19
- form: { touched, errors, values },
20
- setFieldValue,
21
- selectOptions,
22
- ...rest
23
- }: INumberInField & IOtherProps) => {
24
- const error = _get(errors, field.name)
25
- const isTouched = Boolean(_get(touched, field.name))
26
-
27
- const customTheme: any = useTheme()
28
-
29
- return (
30
- <MuiPhoneNumber
31
- name="phone"
32
- value={values.phone}
33
- onChange={(e: any) => setFieldValue('phone', e)}
34
- variant="outlined"
35
- defaultCountry="us"
36
- disableDropdown={true}
37
- label={label}
38
- error={!!error && isTouched}
39
- helperText={isTouched && error}
40
- fullWidth
41
- InputLabelProps={{
42
- sx: customTheme?.input,
43
- }}
44
- InputProps={{
45
- sx: customTheme?.input,
46
- }}
47
- autoFormat={false}
48
- {...rest}
49
- />
50
- )
51
- }
@@ -1,8 +0,0 @@
1
- import CircularProgress from '@mui/material/CircularProgress'
2
- import React from 'react'
3
-
4
- export const Loader = () => (
5
- <div className="loader-container">
6
- <CircularProgress />
7
- </div>
8
- )
@@ -1,68 +0,0 @@
1
- import { Modal as MuiModal } from '@mui/material'
2
- import Box from '@mui/material/Box'
3
- import Button from '@mui/material/Button'
4
- import CircularProgress from '@mui/material/CircularProgress'
5
- import _map from 'lodash/map'
6
- import React, { FC } from 'react'
7
-
8
- export interface Action {
9
- id: string;
10
- label: string;
11
- onClick: () => void;
12
- disabled?: boolean;
13
- loading?: boolean;
14
- variant?: "text" | "contained" | "outlined";
15
- }
16
-
17
- interface Props {
18
- onClose?: () => void;
19
- actions: Action[];
20
- modalClassName?: string;
21
- }
22
-
23
- const style: React.CSSProperties = {
24
- position: 'absolute',
25
- top: '50%',
26
- left: '50%',
27
- transform: 'translate(-50%, -50%)',
28
- minWidth: 480,
29
- backgroundColor: '#e3e3e3',
30
- border: '1px solid white',
31
- outline: 'none',
32
- padding: '14px',
33
- maxHeight: '85vh',
34
- overflow: 'auto',
35
- }
36
-
37
- const Modal: FC<Props> = ({
38
- onClose,
39
- actions = [],
40
- children,
41
- modalClassName = '',
42
- }) => (
43
- <MuiModal
44
- open={true}
45
- onClose={onClose}
46
- aria-labelledby="modal-modal-title"
47
- aria-describedby="modal-modal-description"
48
- className={`confirm-modal ${modalClassName}`}
49
- >
50
- <Box style={style}>
51
- <div className="modal-body">{children}</div>
52
- <div className="footer">
53
- {_map(actions, (action: Action) => (
54
- <Button
55
- key={action.id}
56
- onClick={action.onClick}
57
- disabled={action.disabled || action.loading}
58
- variant={action.variant || "text"}
59
- >
60
- {action.loading ? <CircularProgress size="22px" /> : action.label}
61
- </Button>
62
- ))}
63
- </div>
64
- </Box>
65
- </MuiModal>
66
- )
67
-
68
- export default Modal