@eventlook/sdk 1.4.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.
- package/.prettierignore +4 -0
- package/.prettierrc +19 -0
- package/LICENSE.md +3 -0
- package/README +1 -0
- package/README.md +168 -0
- package/dist/cjs/_virtual/_commonjsHelpers.js +6 -0
- package/dist/cjs/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/cjs/_virtual/colorManipulator.js +6 -0
- package/dist/cjs/_virtual/colorManipulator.js.map +1 -0
- package/dist/cjs/_virtual/createStyled.js +6 -0
- package/dist/cjs/_virtual/createStyled.js.map +1 -0
- package/dist/cjs/_virtual/customParseFormat.js +6 -0
- package/dist/cjs/_virtual/customParseFormat.js.map +1 -0
- package/dist/cjs/_virtual/dayjs.min.js +6 -0
- package/dist/cjs/_virtual/dayjs.min.js.map +1 -0
- package/dist/cjs/_virtual/extends.js +6 -0
- package/dist/cjs/_virtual/extends.js.map +1 -0
- package/dist/cjs/_virtual/index.js +6 -0
- package/dist/cjs/_virtual/index.js.map +1 -0
- package/dist/cjs/_virtual/index.umd.js +6 -0
- package/dist/cjs/_virtual/index.umd.js.map +1 -0
- package/dist/cjs/_virtual/index10.js +11 -0
- package/dist/cjs/_virtual/index10.js.map +1 -0
- package/dist/cjs/_virtual/index11.js +11 -0
- package/dist/cjs/_virtual/index11.js.map +1 -0
- package/dist/cjs/_virtual/index12.js +6 -0
- package/dist/cjs/_virtual/index12.js.map +1 -0
- package/dist/cjs/_virtual/index13.js +6 -0
- package/dist/cjs/_virtual/index13.js.map +1 -0
- package/dist/cjs/_virtual/index14.js +6 -0
- package/dist/cjs/_virtual/index14.js.map +1 -0
- package/dist/cjs/_virtual/index15.js +6 -0
- package/dist/cjs/_virtual/index15.js.map +1 -0
- package/dist/cjs/_virtual/index2.js +6 -0
- package/dist/cjs/_virtual/index2.js.map +1 -0
- package/dist/cjs/_virtual/index3.js +6 -0
- package/dist/cjs/_virtual/index3.js.map +1 -0
- package/dist/cjs/_virtual/index4.js +11 -0
- package/dist/cjs/_virtual/index4.js.map +1 -0
- package/dist/cjs/_virtual/index5.js +11 -0
- package/dist/cjs/_virtual/index5.js.map +1 -0
- package/dist/cjs/_virtual/index6.js +11 -0
- package/dist/cjs/_virtual/index6.js.map +1 -0
- package/dist/cjs/_virtual/index7.js +11 -0
- package/dist/cjs/_virtual/index7.js.map +1 -0
- package/dist/cjs/_virtual/index8.js +11 -0
- package/dist/cjs/_virtual/index8.js.map +1 -0
- package/dist/cjs/_virtual/index9.js +11 -0
- package/dist/cjs/_virtual/index9.js.map +1 -0
- package/dist/cjs/_virtual/interopRequireDefault.js +6 -0
- package/dist/cjs/_virtual/interopRequireDefault.js.map +1 -0
- package/dist/cjs/_virtual/isBetween.js +6 -0
- package/dist/cjs/_virtual/isBetween.js.map +1 -0
- package/dist/cjs/_virtual/jsx-runtime.js +6 -0
- package/dist/cjs/_virtual/jsx-runtime.js.map +1 -0
- package/dist/cjs/_virtual/localizedFormat.js +6 -0
- package/dist/cjs/_virtual/localizedFormat.js.map +1 -0
- package/dist/cjs/_virtual/lodash.js +6 -0
- package/dist/cjs/_virtual/lodash.js.map +1 -0
- package/dist/cjs/_virtual/lottie.js +6 -0
- package/dist/cjs/_virtual/lottie.js.map +1 -0
- package/dist/cjs/_virtual/numeral.js +6 -0
- package/dist/cjs/_virtual/numeral.js.map +1 -0
- package/dist/cjs/_virtual/objectWithoutPropertiesLoose.js +6 -0
- package/dist/cjs/_virtual/objectWithoutPropertiesLoose.js.map +1 -0
- package/dist/cjs/_virtual/react-is.development.js +6 -0
- package/dist/cjs/_virtual/react-is.development.js.map +1 -0
- package/dist/cjs/_virtual/react-is.development2.js +6 -0
- package/dist/cjs/_virtual/react-is.development2.js.map +1 -0
- package/dist/cjs/_virtual/react-is.development3.js +6 -0
- package/dist/cjs/_virtual/react-is.development3.js.map +1 -0
- package/dist/cjs/_virtual/react-is.production.js +6 -0
- package/dist/cjs/_virtual/react-is.production.js.map +1 -0
- package/dist/cjs/_virtual/react-is.production.min.js +6 -0
- package/dist/cjs/_virtual/react-is.production.min.js.map +1 -0
- package/dist/cjs/_virtual/react-is.production.min2.js +6 -0
- package/dist/cjs/_virtual/react-is.production.min2.js.map +1 -0
- package/dist/cjs/_virtual/react-jsx-runtime.development.js +6 -0
- package/dist/cjs/_virtual/react-jsx-runtime.development.js.map +1 -0
- package/dist/cjs/_virtual/react-jsx-runtime.production.min.js +6 -0
- package/dist/cjs/_virtual/react-jsx-runtime.production.min.js.map +1 -0
- package/dist/cjs/_virtual/timezone.js +6 -0
- package/dist/cjs/_virtual/timezone.js.map +1 -0
- package/dist/cjs/_virtual/use-sync-external-store-shim.development.js +6 -0
- package/dist/cjs/_virtual/use-sync-external-store-shim.development.js.map +1 -0
- package/dist/cjs/_virtual/use-sync-external-store-shim.production.js +6 -0
- package/dist/cjs/_virtual/use-sync-external-store-shim.production.js.map +1 -0
- package/dist/cjs/_virtual/useThemeWithoutDefault.js +6 -0
- package/dist/cjs/_virtual/useThemeWithoutDefault.js.map +1 -0
- package/dist/cjs/_virtual/utc.js +6 -0
- package/dist/cjs/_virtual/utc.js.map +1 -0
- package/dist/cjs/_virtual/weekOfYear.js +6 -0
- package/dist/cjs/_virtual/weekOfYear.js.map +1 -0
- package/dist/cjs/components/ClientOnly.js +19 -0
- package/dist/cjs/components/ClientOnly.js.map +1 -0
- package/dist/cjs/components/CustomSkeleton.js +15 -0
- package/dist/cjs/components/CustomSkeleton.js.map +1 -0
- package/dist/cjs/components/Image.js +56 -0
- package/dist/cjs/components/Image.js.map +1 -0
- package/dist/cjs/components/Label.js +65 -0
- package/dist/cjs/components/Label.js.map +1 -0
- package/dist/cjs/components/TextIconLabel.js +19 -0
- package/dist/cjs/components/TextIconLabel.js.map +1 -0
- package/dist/cjs/components/TicketFormSkeleton.js +55 -0
- package/dist/cjs/components/TicketFormSkeleton.js.map +1 -0
- package/dist/cjs/components/Trans.js +87 -0
- package/dist/cjs/components/Trans.js.map +1 -0
- package/dist/cjs/components/animate/IconButtonAnimate.js +29 -0
- package/dist/cjs/components/animate/IconButtonAnimate.js.map +1 -0
- package/dist/cjs/components/animate/MotionContainer.js +18 -0
- package/dist/cjs/components/animate/MotionContainer.js.map +1 -0
- package/dist/cjs/components/animate/variants/bounce.js +98 -0
- package/dist/cjs/components/animate/variants/bounce.js.map +1 -0
- package/dist/cjs/components/animate/variants/container.js +25 -0
- package/dist/cjs/components/animate/variants/container.js.map +1 -0
- package/dist/cjs/components/animate/variants/transition.js +17 -0
- package/dist/cjs/components/animate/variants/transition.js.map +1 -0
- package/dist/cjs/components/confirm-dialog/ConfirmDialog.js +24 -0
- package/dist/cjs/components/confirm-dialog/ConfirmDialog.js.map +1 -0
- package/dist/cjs/components/hook-form/FormProvider.js +14 -0
- package/dist/cjs/components/hook-form/FormProvider.js.map +1 -0
- package/dist/cjs/components/hook-form/RHFCheckbox.js +15 -0
- package/dist/cjs/components/hook-form/RHFCheckbox.js.map +1 -0
- package/dist/cjs/components/hook-form/RHFDatePicker.js +22 -0
- package/dist/cjs/components/hook-form/RHFDatePicker.js.map +1 -0
- package/dist/cjs/components/hook-form/RHFPhone.js +24 -0
- package/dist/cjs/components/hook-form/RHFPhone.js.map +1 -0
- package/dist/cjs/components/hook-form/RHFRadioGroup.js +29 -0
- package/dist/cjs/components/hook-form/RHFRadioGroup.js.map +1 -0
- package/dist/cjs/components/hook-form/RHFSelect.js +34 -0
- package/dist/cjs/components/hook-form/RHFSelect.js.map +1 -0
- package/dist/cjs/components/hook-form/RHFTextField.js +15 -0
- package/dist/cjs/components/hook-form/RHFTextField.js.map +1 -0
- package/dist/cjs/components/iconify/Iconify.js +14 -0
- package/dist/cjs/components/iconify/Iconify.js.map +1 -0
- package/dist/cjs/context/GlobalContext.js +64 -0
- package/dist/cjs/context/GlobalContext.js.map +1 -0
- package/dist/cjs/form/ChildEventCard.js +62 -0
- package/dist/cjs/form/ChildEventCard.js.map +1 -0
- package/dist/cjs/form/ChildEventDialog.js +30 -0
- package/dist/cjs/form/ChildEventDialog.js.map +1 -0
- package/dist/cjs/form/ChildEvents.js +17 -0
- package/dist/cjs/form/ChildEvents.js.map +1 -0
- package/dist/cjs/form/ContactPerson.js +40 -0
- package/dist/cjs/form/ContactPerson.js.map +1 -0
- package/dist/cjs/form/EmailConfirmation.js +28 -0
- package/dist/cjs/form/EmailConfirmation.js.map +1 -0
- package/dist/cjs/form/MerchandiseSelection.js +17 -0
- package/dist/cjs/form/MerchandiseSelection.js.map +1 -0
- package/dist/cjs/form/OrderSuccess.js +57 -0
- package/dist/cjs/form/OrderSuccess.js.map +1 -0
- package/dist/cjs/form/Payment.js +193 -0
- package/dist/cjs/form/Payment.js.map +1 -0
- package/dist/cjs/form/PaymentOverviewBox.js +405 -0
- package/dist/cjs/form/PaymentOverviewBox.js.map +1 -0
- package/dist/cjs/form/PaymentPending.js +26 -0
- package/dist/cjs/form/PaymentPending.js.map +1 -0
- package/dist/cjs/form/PaymentSuccess.js +166 -0
- package/dist/cjs/form/PaymentSuccess.js.map +1 -0
- package/dist/cjs/form/ReleaseCountdown.js +34 -0
- package/dist/cjs/form/ReleaseCountdown.js.map +1 -0
- package/dist/cjs/form/ReleaseWithMerchandise.js +128 -0
- package/dist/cjs/form/ReleaseWithMerchandise.js.map +1 -0
- package/dist/cjs/form/ScriptLoader.js +21 -0
- package/dist/cjs/form/ScriptLoader.js.map +1 -0
- package/dist/cjs/form/Shipping.js +119 -0
- package/dist/cjs/form/Shipping.js.map +1 -0
- package/dist/cjs/form/TicketForm.js +455 -0
- package/dist/cjs/form/TicketForm.js.map +1 -0
- package/dist/cjs/form/TicketSelection.js +154 -0
- package/dist/cjs/form/TicketSelection.js.map +1 -0
- package/dist/cjs/form/TicketWithMerchandiseSelection.js +83 -0
- package/dist/cjs/form/TicketWithMerchandiseSelection.js.map +1 -0
- package/dist/cjs/form/TimeslotSelection.js +68 -0
- package/dist/cjs/form/TimeslotSelection.js.map +1 -0
- package/dist/cjs/form/extra-field/ExtraField.js +20 -0
- package/dist/cjs/form/extra-field/ExtraField.js.map +1 -0
- package/dist/cjs/form/extra-field/ReleaseExtraFields.js +38 -0
- package/dist/cjs/form/extra-field/ReleaseExtraFields.js.map +1 -0
- package/dist/cjs/form/index.js +69 -0
- package/dist/cjs/form/index.js.map +1 -0
- package/dist/cjs/form/payment/FeeBox.js +42 -0
- package/dist/cjs/form/payment/FeeBox.js.map +1 -0
- package/dist/cjs/form/payment/PaymentSkeleton.js +14 -0
- package/dist/cjs/form/payment/PaymentSkeleton.js.map +1 -0
- package/dist/cjs/form/product/ProductCard.js +63 -0
- package/dist/cjs/form/product/ProductCard.js.map +1 -0
- package/dist/cjs/form/product/ProductVariantsDialog.js +173 -0
- package/dist/cjs/form/product/ProductVariantsDialog.js.map +1 -0
- package/dist/cjs/form/shipping/ShippingSkeleton.js +14 -0
- package/dist/cjs/form/shipping/ShippingSkeleton.js.map +1 -0
- package/dist/cjs/form/style.js +50 -0
- package/dist/cjs/form/style.js.map +1 -0
- package/dist/cjs/form/timeslot/TimeslotCalendar.js +57 -0
- package/dist/cjs/form/timeslot/TimeslotCalendar.js.map +1 -0
- package/dist/cjs/hooks/data/useActiveEventProducts.js +22 -0
- package/dist/cjs/hooks/data/useActiveEventProducts.js.map +1 -0
- package/dist/cjs/hooks/data/useAllowedPaymentMethods.js +22 -0
- package/dist/cjs/hooks/data/useAllowedPaymentMethods.js.map +1 -0
- package/dist/cjs/hooks/data/useEvent.js +22 -0
- package/dist/cjs/hooks/data/useEvent.js.map +1 -0
- package/dist/cjs/hooks/data/useEventActiveReleases.js +26 -0
- package/dist/cjs/hooks/data/useEventActiveReleases.js.map +1 -0
- package/dist/cjs/hooks/data/useEventShippingMethods.js +22 -0
- package/dist/cjs/hooks/data/useEventShippingMethods.js.map +1 -0
- package/dist/cjs/hooks/data/useEventTimeslots.js +23 -0
- package/dist/cjs/hooks/data/useEventTimeslots.js.map +1 -0
- package/dist/cjs/hooks/useCountdown.js +40 -0
- package/dist/cjs/hooks/useCountdown.js.map +1 -0
- package/dist/cjs/hooks/useDebounce.js +17 -0
- package/dist/cjs/hooks/useDebounce.js.map +1 -0
- package/dist/cjs/hooks/useErrors.js +28 -0
- package/dist/cjs/hooks/useErrors.js.map +1 -0
- package/dist/cjs/hooks/useFirstRender.js +14 -0
- package/dist/cjs/hooks/useFirstRender.js.map +1 -0
- package/dist/cjs/hooks/useGlobal.js +11 -0
- package/dist/cjs/hooks/useGlobal.js.map +1 -0
- package/dist/cjs/hooks/useResponsive.js +29 -0
- package/dist/cjs/hooks/useResponsive.js.map +1 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/locales/cs.js +137 -0
- package/dist/cjs/locales/cs.js.map +1 -0
- package/dist/cjs/locales/en.js +137 -0
- package/dist/cjs/locales/en.js.map +1 -0
- package/dist/cjs/locales/es.js +137 -0
- package/dist/cjs/locales/es.js.map +1 -0
- package/dist/cjs/locales/index.js +18 -0
- package/dist/cjs/locales/index.js.map +1 -0
- package/dist/cjs/locales/pl.js +137 -0
- package/dist/cjs/locales/pl.js.map +1 -0
- package/dist/cjs/locales/sk.js +137 -0
- package/dist/cjs/locales/sk.js.map +1 -0
- package/dist/cjs/locales/uk.js +137 -0
- package/dist/cjs/locales/uk.js.map +1 -0
- package/dist/cjs/modules/event-timeslot.js +12 -0
- package/dist/cjs/modules/event-timeslot.js.map +1 -0
- package/dist/cjs/modules/event.js +24 -0
- package/dist/cjs/modules/event.js.map +1 -0
- package/dist/cjs/modules/order.js +14 -0
- package/dist/cjs/modules/order.js.map +1 -0
- package/dist/cjs/modules/promo-code.js +13 -0
- package/dist/cjs/modules/promo-code.js.map +1 -0
- package/dist/cjs/modules/shopping-cart.js +15 -0
- package/dist/cjs/modules/shopping-cart.js.map +1 -0
- package/dist/cjs/utils/axios.js +20 -0
- package/dist/cjs/utils/axios.js.map +1 -0
- package/dist/cjs/utils/data/cookie.js +6 -0
- package/dist/cjs/utils/data/cookie.js.map +1 -0
- package/dist/cjs/utils/data/currency.js +9 -0
- package/dist/cjs/utils/data/currency.js.map +1 -0
- package/dist/cjs/utils/data/event.js +8 -0
- package/dist/cjs/utils/data/event.js.map +1 -0
- package/dist/cjs/utils/data/extra-field.js +16 -0
- package/dist/cjs/utils/data/extra-field.js.map +1 -0
- package/dist/cjs/utils/data/gender.js +9 -0
- package/dist/cjs/utils/data/gender.js.map +1 -0
- package/dist/cjs/utils/data/global.js +6 -0
- package/dist/cjs/utils/data/global.js.map +1 -0
- package/dist/cjs/utils/data/gopay.js +14 -0
- package/dist/cjs/utils/data/gopay.js.map +1 -0
- package/dist/cjs/utils/data/language.js +14 -0
- package/dist/cjs/utils/data/language.js.map +1 -0
- package/dist/cjs/utils/data/lottie/bank-transfer.json.js +20 -0
- package/dist/cjs/utils/data/lottie/bank-transfer.json.js.map +1 -0
- package/dist/cjs/utils/data/order.js +8 -0
- package/dist/cjs/utils/data/order.js.map +1 -0
- package/dist/cjs/utils/data/promo-code.js +8 -0
- package/dist/cjs/utils/data/promo-code.js.map +1 -0
- package/dist/cjs/utils/data/shipping-method.js +8 -0
- package/dist/cjs/utils/data/shipping-method.js.map +1 -0
- package/dist/cjs/utils/formatNumber.js +19 -0
- package/dist/cjs/utils/formatNumber.js.map +1 -0
- package/dist/cjs/utils/global.js +26 -0
- package/dist/cjs/utils/global.js.map +1 -0
- package/dist/cjs/utils/gtm.js +105 -0
- package/dist/cjs/utils/gtm.js.map +1 -0
- package/dist/cjs/utils/isBrowser.js +6 -0
- package/dist/cjs/utils/isBrowser.js.map +1 -0
- package/dist/cjs/utils/place.js +6 -0
- package/dist/cjs/utils/place.js.map +1 -0
- package/dist/cjs/utils/price.js +15 -0
- package/dist/cjs/utils/price.js.map +1 -0
- package/dist/cjs/utils/product.js +29 -0
- package/dist/cjs/utils/product.js.map +1 -0
- package/dist/cjs/utils/translation.js +6 -0
- package/dist/cjs/utils/translation.js.map +1 -0
- package/dist/cjs/utils/url.js +18 -0
- package/dist/cjs/utils/url.js.map +1 -0
- package/dist/esm/_virtual/_commonjsHelpers.js +4 -0
- package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/esm/_virtual/colorManipulator.js +4 -0
- package/dist/esm/_virtual/colorManipulator.js.map +1 -0
- package/dist/esm/_virtual/createStyled.js +4 -0
- package/dist/esm/_virtual/createStyled.js.map +1 -0
- package/dist/esm/_virtual/customParseFormat.js +4 -0
- package/dist/esm/_virtual/customParseFormat.js.map +1 -0
- package/dist/esm/_virtual/dayjs.min.js +4 -0
- package/dist/esm/_virtual/dayjs.min.js.map +1 -0
- package/dist/esm/_virtual/extends.js +4 -0
- package/dist/esm/_virtual/extends.js.map +1 -0
- package/dist/esm/_virtual/index.js +4 -0
- package/dist/esm/_virtual/index.js.map +1 -0
- package/dist/esm/_virtual/index.umd.js +4 -0
- package/dist/esm/_virtual/index.umd.js.map +1 -0
- package/dist/esm/_virtual/index10.js +7 -0
- package/dist/esm/_virtual/index10.js.map +1 -0
- package/dist/esm/_virtual/index11.js +7 -0
- package/dist/esm/_virtual/index11.js.map +1 -0
- package/dist/esm/_virtual/index12.js +4 -0
- package/dist/esm/_virtual/index12.js.map +1 -0
- package/dist/esm/_virtual/index13.js +4 -0
- package/dist/esm/_virtual/index13.js.map +1 -0
- package/dist/esm/_virtual/index14.js +4 -0
- package/dist/esm/_virtual/index14.js.map +1 -0
- package/dist/esm/_virtual/index15.js +4 -0
- package/dist/esm/_virtual/index15.js.map +1 -0
- package/dist/esm/_virtual/index2.js +4 -0
- package/dist/esm/_virtual/index2.js.map +1 -0
- package/dist/esm/_virtual/index3.js +4 -0
- package/dist/esm/_virtual/index3.js.map +1 -0
- package/dist/esm/_virtual/index4.js +7 -0
- package/dist/esm/_virtual/index4.js.map +1 -0
- package/dist/esm/_virtual/index5.js +7 -0
- package/dist/esm/_virtual/index5.js.map +1 -0
- package/dist/esm/_virtual/index6.js +7 -0
- package/dist/esm/_virtual/index6.js.map +1 -0
- package/dist/esm/_virtual/index7.js +7 -0
- package/dist/esm/_virtual/index7.js.map +1 -0
- package/dist/esm/_virtual/index8.js +7 -0
- package/dist/esm/_virtual/index8.js.map +1 -0
- package/dist/esm/_virtual/index9.js +7 -0
- package/dist/esm/_virtual/index9.js.map +1 -0
- package/dist/esm/_virtual/interopRequireDefault.js +4 -0
- package/dist/esm/_virtual/interopRequireDefault.js.map +1 -0
- package/dist/esm/_virtual/isBetween.js +4 -0
- package/dist/esm/_virtual/isBetween.js.map +1 -0
- package/dist/esm/_virtual/jsx-runtime.js +4 -0
- package/dist/esm/_virtual/jsx-runtime.js.map +1 -0
- package/dist/esm/_virtual/localizedFormat.js +4 -0
- package/dist/esm/_virtual/localizedFormat.js.map +1 -0
- package/dist/esm/_virtual/lodash.js +4 -0
- package/dist/esm/_virtual/lodash.js.map +1 -0
- package/dist/esm/_virtual/lottie.js +4 -0
- package/dist/esm/_virtual/lottie.js.map +1 -0
- package/dist/esm/_virtual/numeral.js +4 -0
- package/dist/esm/_virtual/numeral.js.map +1 -0
- package/dist/esm/_virtual/objectWithoutPropertiesLoose.js +4 -0
- package/dist/esm/_virtual/objectWithoutPropertiesLoose.js.map +1 -0
- package/dist/esm/_virtual/react-is.development.js +4 -0
- package/dist/esm/_virtual/react-is.development.js.map +1 -0
- package/dist/esm/_virtual/react-is.development2.js +4 -0
- package/dist/esm/_virtual/react-is.development2.js.map +1 -0
- package/dist/esm/_virtual/react-is.development3.js +4 -0
- package/dist/esm/_virtual/react-is.development3.js.map +1 -0
- package/dist/esm/_virtual/react-is.production.js +4 -0
- package/dist/esm/_virtual/react-is.production.js.map +1 -0
- package/dist/esm/_virtual/react-is.production.min.js +4 -0
- package/dist/esm/_virtual/react-is.production.min.js.map +1 -0
- package/dist/esm/_virtual/react-is.production.min2.js +4 -0
- package/dist/esm/_virtual/react-is.production.min2.js.map +1 -0
- package/dist/esm/_virtual/react-jsx-runtime.development.js +4 -0
- package/dist/esm/_virtual/react-jsx-runtime.development.js.map +1 -0
- package/dist/esm/_virtual/react-jsx-runtime.production.min.js +4 -0
- package/dist/esm/_virtual/react-jsx-runtime.production.min.js.map +1 -0
- package/dist/esm/_virtual/timezone.js +4 -0
- package/dist/esm/_virtual/timezone.js.map +1 -0
- package/dist/esm/_virtual/use-sync-external-store-shim.development.js +4 -0
- package/dist/esm/_virtual/use-sync-external-store-shim.development.js.map +1 -0
- package/dist/esm/_virtual/use-sync-external-store-shim.production.js +4 -0
- package/dist/esm/_virtual/use-sync-external-store-shim.production.js.map +1 -0
- package/dist/esm/_virtual/useThemeWithoutDefault.js +4 -0
- package/dist/esm/_virtual/useThemeWithoutDefault.js.map +1 -0
- package/dist/esm/_virtual/utc.js +4 -0
- package/dist/esm/_virtual/utc.js.map +1 -0
- package/dist/esm/_virtual/weekOfYear.js +4 -0
- package/dist/esm/_virtual/weekOfYear.js.map +1 -0
- package/dist/esm/components/ClientOnly.js +15 -0
- package/dist/esm/components/ClientOnly.js.map +1 -0
- package/dist/esm/components/CustomSkeleton.js +11 -0
- package/dist/esm/components/CustomSkeleton.js.map +1 -0
- package/dist/esm/components/Image.js +52 -0
- package/dist/esm/components/Image.js.map +1 -0
- package/dist/esm/components/Label.js +61 -0
- package/dist/esm/components/Label.js.map +1 -0
- package/dist/esm/components/TextIconLabel.js +15 -0
- package/dist/esm/components/TextIconLabel.js.map +1 -0
- package/dist/esm/components/TicketFormSkeleton.js +51 -0
- package/dist/esm/components/TicketFormSkeleton.js.map +1 -0
- package/dist/esm/components/Trans.js +85 -0
- package/dist/esm/components/Trans.js.map +1 -0
- package/dist/esm/components/animate/IconButtonAnimate.js +27 -0
- package/dist/esm/components/animate/IconButtonAnimate.js.map +1 -0
- package/dist/esm/components/animate/MotionContainer.js +14 -0
- package/dist/esm/components/animate/MotionContainer.js.map +1 -0
- package/dist/esm/components/animate/variants/bounce.js +96 -0
- package/dist/esm/components/animate/variants/bounce.js.map +1 -0
- package/dist/esm/components/animate/variants/container.js +23 -0
- package/dist/esm/components/animate/variants/container.js.map +1 -0
- package/dist/esm/components/animate/variants/transition.js +14 -0
- package/dist/esm/components/animate/variants/transition.js.map +1 -0
- package/dist/esm/components/confirm-dialog/ConfirmDialog.js +20 -0
- package/dist/esm/components/confirm-dialog/ConfirmDialog.js.map +1 -0
- package/dist/esm/components/hook-form/FormProvider.js +10 -0
- package/dist/esm/components/hook-form/FormProvider.js.map +1 -0
- package/dist/esm/components/hook-form/RHFCheckbox.js +13 -0
- package/dist/esm/components/hook-form/RHFCheckbox.js.map +1 -0
- package/dist/esm/components/hook-form/RHFDatePicker.js +18 -0
- package/dist/esm/components/hook-form/RHFDatePicker.js.map +1 -0
- package/dist/esm/components/hook-form/RHFPhone.js +20 -0
- package/dist/esm/components/hook-form/RHFPhone.js.map +1 -0
- package/dist/esm/components/hook-form/RHFRadioGroup.js +25 -0
- package/dist/esm/components/hook-form/RHFRadioGroup.js.map +1 -0
- package/dist/esm/components/hook-form/RHFSelect.js +32 -0
- package/dist/esm/components/hook-form/RHFSelect.js.map +1 -0
- package/dist/esm/components/hook-form/RHFTextField.js +11 -0
- package/dist/esm/components/hook-form/RHFTextField.js.map +1 -0
- package/dist/esm/components/iconify/Iconify.js +10 -0
- package/dist/esm/components/iconify/Iconify.js.map +1 -0
- package/dist/esm/context/GlobalContext.js +61 -0
- package/dist/esm/context/GlobalContext.js.map +1 -0
- package/dist/esm/form/ChildEventCard.js +58 -0
- package/dist/esm/form/ChildEventCard.js.map +1 -0
- package/dist/esm/form/ChildEventDialog.js +26 -0
- package/dist/esm/form/ChildEventDialog.js.map +1 -0
- package/dist/esm/form/ChildEvents.js +13 -0
- package/dist/esm/form/ChildEvents.js.map +1 -0
- package/dist/esm/form/ContactPerson.js +36 -0
- package/dist/esm/form/ContactPerson.js.map +1 -0
- package/dist/esm/form/EmailConfirmation.js +24 -0
- package/dist/esm/form/EmailConfirmation.js.map +1 -0
- package/dist/esm/form/MerchandiseSelection.js +13 -0
- package/dist/esm/form/MerchandiseSelection.js.map +1 -0
- package/dist/esm/form/OrderSuccess.js +53 -0
- package/dist/esm/form/OrderSuccess.js.map +1 -0
- package/dist/esm/form/Payment.js +189 -0
- package/dist/esm/form/Payment.js.map +1 -0
- package/dist/esm/form/PaymentOverviewBox.js +401 -0
- package/dist/esm/form/PaymentOverviewBox.js.map +1 -0
- package/dist/esm/form/PaymentPending.js +22 -0
- package/dist/esm/form/PaymentPending.js.map +1 -0
- package/dist/esm/form/PaymentSuccess.js +162 -0
- package/dist/esm/form/PaymentSuccess.js.map +1 -0
- package/dist/esm/form/ReleaseCountdown.js +30 -0
- package/dist/esm/form/ReleaseCountdown.js.map +1 -0
- package/dist/esm/form/ReleaseWithMerchandise.js +124 -0
- package/dist/esm/form/ReleaseWithMerchandise.js.map +1 -0
- package/dist/esm/form/ScriptLoader.js +17 -0
- package/dist/esm/form/ScriptLoader.js.map +1 -0
- package/dist/esm/form/Shipping.js +115 -0
- package/dist/esm/form/Shipping.js.map +1 -0
- package/dist/esm/form/TicketForm.js +432 -0
- package/dist/esm/form/TicketForm.js.map +1 -0
- package/dist/esm/form/TicketSelection.js +150 -0
- package/dist/esm/form/TicketSelection.js.map +1 -0
- package/dist/esm/form/TicketWithMerchandiseSelection.js +79 -0
- package/dist/esm/form/TicketWithMerchandiseSelection.js.map +1 -0
- package/dist/esm/form/TimeslotSelection.js +64 -0
- package/dist/esm/form/TimeslotSelection.js.map +1 -0
- package/dist/esm/form/extra-field/ExtraField.js +16 -0
- package/dist/esm/form/extra-field/ExtraField.js.map +1 -0
- package/dist/esm/form/extra-field/ReleaseExtraFields.js +34 -0
- package/dist/esm/form/extra-field/ReleaseExtraFields.js.map +1 -0
- package/dist/esm/form/index.js +65 -0
- package/dist/esm/form/index.js.map +1 -0
- package/dist/esm/form/payment/FeeBox.js +38 -0
- package/dist/esm/form/payment/FeeBox.js.map +1 -0
- package/dist/esm/form/payment/PaymentSkeleton.js +10 -0
- package/dist/esm/form/payment/PaymentSkeleton.js.map +1 -0
- package/dist/esm/form/product/ProductCard.js +59 -0
- package/dist/esm/form/product/ProductCard.js.map +1 -0
- package/dist/esm/form/product/ProductVariantsDialog.js +169 -0
- package/dist/esm/form/product/ProductVariantsDialog.js.map +1 -0
- package/dist/esm/form/shipping/ShippingSkeleton.js +10 -0
- package/dist/esm/form/shipping/ShippingSkeleton.js.map +1 -0
- package/dist/esm/form/style.js +44 -0
- package/dist/esm/form/style.js.map +1 -0
- package/dist/esm/form/timeslot/TimeslotCalendar.js +53 -0
- package/dist/esm/form/timeslot/TimeslotCalendar.js.map +1 -0
- package/dist/esm/hooks/data/useActiveEventProducts.js +18 -0
- package/dist/esm/hooks/data/useActiveEventProducts.js.map +1 -0
- package/dist/esm/hooks/data/useAllowedPaymentMethods.js +18 -0
- package/dist/esm/hooks/data/useAllowedPaymentMethods.js.map +1 -0
- package/dist/esm/hooks/data/useEvent.js +18 -0
- package/dist/esm/hooks/data/useEvent.js.map +1 -0
- package/dist/esm/hooks/data/useEventActiveReleases.js +22 -0
- package/dist/esm/hooks/data/useEventActiveReleases.js.map +1 -0
- package/dist/esm/hooks/data/useEventShippingMethods.js +18 -0
- package/dist/esm/hooks/data/useEventShippingMethods.js.map +1 -0
- package/dist/esm/hooks/data/useEventTimeslots.js +19 -0
- package/dist/esm/hooks/data/useEventTimeslots.js.map +1 -0
- package/dist/esm/hooks/useCountdown.js +36 -0
- package/dist/esm/hooks/useCountdown.js.map +1 -0
- package/dist/esm/hooks/useDebounce.js +13 -0
- package/dist/esm/hooks/useDebounce.js.map +1 -0
- package/dist/esm/hooks/useErrors.js +24 -0
- package/dist/esm/hooks/useErrors.js.map +1 -0
- package/dist/esm/hooks/useFirstRender.js +12 -0
- package/dist/esm/hooks/useFirstRender.js.map +1 -0
- package/dist/esm/hooks/useGlobal.js +7 -0
- package/dist/esm/hooks/useGlobal.js.map +1 -0
- package/dist/esm/hooks/useResponsive.js +25 -0
- package/dist/esm/hooks/useResponsive.js.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/locales/cs.js +133 -0
- package/dist/esm/locales/cs.js.map +1 -0
- package/dist/esm/locales/en.js +133 -0
- package/dist/esm/locales/en.js.map +1 -0
- package/dist/esm/locales/es.js +133 -0
- package/dist/esm/locales/es.js.map +1 -0
- package/dist/esm/locales/index.js +7 -0
- package/dist/esm/locales/index.js.map +1 -0
- package/dist/esm/locales/pl.js +133 -0
- package/dist/esm/locales/pl.js.map +1 -0
- package/dist/esm/locales/sk.js +133 -0
- package/dist/esm/locales/sk.js.map +1 -0
- package/dist/esm/locales/uk.js +133 -0
- package/dist/esm/locales/uk.js.map +1 -0
- package/dist/esm/modules/event-timeslot.js +10 -0
- package/dist/esm/modules/event-timeslot.js.map +1 -0
- package/dist/esm/modules/event.js +19 -0
- package/dist/esm/modules/event.js.map +1 -0
- package/dist/esm/modules/order.js +10 -0
- package/dist/esm/modules/order.js.map +1 -0
- package/dist/esm/modules/promo-code.js +11 -0
- package/dist/esm/modules/promo-code.js.map +1 -0
- package/dist/esm/modules/shopping-cart.js +12 -0
- package/dist/esm/modules/shopping-cart.js.map +1 -0
- package/dist/esm/utils/axios.js +16 -0
- package/dist/esm/utils/axios.js.map +1 -0
- package/dist/esm/utils/data/cookie.js +4 -0
- package/dist/esm/utils/data/cookie.js.map +1 -0
- package/dist/esm/utils/data/currency.js +9 -0
- package/dist/esm/utils/data/currency.js.map +1 -0
- package/dist/esm/utils/data/event.js +8 -0
- package/dist/esm/utils/data/event.js.map +1 -0
- package/dist/esm/utils/data/extra-field.js +16 -0
- package/dist/esm/utils/data/extra-field.js.map +1 -0
- package/dist/esm/utils/data/gender.js +9 -0
- package/dist/esm/utils/data/gender.js.map +1 -0
- package/dist/esm/utils/data/global.js +4 -0
- package/dist/esm/utils/data/global.js.map +1 -0
- package/dist/esm/utils/data/gopay.js +14 -0
- package/dist/esm/utils/data/gopay.js.map +1 -0
- package/dist/esm/utils/data/language.js +14 -0
- package/dist/esm/utils/data/language.js.map +1 -0
- package/dist/esm/utils/data/lottie/bank-transfer.json.js +4 -0
- package/dist/esm/utils/data/lottie/bank-transfer.json.js.map +1 -0
- package/dist/esm/utils/data/order.js +8 -0
- package/dist/esm/utils/data/order.js.map +1 -0
- package/dist/esm/utils/data/promo-code.js +8 -0
- package/dist/esm/utils/data/promo-code.js.map +1 -0
- package/dist/esm/utils/data/shipping-method.js +8 -0
- package/dist/esm/utils/data/shipping-method.js.map +1 -0
- package/dist/esm/utils/formatNumber.js +17 -0
- package/dist/esm/utils/formatNumber.js.map +1 -0
- package/dist/esm/utils/global.js +21 -0
- package/dist/esm/utils/global.js.map +1 -0
- package/dist/esm/utils/gtm.js +94 -0
- package/dist/esm/utils/gtm.js.map +1 -0
- package/dist/esm/utils/isBrowser.js +4 -0
- package/dist/esm/utils/isBrowser.js.map +1 -0
- package/dist/esm/utils/place.js +4 -0
- package/dist/esm/utils/place.js.map +1 -0
- package/dist/esm/utils/price.js +12 -0
- package/dist/esm/utils/price.js.map +1 -0
- package/dist/esm/utils/product.js +27 -0
- package/dist/esm/utils/product.js.map +1 -0
- package/dist/esm/utils/translation.js +4 -0
- package/dist/esm/utils/translation.js.map +1 -0
- package/dist/esm/utils/url.js +16 -0
- package/dist/esm/utils/url.js.map +1 -0
- package/dist/index.cjs.js +90295 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.esm.js +90275 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/types/components/ClientOnly.d.ts +5 -0
- package/dist/types/components/CustomSkeleton.d.ts +4 -0
- package/dist/types/components/Image.d.ts +14 -0
- package/dist/types/components/Label.d.ts +11 -0
- package/dist/types/components/TextIconLabel.d.ts +11 -0
- package/dist/types/components/TicketFormSkeleton.d.ts +3 -0
- package/dist/types/components/Trans.d.ts +12 -0
- package/dist/types/components/animate/DialogAnimate.d.ts +9 -0
- package/dist/types/components/animate/IconButtonAnimate.d.ts +7 -0
- package/dist/types/components/animate/MotionContainer.d.ts +10 -0
- package/dist/types/components/animate/MotionLazyContainer.d.ts +6 -0
- package/dist/types/components/animate/MotionViewport.d.ts +10 -0
- package/dist/types/components/animate/TextAnimate.d.ts +9 -0
- package/dist/types/components/animate/index.d.ts +7 -0
- package/dist/types/components/animate/variants/actions.d.ts +5 -0
- package/dist/types/components/animate/variants/background.d.ts +104 -0
- package/dist/types/components/animate/variants/bounce.d.ts +131 -0
- package/dist/types/components/animate/variants/container.d.ts +19 -0
- package/dist/types/components/animate/variants/fade.d.ts +217 -0
- package/dist/types/components/animate/variants/flip.d.ts +75 -0
- package/dist/types/components/animate/variants/index.d.ts +12 -0
- package/dist/types/components/animate/variants/path.d.ts +14 -0
- package/dist/types/components/animate/variants/rotate.d.ts +39 -0
- package/dist/types/components/animate/variants/scale.d.ts +75 -0
- package/dist/types/components/animate/variants/slide.d.ts +155 -0
- package/dist/types/components/animate/variants/transition.d.ts +13 -0
- package/dist/types/components/animate/variants/zoom.d.ts +199 -0
- package/dist/types/components/confirm-dialog/ConfirmDialog.d.ts +3 -0
- package/dist/types/components/confirm-dialog/index.d.ts +1 -0
- package/dist/types/components/confirm-dialog/types.d.ts +8 -0
- package/dist/types/components/hook-form/FormProvider.d.ts +9 -0
- package/dist/types/components/hook-form/RHFAutocomplete.d.ts +9 -0
- package/dist/types/components/hook-form/RHFCheckbox.d.ts +20 -0
- package/dist/types/components/hook-form/RHFCodes.d.ts +8 -0
- package/dist/types/components/hook-form/RHFDatePicker.d.ts +9 -0
- package/dist/types/components/hook-form/RHFPhone.d.ts +8 -0
- package/dist/types/components/hook-form/RHFRadioGroup.d.ts +14 -0
- package/dist/types/components/hook-form/RHFSelect.d.ts +23 -0
- package/dist/types/components/hook-form/RHFSlider.d.ts +8 -0
- package/dist/types/components/hook-form/RHFSwitch.d.ts +8 -0
- package/dist/types/components/hook-form/RHFTextField.d.ts +7 -0
- package/dist/types/components/hook-form/index.d.ts +9 -0
- package/dist/types/components/iconify/Iconify.d.ts +10 -0
- package/dist/types/components/iconify/index.d.ts +2 -0
- package/dist/types/components/iconify/types.d.ts +2 -0
- package/dist/types/components/index.d.ts +4 -0
- package/dist/types/context/GlobalContext.d.ts +15 -0
- package/dist/types/form/ChildEventCard.d.ts +7 -0
- package/dist/types/form/ChildEventDialog.d.ts +9 -0
- package/dist/types/form/ChildEvents.d.ts +8 -0
- package/dist/types/form/ContactPerson.d.ts +7 -0
- package/dist/types/form/EmailConfirmation.d.ts +8 -0
- package/dist/types/form/MerchandiseSelection.d.ts +9 -0
- package/dist/types/form/OrderSuccess.d.ts +9 -0
- package/dist/types/form/Payment.d.ts +7 -0
- package/dist/types/form/PaymentOverviewBox.d.ts +7 -0
- package/dist/types/form/PaymentPending.d.ts +3 -0
- package/dist/types/form/PaymentSuccess.d.ts +7 -0
- package/dist/types/form/ReleaseCountdown.d.ts +8 -0
- package/dist/types/form/ReleaseWithMerchandise.d.ts +11 -0
- package/dist/types/form/ScriptLoader.d.ts +3 -0
- package/dist/types/form/Shipping.d.ts +7 -0
- package/dist/types/form/TicketForm.d.ts +11 -0
- package/dist/types/form/TicketSelection.d.ts +7 -0
- package/dist/types/form/TicketWithMerchandiseSelection.d.ts +7 -0
- package/dist/types/form/TimeslotSelection.d.ts +7 -0
- package/dist/types/form/extra-field/ExtraField.d.ts +9 -0
- package/dist/types/form/extra-field/ReleaseExtraFields.d.ts +8 -0
- package/dist/types/form/index.d.ts +25 -0
- package/dist/types/form/payment/FeeBox.d.ts +8 -0
- package/dist/types/form/payment/PaymentSkeleton.d.ts +7 -0
- package/dist/types/form/product/ProductCard.d.ts +9 -0
- package/dist/types/form/product/ProductVariantsDialog.d.ts +14 -0
- package/dist/types/form/shipping/ShippingSkeleton.d.ts +7 -0
- package/dist/types/form/style.d.ts +11 -0
- package/dist/types/form/timeslot/TimeslotCalendar.d.ts +12 -0
- package/dist/types/hooks/data/useActiveEventProducts.d.ts +8 -0
- package/dist/types/hooks/data/useAllowedPaymentMethods.d.ts +9 -0
- package/dist/types/hooks/data/useEvent.d.ts +8 -0
- package/dist/types/hooks/data/useEventActiveReleases.d.ts +8 -0
- package/dist/types/hooks/data/useEventShippingMethods.d.ts +8 -0
- package/dist/types/hooks/data/useEventTimeslots.d.ts +10 -0
- package/dist/types/hooks/data/useShoppingCart.d.ts +8 -0
- package/dist/types/hooks/useCountdown.d.ts +6 -0
- package/dist/types/hooks/useDebounce.d.ts +1 -0
- package/dist/types/hooks/useErrors.d.ts +4 -0
- package/dist/types/hooks/useEventListener.d.ts +5 -0
- package/dist/types/hooks/useFirstRender.d.ts +1 -0
- package/dist/types/hooks/useGlobal.d.ts +2 -0
- package/dist/types/hooks/useResponsive.d.ts +8 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/locales/cs.d.ts +131 -0
- package/dist/types/locales/en.d.ts +131 -0
- package/dist/types/locales/es.d.ts +131 -0
- package/dist/types/locales/index.d.ts +6 -0
- package/dist/types/locales/pl.d.ts +131 -0
- package/dist/types/locales/sk.d.ts +131 -0
- package/dist/types/locales/uk.d.ts +131 -0
- package/dist/types/modules/event-timeslot.d.ts +2 -0
- package/dist/types/modules/event.d.ts +5 -0
- package/dist/types/modules/order.d.ts +7 -0
- package/dist/types/modules/promo-code.d.ts +1 -0
- package/dist/types/modules/shopping-cart.d.ts +6 -0
- package/dist/types/utils/axios.d.ts +2 -0
- package/dist/types/utils/data/cookie.d.ts +1 -0
- package/dist/types/utils/data/currency.d.ts +5 -0
- package/dist/types/utils/data/event.d.ts +4 -0
- package/dist/types/utils/data/extra-field.d.ts +11 -0
- package/dist/types/utils/data/gender.d.ts +5 -0
- package/dist/types/utils/data/global.d.ts +1 -0
- package/dist/types/utils/data/gopay.d.ts +10 -0
- package/dist/types/utils/data/language.d.ts +10 -0
- package/dist/types/utils/data/order.d.ts +4 -0
- package/dist/types/utils/data/product.d.ts +3 -0
- package/dist/types/utils/data/promo-code.d.ts +4 -0
- package/dist/types/utils/data/shipping-method.d.ts +4 -0
- package/dist/types/utils/formatNumber.d.ts +8 -0
- package/dist/types/utils/global.d.ts +4 -0
- package/dist/types/utils/gtm.d.ts +26 -0
- package/dist/types/utils/isBrowser.d.ts +1 -0
- package/dist/types/utils/place.d.ts +2 -0
- package/dist/types/utils/price.d.ts +5 -0
- package/dist/types/utils/product.d.ts +3 -0
- package/dist/types/utils/translation.d.ts +2 -0
- package/dist/types/utils/types/animate.d.ts +26 -0
- package/dist/types/utils/types/artist.type.d.ts +17 -0
- package/dist/types/utils/types/company.type.d.ts +12 -0
- package/dist/types/utils/types/country.type.d.ts +39 -0
- package/dist/types/utils/types/customer.type.d.ts +10 -0
- package/dist/types/utils/types/event-product.type.d.ts +15 -0
- package/dist/types/utils/types/event-timeslot.type.d.ts +15 -0
- package/dist/types/utils/types/event.type.d.ts +66 -0
- package/dist/types/utils/types/extra-field.type.d.ts +18 -0
- package/dist/types/utils/types/file.type.d.ts +6 -0
- package/dist/types/utils/types/global.type.d.ts +74 -0
- package/dist/types/utils/types/gtm.type.d.ts +85 -0
- package/dist/types/utils/types/locale.type.d.ts +4 -0
- package/dist/types/utils/types/order.type.d.ts +68 -0
- package/dist/types/utils/types/palette.type.d.ts +1 -0
- package/dist/types/utils/types/payment-method.type.d.ts +23 -0
- package/dist/types/utils/types/pixel.type.d.ts +7 -0
- package/dist/types/utils/types/place.type.d.ts +19 -0
- package/dist/types/utils/types/product-image.type.d.ts +5 -0
- package/dist/types/utils/types/product-parameter.type.d.ts +7 -0
- package/dist/types/utils/types/product-variant.type.d.ts +9 -0
- package/dist/types/utils/types/product.type.d.ts +57 -0
- package/dist/types/utils/types/project.type.d.ts +24 -0
- package/dist/types/utils/types/promo-code.type.d.ts +15 -0
- package/dist/types/utils/types/release-category.type.d.ts +17 -0
- package/dist/types/utils/types/release.type.d.ts +28 -0
- package/dist/types/utils/types/shipping-method.type.d.ts +11 -0
- package/dist/types/utils/types/shopping-cart.type.d.ts +69 -0
- package/dist/types/utils/types/ticket.type.d.ts +93 -0
- package/dist/types/utils/types/translation.type.d.ts +18 -0
- package/dist/types/utils/types/user.type.d.ts +9 -0
- package/dist/types/utils/url.d.ts +1 -0
- package/eslint.config.mjs +36 -0
- package/package.json +102 -0
- package/rollup.config.mjs +56 -0
- package/src/@types/index.d.ts +34 -0
- package/src/components/ClientOnly.tsx +16 -0
- package/src/components/CustomSkeleton.tsx +15 -0
- package/src/components/Image.tsx +99 -0
- package/src/components/Label.tsx +94 -0
- package/src/components/TextIconLabel.tsx +28 -0
- package/src/components/TicketFormSkeleton.tsx +83 -0
- package/src/components/Trans.tsx +114 -0
- package/src/components/animate/DialogAnimate.tsx +64 -0
- package/src/components/animate/IconButtonAnimate.tsx +63 -0
- package/src/components/animate/MotionContainer.tsx +40 -0
- package/src/components/animate/MotionLazyContainer.tsx +17 -0
- package/src/components/animate/MotionViewport.tsx +37 -0
- package/src/components/animate/TextAnimate.tsx +31 -0
- package/src/components/animate/features.js +2 -0
- package/src/components/animate/index.ts +12 -0
- package/src/components/animate/variants/actions.ts +7 -0
- package/src/components/animate/variants/background.ts +106 -0
- package/src/components/animate/variants/bounce.ts +98 -0
- package/src/components/animate/variants/container.ts +28 -0
- package/src/components/animate/variants/fade.ts +70 -0
- package/src/components/animate/variants/flip.ts +37 -0
- package/src/components/animate/variants/index.ts +12 -0
- package/src/components/animate/variants/path.ts +14 -0
- package/src/components/animate/variants/rotate.ts +28 -0
- package/src/components/animate/variants/scale.ts +37 -0
- package/src/components/animate/variants/slide.ts +60 -0
- package/src/components/animate/variants/transition.ts +25 -0
- package/src/components/animate/variants/zoom.ts +129 -0
- package/src/components/confirm-dialog/ConfirmDialog.tsx +32 -0
- package/src/components/confirm-dialog/index.ts +1 -0
- package/src/components/confirm-dialog/types.ts +12 -0
- package/src/components/hook-form/FormProvider.tsx +18 -0
- package/src/components/hook-form/RHFAutocomplete.tsx +52 -0
- package/src/components/hook-form/RHFCheckbox.tsx +124 -0
- package/src/components/hook-form/RHFCodes.tsx +94 -0
- package/src/components/hook-form/RHFDatePicker.tsx +37 -0
- package/src/components/hook-form/RHFPhone.tsx +47 -0
- package/src/components/hook-form/RHFRadioGroup.tsx +79 -0
- package/src/components/hook-form/RHFSelect.tsx +205 -0
- package/src/components/hook-form/RHFSlider.tsx +30 -0
- package/src/components/hook-form/RHFSwitch.tsx +30 -0
- package/src/components/hook-form/RHFTextField.tsx +30 -0
- package/src/components/hook-form/index.ts +11 -0
- package/src/components/iconify/Iconify.tsx +13 -0
- package/src/components/iconify/index.ts +3 -0
- package/src/components/iconify/types.ts +5 -0
- package/src/components/index.ts +6 -0
- package/src/context/GlobalContext.tsx +90 -0
- package/src/form/ChildEventCard.tsx +132 -0
- package/src/form/ChildEventDialog.tsx +54 -0
- package/src/form/ChildEvents.tsx +28 -0
- package/src/form/ContactPerson.tsx +67 -0
- package/src/form/EmailConfirmation.tsx +55 -0
- package/src/form/MerchandiseSelection.tsx +29 -0
- package/src/form/OrderSuccess.tsx +91 -0
- package/src/form/Payment.tsx +330 -0
- package/src/form/PaymentOverviewBox.tsx +581 -0
- package/src/form/PaymentPending.tsx +26 -0
- package/src/form/PaymentSuccess.tsx +400 -0
- package/src/form/ReleaseCountdown.tsx +51 -0
- package/src/form/ReleaseWithMerchandise.tsx +221 -0
- package/src/form/ScriptLoader.tsx +19 -0
- package/src/form/Shipping.tsx +226 -0
- package/src/form/TicketForm.tsx +597 -0
- package/src/form/TicketSelection.tsx +274 -0
- package/src/form/TicketWithMerchandiseSelection.tsx +130 -0
- package/src/form/TimeslotSelection.tsx +125 -0
- package/src/form/extra-field/ExtraField.tsx +45 -0
- package/src/form/extra-field/ReleaseExtraFields.tsx +61 -0
- package/src/form/index.tsx +120 -0
- package/src/form/payment/FeeBox.tsx +81 -0
- package/src/form/payment/PaymentSkeleton.tsx +22 -0
- package/src/form/product/ProductCard.tsx +105 -0
- package/src/form/product/ProductVariantsDialog.tsx +276 -0
- package/src/form/shipping/ShippingSkeleton.tsx +22 -0
- package/src/form/style.ts +49 -0
- package/src/form/timeslot/TimeslotCalendar.tsx +112 -0
- package/src/hooks/data/useActiveEventProducts.ts +21 -0
- package/src/hooks/data/useAllowedPaymentMethods.ts +22 -0
- package/src/hooks/data/useEvent.ts +21 -0
- package/src/hooks/data/useEventActiveReleases.ts +29 -0
- package/src/hooks/data/useEventShippingMethods.ts +21 -0
- package/src/hooks/data/useEventTimeslots.ts +23 -0
- package/src/hooks/useCountdown.ts +45 -0
- package/src/hooks/useDebounce.ts +12 -0
- package/src/hooks/useErrors.ts +23 -0
- package/src/hooks/useEventListener.ts +71 -0
- package/src/hooks/useFirstRender.ts +11 -0
- package/src/hooks/useGlobal.ts +6 -0
- package/src/hooks/useResponsive.ts +54 -0
- package/src/index.ts +6 -0
- package/src/locales/cs.tsx +139 -0
- package/src/locales/en.tsx +139 -0
- package/src/locales/es.tsx +140 -0
- package/src/locales/index.ts +6 -0
- package/src/locales/pl.tsx +138 -0
- package/src/locales/sk.tsx +139 -0
- package/src/locales/uk.tsx +139 -0
- package/src/modules/event-timeslot.ts +8 -0
- package/src/modules/event.ts +25 -0
- package/src/modules/order.ts +20 -0
- package/src/modules/promo-code.ts +9 -0
- package/src/modules/shopping-cart.ts +16 -0
- package/src/utils/axios.ts +19 -0
- package/src/utils/data/cookie.ts +1 -0
- package/src/utils/data/currency.ts +5 -0
- package/src/utils/data/event.ts +4 -0
- package/src/utils/data/extra-field.ts +12 -0
- package/src/utils/data/gender.ts +5 -0
- package/src/utils/data/global.ts +1 -0
- package/src/utils/data/gopay.ts +10 -0
- package/src/utils/data/language.ts +10 -0
- package/src/utils/data/lottie/bank-transfer.json +1 -0
- package/src/utils/data/order.ts +4 -0
- package/src/utils/data/product.ts +3 -0
- package/src/utils/data/promo-code.ts +4 -0
- package/src/utils/data/shipping-method.ts +4 -0
- package/src/utils/formatNumber.ts +43 -0
- package/src/utils/global.ts +24 -0
- package/src/utils/gtm.ts +233 -0
- package/src/utils/isBrowser.ts +1 -0
- package/src/utils/place.ts +4 -0
- package/src/utils/price.ts +31 -0
- package/src/utils/product.ts +30 -0
- package/src/utils/translation.ts +4 -0
- package/src/utils/types/animate.ts +42 -0
- package/src/utils/types/artist.type.ts +18 -0
- package/src/utils/types/company.type.ts +13 -0
- package/src/utils/types/country.type.ts +40 -0
- package/src/utils/types/customer.type.ts +11 -0
- package/src/utils/types/event-product.type.ts +17 -0
- package/src/utils/types/event-timeslot.type.ts +18 -0
- package/src/utils/types/event.type.ts +70 -0
- package/src/utils/types/extra-field.type.ts +21 -0
- package/src/utils/types/file.type.ts +7 -0
- package/src/utils/types/global.type.ts +81 -0
- package/src/utils/types/gtm.type.ts +102 -0
- package/src/utils/types/locale.type.ts +4 -0
- package/src/utils/types/order.type.ts +78 -0
- package/src/utils/types/palette.type.ts +1 -0
- package/src/utils/types/payment-method.type.ts +26 -0
- package/src/utils/types/pixel.type.ts +9 -0
- package/src/utils/types/place.type.ts +20 -0
- package/src/utils/types/product-image.type.ts +6 -0
- package/src/utils/types/product-parameter.type.ts +8 -0
- package/src/utils/types/product-variant.type.ts +10 -0
- package/src/utils/types/product.type.ts +62 -0
- package/src/utils/types/project.type.ts +28 -0
- package/src/utils/types/promo-code.type.ts +16 -0
- package/src/utils/types/release-category.type.ts +18 -0
- package/src/utils/types/release.type.ts +30 -0
- package/src/utils/types/shipping-method.type.ts +13 -0
- package/src/utils/types/shopping-cart.type.ts +63 -0
- package/src/utils/types/ticket.type.ts +95 -0
- package/src/utils/types/translation.type.ts +22 -0
- package/src/utils/types/user.type.ts +10 -0
- package/src/utils/url.ts +14 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var bounce = require('../components/animate/variants/bounce.js');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var framerMotion = require('framer-motion');
|
|
8
|
+
var material = require('@mui/material');
|
|
9
|
+
require('../components/animate/IconButtonAnimate.js');
|
|
10
|
+
var useResponsive = require('../hooks/useResponsive.js');
|
|
11
|
+
var MotionContainer = require('../components/animate/MotionContainer.js');
|
|
12
|
+
var Iconify = require('../components/iconify/Iconify.js');
|
|
13
|
+
var Image = require('../components/Image.js');
|
|
14
|
+
var url = require('../utils/url.js');
|
|
15
|
+
var order = require('../modules/order.js');
|
|
16
|
+
var gopay = require('../utils/data/gopay.js');
|
|
17
|
+
var place = require('../utils/place.js');
|
|
18
|
+
var formatNumber = require('../utils/formatNumber.js');
|
|
19
|
+
var styles = require('@mui/material/styles');
|
|
20
|
+
var dayjs = require('dayjs');
|
|
21
|
+
var useGlobal = require('../hooks/useGlobal.js');
|
|
22
|
+
var Trans = require('../components/Trans.js');
|
|
23
|
+
|
|
24
|
+
const PaymentSuccess = ({ setIsPaying, isIframe }) => {
|
|
25
|
+
const { showSnackbar, t, lang, callbacks, content } = useGlobal.default();
|
|
26
|
+
const theme = styles.useTheme();
|
|
27
|
+
const defaultState = 'PROCESSING';
|
|
28
|
+
const errorState = 'ERROR';
|
|
29
|
+
const [tickets, setTickets] = React.useState([]);
|
|
30
|
+
const [products, setProducts] = React.useState([]);
|
|
31
|
+
const [state, setState] = React.useState(defaultState);
|
|
32
|
+
const [title, setTitle] = React.useState(t('event.tickets.payment_success.loading'));
|
|
33
|
+
const [description, setDescription] = React.useState(null);
|
|
34
|
+
const [gwUrl, setGwUrl] = React.useState('');
|
|
35
|
+
const isMobile = useResponsive.default('down', 'sm');
|
|
36
|
+
React.useEffect(() => {
|
|
37
|
+
setIsPaying(false);
|
|
38
|
+
checkStatus();
|
|
39
|
+
}, []);
|
|
40
|
+
const checkStatus = async () => {
|
|
41
|
+
const searchParams = url.getSearchParamsInObject(window.location.search);
|
|
42
|
+
const paymentId = searchParams.id;
|
|
43
|
+
try {
|
|
44
|
+
const { data } = await order.postOrderPaid({
|
|
45
|
+
gopayId: Number(paymentId),
|
|
46
|
+
});
|
|
47
|
+
const tickets = data.tickets;
|
|
48
|
+
setTickets(tickets);
|
|
49
|
+
const products = data.products;
|
|
50
|
+
setProducts(products);
|
|
51
|
+
setState(data.state);
|
|
52
|
+
setGwUrl(data.gwUrl);
|
|
53
|
+
switch (data.state) {
|
|
54
|
+
case gopay.GopayState.PAID:
|
|
55
|
+
setTitle('event.tickets.payment_success.paid.title');
|
|
56
|
+
break;
|
|
57
|
+
default:
|
|
58
|
+
setTitle('event.tickets.payment_success.unpaid');
|
|
59
|
+
setDescription('event.tickets.payment_success.unpaid_description');
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
setState(errorState);
|
|
65
|
+
setTitle(error.message);
|
|
66
|
+
showSnackbar(error.message, { variant: 'error' });
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
return (React.createElement(MotionContainer.default, { className: "iframe__payment-success" }, state === gopay.GopayState.PAID ? (React.createElement(material.Box, null,
|
|
70
|
+
React.createElement(material.Grid, { container: true, spacing: 3, mb: 6 },
|
|
71
|
+
React.createElement(material.Grid, { display: "flex", item: true, xs: 12, sm: 6, alignItems: "center" },
|
|
72
|
+
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
73
|
+
React.createElement(material.Typography, { variant: "h5", component: "div", color: "primary.main", mb: 2, sx: { textTransform: 'uppercase' } },
|
|
74
|
+
React.createElement(Trans.Trans, { text: content?.paymentConfirmation?.status ||
|
|
75
|
+
'event.tickets.payment_success.paid.status' })),
|
|
76
|
+
React.createElement(material.Typography, { variant: "h1", mb: 4 },
|
|
77
|
+
React.createElement(Trans.Trans, { text: content?.paymentConfirmation?.title ||
|
|
78
|
+
'event.tickets.payment_success.paid.title' })),
|
|
79
|
+
React.createElement(material.Typography, { variant: "subtitle1", component: "div", color: "text.secondary", sx: { maxWidth: 450 } },
|
|
80
|
+
React.createElement(Trans.Trans, { text: content?.paymentConfirmation?.subtitle ||
|
|
81
|
+
'event.tickets.payment_success.paid.subtitle' })))),
|
|
82
|
+
!isMobile && (React.createElement(material.Grid, { item: true, xs: 12, sm: 6, display: "flex", justifyContent: "center" },
|
|
83
|
+
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in }, content?.paymentConfirmation?.image ? (React.createElement(Image.default, { src: content.paymentConfirmation.image.src, width: "100%", maxWidth: content.paymentConfirmation.image.maxWidth })) : (React.createElement(Image.default, { src: "https://eventigo.s3-central.vshosting.cloud/production/payment_success.png", alt: "Payment success", maxWidth: 400 })))))),
|
|
84
|
+
tickets.length > 0 && (React.createElement(React.Fragment, null,
|
|
85
|
+
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
86
|
+
React.createElement(material.Typography, { variant: "h2", textAlign: "center", mb: 4 }, t('event.tickets.payment_success.paid.tickets'))),
|
|
87
|
+
React.createElement(material.Grid, { container: true, justifyContent: "center", spacing: 5, mb: 6 }, tickets.map((item, index) => (React.createElement(material.Grid, { key: index, item: true, xs: 12, sm: 6, textAlign: "center" },
|
|
88
|
+
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
89
|
+
React.createElement(material.Card, { sx: { px: 2, py: 4 } },
|
|
90
|
+
React.createElement(material.Box, { component: "div", display: "inline-block", sx: {
|
|
91
|
+
width: 28,
|
|
92
|
+
height: 28,
|
|
93
|
+
borderRadius: '50%',
|
|
94
|
+
backgroundColor: 'primary.main',
|
|
95
|
+
color: 'grey.0',
|
|
96
|
+
fontWeight: 700,
|
|
97
|
+
}, mb: 2 }, index + 1),
|
|
98
|
+
React.createElement(material.Typography, { variant: "h3" }, item.eventName),
|
|
99
|
+
React.createElement(material.Typography, { variant: "h6", mb: 2 }, place.getPlaceAsString(item.location)),
|
|
100
|
+
React.createElement(material.Typography, { variant: "h3" }, item.releaseCategoryName),
|
|
101
|
+
item.firstName && item.lastName && (React.createElement(material.Typography, { variant: "h5" }, `${item.firstName} ${item.lastName}`)),
|
|
102
|
+
React.createElement(material.Typography, { variant: "h5", mb: 3 }, formatNumber.fCurrency(item.price, lang, item.currency)),
|
|
103
|
+
item.eventTimeslot && (React.createElement(material.Typography, { variant: "h5" }, dayjs(item.eventTimeslot.startDate).format('DD.MM.YYYY HH:mm'))),
|
|
104
|
+
React.createElement(Image.default, { src: item.qrUrl, alt: "QR Code", maxWidth: 200, border: `3px solid ${theme.palette.grey['800']}`, mb: 2 }),
|
|
105
|
+
item.pdfUrl && (React.createElement(material.Button, { href: item.pdfUrl, target: "_blank", variant: "contained", sx: { mb: 2 } }, t('event.tickets.payment_success.paid.button'))),
|
|
106
|
+
item.applePassWalletUrl && (React.createElement(material.Link, { href: item.applePassWalletUrl, target: "_blank", display: "block" },
|
|
107
|
+
React.createElement(material.Box, { sx: { maxWidth: 180, mx: 'auto', mb: 2 } },
|
|
108
|
+
React.createElement(Image.default, { src: `https://eventigo.s3-central.vshosting.cloud/production/apple-wallet/${lang}.png`, alt: t('apple_wallet'), objectFit: "contain", sx: { height: 47 } })))),
|
|
109
|
+
item.googlePassWalletUrl && (React.createElement(material.Link, { href: item.googlePassWalletUrl, target: "_blank", display: "block" },
|
|
110
|
+
React.createElement(material.Box, { sx: { maxWidth: 180, mx: 'auto', mb: 2 } },
|
|
111
|
+
React.createElement(Image.default, { src: `https://eventigo.s3-central.vshosting.cloud/production/google-wallet/${lang}.png`, alt: t('google_wallet'), objectFit: "contain", sx: { height: 47 } })))),
|
|
112
|
+
React.createElement(material.Box, { maxWidth: 300, mx: "auto", px: 2, borderRadius: 1, color: "grey.0", sx: {
|
|
113
|
+
fontWeight: 700,
|
|
114
|
+
backgroundColor: 'primary.main',
|
|
115
|
+
}, className: "iframe__payment-success__ticket" }, item.number))))))))),
|
|
116
|
+
products.length > 0 && (React.createElement(React.Fragment, null,
|
|
117
|
+
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
118
|
+
React.createElement(material.Typography, { variant: "h2", textAlign: "center", mb: 4 }, t('event.tickets.payment_success.paid.products'))),
|
|
119
|
+
React.createElement(material.Grid, { container: true, justifyContent: "center", spacing: 5, mb: 6 }, products.map((item, index) => (React.createElement(material.Grid, { key: index, item: true, xs: 12, sm: 6, md: 4, textAlign: "center" },
|
|
120
|
+
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
121
|
+
React.createElement(material.Card, { sx: { px: 2, py: 4 } },
|
|
122
|
+
React.createElement(material.Box, { component: "div", display: "inline-block", sx: {
|
|
123
|
+
width: 28,
|
|
124
|
+
height: 28,
|
|
125
|
+
borderRadius: '50%',
|
|
126
|
+
backgroundColor: 'primary.main',
|
|
127
|
+
color: 'grey.0',
|
|
128
|
+
fontWeight: 700,
|
|
129
|
+
}, mb: 2 }, index + 1),
|
|
130
|
+
React.createElement(material.Typography, { variant: "h3" }, item.name),
|
|
131
|
+
React.createElement(material.Typography, { variant: "h6", mb: 2 }, item.variantName),
|
|
132
|
+
React.createElement(material.Typography, { variant: "h5", mb: 3 }, formatNumber.fCurrency(item.price, lang, item.currency)),
|
|
133
|
+
React.createElement(Image.default, { src: item.imageUrl, alt: "Product preview", maxWidth: 200, mb: 2, borderRadius: 2 }))))))))),
|
|
134
|
+
!isIframe && (React.createElement(material.Box, { textAlign: "center" },
|
|
135
|
+
React.createElement(CustomButton, { onClick: callbacks.homepage, startIcon: React.createElement(Iconify.default, { icon: "eva:home-fill" }) }, t('go_home')))))) : (React.createElement(material.Box, { sx: { textAlign: 'center', py: 4 } },
|
|
136
|
+
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
137
|
+
React.createElement(material.Typography, { variant: "h4", sx: { mb: 2, maxWidth: 600, mx: 'auto' } },
|
|
138
|
+
React.createElement(Trans.Trans, { text: title, components: {
|
|
139
|
+
br: React.createElement("br", { key: "br" }),
|
|
140
|
+
} })),
|
|
141
|
+
description && (React.createElement(material.Typography, { variant: "body1", sx: { mb: 2, maxWidth: 600, mx: 'auto' } },
|
|
142
|
+
React.createElement(Trans.Trans, { text: description, components: {
|
|
143
|
+
br: React.createElement("br", { key: "br" }),
|
|
144
|
+
} })))),
|
|
145
|
+
state === errorState ? (React.createElement(React.Fragment, null,
|
|
146
|
+
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
147
|
+
React.createElement(Iconify.default, { icon: "eva:close-circle-fill", sx: {
|
|
148
|
+
color: 'error.main',
|
|
149
|
+
width: (theme) => theme.spacing(20),
|
|
150
|
+
height: (theme) => theme.spacing(20),
|
|
151
|
+
} })),
|
|
152
|
+
!isIframe && (React.createElement(material.Button, { onClick: callbacks.tickets, startIcon: React.createElement(Iconify.default, { icon: "eva:arrow-back-fill" }) }, t('back_to_tickets'))))) : state !== defaultState ? (React.createElement(React.Fragment, null,
|
|
153
|
+
React.createElement(framerMotion.m.div, { variants: bounce.varBounce().in },
|
|
154
|
+
React.createElement(Iconify.default, { icon: "eva:alert-triangle-fill", sx: {
|
|
155
|
+
color: 'warning.main',
|
|
156
|
+
width: (theme) => theme.spacing(20),
|
|
157
|
+
height: (theme) => theme.spacing(20),
|
|
158
|
+
} })),
|
|
159
|
+
!isIframe && (React.createElement(CustomButton, { url: gwUrl, endIcon: React.createElement(Iconify.default, { icon: "eva:external-link-outline" }) }, t('pay'))))) : (React.createElement(material.LinearProgress, { sx: { width: 1, maxWidth: 320, mx: 'auto' } }))))));
|
|
160
|
+
};
|
|
161
|
+
const CustomButton = ({ onClick, url, children, startIcon, endIcon, }) => (React.createElement(material.Button, { onClick: onClick, href: url, size: "large", color: "primary", variant: "contained", startIcon: startIcon, endIcon: endIcon, sx: {
|
|
162
|
+
mt: 2,
|
|
163
|
+
} }, children));
|
|
164
|
+
|
|
165
|
+
exports.default = PaymentSuccess;
|
|
166
|
+
//# sourceMappingURL=PaymentSuccess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentSuccess.js","sources":["../../../src/form/PaymentSuccess.tsx"],"sourcesContent":["import { Iconify, Image, MotionContainer, varBounce } from '@components';\nimport { Box, Button, Card, Grid, LinearProgress, Link, Typography } from '@mui/material';\nimport React, { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport { getSearchParamsInObject } from '@utils/url';\nimport { postOrderPaid } from '@modules/order';\nimport { m } from 'framer-motion';\nimport { GopayState } from '@utils/data/gopay';\nimport { PropsWithChildren } from '@utils/types/global.type';\nimport { IPaidTicket } from '@utils/types/ticket.type';\nimport useResponsive from '@hooks/useResponsive';\nimport { getPlaceAsString } from '@utils/place';\nimport { fCurrency, fData } from '@utils/formatNumber';\nimport { useTheme } from '@mui/material/styles';\nimport { IPaidProduct } from '@utils/types/product.type';\nimport dayjs from 'dayjs';\nimport useGlobal from '@hooks/useGlobal';\nimport { Trans } from '@components/Trans';\n\ninterface Props {\n setIsPaying: Dispatch<SetStateAction<boolean>>;\n isIframe?: boolean;\n}\n\nconst PaymentSuccess: React.FC<Props> = ({ setIsPaying, isIframe }) => {\n const { showSnackbar, t, lang, callbacks, content } = useGlobal();\n const theme = useTheme();\n const defaultState = 'PROCESSING';\n const errorState = 'ERROR';\n const [tickets, setTickets] = useState<IPaidTicket[]>([]);\n const [products, setProducts] = useState<IPaidProduct[]>([]);\n const [state, setState] = useState<string>(defaultState);\n const [title, setTitle] = useState<string>(t('event.tickets.payment_success.loading'));\n const [description, setDescription] = useState<string | null>(null);\n const [gwUrl, setGwUrl] = useState<string>('');\n const isMobile = useResponsive('down', 'sm');\n\n useEffect(() => {\n setIsPaying(false);\n checkStatus();\n }, []);\n\n const checkStatus = async () => {\n const searchParams = getSearchParamsInObject(window.location.search);\n const paymentId = searchParams.id;\n\n try {\n const { data } = await postOrderPaid({\n gopayId: Number(paymentId),\n });\n const tickets = data.tickets;\n setTickets(tickets);\n const products = data.products;\n setProducts(products);\n setState(data.state);\n setGwUrl(data.gwUrl);\n switch (data.state) {\n case GopayState.PAID:\n setTitle('event.tickets.payment_success.paid.title');\n break;\n default:\n setTitle('event.tickets.payment_success.unpaid');\n setDescription('event.tickets.payment_success.unpaid_description');\n break;\n }\n } catch (error: any) {\n setState(errorState);\n setTitle(error.message);\n showSnackbar(error.message, { variant: 'error' });\n }\n };\n\n return (\n <MotionContainer className=\"iframe__payment-success\">\n {state === GopayState.PAID ? (\n <Box>\n <Grid container spacing={3} mb={6}>\n <Grid display=\"flex\" item xs={12} sm={6} alignItems=\"center\">\n <m.div variants={varBounce().in}>\n <Typography\n variant=\"h5\"\n component=\"div\"\n color=\"primary.main\"\n mb={2}\n sx={{ textTransform: 'uppercase' }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.status ||\n 'event.tickets.payment_success.paid.status'\n }\n />\n </Typography>\n <Typography variant=\"h1\" mb={4}>\n <Trans\n text={\n content?.paymentConfirmation?.title ||\n 'event.tickets.payment_success.paid.title'\n }\n />\n </Typography>\n <Typography\n variant=\"subtitle1\"\n component=\"div\"\n color=\"text.secondary\"\n sx={{ maxWidth: 450 }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.subtitle ||\n 'event.tickets.payment_success.paid.subtitle'\n }\n />\n </Typography>\n </m.div>\n </Grid>\n {!isMobile && (\n <Grid item xs={12} sm={6} display=\"flex\" justifyContent=\"center\">\n <m.div variants={varBounce().in}>\n {content?.paymentConfirmation?.image ? (\n <Image\n src={content.paymentConfirmation.image.src}\n width=\"100%\"\n maxWidth={content.paymentConfirmation.image.maxWidth}\n />\n ) : (\n <Image\n src=\"https://eventigo.s3-central.vshosting.cloud/production/payment_success.png\"\n alt=\"Payment success\"\n maxWidth={400}\n />\n )}\n </m.div>\n </Grid>\n )}\n </Grid>\n {tickets.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.tickets')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {tickets.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.eventName}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {getPlaceAsString(item.location)}\n </Typography>\n <Typography variant=\"h3\">{item.releaseCategoryName}</Typography>\n {item.firstName && item.lastName && (\n <Typography variant=\"h5\">{`${item.firstName} ${item.lastName}`}</Typography>\n )}\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n {item.eventTimeslot && (\n <Typography variant=\"h5\">\n {dayjs(item.eventTimeslot.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n )}\n <Image\n src={item.qrUrl}\n alt=\"QR Code\"\n maxWidth={200}\n border={`3px solid ${theme.palette.grey['800']}`}\n mb={2}\n />\n {item.pdfUrl && (\n <Button\n href={item.pdfUrl}\n target=\"_blank\"\n variant=\"contained\"\n sx={{ mb: 2 }}\n >\n {t('event.tickets.payment_success.paid.button')}\n </Button>\n )}\n {item.applePassWalletUrl && (\n <Link href={item.applePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/apple-wallet/${lang}.png`}\n alt={t('apple_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n {item.googlePassWalletUrl && (\n <Link href={item.googlePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/google-wallet/${lang}.png`}\n alt={t('google_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n <Box\n maxWidth={300}\n mx=\"auto\"\n px={2}\n borderRadius={1}\n color=\"grey.0\"\n sx={{\n fontWeight: 700,\n backgroundColor: 'primary.main',\n }}\n className=\"iframe__payment-success__ticket\"\n >\n {item.number}\n </Box>\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {products.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.products')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {products.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} md={4} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.name}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {item.variantName}\n </Typography>\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n <Image\n src={item.imageUrl}\n alt=\"Product preview\"\n maxWidth={200}\n mb={2}\n borderRadius={2}\n />\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {!isIframe && (\n <Box textAlign=\"center\">\n <CustomButton\n onClick={callbacks.homepage}\n startIcon={<Iconify icon=\"eva:home-fill\" />}\n >\n {t('go_home')}\n </CustomButton>\n </Box>\n )}\n </Box>\n ) : (\n <Box sx={{ textAlign: 'center', py: 4 }}>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h4\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={title}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n {description && (\n <Typography variant=\"body1\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={description}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n )}\n </m.div>\n {state === errorState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:close-circle-fill\"\n sx={{\n color: 'error.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <Button\n onClick={callbacks.tickets}\n startIcon={<Iconify icon=\"eva:arrow-back-fill\" />}\n >\n {t('back_to_tickets')}\n </Button>\n )}\n </>\n ) : state !== defaultState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:alert-triangle-fill\"\n sx={{\n color: 'warning.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <CustomButton url={gwUrl} endIcon={<Iconify icon=\"eva:external-link-outline\" />}>\n {t('pay')}\n </CustomButton>\n )}\n </>\n ) : (\n <LinearProgress sx={{ width: 1, maxWidth: 320, mx: 'auto' }} />\n )}\n </Box>\n )}\n </MotionContainer>\n );\n};\n\ninterface ButtonProps {\n onClick?: () => void;\n url?: string;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n}\n\nconst CustomButton: React.FC<PropsWithChildren<ButtonProps>> = ({\n onClick,\n url,\n children,\n startIcon,\n endIcon,\n}) => (\n <Button\n onClick={onClick}\n href={url}\n size=\"large\"\n color=\"primary\"\n variant=\"contained\"\n startIcon={startIcon}\n endIcon={endIcon}\n sx={{\n mt: 2,\n }}\n >\n {children}\n </Button>\n);\n\nexport default PaymentSuccess;\n"],"names":["useGlobal","useTheme","useState","useResponsive","useEffect","getSearchParamsInObject","postOrderPaid","GopayState","MotionContainer","Box","Grid","m","varBounce","Typography","Trans","Image","Card","getPlaceAsString","fCurrency","Button","Link","Iconify","LinearProgress"],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var useCountdown = require('../hooks/useCountdown.js');
|
|
7
|
+
var dayjs = require('dayjs');
|
|
8
|
+
var material = require('@mui/material');
|
|
9
|
+
var useGlobal = require('../hooks/useGlobal.js');
|
|
10
|
+
var Trans = require('../components/Trans.js');
|
|
11
|
+
|
|
12
|
+
const ReleaseCountdown = ({ event, setShowReleaseDate }) => {
|
|
13
|
+
const { t } = useGlobal.default();
|
|
14
|
+
const { days, hours, minutes, seconds } = useCountdown.default(dayjs(event.releaseDate).toDate());
|
|
15
|
+
React.useEffect(() => {
|
|
16
|
+
if (dayjs(event.releaseDate).diff(dayjs()) < 0) {
|
|
17
|
+
setShowReleaseDate(false);
|
|
18
|
+
}
|
|
19
|
+
}, [seconds, event]);
|
|
20
|
+
return (React.createElement(material.Stack, { alignItems: "center", spacing: 2, py: 4, textAlign: "center" },
|
|
21
|
+
React.createElement(material.Typography, { variant: "h3" }, t('event.tickets.release_countdown.title')),
|
|
22
|
+
React.createElement(material.Typography, { variant: "h1" },
|
|
23
|
+
React.createElement(Trans.Trans, { text: "event.tickets.release_countdown.countdown", values: {
|
|
24
|
+
days,
|
|
25
|
+
hours,
|
|
26
|
+
minutes,
|
|
27
|
+
seconds,
|
|
28
|
+
}, components: {
|
|
29
|
+
span: (React.createElement(material.Box, { component: "span", className: "iframe__release-countdown", sx: { color: 'primary.main' } })),
|
|
30
|
+
} }))));
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.default = ReleaseCountdown;
|
|
34
|
+
//# sourceMappingURL=ReleaseCountdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReleaseCountdown.js","sources":["../../../src/form/ReleaseCountdown.tsx"],"sourcesContent":["import React, { Dispatch, SetStateAction, useEffect } from 'react';\nimport { IEvent } from '@utils/types/event.type';\nimport useCountdown from '@hooks/useCountdown';\nimport dayjs from 'dayjs';\nimport { Box, Stack, Typography } from '@mui/material';\nimport useGlobal from '@hooks/useGlobal';\nimport { Trans } from '@components/Trans';\n\ninterface Props {\n event: IEvent;\n setShowReleaseDate: Dispatch<SetStateAction<boolean>>;\n}\n\nconst ReleaseCountdown: React.FC<Props> = ({ event, setShowReleaseDate }) => {\n const { t } = useGlobal();\n const { days, hours, minutes, seconds } = useCountdown(dayjs(event.releaseDate).toDate());\n\n useEffect(() => {\n if (dayjs(event.releaseDate).diff(dayjs()) < 0) {\n setShowReleaseDate(false);\n }\n }, [seconds, event]);\n\n return (\n <Stack alignItems=\"center\" spacing={2} py={4} textAlign=\"center\">\n <Typography variant=\"h3\">{t('event.tickets.release_countdown.title')}</Typography>\n <Typography variant=\"h1\">\n <Trans\n text=\"event.tickets.release_countdown.countdown\"\n values={{\n days,\n hours,\n minutes,\n seconds,\n }}\n components={{\n span: (\n <Box\n component=\"span\"\n className=\"iframe__release-countdown\"\n sx={{ color: 'primary.main' }}\n />\n ),\n }}\n />\n </Typography>\n </Stack>\n );\n};\n\nexport default ReleaseCountdown;\n"],"names":["useGlobal","useCountdown","useEffect","Stack","Typography","Trans","Box"],"mappings":";;;;;;;;;;;AAaA,MAAM,gBAAgB,GAAoB,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAI;AAC1E,IAAA,MAAM,EAAE,CAAC,EAAE,GAAGA,iBAAS,EAAE;IACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAGC,oBAAY,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;IAEzFC,eAAS,CAAC,MAAK;AACb,QAAA,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;YAC9C,kBAAkB,CAAC,KAAK,CAAC;;AAE7B,KAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAEpB,IAAA,QACE,KAAA,CAAA,aAAA,CAACC,cAAK,IAAC,UAAU,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAC,QAAQ,EAAA;QAC9D,KAAA,CAAA,aAAA,CAACC,mBAAU,EAAA,EAAC,OAAO,EAAC,IAAI,IAAE,CAAC,CAAC,uCAAuC,CAAC,CAAc;AAClF,QAAA,KAAA,CAAA,aAAA,CAACA,mBAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAA;AACtB,YAAA,KAAA,CAAA,aAAA,CAACC,WAAK,EAAA,EACJ,IAAI,EAAC,2CAA2C,EAChD,MAAM,EAAE;oBACN,IAAI;oBACJ,KAAK;oBACL,OAAO;oBACP,OAAO;AACR,iBAAA,EACD,UAAU,EAAE;oBACV,IAAI,GACF,KAAA,CAAA,aAAA,CAACC,YAAG,IACF,SAAS,EAAC,MAAM,EAChB,SAAS,EAAC,2BAA2B,EACrC,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAA,CAC7B,CACH;iBACF,EAAA,CACD,CACS,CACP;AAEZ;;;;"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var material = require('@mui/material');
|
|
7
|
+
var Iconify = require('../components/iconify/Iconify.js');
|
|
8
|
+
var ProductVariantsDialog = require('./product/ProductVariantsDialog.js');
|
|
9
|
+
var reactHookForm = require('react-hook-form');
|
|
10
|
+
var formatNumber = require('../utils/formatNumber.js');
|
|
11
|
+
var product = require('../utils/product.js');
|
|
12
|
+
var ReleaseExtraFields = require('./extra-field/ReleaseExtraFields.js');
|
|
13
|
+
var useGlobal = require('../hooks/useGlobal.js');
|
|
14
|
+
|
|
15
|
+
const ReleaseWithMerchandise = ({ eventId, release, activeReleases, currency, }) => {
|
|
16
|
+
const { t, lang } = useGlobal.default();
|
|
17
|
+
const [openVariantDialog, setOpenVariantDialog] = React.useState(null);
|
|
18
|
+
const { setValue } = reactHookForm.useFormContext();
|
|
19
|
+
const tickets = reactHookForm.useWatch({ name: `tickets.${eventId}`, defaultValue: [] });
|
|
20
|
+
const products = reactHookForm.useWatch({ name: `products.${eventId}`, defaultValue: [] });
|
|
21
|
+
const isReleaseSelected = (id) => !!tickets.find((ticket) => ticket.releaseId === id);
|
|
22
|
+
const getSelectedQuantity = (id) => tickets.find((ticket) => ticket.releaseId === id)?.quantity || 0;
|
|
23
|
+
const getAvailableTicketsForRelease = (release) => {
|
|
24
|
+
const selectedRelease = activeReleases?.find((item) => item.id === release.releaseId);
|
|
25
|
+
const availableQuantity = selectedRelease ? selectedRelease.availableTickets : 0;
|
|
26
|
+
return availableQuantity > 10 ? 10 : availableQuantity;
|
|
27
|
+
};
|
|
28
|
+
const isMaxQuantity = (releaseId) => {
|
|
29
|
+
const release = tickets.find((ticket) => ticket.releaseId === releaseId);
|
|
30
|
+
if (!release)
|
|
31
|
+
return false;
|
|
32
|
+
return getSelectedQuantity(releaseId) >= getAvailableTicketsForRelease(release);
|
|
33
|
+
};
|
|
34
|
+
const addRelease = (product) => {
|
|
35
|
+
setValue(`tickets.${eventId}`, [
|
|
36
|
+
...tickets,
|
|
37
|
+
{
|
|
38
|
+
releaseId: release.id,
|
|
39
|
+
quantity: 1,
|
|
40
|
+
itemName: '',
|
|
41
|
+
price: 0,
|
|
42
|
+
products: product ? [product] : [],
|
|
43
|
+
extraFields: release.extraFields?.length
|
|
44
|
+
? [
|
|
45
|
+
release.extraFields.map((field) => ({
|
|
46
|
+
eventExtraFieldId: field.id,
|
|
47
|
+
value: '',
|
|
48
|
+
})),
|
|
49
|
+
]
|
|
50
|
+
: [],
|
|
51
|
+
},
|
|
52
|
+
]);
|
|
53
|
+
setOpenVariantDialog(null);
|
|
54
|
+
};
|
|
55
|
+
const increaseQuantity = (product) => {
|
|
56
|
+
const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);
|
|
57
|
+
if (addedRelease) {
|
|
58
|
+
const newQuantity = Number(addedRelease.quantity) + 1;
|
|
59
|
+
const maxQuantity = getAvailableTicketsForRelease(addedRelease);
|
|
60
|
+
setValue(`tickets.${eventId}`, tickets.map((ticket) => ticket.releaseId === release.id
|
|
61
|
+
? {
|
|
62
|
+
...ticket,
|
|
63
|
+
quantity: newQuantity > maxQuantity ? maxQuantity : newQuantity,
|
|
64
|
+
products: product ? [...ticket.products, product] : ticket.products,
|
|
65
|
+
extraFields: release.extraFields?.length
|
|
66
|
+
? [
|
|
67
|
+
...ticket.extraFields,
|
|
68
|
+
release.extraFields.map((field) => ({
|
|
69
|
+
eventExtraFieldId: field.id,
|
|
70
|
+
value: '',
|
|
71
|
+
})),
|
|
72
|
+
]
|
|
73
|
+
: [],
|
|
74
|
+
}
|
|
75
|
+
: ticket));
|
|
76
|
+
setOpenVariantDialog(null);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const decreaseQuantity = React.useCallback(() => {
|
|
80
|
+
const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);
|
|
81
|
+
if (addedRelease) {
|
|
82
|
+
const newQuantity = Number(addedRelease.quantity) - 1;
|
|
83
|
+
if (newQuantity < 1) {
|
|
84
|
+
setValue(`tickets.${eventId}`, tickets.filter((ticket) => ticket.releaseId !== release.id));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
setValue(`tickets.${eventId}`, tickets.map((ticket) => {
|
|
88
|
+
if (ticket.releaseId !== release.id)
|
|
89
|
+
return ticket;
|
|
90
|
+
return {
|
|
91
|
+
...ticket,
|
|
92
|
+
quantity: newQuantity,
|
|
93
|
+
products: ticket?.products?.slice(0, -1), // non-mutating "pop"
|
|
94
|
+
extraFields: ticket?.extraFields?.slice(0, -1),
|
|
95
|
+
};
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}, [tickets, release.id, setValue]);
|
|
100
|
+
return (React.createElement(material.Box, null,
|
|
101
|
+
React.createElement(material.Stack, { direction: "row", spacing: 1 },
|
|
102
|
+
React.createElement(material.Stack, { direction: "row", spacing: 1, justifyContent: "space-between", alignItems: "center", sx: { width: '100%', backgroundColor: 'grey.200', p: 1, pl: 1.5, borderRadius: 1 } },
|
|
103
|
+
React.createElement(material.Stack, { direction: "row", spacing: 2, alignItems: "center" },
|
|
104
|
+
React.createElement(material.Stack, { direction: "row", spacing: 0.5, alignItems: "center" },
|
|
105
|
+
React.createElement(Iconify.default, { icon: "ion:ticket-outline", color: "primary.main", sx: { width: 24, height: 24 } }),
|
|
106
|
+
release.product && (React.createElement(React.Fragment, null,
|
|
107
|
+
React.createElement(material.Typography, { fontSize: 20, lineHeight: 1 }, "+"),
|
|
108
|
+
React.createElement(Iconify.default, { icon: "lucide-lab:shirt-t", color: "primary.main", sx: { width: 24, height: 24 } })))),
|
|
109
|
+
React.createElement(material.Typography, { color: "grey.500" },
|
|
110
|
+
release.releaseCategoryName,
|
|
111
|
+
" - ",
|
|
112
|
+
release.name,
|
|
113
|
+
" -",
|
|
114
|
+
' ',
|
|
115
|
+
formatNumber.fCurrency(release.price, lang, currency))),
|
|
116
|
+
isReleaseSelected(release.id) ? (React.createElement(material.Stack, { direction: "row", spacing: 1, py: 0.5 },
|
|
117
|
+
React.createElement(material.IconButton, { onClick: () => decreaseQuantity(), size: "small", color: "primary" },
|
|
118
|
+
React.createElement(Iconify.default, { icon: "eva:minus-fill" })),
|
|
119
|
+
React.createElement(material.Typography, { color: "grey.500" }, getSelectedQuantity(release.id)),
|
|
120
|
+
React.createElement(material.IconButton, { onClick: () => release.product ? setOpenVariantDialog('increase') : increaseQuantity(), size: "small", color: "primary", disabled: isMaxQuantity(release.id) },
|
|
121
|
+
React.createElement(Iconify.default, { icon: "eva:plus-fill" })))) : (React.createElement(material.Button, { onClick: () => !release.locked && (release.product ? setOpenVariantDialog('add') : addRelease()), variant: "contained", disabled: release.locked }, t('add'))))),
|
|
122
|
+
React.createElement(material.Typography, { variant: "caption", content: "div", mt: 2, mb: release.extraFields?.length ? 2 : 0, display: "block" }, release.description),
|
|
123
|
+
release.extraFields && release.extraFields.length > 0 && (React.createElement(ReleaseExtraFields.default, { release: release, eventId: eventId })),
|
|
124
|
+
release.product && (React.createElement(ProductVariantsDialog.default, { eventProduct: release.product, openDialog: !!openVariantDialog, callback: openVariantDialog === 'increase' ? increaseQuantity : addRelease, onClose: () => setOpenVariantDialog(null), selectedQuantityByVariant: product.getSelectedQuantityByVariant(products, tickets), eventId: eventId }))));
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
exports.default = ReleaseWithMerchandise;
|
|
128
|
+
//# sourceMappingURL=ReleaseWithMerchandise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReleaseWithMerchandise.js","sources":["../../../src/form/ReleaseWithMerchandise.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Box, Button, IconButton, Stack, Typography } from '@mui/material';\nimport { Iconify } from '@components/iconify';\nimport ProductVariantsDialog from '@form/product/ProductVariantsDialog';\nimport { IReleaseShort } from '@utils/types/release.type';\nimport { ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport { useFormContext, useWatch } from 'react-hook-form';\nimport { IEventProductForm } from '@utils/types/product.type';\nimport { fCurrency } from '@utils/formatNumber';\nimport { Currencies } from '@utils/data/currency';\nimport { getSelectedQuantityByVariant } from '@utils/product';\nimport ReleaseExtraFields from '@form/extra-field/ReleaseExtraFields';\nimport useGlobal from '@hooks/useGlobal.ts';\n\ninterface Props {\n eventId: number;\n release: IReleaseShort;\n activeReleases: IReleaseShort[];\n currency: Currencies;\n}\n\nconst ReleaseWithMerchandise: React.FC<Props> = ({\n eventId,\n release,\n activeReleases,\n currency,\n}) => {\n const { t, lang } = useGlobal();\n const [openVariantDialog, setOpenVariantDialog] = useState<'add' | 'increase' | null>(null);\n const { setValue } = useFormContext<ITicketForm>();\n const tickets: ITicketFormTicket[] = useWatch({ name: `tickets.${eventId}`, defaultValue: [] });\n const products: IEventProductForm[] = useWatch({ name: `products.${eventId}`, defaultValue: [] });\n\n const isReleaseSelected = (id: number) => !!tickets.find((ticket) => ticket.releaseId === id);\n\n const getSelectedQuantity = (id: number) =>\n tickets.find((ticket) => ticket.releaseId === id)?.quantity || 0;\n\n const getAvailableTicketsForRelease = (release: ITicketFormTicket): number => {\n const selectedRelease = activeReleases?.find((item) => item.id === release.releaseId);\n const availableQuantity = selectedRelease ? selectedRelease.availableTickets : 0;\n return availableQuantity > 10 ? 10 : availableQuantity;\n };\n\n const isMaxQuantity = (releaseId: number) => {\n const release = tickets.find((ticket) => ticket.releaseId === releaseId);\n if (!release) return false;\n return getSelectedQuantity(releaseId) >= getAvailableTicketsForRelease(release);\n };\n\n const addRelease = (product?: IEventProductForm) => {\n setValue(`tickets.${eventId}`, [\n ...tickets,\n {\n releaseId: release.id,\n quantity: 1,\n itemName: '',\n price: 0,\n products: product ? [product] : [],\n extraFields: release.extraFields?.length\n ? [\n release.extraFields.map((field) => ({\n eventExtraFieldId: field.id,\n value: '',\n })),\n ]\n : [],\n },\n ]);\n setOpenVariantDialog(null);\n };\n\n const increaseQuantity = (product?: IEventProductForm) => {\n const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);\n if (addedRelease) {\n const newQuantity = Number(addedRelease.quantity) + 1;\n const maxQuantity = getAvailableTicketsForRelease(addedRelease);\n setValue(\n `tickets.${eventId}`,\n tickets.map((ticket) =>\n ticket.releaseId === release.id\n ? {\n ...ticket,\n quantity: newQuantity > maxQuantity ? maxQuantity : newQuantity,\n products: product ? [...ticket.products, product] : ticket.products,\n extraFields: release.extraFields?.length\n ? [\n ...ticket.extraFields,\n release.extraFields.map((field) => ({\n eventExtraFieldId: field.id,\n value: '',\n })),\n ]\n : [],\n }\n : ticket\n )\n );\n setOpenVariantDialog(null);\n }\n };\n\n const decreaseQuantity = useCallback(() => {\n const addedRelease = tickets.find((ticket) => ticket.releaseId === release.id);\n if (addedRelease) {\n const newQuantity = Number(addedRelease.quantity) - 1;\n if (newQuantity < 1) {\n setValue(\n `tickets.${eventId}`,\n tickets.filter((ticket) => ticket.releaseId !== release.id)\n );\n } else {\n setValue(\n `tickets.${eventId}`,\n tickets.map((ticket) => {\n if (ticket.releaseId !== release.id) return ticket;\n\n return {\n ...ticket,\n quantity: newQuantity,\n products: ticket?.products?.slice(0, -1), // non-mutating \"pop\"\n extraFields: ticket?.extraFields?.slice(0, -1),\n };\n })\n );\n }\n }\n }, [tickets, release.id, setValue]);\n\n return (\n <Box>\n <Stack direction=\"row\" spacing={1}>\n <Stack\n direction=\"row\"\n spacing={1}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n sx={{ width: '100%', backgroundColor: 'grey.200', p: 1, pl: 1.5, borderRadius: 1 }}\n >\n <Stack direction=\"row\" spacing={2} alignItems=\"center\">\n <Stack direction=\"row\" spacing={0.5} alignItems=\"center\">\n <Iconify\n icon=\"ion:ticket-outline\"\n color=\"primary.main\"\n sx={{ width: 24, height: 24 }}\n />\n {release.product && (\n <>\n <Typography fontSize={20} lineHeight={1}>\n +\n </Typography>\n <Iconify\n icon=\"lucide-lab:shirt-t\"\n color=\"primary.main\"\n sx={{ width: 24, height: 24 }}\n />\n </>\n )}\n </Stack>\n <Typography color=\"grey.500\">\n {release.releaseCategoryName} - {release.name} -{' '}\n {fCurrency(release.price, lang, currency)}\n </Typography>\n </Stack>\n {isReleaseSelected(release.id) ? (\n <Stack direction=\"row\" spacing={1} py={0.5}>\n <IconButton onClick={() => decreaseQuantity()} size=\"small\" color=\"primary\">\n <Iconify icon=\"eva:minus-fill\" />\n </IconButton>\n <Typography color=\"grey.500\">{getSelectedQuantity(release.id)}</Typography>\n <IconButton\n onClick={() =>\n release.product ? setOpenVariantDialog('increase') : increaseQuantity()\n }\n size=\"small\"\n color=\"primary\"\n disabled={isMaxQuantity(release.id)}\n >\n <Iconify icon=\"eva:plus-fill\" />\n </IconButton>\n </Stack>\n ) : (\n <Button\n onClick={() =>\n !release.locked && (release.product ? setOpenVariantDialog('add') : addRelease())\n }\n variant=\"contained\"\n disabled={release.locked}\n >\n {t('add')}\n </Button>\n )}\n </Stack>\n </Stack>\n <Typography\n variant=\"caption\"\n content=\"div\"\n mt={2}\n mb={release.extraFields?.length ? 2 : 0}\n display=\"block\"\n >\n {release.description}\n </Typography>\n {release.extraFields && release.extraFields.length > 0 && (\n <ReleaseExtraFields release={release} eventId={eventId} />\n )}\n {release.product && (\n <ProductVariantsDialog\n eventProduct={release.product}\n openDialog={!!openVariantDialog}\n callback={openVariantDialog === 'increase' ? increaseQuantity : addRelease}\n onClose={() => setOpenVariantDialog(null)}\n selectedQuantityByVariant={getSelectedQuantityByVariant(products, tickets)}\n eventId={eventId}\n />\n )}\n </Box>\n );\n};\n\nexport default ReleaseWithMerchandise;\n"],"names":["useGlobal","useState","useFormContext","useWatch","useCallback","Box","Stack","Iconify","Typography","fCurrency","IconButton","Button","ReleaseExtraFields","ProductVariantsDialog","getSelectedQuantityByVariant"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
|
|
7
|
+
const ScriptLoader = () => {
|
|
8
|
+
React.useEffect(() => {
|
|
9
|
+
const script = document.createElement('script');
|
|
10
|
+
script.src = 'https://widget.packeta.com/v6/www/js/library.js';
|
|
11
|
+
script.async = true;
|
|
12
|
+
document.body.appendChild(script);
|
|
13
|
+
return () => {
|
|
14
|
+
document.body.removeChild(script);
|
|
15
|
+
};
|
|
16
|
+
}, []);
|
|
17
|
+
return null;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.default = ScriptLoader;
|
|
21
|
+
//# sourceMappingURL=ScriptLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScriptLoader.js","sources":["../../../src/form/ScriptLoader.tsx"],"sourcesContent":["import React from 'react';\nimport { useEffect } from 'react';\n\nconst ScriptLoader: React.FC = () => {\n useEffect(() => {\n const script = document.createElement('script');\n script.src = 'https://widget.packeta.com/v6/www/js/library.js';\n script.async = true;\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, []);\n\n return null;\n};\n\nexport default ScriptLoader;\n"],"names":["useEffect"],"mappings":";;;;;;AAGA,MAAM,YAAY,GAAa,MAAK;IAClCA,eAAS,CAAC,MAAK;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC/C,QAAA,MAAM,CAAC,GAAG,GAAG,iDAAiD;AAC9D,QAAA,MAAM,CAAC,KAAK,GAAG,IAAI;AACnB,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AAEjC,QAAA,OAAO,MAAK;AACV,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACnC,SAAC;KACF,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,IAAI;AACb;;;;"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var useEventShippingMethods = require('../hooks/data/useEventShippingMethods.js');
|
|
7
|
+
var ShippingSkeleton = require('./shipping/ShippingSkeleton.js');
|
|
8
|
+
var material = require('@mui/material');
|
|
9
|
+
var style = require('./style.js');
|
|
10
|
+
var Iconify = require('../components/iconify/Iconify.js');
|
|
11
|
+
var reactHookForm = require('react-hook-form');
|
|
12
|
+
var shippingMethod = require('../utils/data/shipping-method.js');
|
|
13
|
+
var useGlobal = require('../hooks/useGlobal.js');
|
|
14
|
+
var ScriptLoader = require('./ScriptLoader.js');
|
|
15
|
+
|
|
16
|
+
const Shipping = ({ event }) => {
|
|
17
|
+
const { t, lang, options } = useGlobal.default();
|
|
18
|
+
const { data: shippingMethods, isLoading } = useEventShippingMethods.default(event.id, {
|
|
19
|
+
currency: event.currency,
|
|
20
|
+
});
|
|
21
|
+
const { control, watch, setValue } = reactHookForm.useFormContext();
|
|
22
|
+
const tickets = reactHookForm.useWatch({
|
|
23
|
+
name: 'tickets',
|
|
24
|
+
defaultValue: {},
|
|
25
|
+
});
|
|
26
|
+
const flatTickets = React.useMemo(() => Object.values(tickets).flat(), [tickets]);
|
|
27
|
+
const products = reactHookForm.useWatch({
|
|
28
|
+
name: 'products',
|
|
29
|
+
defaultValue: {},
|
|
30
|
+
});
|
|
31
|
+
const flatProducts = React.useMemo(() => Object.values(products).flat(), [products]);
|
|
32
|
+
const shippingMethodId = watch('shipping.shippingMethodId');
|
|
33
|
+
const branchId = watch('shipping.branchId');
|
|
34
|
+
const [displayBranchName, setDisplayBranchName] = React.useState(null);
|
|
35
|
+
const [firstRender, setFirstRender] = React.useState(true);
|
|
36
|
+
const filteredShippingMethods = React.useMemo(() => shippingMethods?.filter((shippingMethod) => !flatProducts?.find((product) => product.excludedShippingMethodIds?.includes(shippingMethod?.id)) &&
|
|
37
|
+
!flatTickets.find((ticket) => ticket.products.find((product) => product.excludedShippingMethodIds?.includes(shippingMethod?.id)))), [shippingMethods, shippingMethodId, flatTickets, flatProducts]);
|
|
38
|
+
const paymentImages = {
|
|
39
|
+
[shippingMethod.ShippingTypes.PACKETA]: (React.createElement(Iconify.default, { icon: "arcticons:packeta", color: "rgb(186,27,2)", width: 32, height: 32 })),
|
|
40
|
+
[shippingMethod.ShippingTypes.PICK_UP]: React.createElement(Iconify.default, { icon: "flowbite:store-solid", width: 32, height: 32 }),
|
|
41
|
+
};
|
|
42
|
+
const onSelectBranch = (branch) => {
|
|
43
|
+
if (branch) {
|
|
44
|
+
setValue('shipping.branchId', branch.id);
|
|
45
|
+
setDisplayBranchName(branch.name);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
setValue('shipping.shippingMethodId', null);
|
|
49
|
+
setValue('shipping.branchId', null);
|
|
50
|
+
setDisplayBranchName(null);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const handleChangeBranch = () => {
|
|
54
|
+
setValue('shipping.branchId', null);
|
|
55
|
+
setDisplayBranchName(null);
|
|
56
|
+
};
|
|
57
|
+
React.useEffect(() => {
|
|
58
|
+
if (firstRender && filteredShippingMethods.length === 1) {
|
|
59
|
+
setValue('shipping.shippingMethodId', filteredShippingMethods[0].id);
|
|
60
|
+
setFirstRender(false);
|
|
61
|
+
}
|
|
62
|
+
}, [firstRender, filteredShippingMethods]);
|
|
63
|
+
React.useEffect(() => {
|
|
64
|
+
const selectedShippingMethod = shippingMethods.find((method) => method.id === Number(shippingMethodId));
|
|
65
|
+
if (selectedShippingMethod) {
|
|
66
|
+
setValue('shipping.price', selectedShippingMethod.price);
|
|
67
|
+
if (selectedShippingMethod.type === shippingMethod.ShippingTypes.PACKETA) {
|
|
68
|
+
if (!branchId) {
|
|
69
|
+
const interval = setInterval(() => {
|
|
70
|
+
if (window.Packeta && window.Packeta.Widget) {
|
|
71
|
+
clearInterval(interval);
|
|
72
|
+
window.Packeta.Widget.pick(options?.packetaApiKey, onSelectBranch, {
|
|
73
|
+
language: lang,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}, 100);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
setValue('shipping.branchId', null);
|
|
81
|
+
setDisplayBranchName(null);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
setValue('shipping.price', 0);
|
|
86
|
+
}
|
|
87
|
+
}, [shippingMethodId, shippingMethods, branchId]);
|
|
88
|
+
return (React.createElement(React.Fragment, null,
|
|
89
|
+
React.createElement(ScriptLoader.default, null),
|
|
90
|
+
React.createElement("div", null, isLoading ? (React.createElement(ShippingSkeleton.default, null)) : (React.createElement(React.Fragment, null, filteredShippingMethods.length === 0 ? (React.createElement(material.Typography, { variant: "h4", color: "error" }, t('event.tickets.stepper.5.error'))) : (React.createElement(React.Fragment, null,
|
|
91
|
+
React.createElement(reactHookForm.Controller, { name: "shipping.shippingMethodId", control: control, render: ({ field, fieldState: { error } }) => (React.createElement(material.FormControl, { component: "fieldset", sx: { width: '100%' } },
|
|
92
|
+
React.createElement(material.RadioGroup, { ...field }, filteredShippingMethods.map((shippingMethod$1) => (React.createElement(style.ShippingMethodItem, { key: shippingMethod$1.id, active: Number(shippingMethodId) === shippingMethod$1.id },
|
|
93
|
+
React.createElement(material.FormControlLabel, { value: shippingMethod$1.id, control: React.createElement(material.Radio, null), label: React.createElement(material.Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", width: "100%" },
|
|
94
|
+
React.createElement(material.Stack, { direction: "row", alignItems: "center" },
|
|
95
|
+
React.createElement(material.Box, { sx: {
|
|
96
|
+
marginRight: 2,
|
|
97
|
+
} },
|
|
98
|
+
React.createElement(material.Typography, { sx: { lineHeight: 1.2 } }, t(`shipping_method.types.${shippingMethod$1.type}`)),
|
|
99
|
+
displayBranchName &&
|
|
100
|
+
shippingMethod$1.type === shippingMethod.ShippingTypes.PACKETA &&
|
|
101
|
+
shippingMethod$1.id === Number(shippingMethodId) && (React.createElement(material.Typography, { variant: "caption", sx: { lineHeight: 1 } }, displayBranchName))),
|
|
102
|
+
paymentImages[shippingMethod$1.type]),
|
|
103
|
+
shippingMethod$1.type === shippingMethod.ShippingTypes.PACKETA &&
|
|
104
|
+
shippingMethod$1.id === Number(shippingMethodId) &&
|
|
105
|
+
branchId && (React.createElement(material.Box, null,
|
|
106
|
+
React.createElement(material.Button, { onClick: handleChangeBranch, variant: "outlined", size: "small" }, t('change'))))), sx: {
|
|
107
|
+
'&:not(:last-of-type)': {
|
|
108
|
+
mb: 0,
|
|
109
|
+
},
|
|
110
|
+
'& .MuiFormControlLabel-label': {
|
|
111
|
+
width: '100%',
|
|
112
|
+
mr: 0,
|
|
113
|
+
},
|
|
114
|
+
} }))))),
|
|
115
|
+
!!error && (React.createElement(material.FormHelperText, { error: !!error, sx: { mx: 0 } }, error?.message)))) }))))))));
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
exports.default = Shipping;
|
|
119
|
+
//# sourceMappingURL=Shipping.js.map
|