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,150 +0,0 @@
1
- .button-container {
2
- display: flex;
3
- padding: 20px;
4
- justify-content: center;
5
- }
6
-
7
- .billing-info-container {
8
- max-width: 800px;
9
- margin: 0 auto;
10
- }
11
- .billing-info-container .is-half {
12
- width: 49%;
13
- }
14
-
15
- .billing-info-container p {
16
- color: #000;
17
- }
18
-
19
- .billing-info-container .main-header {
20
- font-size: 2rem;
21
- font-weight: 600;
22
- }
23
-
24
- .billing-info-container__twoFields {
25
- display: flex;
26
- justify-content: space-between;
27
- margin-top: 15px;
28
- }
29
- .billing-info-container__singleField {
30
- margin-top: 15px;
31
- }
32
- button {
33
- margin-top: 10px;
34
- }
35
-
36
- .account-actions-block {
37
- margin-top: 10px;
38
- color: #182026;
39
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu,
40
- Cantarell, Open Sans, Helvetica Neue, Icons16, sans-serif;
41
- }
42
-
43
- .MuiButtonBase-root.MuiButton-root,
44
- .MuiButtonBase-root.MuiButton-root:hover,
45
- .login-register-button {
46
- width: 49%;
47
- margin-top: 10px;
48
- min-height: 46px;
49
- background-color: #212529;
50
- font-size: 26px;
51
- border: #f28051;
52
- border-radius: 5px;
53
- color: #fff;
54
- position: relative;
55
- display: block;
56
- cursor: pointer;
57
- font-family: Inter-Bold;
58
- font-weight: 700;
59
- text-transform: uppercase;
60
- /* font-size: 1rem; */
61
- padding: 14px 12px 12px;
62
- line-height: 1.15;
63
- text-align: center;
64
- overflow: hidden;
65
- text-overflow: ellipsis;
66
- outline: none;
67
- }
68
-
69
- .logo-image-container {
70
- width: 49%;
71
- margin-top: 5px;
72
- text-align: center;
73
- }
74
-
75
- .logo-image-container img {
76
- height: 30px;
77
- }
78
-
79
- .login-block {
80
- display: flex;
81
- flex-direction: column;
82
- align-items: center;
83
- }
84
-
85
- .login-register-button:hover {
86
- background-color: #505050 !important;
87
- border-color: #505050 !important;
88
- }
89
-
90
- .login-register-block {
91
- display: flex;
92
- justify-content: space-between;
93
- }
94
-
95
- @media only screen and (max-width: 820px) {
96
- .billing-info-container {
97
- width: 90%;
98
- }
99
- .billing-info-container .main-header {
100
- font-size: 1.5rem;
101
- }
102
- }
103
-
104
- .email-checking {
105
- margin-bottom: 15px;
106
- }
107
-
108
- .billing-info-container .email-registered-message {
109
- border: 2px solid #000 !important;
110
- border-radius: 5px !important;
111
- padding: 12px !important;
112
- margin-top: 10px !important;
113
- margin-bottom: 15px !important;
114
- background-color: #fff !important;
115
- width: 100% !important;
116
- max-width: 100% !important;
117
- clear: both !important;
118
- display: block !important;
119
- box-sizing: border-box !important;
120
- }
121
-
122
- .billing-info-container .email-registered-text {
123
- color: #000 !important;
124
- font-size: 11px !important;
125
- line-height: 1.3 !important;
126
- margin: 0 0 10px 0 !important;
127
- font-weight: 400 !important;
128
- }
129
-
130
- .billing-info-container .email-login-button.MuiButton-root.MuiButton-contained {
131
- width: 100% !important;
132
- min-height: 40px !important;
133
- background-color: #212529 !important;
134
- font-size: 13px !important;
135
- border: none !important;
136
- border-radius: 5px !important;
137
- color: #fff !important;
138
- cursor: pointer !important;
139
- font-weight: 700 !important;
140
- text-transform: uppercase !important;
141
- padding: 10px 12px !important;
142
- line-height: 1.15 !important;
143
- text-align: center !important;
144
- box-shadow: none !important;
145
- }
146
-
147
- .billing-info-container .email-login-button.MuiButton-root.MuiButton-contained:hover {
148
- background-color: #505050 !important;
149
- box-shadow: none !important;
150
- }
@@ -1,413 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { FormikErrors, FormikValues } from 'formik'
3
- import _flatMapDeep from 'lodash/flatMapDeep'
4
- import _forEach from 'lodash/forEach'
5
- import _get from 'lodash/get'
6
- import _isArray from 'lodash/isArray'
7
- import _isEmpty from 'lodash/isEmpty'
8
- import _map from 'lodash/map'
9
- import { nanoid } from 'nanoid'
10
- import React from 'react'
11
-
12
- import { AttributesConfig } from '../../api'
13
- import { IGroupItem } from '../../types'
14
- import { CONFIGS } from '../../utils'
15
- import { combineValidators, requiredValidator } from '../../validators'
16
- import {
17
- CheckboxField,
18
- CustomField,
19
- DatePickerField,
20
- PhoneNumberField,
21
- RadioGroupField,
22
- SelectField,
23
- } from '../common/index'
24
-
25
- export interface ILoggedInValues {
26
- emailLogged?: string;
27
- firstNameLogged?: string;
28
- lastNameLogged?: string;
29
- phoneLogged?: string;
30
- }
31
-
32
- export interface IValues {
33
- [key: string]: any;
34
- }
35
-
36
- export const getInitialValues = (
37
- data: any = [],
38
- propsInitialValues: IValues = {},
39
- userValues: any = {},
40
- ticketHoldersFields: any = {},
41
- ticketsQuantity: any = []
42
- ): IValues => {
43
- const results = _flatMapDeep(data, ({ fields }) =>
44
- _map(fields, ({ groupItems }) =>
45
- _map(groupItems, ({ name, value }) => ({ name, value }))
46
- )
47
- )
48
-
49
- // Add Ticket Holder default values for custom fields
50
- const ticketHoldersCustomFields =
51
- ticketHoldersFields?.fields?.find((groupItem: any) => groupItem.customFields)
52
- ?.groupItems || []
53
- const ticketHoldersCustomFieldsInitValues = {} as IValues
54
- const selectedTicketsCount =
55
- ticketsQuantity.length || localStorage.getItem('selectedTicketsQuantity') || 0
56
-
57
- if (!_isEmpty(ticketHoldersCustomFields)) {
58
- for (const customField of ticketHoldersCustomFields) {
59
- for (let i = 0; i < selectedTicketsCount; i++) {
60
- const fieldName = `${customField.name}-${i}`
61
- const fieldValue = customField.value
62
- ticketHoldersCustomFieldsInitValues[fieldName] = fieldValue
63
- }
64
- }
65
- }
66
-
67
- const initialValues: IValues = {}
68
- _forEach(results, groupItem => {
69
- const { name, value } = groupItem
70
- initialValues[name] = value || propsInitialValues[name] || userValues[name] || ''
71
- })
72
-
73
- // set logged in user as first ticket holder
74
- initialValues['holderFirstName-0'] =
75
- propsInitialValues.firstName || userValues.firstName || ''
76
- initialValues['holderLastName-0'] =
77
- propsInitialValues.lastName || userValues.lastName || ''
78
- initialValues['holderEmail-0'] = propsInitialValues.email || userValues.email || ''
79
- initialValues['holderPhone-0'] = propsInitialValues.phone || userValues.phone || ''
80
-
81
- return { ...initialValues, ...ticketHoldersCustomFieldsInitValues }
82
- }
83
-
84
- export const createRegisterFormData = (
85
- values: IValues = {},
86
- checkoutBody: { attributes: { [key: string]: any } },
87
- flagFreeTicket = false
88
- ): FormData => {
89
- const bodyFormData = new FormData()
90
- bodyFormData.append('first_name', values.firstName)
91
- bodyFormData.append('last_name', values.lastName)
92
- bodyFormData.append('email', values.email)
93
- bodyFormData.append('password', values.password)
94
- bodyFormData.append('password_confirmation', values.confirmPassword)
95
- bodyFormData.append(
96
- 'client_id',
97
- CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'
98
- )
99
- bodyFormData.append(
100
- 'client_secret',
101
- CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9'
102
- )
103
- bodyFormData.append('check_cart_expiration', 'true')
104
-
105
- _forEach(checkoutBody.attributes, (item: any, key: string) => {
106
- if (
107
- !(flagFreeTicket && ['country', 'state', 'city', 'street_address'].includes(key))
108
- ) {
109
- bodyFormData.append(key, item)
110
- }
111
- })
112
-
113
- return bodyFormData
114
- }
115
-
116
- export interface ICheckoutBody {
117
- attributes: {
118
- [key: string]: any;
119
- };
120
- data_capture?: {
121
- [key: string]: any;
122
- };
123
- }
124
-
125
- interface IticketHolder {
126
- first_name?: string;
127
- last_name?: string;
128
- phone?: string;
129
- email?: string;
130
- }
131
-
132
- export const createCheckoutDataBody = (
133
- ticketsQuantity: number,
134
- values: IValues = {},
135
- logedInValues: ILoggedInValues = {},
136
- includeDob = false
137
- ): ICheckoutBody => {
138
- const { firstName, lastName, holderAge, confirmEmail, confirmPassword, ...restValues } =
139
- values
140
-
141
- const holders = []
142
- let ticket_holders: IticketHolder[] = []
143
-
144
- for (let i = 0; i <= ticketsQuantity; i++) {
145
- const individualHolder = Object.fromEntries(
146
- Object.entries(values).filter(([key, _val]) => key.includes(String(i)))
147
- )
148
- holders.push(individualHolder)
149
- }
150
-
151
- const filteredHolders = holders.filter(holder => Object.entries(holder).length > 0)
152
- ticket_holders = filteredHolders.map((item, index) => ({
153
- first_name: !index
154
- ? item[`holderFirstName-${index}`] || logedInValues.firstNameLogged || ''
155
- : item[`holderFirstName-${index}`] || '',
156
- last_name: !index
157
- ? item[`holderLastName-${index}`] || logedInValues.lastNameLogged || ''
158
- : item[`holderLastName-${index}`] || '',
159
- phone: !index
160
- ? item[`holderPhone-${index}`] || logedInValues.phoneLogged || ''
161
- : item[`holderPhone-${index}`] || '',
162
- email: !index
163
- ? item[`holderEmail-${index}`] || logedInValues.emailLogged || ''
164
- : item[`holderEmail-${index}`] || '',
165
- }))
166
-
167
- const filteredRestValue: { [key: string]: any } = {}
168
- _forEach(restValues, (value, key) => {
169
- if (!key.includes('holder')) {
170
- filteredRestValue[key] = value
171
- }
172
- })
173
-
174
- const body: ICheckoutBody = {
175
- attributes: {
176
- ...filteredRestValue,
177
- email: restValues.email || logedInValues.emailLogged,
178
- confirm_email: restValues.email || logedInValues.emailLogged,
179
- first_name: firstName || logedInValues.firstNameLogged,
180
- last_name: lastName || logedInValues.lastNameLogged,
181
- ticket_holders,
182
- },
183
- }
184
-
185
- if (includeDob) {
186
- const holderAgeDate = new Date(holderAge)
187
- body.attributes.dob_day = holderAgeDate.getDate()
188
- body.attributes.dob_month = holderAgeDate.getMonth() + 1
189
- body.attributes.dob_year = holderAgeDate.getFullYear()
190
- }
191
- return body
192
- }
193
-
194
- export const getValidateFunctions = (
195
- element: IGroupItem,
196
- states: Array<{ [key: string]: any }>,
197
- values: FormikValues,
198
- errors: FormikErrors<any>
199
- ) => {
200
- const validationFunctions: any[] = []
201
-
202
- if (element.required) {
203
- if (element.name !== 'state' || (element.name === 'state' && states.length)) {
204
- validationFunctions.push(requiredValidator)
205
- }
206
- }
207
-
208
- if (element.onValidate) {
209
- validationFunctions.push(element.onValidate)
210
- }
211
-
212
- if (element.name === 'phone') {
213
- const invalidPhone = () =>
214
- errors.phone === 'Invalid phone number' ? 'Invalid phone number' : null
215
- validationFunctions.push(invalidPhone)
216
- }
217
-
218
- if (element.name === 'confirmEmail') {
219
- const isSameEmail = (confirmEmail?: string) =>
220
- values.email !== confirmEmail ? 'Please confirm your email address correctly' : null
221
- validationFunctions.push(isSameEmail)
222
- }
223
-
224
- if (element.name === 'confirmPassword') {
225
- const isSame = (confirmPassword?: string) =>
226
- values.password !== confirmPassword ? 'Password confirmation does not match' : null
227
- validationFunctions.push(isSame)
228
- }
229
-
230
- return combineValidators(...validationFunctions)
231
- }
232
-
233
- export const assingUniqueIds = (data: any): any => {
234
- if (_get(data[0], 'uniqueId')) {
235
- return data
236
- }
237
-
238
- return _map(data, (item: any) => {
239
- _forEach(item, (itemValue: string, key) => {
240
- if (_isArray(itemValue) && !itemValue.some(item => typeof item === 'string')) {
241
- item[key] = assingUniqueIds(itemValue)
242
- }
243
- })
244
-
245
- return { ...item, uniqueId: nanoid() }
246
- })
247
- }
248
-
249
- export const isRequiredField = (
250
- element: IGroupItem,
251
- configs?: null | AttributesConfig
252
- ) => {
253
- const { name, required } = element
254
- const flagRequirePhone = _get(configs, 'phone_required', false)
255
- const collectMandatoryWalletAddress = _get(
256
- configs,
257
- 'collect_mandatory_wallet_address',
258
- false
259
- )
260
-
261
- if (
262
- required ||
263
- (name === 'phone' && flagRequirePhone) ||
264
- (name === 'data_capture[wallet_address]' && !collectMandatoryWalletAddress)
265
- ) {
266
- return true
267
- }
268
-
269
- return false
270
- }
271
-
272
- export const getFieldLabel = (element: IGroupItem, configs?: null | AttributesConfig) => {
273
- if (isRequiredField(element, configs) || React.isValidElement(element.label)) {
274
- return element.label
275
- }
276
-
277
- return `${element.label} (optional)`
278
- }
279
-
280
- export const getFieldComponent = (element: IGroupItem) => {
281
- const type = _get(element, 'type', 'text')
282
-
283
- const fieldComponentConfigs = {
284
- checkbox: CheckboxField,
285
- select: CustomField, // Temp change untill refactoring
286
- select_multi: SelectField,
287
- phone: PhoneNumberField,
288
- date: DatePickerField,
289
- radio: RadioGroupField,
290
- text: CustomField,
291
- }
292
-
293
- const fieldComponent = _get(fieldComponentConfigs, type, CustomField)
294
- return fieldComponent
295
- }
296
-
297
- /**
298
- * Renders a React component with the provided props
299
- * @param Component - The React component to render
300
- * @param props - The props to apply to the component
301
- * @returns JSX element with applied props
302
- */
303
- export const renderComponentWithProps = <T extends Record<string, any>>(
304
- Component: React.ComponentType<T>,
305
- props: T
306
- ): React.ReactElement<T> => <Component {...props} />
307
-
308
- export const filterBillingInfoFields = (
309
- fields: IGroupItem[],
310
- options: {
311
- showDOB: boolean;
312
- hideTtfOptIn: boolean;
313
- hidePhoneField: boolean;
314
- flagRequirePhone: boolean;
315
- collectMandatoryWalletAddress: boolean;
316
- collectMandatoryJobTitle: boolean;
317
- collectMandatoryBusinessCategory: boolean;
318
- collectMandatoryCompany: boolean;
319
- collectMandatoryInstagram: boolean;
320
- flagFreeTicket: boolean;
321
- hideWalletAddressField: boolean;
322
- hideJobTitleField: boolean;
323
- hideBusinessCategoryField: boolean;
324
- hideCompanyField: boolean;
325
- hideInstagramField: boolean;
326
- }
327
- ) => {
328
- const {
329
- showDOB,
330
- hideTtfOptIn,
331
- hidePhoneField,
332
- flagRequirePhone,
333
- collectMandatoryWalletAddress,
334
- collectMandatoryJobTitle,
335
- collectMandatoryBusinessCategory,
336
- collectMandatoryCompany,
337
- collectMandatoryInstagram,
338
- flagFreeTicket,
339
- hideWalletAddressField,
340
- hideJobTitleField,
341
- hideBusinessCategoryField,
342
- hideCompanyField,
343
- hideInstagramField,
344
- } = options
345
- return fields.filter(el => {
346
- if (el.name === 'holderAge' && !showDOB) {
347
- return false
348
- }
349
- if (el.name === 'ttf_opt_in' && hideTtfOptIn) {
350
- return false
351
- }
352
- if (el.name === 'phone') {
353
- if (!hidePhoneField) {
354
- el.required = flagRequirePhone
355
- } else {
356
- return false
357
- }
358
- }
359
- if (el.name === 'data_capture[wallet_address]') {
360
- if (collectMandatoryWalletAddress) {
361
- el.required = true
362
- }
363
- }
364
- if (el.name === 'data_capture[jobTitle]') {
365
- if (collectMandatoryJobTitle) {
366
- el.required = true
367
- }
368
- }
369
- if (el.name === 'data_capture[businessCategory]') {
370
- if (collectMandatoryBusinessCategory) {
371
- el.required = true
372
- }
373
- }
374
- if (el.name === 'data_capture[company]') {
375
- if (collectMandatoryCompany) {
376
- el.required = true
377
- }
378
- }
379
- if (el.name === 'data_capture[instagram]') {
380
- if (collectMandatoryInstagram) {
381
- el.required = true
382
- }
383
- }
384
- if (['street_address', 'country', 'state', 'city'].includes(el.name)) {
385
- if (flagFreeTicket) {
386
- el.required = false
387
- return false
388
- }
389
- }
390
- if (
391
- hideWalletAddressField &&
392
- (el.name === 'wallet-address-info' || el.name === 'data_capture[wallet_address]')
393
- ) {
394
- return false
395
- }
396
- if (hideJobTitleField && el.name === 'data_capture[jobTitle]') {
397
- return false
398
- }
399
- if (hideBusinessCategoryField && el.name === 'data_capture[businessCategory]') {
400
- return false
401
- }
402
- if (hideCompanyField && el.name === 'data_capture[company]') {
403
- return false
404
- }
405
- if (
406
- hideInstagramField &&
407
- (el.name === 'data_capture[instagram]' || el.name === 'instagram-info')
408
- ) {
409
- return false
410
- }
411
- return true
412
- })
413
- }
@@ -1,51 +0,0 @@
1
- import { FormControl, FormHelperText } from '@mui/material'
2
- import CheckboxMaterial from '@mui/material/Checkbox'
3
- import FormControlLabel from '@mui/material/FormControlLabel'
4
- import FormGroup from '@mui/material/FormGroup'
5
- import { useTheme } from '@mui/styles'
6
- import { FieldInputProps } from 'formik'
7
- import React from 'react'
8
-
9
- export interface ICheckboxField {
10
- label: string | number | JSX.Element;
11
- field?: FieldInputProps<any>;
12
- }
13
-
14
- interface IOtherProps {
15
- [key: string]: any;
16
- }
17
-
18
- export const Checkbox = ({
19
- label,
20
- field,
21
- selectOptions,
22
- theme,
23
- setFieldValue,
24
- disableDropdown,
25
- setPhoneValidationIsLoading,
26
- defaultCountry,
27
- required,
28
- uniqueId,
29
- dateFormat,
30
- datePlaceholder,
31
- isCountryCodeEditable,
32
- ...rest
33
- }: ICheckboxField & IOtherProps) => {
34
- const customTheme: any = useTheme()
35
- return (
36
- <FormControl error={!!(rest?.form?.errors && rest.form.errors[field?.name ?? ''])}>
37
- <FormGroup>
38
- <FormControlLabel
39
- control={<CheckboxMaterial {...field} {...rest} />}
40
- label={label}
41
- componentsProps={{
42
- typography: customTheme?.checkbox,
43
- }}
44
- />
45
- </FormGroup>
46
- {rest?.form?.errors && rest.form.errors[field?.name ?? ''] ? (
47
- <FormHelperText>Required</FormHelperText>
48
- ) : null}
49
- </FormControl>
50
- )
51
- }
@@ -1,41 +0,0 @@
1
- import { FormControl, FormHelperText } from '@mui/material'
2
- import Checkbox from '@mui/material/Checkbox'
3
- import FormControlLabel from '@mui/material/FormControlLabel'
4
- import FormGroup from '@mui/material/FormGroup'
5
- import { useTheme } from '@mui/styles'
6
- import { FieldInputProps, FormikProps } from 'formik'
7
- import _get from 'lodash/get'
8
- import React from 'react'
9
-
10
- interface ICheckboxField {
11
- label: string | number | JSX.Element;
12
- field: FieldInputProps<any>;
13
- form: FormikProps<any>;
14
- }
15
-
16
- export const CheckboxField = ({
17
- label,
18
- field,
19
- form: { touched, errors },
20
- }: ICheckboxField) => {
21
- const isTouched = Boolean(_get(touched, field.name, false))
22
- const errorText = _get(errors, field.name)
23
- const hasError = isTouched && Boolean(errorText)
24
- const customTheme: any = useTheme()
25
-
26
- return (
27
- <FormControl
28
- className={`checkbox-field ${hasError ? 'required-checkbox-field' : ''}`}
29
- error={hasError}
30
- >
31
- <FormGroup>
32
- <FormControlLabel
33
- control={<Checkbox {...field} checked={Boolean(field.value)} />}
34
- label={label}
35
- componentsProps={{ typography: customTheme?.checkbox }}
36
- />
37
- </FormGroup>
38
- {hasError && <FormHelperText>Required</FormHelperText>}
39
- </FormControl>
40
- )
41
- }
@@ -1,53 +0,0 @@
1
- import _get from 'lodash/get'
2
- import _identity from 'lodash/identity'
3
- import React, { useRef } from 'react'
4
-
5
- interface ICopyFieldProps {
6
- copyValue: string;
7
- onLinkCopied?: () => void;
8
- copyIconSrc?: string;
9
- copyTitle?: string;
10
- hasCopyIcon: boolean;
11
- classNamePrefix?: string;
12
- messageText?: string;
13
- }
14
-
15
- export const CopyField = (props: ICopyFieldProps) => {
16
- const {
17
- copyValue,
18
- copyIconSrc = 'https://img.icons8.com/office/50/000000/copy.png',
19
- copyTitle = 'Copy',
20
- hasCopyIcon = false,
21
- onLinkCopied = _identity,
22
- classNamePrefix = '',
23
- messageText = '',
24
- } = props
25
-
26
- const inputRef = useRef(null)
27
-
28
- return (
29
- <>
30
- {messageText && <span className="message-text">{messageText}</span>}
31
- <input
32
- ref={inputRef}
33
- className={`${classNamePrefix}_share-input`}
34
- defaultValue={copyValue}
35
- readOnly={true}
36
- />
37
- <div
38
- className={`${classNamePrefix}_share-by-link-copy-icon`}
39
- aria-hidden={true}
40
- onClick={() => {
41
- navigator.clipboard.writeText(_get(inputRef, 'current.value'))
42
- onLinkCopied()
43
- }}
44
- >
45
- {hasCopyIcon ? (
46
- <img src={copyIconSrc} alt="copy" />
47
- ) : (
48
- <span className={`${classNamePrefix}_copy-icon`}>{copyTitle}</span>
49
- )}
50
- </div>
51
- </>
52
- )
53
- }