@eventlook/sdk 1.4.49-beta.5 → 1.4.49-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/cjs/form/PaymentOverviewBox.js +5 -4
  2. package/dist/cjs/form/PaymentOverviewBox.js.map +1 -1
  3. package/dist/cjs/form/PaymentOverviewDrawer.js +177 -109
  4. package/dist/cjs/form/PaymentOverviewDrawer.js.map +1 -1
  5. package/dist/cjs/form/TicketForm.js +5 -8
  6. package/dist/cjs/form/TicketForm.js.map +1 -1
  7. package/dist/cjs/form/merchandise/MerchandiseSlider.js +1 -1
  8. package/dist/cjs/form/merchandise/MerchandiseSlider.js.map +1 -1
  9. package/dist/cjs/form/product/ProductVariantsDialog.js +2 -2
  10. package/dist/cjs/form/product/ProductVariantsDialog.js.map +1 -1
  11. package/dist/cjs/form/style.js +5 -0
  12. package/dist/cjs/form/style.js.map +1 -1
  13. package/dist/cjs/form/tickets/TicketQuantityControl.js +5 -3
  14. package/dist/cjs/form/tickets/TicketQuantityControl.js.map +1 -1
  15. package/dist/cjs/hooks/useScrollToFirstError.js +19 -10
  16. package/dist/cjs/hooks/useScrollToFirstError.js.map +1 -1
  17. package/dist/cjs/locales/cs.js +4 -0
  18. package/dist/cjs/locales/cs.js.map +1 -1
  19. package/dist/cjs/locales/en.js +4 -0
  20. package/dist/cjs/locales/en.js.map +1 -1
  21. package/dist/cjs/locales/es.js +4 -0
  22. package/dist/cjs/locales/es.js.map +1 -1
  23. package/dist/cjs/locales/pl.js +4 -0
  24. package/dist/cjs/locales/pl.js.map +1 -1
  25. package/dist/cjs/locales/sk.js +4 -0
  26. package/dist/cjs/locales/sk.js.map +1 -1
  27. package/dist/cjs/locales/uk.js +4 -0
  28. package/dist/cjs/locales/uk.js.map +1 -1
  29. package/dist/esm/form/PaymentOverviewBox.js +5 -4
  30. package/dist/esm/form/PaymentOverviewBox.js.map +1 -1
  31. package/dist/esm/form/PaymentOverviewDrawer.js +177 -109
  32. package/dist/esm/form/PaymentOverviewDrawer.js.map +1 -1
  33. package/dist/esm/form/TicketForm.js +6 -9
  34. package/dist/esm/form/TicketForm.js.map +1 -1
  35. package/dist/esm/form/merchandise/MerchandiseSlider.js +1 -1
  36. package/dist/esm/form/merchandise/MerchandiseSlider.js.map +1 -1
  37. package/dist/esm/form/product/ProductVariantsDialog.js +2 -2
  38. package/dist/esm/form/product/ProductVariantsDialog.js.map +1 -1
  39. package/dist/esm/form/style.js +5 -0
  40. package/dist/esm/form/style.js.map +1 -1
  41. package/dist/esm/form/tickets/TicketQuantityControl.js +5 -3
  42. package/dist/esm/form/tickets/TicketQuantityControl.js.map +1 -1
  43. package/dist/esm/hooks/useScrollToFirstError.js +19 -10
  44. package/dist/esm/hooks/useScrollToFirstError.js.map +1 -1
  45. package/dist/esm/locales/cs.js +4 -0
  46. package/dist/esm/locales/cs.js.map +1 -1
  47. package/dist/esm/locales/en.js +4 -0
  48. package/dist/esm/locales/en.js.map +1 -1
  49. package/dist/esm/locales/es.js +4 -0
  50. package/dist/esm/locales/es.js.map +1 -1
  51. package/dist/esm/locales/pl.js +4 -0
  52. package/dist/esm/locales/pl.js.map +1 -1
  53. package/dist/esm/locales/sk.js +4 -0
  54. package/dist/esm/locales/sk.js.map +1 -1
  55. package/dist/esm/locales/uk.js +4 -0
  56. package/dist/esm/locales/uk.js.map +1 -1
  57. package/package.json +1 -3
  58. package/rollup.config.mjs +0 -1
  59. package/src/form/PaymentOverviewBox.tsx +19 -13
  60. package/src/form/PaymentOverviewDrawer.tsx +238 -128
  61. package/src/form/TicketForm.tsx +7 -8
  62. package/src/form/merchandise/MerchandiseSlider.tsx +1 -1
  63. package/src/form/product/ProductVariantsDialog.tsx +2 -0
  64. package/src/form/style.ts +6 -0
  65. package/src/form/tickets/TicketQuantityControl.tsx +6 -0
  66. package/src/hooks/useScrollToFirstError.ts +22 -17
  67. package/src/locales/cs.tsx +4 -0
  68. package/src/locales/en.tsx +4 -0
  69. package/src/locales/es.tsx +4 -0
  70. package/src/locales/pl.tsx +4 -0
  71. package/src/locales/sk.tsx +4 -0
  72. package/src/locales/uk.tsx +4 -0
  73. package/src/hooks/useConsentScrollOnDrawerOpen.ts +0 -73
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentOverviewDrawer.js","sources":["../../../src/form/PaymentOverviewDrawer.tsx"],"sourcesContent":["import { Box, Button, SwipeableDrawer, Typography } from '@mui/material';\nimport React, { useEffect } from 'react';\nimport { useRef, useState } from 'react';\nimport PaymentOverviewBox from './PaymentOverviewBox';\nimport { IEvent } from '@utils/types/event.type';\nimport useGlobal from '@hooks/useGlobal';\nimport { fCurrency } from '@utils/formatNumber';\nimport { EVENTLOOK_ORDER_FORM_ID } from '@utils/data/global.ts';\n\ninterface Props {\n event: IEvent;\n totalPrice: number;\n onOpenChange?: (open: boolean) => void;\n}\n\nconst swipeAreaWidth = 120;\n\nconst PaymentOverviewDrawer: React.FC<Props> = ({ event, totalPrice, onOpenChange }) => {\n const { t, lang } = useGlobal();\n const [openDrawer, setOpenDrawer] = useState(false);\n const [isOpeningGesture, setIsOpeningGesture] = useState(false);\n const [hasPulledPastClosedTabHeight, setHasPulledPastClosedTabHeight] = useState(false);\n const [closedTabHeight, setClosedTabHeight] = useState(0);\n const openingTouchStartYRef = useRef<number | null>(null);\n const openDrawerRef = useRef(false);\n const resetPulledPastTimeoutRef = useRef<number | null>(null);\n const closedTabRef = useRef<HTMLDivElement>(null);\n\n const sentinelRef = useRef<HTMLDivElement>(null);\n const prevYRef = useRef<number>(Number.POSITIVE_INFINITY);\n\n // Opens drawer when scrolling down\n useEffect(() => {\n const sentinel = sentinelRef.current;\n if (!sentinel) return;\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (totalPrice <= 0) return;\n const currentY = entry.boundingClientRect.y;\n const isScrollingDown = currentY < prevYRef.current;\n\n if (entry.isIntersecting && isScrollingDown) {\n openDrawerHandler();\n }\n\n prevYRef.current = currentY;\n });\n },\n {\n threshold: 0,\n rootMargin: '0px 0px 0px 0px',\n }\n );\n\n observer.observe(sentinel);\n\n return () => {\n observer.unobserve(sentinel);\n };\n }, [totalPrice]);\n\n useEffect(() => {\n openDrawerRef.current = openDrawer;\n }, [openDrawer]);\n\n useEffect(() => {\n const closedTab = closedTabRef.current;\n if (!closedTab) return;\n\n const updateClosedTabHeight = () => {\n setClosedTabHeight(closedTab.offsetHeight);\n };\n\n updateClosedTabHeight();\n\n const resizeObserver = new ResizeObserver(() => {\n updateClosedTabHeight();\n });\n\n resizeObserver.observe(closedTab);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n useEffect(\n () => () => {\n if (resetPulledPastTimeoutRef.current !== null) {\n window.clearTimeout(resetPulledPastTimeoutRef.current);\n }\n },\n []\n );\n\n const toggleDrawer = () => {\n setOpenDrawer((prev) => {\n const next = !prev;\n onOpenChange?.(next);\n return next;\n });\n };\n\n const openDrawerHandler = () => {\n if (resetPulledPastTimeoutRef.current !== null) {\n window.clearTimeout(resetPulledPastTimeoutRef.current);\n resetPulledPastTimeoutRef.current = null;\n }\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n setOpenDrawer(true);\n onOpenChange?.(true);\n };\n\n const closeDrawerHandler = () => {\n if (resetPulledPastTimeoutRef.current !== null) {\n window.clearTimeout(resetPulledPastTimeoutRef.current);\n resetPulledPastTimeoutRef.current = null;\n }\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n setOpenDrawer(false);\n onOpenChange?.(false);\n };\n\n return (\n <Box sx={{ display: { md: 'none' } }}>\n {/* Sentinel element for intersection observer */}\n <Box ref={sentinelRef} sx={{ height: 1, visibility: 'hidden' }} />\n\n {/* Drawer Tab */}\n <Box\n ref={closedTabRef}\n sx={{\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: (theme) => theme.palette.background.paper,\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n boxShadow: '0 -8px 10px 2px rgba(0,0,0,0.2)',\n zIndex: 1300,\n opacity: openDrawer || hasPulledPastClosedTabHeight ? 0 : 1,\n transform: openDrawer ? 'translateY(8px)' : 'translateY(0)',\n transition: 'opacity 180ms ease, transform 180ms ease',\n pointerEvents: 'none',\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n }}\n />\n </Box>\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_open')}\n onClick={toggleDrawer}\n sx={{\n width: '100%',\n px: 2,\n pb: 2,\n pointerEvents: openDrawer ? 'none' : 'auto',\n cursor: 'pointer',\n }}\n >\n <Typography\n sx={{\n fontWeight: 'bold',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <span>{t('form.labels.total')}:</span>\n <span>{fCurrency(totalPrice, lang, event.currency)}</span>\n </Typography>\n\n <Button\n type=\"submit\"\n form={EVENTLOOK_ORDER_FORM_ID}\n onClick={(event) => {\n event.stopPropagation();\n }}\n variant=\"contained\"\n size=\"large\"\n fullWidth\n sx={{ mt: 1, height: { xs: 36, md: 40 } }}\n >\n {t('buy')}\n </Button>\n </Box>\n </Box>\n\n {/* Drawer Content */}\n <SwipeableDrawer\n anchor=\"bottom\"\n open={openDrawer}\n onClose={closeDrawerHandler}\n onOpen={openDrawerHandler}\n swipeAreaWidth={swipeAreaWidth}\n allowSwipeInChildren\n disableSwipeToOpen={false}\n keepMounted\n SwipeAreaProps={{\n onTouchStart: (event: React.TouchEvent<HTMLDivElement>) => {\n openingTouchStartYRef.current = event.touches[0]?.clientY ?? null;\n setIsOpeningGesture(true);\n setHasPulledPastClosedTabHeight(false);\n },\n onMouseDown: () => {\n setIsOpeningGesture(true);\n setHasPulledPastClosedTabHeight(false);\n },\n onTouchMove: (event: React.TouchEvent<HTMLDivElement>) => {\n if (!isOpeningGesture) return;\n\n const startY = openingTouchStartYRef.current;\n const currentY = event.touches[0]?.clientY;\n if (startY === null || typeof currentY !== 'number') return;\n\n const pullDistance = startY - currentY;\n const closedTabHeight = closedTabRef.current?.offsetHeight ?? 0;\n setHasPulledPastClosedTabHeight(closedTabHeight > 0 && pullDistance >= closedTabHeight);\n },\n onTouchCancel: () => {\n openingTouchStartYRef.current = null;\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n },\n onTouchEnd: () => {\n openingTouchStartYRef.current = null;\n if (!openDrawer) {\n setIsOpeningGesture(false);\n if (resetPulledPastTimeoutRef.current !== null) {\n window.clearTimeout(resetPulledPastTimeoutRef.current);\n }\n resetPulledPastTimeoutRef.current = window.setTimeout(() => {\n if (!openDrawerRef.current) {\n setHasPulledPastClosedTabHeight(false);\n }\n }, 180);\n }\n },\n onMouseUp: () => {\n if (!openDrawer) {\n setIsOpeningGesture(false);\n if (resetPulledPastTimeoutRef.current !== null) {\n window.clearTimeout(resetPulledPastTimeoutRef.current);\n }\n resetPulledPastTimeoutRef.current = window.setTimeout(() => {\n if (!openDrawerRef.current) {\n setHasPulledPastClosedTabHeight(false);\n }\n }, 180);\n }\n },\n }}\n sx={{ display: { md: 'none' } }}\n ModalProps={{\n disableScrollLock: true,\n keepMounted: false,\n BackdropProps: {\n sx: { background: 'linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%)' },\n onClick: (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n },\n },\n }}\n PaperProps={{\n sx: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n boxShadow: '0 -8px 10px 2px rgba(0,0,0,0.2)',\n overflow: 'hidden',\n mb:\n !openDrawer && (isOpeningGesture || hasPulledPastClosedTabHeight)\n ? `${closedTabHeight}px`\n : 0,\n transition: 'margin-bottom 120ms ease',\n },\n }}\n >\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_close')}\n onClick={toggleDrawer}\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: (theme) => theme.palette.background.paper,\n cursor: 'pointer',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n }}\n />\n </Box>\n <Box\n sx={{\n height: '100%',\n overflow: 'auto',\n }}\n >\n <PaymentOverviewBox event={event} />\n </Box>\n </SwipeableDrawer>\n </Box>\n );\n};\n\nexport default PaymentOverviewDrawer;\n"],"names":["useGlobal","useState","useRef","useEffect","Box","Typography","fCurrency","Button","EVENTLOOK_ORDER_FORM_ID","SwipeableDrawer","PaymentOverviewBox"],"mappings":"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"}
1
+ {"version":3,"file":"PaymentOverviewDrawer.js","sources":["../../../src/form/PaymentOverviewDrawer.tsx"],"sourcesContent":["import { Box, Button, SwipeableDrawer, Typography } from '@mui/material';\nimport React, { useEffect } from 'react';\nimport { useRef, useState } from 'react';\nimport PaymentOverviewBox from './PaymentOverviewBox';\nimport { IEvent } from '@utils/types/event.type';\nimport useGlobal from '@hooks/useGlobal';\nimport { fCurrency } from '@utils/formatNumber';\nimport { EVENTLOOK_ORDER_FORM_ID } from '@utils/data/global.ts';\n\ninterface Props {\n event: IEvent;\n totalPrice: number;\n termsAndConditionsRef?: React.RefObject<HTMLElement | null>;\n onOpenChange?: (open: boolean) => void;\n}\n\nconst swipeAreaWidth = 120;\n\nconst clearResetPulledPastTimeout = (timeoutRef: { current: number | null }) => {\n if (timeoutRef.current !== null) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n};\n\nconst PaymentOverviewDrawer: React.FC<Props> = ({\n event,\n totalPrice,\n termsAndConditionsRef,\n onOpenChange,\n}) => {\n const { t, lang } = useGlobal();\n const [isDrawerOpened, setIsDrawerOpened] = useState(false);\n const [isOpeningGesture, setIsOpeningGesture] = useState(false);\n const [hasPulledPastClosedTabHeight, setHasPulledPastClosedTabHeight] = useState(false);\n const [isDrawerHidden, setIsDrawerHidden] = useState(false);\n const [closedTabHeight, setClosedTabHeight] = useState(0);\n const openingTouchStartYRef = useRef<number | null>(null);\n const openDrawerRef = useRef(false);\n const isOpeningGestureRef = useRef(false);\n const shouldReopenOnScrollUpRef = useRef(false);\n const lastScrollYRef = useRef(0);\n const isScrollingDownRef = useRef(false);\n const wasAtPageBottomRef = useRef(false);\n const resetPulledPastTimeoutRef = useRef<number | null>(null);\n const closedTabRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n openDrawerRef.current = isDrawerOpened;\n }, [isDrawerOpened]);\n\n useEffect(() => {\n isOpeningGestureRef.current = isOpeningGesture;\n }, [isOpeningGesture]);\n\n // reopens the drawer when user scrolls up and the drawer was closed by scrolling down to the bottom of the page\n useEffect(() => {\n if (typeof window === 'undefined') {\n return;\n }\n\n const atBottomThreshold = 8;\n lastScrollYRef.current = window.scrollY;\n isScrollingDownRef.current = false;\n wasAtPageBottomRef.current =\n window.innerHeight + window.scrollY >=\n document.documentElement.scrollHeight - atBottomThreshold;\n\n const handleScroll = () => {\n const currentY = window.scrollY;\n const isScrollingUp = currentY < lastScrollYRef.current;\n const isScrollingDown = currentY > lastScrollYRef.current;\n const isAtPageBottom =\n window.innerHeight + currentY >= document.documentElement.scrollHeight - atBottomThreshold;\n\n isScrollingDownRef.current = isScrollingDown;\n\n if (\n isScrollingUp &&\n wasAtPageBottomRef.current &&\n shouldReopenOnScrollUpRef.current &&\n !openDrawerRef.current\n ) {\n shouldReopenOnScrollUpRef.current = false;\n setIsDrawerHidden(false);\n openDrawerHandler();\n }\n\n wasAtPageBottomRef.current = isAtPageBottom;\n lastScrollYRef.current = currentY;\n };\n\n window.addEventListener('scroll', handleScroll, { passive: true });\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, []);\n\n useEffect(() => {\n const closedTab = closedTabRef.current;\n if (!closedTab) return;\n\n const updateClosedTabHeight = () => {\n setClosedTabHeight(closedTab.offsetHeight);\n };\n\n updateClosedTabHeight();\n\n const resizeObserver = new ResizeObserver(() => {\n updateClosedTabHeight();\n });\n\n resizeObserver.observe(closedTab);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n useEffect(\n () => () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n },\n []\n );\n\n useEffect(() => {\n const termsAndConditionsElement = termsAndConditionsRef?.current;\n if (!termsAndConditionsElement) {\n return;\n }\n\n if (!('IntersectionObserver' in window)) {\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0];\n const hasReachedTermsSection = entry?.isIntersecting ?? false;\n const shouldAutoCloseDrawer = hasReachedTermsSection;\n const shouldHideDrawerTab =\n hasReachedTermsSection && !openDrawerRef.current && !isOpeningGestureRef.current;\n setIsDrawerHidden(shouldHideDrawerTab);\n\n if (shouldAutoCloseDrawer && openDrawerRef.current && isScrollingDownRef.current) {\n closeDrawerHandler({ shouldReopenOnScrollUp: true });\n setIsDrawerHidden(true);\n }\n },\n {\n root: null,\n threshold: 0,\n rootMargin: '0px 0px -40% 0px',\n }\n );\n\n observer.observe(termsAndConditionsElement);\n\n return () => {\n observer.disconnect();\n };\n }, [termsAndConditionsRef]);\n\n const toggleDrawer = () => {\n if (openDrawerRef.current) {\n closeDrawerHandler();\n return;\n }\n\n openDrawerHandler();\n };\n\n const openDrawerHandler = () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n shouldReopenOnScrollUpRef.current = false;\n setIsDrawerOpened(true);\n onOpenChange?.(true);\n };\n\n const closeDrawerHandler = ({\n shouldReopenOnScrollUp = false,\n }: { shouldReopenOnScrollUp?: boolean } = {}) => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n shouldReopenOnScrollUpRef.current = shouldReopenOnScrollUp;\n setIsDrawerOpened(false);\n onOpenChange?.(false);\n };\n\n const scheduleResetPulledPastTimeout = () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n resetPulledPastTimeoutRef.current = window.setTimeout(() => {\n if (!openDrawerRef.current) {\n setHasPulledPastClosedTabHeight(false);\n }\n }, 180);\n };\n\n const handleGestureStart = (startY: number | null) => {\n openingTouchStartYRef.current = startY;\n setIsOpeningGesture(true);\n setHasPulledPastClosedTabHeight(false);\n };\n\n const handleGestureMove = (currentY?: number) => {\n if (!isOpeningGestureRef.current) return;\n\n const startY = openingTouchStartYRef.current;\n if (startY === null || typeof currentY !== 'number') return;\n\n const pullDistance = startY - currentY;\n const currentClosedTabHeight = closedTabRef.current?.offsetHeight ?? 0;\n setHasPulledPastClosedTabHeight(\n currentClosedTabHeight > 0 && pullDistance >= currentClosedTabHeight\n );\n };\n\n const handleGestureCancel = () => {\n openingTouchStartYRef.current = null;\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n };\n\n const handleGestureEnd = ({\n shouldResetTouchStart = false,\n }: { shouldResetTouchStart?: boolean } = {}) => {\n if (shouldResetTouchStart) {\n openingTouchStartYRef.current = null;\n }\n\n if (!isDrawerOpened) {\n setIsOpeningGesture(false);\n scheduleResetPulledPastTimeout();\n }\n };\n\n return (\n <Box sx={{ display: { md: 'none' } }}>\n {/* Drawer Tab */}\n <Box\n ref={closedTabRef}\n sx={{\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: (theme) => theme.palette.background.paper,\n borderTopLeftRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,\n borderTopRightRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,\n boxShadow:\n isOpeningGesture || isDrawerOpened ? 'none' : '0 -8px 10px 2px rgba(0,0,0,0.2)',\n zIndex: (theme) => theme.zIndex.drawer + 1,\n opacity: isDrawerHidden ? 0 : 1,\n transform: isDrawerHidden ? 'translateY(calc(100% + 12px))' : 'translateY(0)',\n transition:\n 'opacity 180ms ease, transform 180ms ease, border-radius 120ms ease, box-shadow 120ms ease',\n pointerEvents: 'none',\n }}\n >\n {!isDrawerOpened && (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n opacity: isOpeningGesture ? 0 : 1,\n transition: 'opacity 120ms ease',\n }}\n />\n </Box>\n )}\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_open')}\n onClick={toggleDrawer}\n onTouchStart={(event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureStart(event.touches[0]?.clientY ?? null);\n }}\n onMouseDown={() => {\n handleGestureStart(null);\n }}\n onTouchMove={(event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureMove(event.touches[0]?.clientY);\n }}\n onTouchCancel={handleGestureCancel}\n onTouchEnd={() => {\n handleGestureEnd({ shouldResetTouchStart: true });\n }}\n onMouseUp={() => {\n handleGestureEnd();\n }}\n sx={{\n width: '100%',\n px: 2,\n pb: 2,\n pointerEvents: isDrawerOpened || isDrawerHidden ? 'none' : 'auto',\n cursor: 'pointer',\n }}\n >\n <Typography\n sx={{\n fontWeight: 'bold',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <span>{t('form.labels.total')}:</span>\n <span>{fCurrency(totalPrice, lang, event.currency)}</span>\n </Typography>\n\n <Button\n type=\"submit\"\n form={EVENTLOOK_ORDER_FORM_ID}\n onClick={(event) => {\n event.stopPropagation();\n }}\n variant=\"contained\"\n size=\"large\"\n fullWidth\n sx={{ mt: 1, height: { xs: 36, md: 40 } }}\n >\n {t('buy')}\n </Button>\n </Box>\n </Box>\n\n {/* Drawer Content */}\n <SwipeableDrawer\n anchor=\"bottom\"\n open={isDrawerOpened}\n onClose={() => closeDrawerHandler()}\n onOpen={() => openDrawerHandler()}\n swipeAreaWidth={swipeAreaWidth}\n allowSwipeInChildren\n disableSwipeToOpen={isDrawerHidden}\n keepMounted\n SwipeAreaProps={{\n onTouchStart: (event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureStart(event.touches[0]?.clientY ?? null);\n },\n onMouseDown: () => {\n handleGestureStart(null);\n },\n onTouchMove: (event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureMove(event.touches[0]?.clientY);\n },\n onTouchCancel: handleGestureCancel,\n onTouchEnd: () => {\n handleGestureEnd({ shouldResetTouchStart: true });\n },\n onMouseUp: () => {\n handleGestureEnd();\n },\n }}\n sx={{\n display: { md: 'none' },\n pointerEvents: isDrawerOpened ? 'none' : 'auto',\n '& .MuiDrawer-paper': {\n pointerEvents: 'auto',\n },\n '& .MuiSwipeArea-root': {\n pointerEvents: 'auto',\n },\n }}\n ModalProps={{\n disableScrollLock: true,\n keepMounted: false,\n disableAutoFocus: true,\n disableRestoreFocus: true,\n disableEnforceFocus: true,\n BackdropProps: {\n sx: {\n background: 'none',\n pointerEvents: 'none',\n },\n },\n }}\n PaperProps={{\n sx: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n boxShadow: '0 -8px 10px 2px rgba(0,0,0,0.2)',\n overflow: 'hidden',\n mb:\n isDrawerOpened ||\n (!isDrawerOpened && (isOpeningGesture || hasPulledPastClosedTabHeight))\n ? `${closedTabHeight}px`\n : 0,\n transition: 'none',\n },\n }}\n >\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_close')}\n onClick={toggleDrawer}\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: (theme) => theme.palette.background.paper,\n cursor: 'pointer',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n }}\n />\n </Box>\n <Box\n sx={{\n height: '100%',\n overflow: 'auto',\n }}\n >\n <PaymentOverviewBox event={event} hideBuyButton />\n </Box>\n </SwipeableDrawer>\n </Box>\n );\n};\n\nexport default PaymentOverviewDrawer;\n"],"names":["useGlobal","useState","useRef","useEffect","Box","Typography","fCurrency","Button","EVENTLOOK_ORDER_FORM_ID","SwipeableDrawer","PaymentOverviewBox"],"mappings":"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"}
@@ -31,7 +31,6 @@ var useErrors = require('../hooks/useErrors.js');
31
31
  var event = require('../utils/data/event.js');
32
32
  var TimeslotSelection = require('./TimeslotSelection.js');
33
33
  var useGlobal = require('../hooks/useGlobal.js');
34
- var useConsentScrollOnDrawerOpen = require('../hooks/useConsentScrollOnDrawerOpen.js');
35
34
  var useScrollToFirstError = require('../hooks/useScrollToFirstError.js');
36
35
  var Trans = require('../components/Trans.js');
37
36
  var global = require('../utils/data/global.js');
@@ -85,10 +84,6 @@ const TicketForm = ({ event: event$1, hasGopayIdSsr, selectedReleaseId, isIframe
85
84
  const hasFiredBeginCheckout = React.useRef(false);
86
85
  const hasFiredPaymentMethod = React.useRef(false);
87
86
  const termsAndConditionsRef = React.useRef(null);
88
- useConsentScrollOnDrawerOpen.default({
89
- isDrawerOpen: isPaymentOverviewDrawerOpen,
90
- consentRef: termsAndConditionsRef,
91
- });
92
87
  const item = {
93
88
  currency: event$1.currency,
94
89
  items: [
@@ -516,9 +511,11 @@ const TicketForm = ({ event: event$1, hasGopayIdSsr, selectedReleaseId, isIframe
516
511
  0: React.createElement(CustomLink, { key: 2, href: links.termsAndConditions, target: "_blank" }),
517
512
  1: React.createElement(CustomLink, { key: 1, href: links.gdpr, target: "_blank" }),
518
513
  } }) }))),
519
- React.createElement(material.Grid, { item: true, xs: 12, md: 4, sx: { display: { xs: 'none', md: 'block' } } },
520
- React.createElement(PaymentOverviewBox.default, { event: event$1 }))),
521
- React.createElement(PaymentOverviewDrawer.default, { event: event$1, totalPrice: values.total, onOpenChange: setIsPaymentOverviewDrawerOpen }),
514
+ React.createElement(material.Grid, { item: true, xs: 12, sx: { display: { xs: 'block', md: 'none' } } },
515
+ React.createElement(material.Divider, { sx: { borderStyle: 'dashed' } })),
516
+ React.createElement(material.Grid, { item: true, xs: 12, md: 4, mt: { xs: 0, md: 0 } },
517
+ React.createElement(PaymentOverviewBox.default, { event: event$1, withoutPadding: true }))),
518
+ React.createElement(PaymentOverviewDrawer.default, { event: event$1, totalPrice: values.total, termsAndConditionsRef: termsAndConditionsRef, onOpenChange: setIsPaymentOverviewDrawerOpen }),
522
519
  React.createElement(EmailConfirmation.default, { open: formStep === 2 && !isIframe, onClose: () => setFormStep(1),
523
520
  // @ts-ignore
524
521
  onConfirm: methods.handleSubmit(onSubmit, onInvalid) })))));
@@ -1 +1 @@
1
- {"version":3,"file":"TicketForm.js","sources":["../../../src/form/TicketForm.tsx"],"sourcesContent":["import OrderSuccess from '@form/OrderSuccess';\nimport PaymentSuccess from '@form/PaymentSuccess';\nimport FormProvider, { RHFCheckbox } from '@components/hook-form';\nimport {\n Box,\n Grid,\n Link,\n LinkProps,\n Stack,\n Step,\n StepContent,\n StepLabel,\n Stepper,\n Typography,\n} from '@mui/material';\nimport dayjs from 'dayjs';\nimport TicketSelection from '@form/tickets/TicketSelection';\nimport ContactPerson from '@form/ContactPerson';\nimport Payment from '@form/Payment';\nimport EmailConfirmation from '@form/EmailConfirmation';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { PropsWithChildren } from '@utils/types/global.type';\nimport { getSearchParamsInObject } from '@utils/url';\nimport { ITicketBody, ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport * as Yup from 'yup';\nimport { useForm } from 'react-hook-form';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { postOrder } from '@modules/order';\nimport { IEvent } from '@utils/types/event.type';\nimport PaymentOverviewBox from '@form/PaymentOverviewBox';\nimport { IEcommerce, IPixels } from '@utils/types/gtm.type';\nimport {\n getGtmAddPaymentInfo,\n getGtmBeginCheckout,\n getGtmPageView,\n getGtmPurchase,\n getGtmViewCart,\n gtmAddPaymentInfo,\n gtmBeginCheckout,\n gtmPurchase,\n gtmViewCart,\n mapUserToUserData,\n} from '@utils/gtm';\nimport ReleaseCountdown from '@form/ReleaseCountdown';\nimport { cloneObject } from '@utils/global';\nimport PaymentPending from '@form/PaymentPending';\nimport MerchandiseSelection from '@form/merchandise/MerchandiseSelection';\nimport TicketWithMerchandiseSelection from '@form/tickets/TicketWithMerchandiseSelection';\nimport useActiveEventProducts from '@hooks/data/useActiveEventProducts';\nimport Shipping from '@form/Shipping';\nimport useErrors from '@hooks/useErrors';\nimport { EventType } from '@utils/data/event';\nimport TimeslotSelection from '@form/TimeslotSelection';\nimport useGlobal from '@hooks/useGlobal';\nimport useConsentScrollOnDrawerOpen from '@hooks/useConsentScrollOnDrawerOpen';\nimport useScrollToFirstError from '@hooks/useScrollToFirstError';\nimport { Trans } from '@components/Trans';\nimport { EVENTLOOK_ORDER_FORM_ID, EVENTLOOK_ORDER_FORM_CONTAINER_ID } from '@utils/data/global.ts';\nimport ChildEventSection from './ChildEvents';\nimport TicketSelectionMap from '@form/tickets/TicketSelectionMap';\nimport PaymentOverviewDrawer from './PaymentOverviewDrawer';\nimport { getPlaceAsString } from '@utils/place';\nimport Services from '@form/services';\n\ninterface Props {\n event: IEvent;\n hasGopayIdSsr: boolean;\n selectedReleaseId?: number;\n isIframe?: boolean;\n isInline?: boolean;\n headerSlot?: React.ReactNode;\n}\n\nconst getCartUniqueItemCount = (formValues: ITicketForm) => {\n const flatTickets = Object.values(formValues.tickets ?? {}).flat();\n const ticketsCount = flatTickets.reduce(\n (sum, ticket) => sum + (Number(ticket.quantity) > 0 ? 1 : 0),\n 0\n );\n const ticketsWithProductsCount = flatTickets.reduce(\n (sum, ticket) => sum + ((ticket.products?.length ?? 0) > 0 ? 1 : 0),\n 0\n );\n const productsCount = Object.values(formValues.products ?? {})\n .flat()\n .reduce((sum, product) => sum + (Number(product.quantity) || 0), 0);\n\n return ticketsCount + ticketsWithProductsCount + productsCount;\n};\n\nconst TicketForm: React.FC<Props> = ({\n event,\n hasGopayIdSsr,\n selectedReleaseId,\n isIframe,\n isInline,\n headerSlot,\n}) => {\n const { t, setGlobal, callbacks, links, user, options, showSnackbar, content, seatingIframeUrl } =\n useGlobal();\n const { transformErrors } = useErrors(t('event.tickets.error.order'));\n const { data: eventProducts, isLoading } = useActiveEventProducts(event.id);\n const [paymentRedirect, setPaymentRedirect] = useState<string | null>(null);\n const [hasGopayId, setHasGopayId] = useState<boolean>(hasGopayIdSsr);\n const [isPaying, setIsPaying] = useState<boolean>(false);\n const [formStep, setFormStep] = useState<number>(1);\n const [isPaymentOverviewDrawerOpen, setIsPaymentOverviewDrawerOpen] = useState<boolean>(false);\n const [showReleaseDate, setShowReleaseDate] = useState(\n dayjs(event.releaseDate).diff(dayjs()) > 0\n );\n const [matchIsValidTel, setMatchIsValidTel] = useState<(text: string) => boolean>(() => false);\n const isNotReleased = dayjs(event.releaseDate).diff(dayjs()) > 0;\n const hasFiredViewCart = useRef(false);\n const hasFiredBeginCheckout = useRef(false);\n const hasFiredPaymentMethod = useRef(false);\n const termsAndConditionsRef = useRef<HTMLDivElement | null>(null);\n\n useConsentScrollOnDrawerOpen({\n isDrawerOpen: isPaymentOverviewDrawerOpen,\n consentRef: termsAndConditionsRef,\n });\n\n const item: IEcommerce = {\n currency: event.currency,\n items: [\n {\n item_id: `event_${event.id}`,\n item_name: event.name,\n quantity: 1,\n },\n ],\n };\n const pixels: IPixels = {\n fb_pixel_id: event.facebookPixel?.facebookId,\n tiktok_pixel_id: event.tiktokPixel?.tiktokId,\n };\n\n useEffect(() => {\n import('mui-tel-input').then((mod) => {\n setMatchIsValidTel(() => mod.matchIsValidTel);\n });\n }, []);\n\n useEffect(() => {\n setGlobal({\n options: {\n isIframe: isIframe === undefined ? false : isIframe,\n },\n });\n if (\n !isIframe &&\n event &&\n (isNotReleased ||\n (!!event.releaseEndDate && dayjs(event.releaseEndDate).isBefore(dayjs())) ||\n dayjs(event.endDate).isBefore(dayjs()) ||\n event.isSoldout ||\n event.dateUnknown ||\n event.isCanceled)\n ) {\n callbacks.detail();\n }\n\n if (event && !hasGopayId && !hasFiredViewCart.current) {\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPageView(location.href),\n },\n '*'\n );\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmViewCart(item, pixels),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmViewCart(item, pixels);\n }\n hasFiredViewCart.current = true;\n }\n if (!hasFiredPaymentMethod.current) {\n const item = {\n currency: event.currency,\n value: 0,\n payment_type: 'PAYMENT_CARD',\n items: [],\n };\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmAddPaymentInfo(item, pixels, user ? mapUserToUserData(user) : undefined),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmAddPaymentInfo(item, pixels);\n }\n hasFiredPaymentMethod.current = true;\n }\n }, [event]);\n\n const defaultValues: ITicketForm = useMemo(() => {\n const makeTicket = (overrides: Partial<ITicketFormTicket> = {}): ITicketFormTicket => ({\n releaseId: '',\n quantity: '',\n itemName: '',\n price: 0,\n products: [],\n extraFields: [],\n ...overrides,\n });\n\n const tickets: Record<string, ITicketFormTicket[]> = {\n [String(event.id)]: [\n makeTicket({\n releaseId: (selectedReleaseId as number) ?? '',\n }),\n ],\n };\n\n event.children?.forEach((child) => {\n tickets[String(child.id)] = [makeTicket()];\n });\n\n return {\n uuid: null,\n eventId: event.id,\n tickets,\n total: 0,\n originalPrice: 0,\n firstName: user?.firstName || '',\n lastName: user?.lastName || '',\n email: user?.email || '',\n phone: user?.phone || '',\n birthdate: user?.birthdate ? dayjs(user.birthdate) : null,\n gender: user?.gender || '',\n callback: '',\n paymentMethodId: null,\n paymentMethodOptionId: null,\n termsAndConditions: false,\n ticketInsurance: false,\n ticketInsurancePrice: 0,\n ticketInsurancePricePerUnit: 0,\n smsNotification: false,\n smsNotificationPrice: 0,\n iframeCampaignId: undefined,\n promoCodes: [],\n products: {},\n shipping: {\n shippingMethodId: null,\n branchId: null,\n price: 0,\n },\n extraFields:\n event?.extraFields.map((field) => ({\n eventExtraFieldId: field.id,\n value: '',\n })) || [],\n selectedDate: null,\n eventTimeslotId: null,\n isPaymentVerify: false,\n };\n }, [user]);\n\n const ValidationSchema = Yup.object().shape({\n firstName: Yup.string().required(t('form.validation.required')),\n lastName: Yup.string().required(t('form.validation.required')),\n email: Yup.string().email(t('form.validation.email')).required(t('form.validation.required')),\n phone: Yup.string()\n .required(t('form.validation.required'))\n .test('phone-checker', t('form.validation.phone'), (value) =>\n value ? matchIsValidTel(value) : false\n ),\n birthdate: Yup.object()\n .nullable()\n .default(null)\n .when([], {\n is: () => !content?.form?.disableBirthDate,\n then: (s) => s.required(t('form.validation.required')),\n otherwise: (s) => s.notRequired(),\n }),\n gender: Yup.string().when([], {\n is: () => !content?.form?.disableGender,\n then: (schema) => schema.required(t('form.validation.required')),\n otherwise: (schema) => schema.notRequired(),\n }),\n // tickets: Yup.object().test('tickets-validation', function (tickets) {\n // if (!tickets || typeof tickets !== 'object') return false;\n\n // for (const key of Object.keys(tickets)) {\n // const arr = tickets[key];\n // if (!Array.isArray(arr)) return false;\n // for (const t of arr) {\n // if (!t.releaseId || !t.quantity) {\n // return this.createError({ message: 'Invalid ticket selection' });\n // }\n // }\n // }\n // return true;\n // }),\n shipping: Yup.object()\n .shape({\n shippingMethodId: Yup.number().nullable(),\n branchId: Yup.string().nullable(),\n price: Yup.number(),\n })\n .test('shipping-method-required', t('form.validation.required'), function (value) {\n if (!event.hasMerchandise) {\n return true;\n }\n\n const formValues = this.parent as ITicketForm;\n const hasProducts = Object.values(formValues.products ?? {}).some((arr) => arr.length > 0);\n const allTickets = Object.values(formValues.tickets ?? {}).flat();\n const hasTicketProducts = allTickets.some((ticket) => (ticket.products?.length ?? 0) > 0);\n const requiresShipping = hasProducts || hasTicketProducts;\n\n if (!requiresShipping) {\n return true;\n }\n\n if (value?.shippingMethodId !== null && value?.shippingMethodId !== undefined) {\n return true;\n }\n\n return this.createError({\n path: 'shipping.shippingMethodId',\n message: t('form.validation.required'),\n });\n }),\n paymentMethodId: Yup.number().nullable().required(t('form.validation.required')),\n paymentMethodOptionId: Yup.number().nullable(),\n termsAndConditions: Yup.boolean().isTrue(t('form.validation.terms_and_conditions')),\n ticketInsurance: Yup.boolean(),\n smsNotification: Yup.boolean(),\n extraFields: Yup.array().of(\n Yup.object().shape({\n value: Yup.string().test('is-required', function (value) {\n const options = this.options as { index: number };\n\n if (event.extraFields[options.index].required && !value) {\n return this.createError({\n message: t('form.validation.required'),\n });\n }\n return true;\n }),\n })\n ),\n });\n\n const methods = useForm<ITicketForm>({\n // @ts-ignore\n resolver: yupResolver(ValidationSchema),\n defaultValues,\n });\n const values = methods.watch();\n const cartItemCount = getCartUniqueItemCount(values);\n const onInvalid = useScrollToFirstError(methods);\n\n const onSubmit = async (values: ITicketForm) => {\n if (cartItemCount <= 0) {\n showSnackbar(t('form.validation.count_tickets_or_products'), {\n variant: 'error',\n });\n return;\n }\n\n if (formStep === 1 && !isIframe) {\n setFormStep(2);\n } else {\n try {\n const data: ITicketBody = cloneObject(values);\n data.paymentMethodId = Number(values.paymentMethodId);\n data.promoCodeIds = values.promoCodes?.map((item) => item.id);\n const urlParams = new URLSearchParams(window.location.search);\n const iframeCallback = urlParams.get('callback');\n data.callback = isIframe && iframeCallback ? String(iframeCallback) : window.location.href;\n data.tickets = Object.entries(values.tickets).reduce(\n (acc, [eventId, items]) => {\n acc[Number(eventId)] = items\n .filter((item) => !!item.quantity && !!item.releaseId)\n .map((item) => ({\n releaseId: Number(item.releaseId),\n quantity: Number(item.quantity),\n price: Number(item.price),\n itemName: item.itemName,\n products: item.products,\n extraFields: item.extraFields,\n eventTimeslotId: item.eventTimeslotId,\n location: item.location,\n }));\n return acc;\n },\n {} as Record<number, ITicketFormTicket[]>\n );\n const { data: orderData } = await postOrder(data);\n localStorage.removeItem('cartToken');\n const items = [\n ...orderData.tickets.map((ticket) => ({\n item_id: ticket.number,\n item_name: `${orderData.orderEntity.event.name} - ${ticket.releaseCategoryName} - ${ticket.releaseName}`,\n price: ticket.price,\n quantity: 1,\n })),\n ];\n\n if (orderData.orderEntity.extraFee) {\n items.push({\n item_id: 'service_fee',\n item_name: `Service fee`,\n price: orderData.orderEntity.extraFee,\n quantity: 1,\n });\n }\n\n const item = {\n uuid: values.uuid,\n currency: orderData.orderEntity.currency,\n value: orderData.orderEntity.totalPrice,\n tax: 0,\n payment_type: orderData.orderEntity.paymentType,\n transaction_id: String(orderData.orderEntity.number),\n coupon: orderData?.orderEntity?.promoCodes?.map((p) => p.code) || [],\n items,\n };\n const userData = {\n fn: orderData.customer.firstName,\n ln: orderData.customer.lastName,\n em: orderData.customer.email,\n ph: orderData.customer.phone,\n };\n if (isIframe) {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPurchase(null),\n },\n '*'\n );\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPurchase(item, pixels, userData),\n },\n '*'\n );\n } else {\n gtmPurchase(null);\n gtmPurchase(item, pixels, userData);\n }\n setPaymentRedirect(orderData.gwUrl);\n methods.reset();\n } catch (err: any) {\n transformErrors(err.message);\n }\n }\n };\n\n const showShippingMethods = () => {\n const hasProducts = Object.values(values.products ?? {}).some((arr) => arr.length > 0);\n\n const ticketArrays = Object.values(values.tickets ?? {});\n const allTickets = ticketArrays.flat();\n\n const hasTicketProducts = allTickets.some((t) => (t.products?.length ?? 0) > 0);\n\n const showShippingMethods = hasProducts || hasTicketProducts;\n\n if (values.shipping.shippingMethodId !== null && !showShippingMethods) {\n methods.setValue('shipping', { shippingMethodId: null, branchId: null, price: 0 });\n }\n\n return showShippingMethods;\n };\n\n useEffect(() => {\n methods.reset(defaultValues);\n }, [user, defaultValues]);\n\n useEffect(() => {\n const searchParams = getSearchParamsInObject(window.location.search);\n const paymentId = searchParams.id;\n const iframeCampaignId = Number(searchParams.iframeCampaignId);\n setHasGopayId(!!paymentId);\n if (!isNaN(iframeCampaignId)) {\n methods.setValue('iframeCampaignId', iframeCampaignId);\n }\n }, [window.location.search]);\n\n useEffect(() => {\n const subscription = methods.watch((value) => {\n if (\n JSON.stringify(defaultValues) !== JSON.stringify(value) &&\n !hasFiredBeginCheckout.current\n ) {\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmBeginCheckout(item, pixels),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmBeginCheckout(item, pixels, user ? mapUserToUserData(user) : undefined);\n }\n hasFiredBeginCheckout.current = true;\n }\n });\n return () => subscription.unsubscribe();\n }, [methods.watch, defaultValues]);\n\n useEffect(() => {\n if (hasGopayId || isPaying || paymentRedirect) {\n if (options?.autoscrollAfterViewChange) {\n const orderForm = document.getElementById(EVENTLOOK_ORDER_FORM_CONTAINER_ID);\n if (orderForm) {\n orderForm.scrollIntoView({ behavior: 'smooth' });\n }\n }\n }\n }, [hasGopayId, isPaying, paymentRedirect]);\n\n if (isIframe && isNotReleased && showReleaseDate)\n return <ReleaseCountdown event={event} setShowReleaseDate={setShowReleaseDate} />;\n\n return (\n <Box id={EVENTLOOK_ORDER_FORM_CONTAINER_ID}>\n {hasGopayId ? (\n <PaymentSuccess setIsPaying={setIsPaying} isIframe={isIframe} pixels={pixels} />\n ) : isPaying ? (\n <PaymentPending />\n ) : paymentRedirect ? (\n <OrderSuccess\n gwUrl={paymentRedirect}\n isIframe={isIframe}\n setIsPaying={setIsPaying}\n isInline={isInline}\n />\n ) : (\n <FormProvider\n methods={methods}\n // @ts-ignore\n onSubmit={methods.handleSubmit(onSubmit, onInvalid)}\n formId={EVENTLOOK_ORDER_FORM_ID}\n >\n <Stack\n className=\"overview-card__event-info\"\n display={{ md: 'none' }}\n sx={{\n mb: 2,\n }}\n >\n <Typography variant=\"h3\" component=\"h1\">\n {event.name}\n </Typography>\n <Typography variant=\"h5\" component=\"h2\">\n {dayjs(event.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n <Typography variant=\"body2\" mt={1}>\n {getPlaceAsString(event.place)}\n </Typography>\n {headerSlot ? <>{headerSlot}</> : null}\n </Stack>\n <Grid\n container\n spacing={2}\n sx={{\n pb: {\n xs: isPaymentOverviewDrawerOpen ? cartItemCount * 4 + 18 : 0,\n md: 0,\n },\n }}\n >\n <Grid item xs={12} md={8}>\n <Stepper\n orientation=\"vertical\"\n sx={(theme) => ({\n [theme.breakpoints.down('sm')]: {\n '& .MuiStepContent-root': {\n borderLeftWidth: 0,\n paddingLeft: 0,\n marginLeft: 0,\n },\n '& .MuiStepConnector-line': { borderLeftWidth: 0 },\n },\n })}\n >\n {event.type === EventType.RECURRING && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.6.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <TimeslotSelection event={event} />\n </StepContent>\n </Step>\n )}\n <Step active>\n <StepLabel>{t('event.tickets.stepper.1.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n {event.mapId && seatingIframeUrl ? (\n <TicketSelectionMap event={event} />\n ) : event.hasMerchandise ? (\n <TicketWithMerchandiseSelection event={event} />\n ) : (\n <TicketSelection event={event} />\n )}\n </StepContent>\n </Step>\n {event.hasMerchandise && eventProducts.length && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.4.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <MerchandiseSelection\n eventProducts={eventProducts}\n eventId={event.id}\n isLoading={isLoading}\n />\n </StepContent>\n </Step>\n )}\n <Step active>\n <StepLabel>{t('event.tickets.stepper.8.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <Services event={event} />\n </StepContent>\n </Step>\n {event.children.length && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.7.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <ChildEventSection events={event.children} />\n </StepContent>\n </Step>\n )}\n <Step active>\n <StepLabel>{t('event.tickets.stepper.2.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <ContactPerson event={event} />\n </StepContent>\n </Step>\n {event.hasMerchandise && showShippingMethods() && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.5.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <Shipping event={event} />\n </StepContent>\n </Step>\n )}\n <Step active>\n <StepLabel>\n {t(\n `event.tickets.stepper.3.${values.isPaymentVerify ? 'title_verify' : 'title'}`\n )}\n </StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <Payment event={event} />\n </StepContent>\n </Step>\n </Stepper>\n <Stack\n ref={termsAndConditionsRef}\n mt={2}\n ml={{ xs: 1, md: 4 }}\n sx={{ scrollMarginBottom: { xs: 220, md: 0 } }}\n >\n <RHFCheckbox\n name=\"termsAndConditions\"\n label={\n <Trans\n text=\"event.tickets.terms_and_conditions\"\n values={{\n termsAndConditionsCompanies: options?.termsAndConditionsCompanies\n ? options.termsAndConditionsCompanies.join(t('and'))\n : ['Eventlook', 'GoPay'].join(` ${t('and')} `),\n }}\n components={{\n 0: <CustomLink key={2} href={links.termsAndConditions} target=\"_blank\" />,\n 1: <CustomLink key={1} href={links.gdpr} target=\"_blank\" />,\n }}\n />\n }\n />\n </Stack>\n </Grid>\n <Grid item xs={12} md={4} sx={{ display: { xs: 'none', md: 'block' } }}>\n <PaymentOverviewBox event={event} />\n </Grid>\n </Grid>\n\n <PaymentOverviewDrawer\n event={event}\n totalPrice={values.total}\n onOpenChange={setIsPaymentOverviewDrawerOpen}\n />\n\n <EmailConfirmation\n open={formStep === 2 && !isIframe}\n onClose={() => setFormStep(1)}\n // @ts-ignore\n onConfirm={methods.handleSubmit(onSubmit, onInvalid)}\n />\n </FormProvider>\n )}\n </Box>\n );\n};\n\nconst CustomLink: React.FC<PropsWithChildren<LinkProps>> = ({ href = '', children, ...other }) => (\n <Link href={href} {...other} sx={{ color: 'inherit', textDecoration: 'underline' }}>\n {children}\n </Link>\n);\n\nexport default TicketForm;\n"],"names":["event","useGlobal","useErrors","useActiveEventProducts","useState","useRef","useConsentScrollOnDrawerOpen","useEffect","getGtmPageView","getGtmViewCart","gtmViewCart","getGtmAddPaymentInfo","mapUserToUserData","gtmAddPaymentInfo","useMemo","Yup","useForm","yupResolver","useScrollToFirstError","cloneObject","postOrder","getGtmPurchase","gtmPurchase","getSearchParamsInObject","getGtmBeginCheckout","gtmBeginCheckout","EVENTLOOK_ORDER_FORM_CONTAINER_ID","ReleaseCountdown","Box","PaymentSuccess","PaymentPending","OrderSuccess","FormProvider","EVENTLOOK_ORDER_FORM_ID","Stack","Typography","getPlaceAsString","Grid","Stepper","EventType","Step","StepLabel","StepContent","TimeslotSelection","TicketSelectionMap","TicketWithMerchandiseSelection","TicketSelection","MerchandiseSelection","Services","ChildEventSection","ContactPerson","Shipping","Payment","RHFCheckbox","Trans","PaymentOverviewBox","PaymentOverviewDrawer","EmailConfirmation","Link"],"mappings":"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"}
1
+ {"version":3,"file":"TicketForm.js","sources":["../../../src/form/TicketForm.tsx"],"sourcesContent":["import OrderSuccess from '@form/OrderSuccess';\nimport PaymentSuccess from '@form/PaymentSuccess';\nimport FormProvider, { RHFCheckbox } from '@components/hook-form';\nimport {\n Box,\n Divider,\n Grid,\n Link,\n LinkProps,\n Stack,\n Step,\n StepContent,\n StepLabel,\n Stepper,\n Typography,\n} from '@mui/material';\nimport dayjs from 'dayjs';\nimport TicketSelection from '@form/tickets/TicketSelection';\nimport ContactPerson from '@form/ContactPerson';\nimport Payment from '@form/Payment';\nimport EmailConfirmation from '@form/EmailConfirmation';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { PropsWithChildren } from '@utils/types/global.type';\nimport { getSearchParamsInObject } from '@utils/url';\nimport { ITicketBody, ITicketForm, ITicketFormTicket } from '@utils/types/ticket.type';\nimport * as Yup from 'yup';\nimport { useForm } from 'react-hook-form';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { postOrder } from '@modules/order';\nimport { IEvent } from '@utils/types/event.type';\nimport PaymentOverviewBox from '@form/PaymentOverviewBox';\nimport { IEcommerce, IPixels } from '@utils/types/gtm.type';\nimport {\n getGtmAddPaymentInfo,\n getGtmBeginCheckout,\n getGtmPageView,\n getGtmPurchase,\n getGtmViewCart,\n gtmAddPaymentInfo,\n gtmBeginCheckout,\n gtmPurchase,\n gtmViewCart,\n mapUserToUserData,\n} from '@utils/gtm';\nimport ReleaseCountdown from '@form/ReleaseCountdown';\nimport { cloneObject } from '@utils/global';\nimport PaymentPending from '@form/PaymentPending';\nimport MerchandiseSelection from '@form/merchandise/MerchandiseSelection';\nimport TicketWithMerchandiseSelection from '@form/tickets/TicketWithMerchandiseSelection';\nimport useActiveEventProducts from '@hooks/data/useActiveEventProducts';\nimport Shipping from '@form/Shipping';\nimport useErrors from '@hooks/useErrors';\nimport { EventType } from '@utils/data/event';\nimport TimeslotSelection from '@form/TimeslotSelection';\nimport useGlobal from '@hooks/useGlobal';\nimport useScrollToFirstError from '@hooks/useScrollToFirstError';\nimport { Trans } from '@components/Trans';\nimport { EVENTLOOK_ORDER_FORM_ID, EVENTLOOK_ORDER_FORM_CONTAINER_ID } from '@utils/data/global.ts';\nimport ChildEventSection from './ChildEvents';\nimport TicketSelectionMap from '@form/tickets/TicketSelectionMap';\nimport PaymentOverviewDrawer from './PaymentOverviewDrawer';\nimport { getPlaceAsString } from '@utils/place';\nimport Services from '@form/services';\n\ninterface Props {\n event: IEvent;\n hasGopayIdSsr: boolean;\n selectedReleaseId?: number;\n isIframe?: boolean;\n isInline?: boolean;\n headerSlot?: React.ReactNode;\n}\n\nconst getCartUniqueItemCount = (formValues: ITicketForm) => {\n const flatTickets = Object.values(formValues.tickets ?? {}).flat();\n const ticketsCount = flatTickets.reduce(\n (sum, ticket) => sum + (Number(ticket.quantity) > 0 ? 1 : 0),\n 0\n );\n const ticketsWithProductsCount = flatTickets.reduce(\n (sum, ticket) => sum + ((ticket.products?.length ?? 0) > 0 ? 1 : 0),\n 0\n );\n const productsCount = Object.values(formValues.products ?? {})\n .flat()\n .reduce((sum, product) => sum + (Number(product.quantity) || 0), 0);\n\n return ticketsCount + ticketsWithProductsCount + productsCount;\n};\n\nconst TicketForm: React.FC<Props> = ({\n event,\n hasGopayIdSsr,\n selectedReleaseId,\n isIframe,\n isInline,\n headerSlot,\n}) => {\n const { t, setGlobal, callbacks, links, user, options, showSnackbar, content, seatingIframeUrl } =\n useGlobal();\n const { transformErrors } = useErrors(t('event.tickets.error.order'));\n const { data: eventProducts, isLoading } = useActiveEventProducts(event.id);\n const [paymentRedirect, setPaymentRedirect] = useState<string | null>(null);\n const [hasGopayId, setHasGopayId] = useState<boolean>(hasGopayIdSsr);\n const [isPaying, setIsPaying] = useState<boolean>(false);\n const [formStep, setFormStep] = useState<number>(1);\n const [isPaymentOverviewDrawerOpen, setIsPaymentOverviewDrawerOpen] = useState<boolean>(false);\n const [showReleaseDate, setShowReleaseDate] = useState(\n dayjs(event.releaseDate).diff(dayjs()) > 0\n );\n const [matchIsValidTel, setMatchIsValidTel] = useState<(text: string) => boolean>(() => false);\n const isNotReleased = dayjs(event.releaseDate).diff(dayjs()) > 0;\n const hasFiredViewCart = useRef(false);\n const hasFiredBeginCheckout = useRef(false);\n const hasFiredPaymentMethod = useRef(false);\n const termsAndConditionsRef = useRef<HTMLDivElement | null>(null);\n\n const item: IEcommerce = {\n currency: event.currency,\n items: [\n {\n item_id: `event_${event.id}`,\n item_name: event.name,\n quantity: 1,\n },\n ],\n };\n const pixels: IPixels = {\n fb_pixel_id: event.facebookPixel?.facebookId,\n tiktok_pixel_id: event.tiktokPixel?.tiktokId,\n };\n\n useEffect(() => {\n import('mui-tel-input').then((mod) => {\n setMatchIsValidTel(() => mod.matchIsValidTel);\n });\n }, []);\n\n useEffect(() => {\n setGlobal({\n options: {\n isIframe: isIframe === undefined ? false : isIframe,\n },\n });\n if (\n !isIframe &&\n event &&\n (isNotReleased ||\n (!!event.releaseEndDate && dayjs(event.releaseEndDate).isBefore(dayjs())) ||\n dayjs(event.endDate).isBefore(dayjs()) ||\n event.isSoldout ||\n event.dateUnknown ||\n event.isCanceled)\n ) {\n callbacks.detail();\n }\n\n if (event && !hasGopayId && !hasFiredViewCart.current) {\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPageView(location.href),\n },\n '*'\n );\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmViewCart(item, pixels),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmViewCart(item, pixels);\n }\n hasFiredViewCart.current = true;\n }\n if (!hasFiredPaymentMethod.current) {\n const item = {\n currency: event.currency,\n value: 0,\n payment_type: 'PAYMENT_CARD',\n items: [],\n };\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmAddPaymentInfo(item, pixels, user ? mapUserToUserData(user) : undefined),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmAddPaymentInfo(item, pixels);\n }\n hasFiredPaymentMethod.current = true;\n }\n }, [event]);\n\n const defaultValues: ITicketForm = useMemo(() => {\n const makeTicket = (overrides: Partial<ITicketFormTicket> = {}): ITicketFormTicket => ({\n releaseId: '',\n quantity: '',\n itemName: '',\n price: 0,\n products: [],\n extraFields: [],\n ...overrides,\n });\n\n const tickets: Record<string, ITicketFormTicket[]> = {\n [String(event.id)]: [\n makeTicket({\n releaseId: (selectedReleaseId as number) ?? '',\n }),\n ],\n };\n\n event.children?.forEach((child) => {\n tickets[String(child.id)] = [makeTicket()];\n });\n\n return {\n uuid: null,\n eventId: event.id,\n tickets,\n total: 0,\n originalPrice: 0,\n firstName: user?.firstName || '',\n lastName: user?.lastName || '',\n email: user?.email || '',\n phone: user?.phone || '',\n birthdate: user?.birthdate ? dayjs(user.birthdate) : null,\n gender: user?.gender || '',\n callback: '',\n paymentMethodId: null,\n paymentMethodOptionId: null,\n termsAndConditions: false,\n ticketInsurance: false,\n ticketInsurancePrice: 0,\n ticketInsurancePricePerUnit: 0,\n smsNotification: false,\n smsNotificationPrice: 0,\n iframeCampaignId: undefined,\n promoCodes: [],\n products: {},\n shipping: {\n shippingMethodId: null,\n branchId: null,\n price: 0,\n },\n extraFields:\n event?.extraFields.map((field) => ({\n eventExtraFieldId: field.id,\n value: '',\n })) || [],\n selectedDate: null,\n eventTimeslotId: null,\n isPaymentVerify: false,\n };\n }, [user]);\n\n const ValidationSchema = Yup.object().shape({\n firstName: Yup.string().required(t('form.validation.required')),\n lastName: Yup.string().required(t('form.validation.required')),\n email: Yup.string().email(t('form.validation.email')).required(t('form.validation.required')),\n phone: Yup.string()\n .required(t('form.validation.required'))\n .test('phone-checker', t('form.validation.phone'), (value) =>\n value ? matchIsValidTel(value) : false\n ),\n birthdate: Yup.object()\n .nullable()\n .default(null)\n .when([], {\n is: () => !content?.form?.disableBirthDate,\n then: (s) => s.required(t('form.validation.required')),\n otherwise: (s) => s.notRequired(),\n }),\n gender: Yup.string().when([], {\n is: () => !content?.form?.disableGender,\n then: (schema) => schema.required(t('form.validation.required')),\n otherwise: (schema) => schema.notRequired(),\n }),\n // tickets: Yup.object().test('tickets-validation', function (tickets) {\n // if (!tickets || typeof tickets !== 'object') return false;\n\n // for (const key of Object.keys(tickets)) {\n // const arr = tickets[key];\n // if (!Array.isArray(arr)) return false;\n // for (const t of arr) {\n // if (!t.releaseId || !t.quantity) {\n // return this.createError({ message: 'Invalid ticket selection' });\n // }\n // }\n // }\n // return true;\n // }),\n shipping: Yup.object()\n .shape({\n shippingMethodId: Yup.number().nullable(),\n branchId: Yup.string().nullable(),\n price: Yup.number(),\n })\n .test('shipping-method-required', t('form.validation.required'), function (value) {\n if (!event.hasMerchandise) {\n return true;\n }\n\n const formValues = this.parent as ITicketForm;\n const hasProducts = Object.values(formValues.products ?? {}).some((arr) => arr.length > 0);\n const allTickets = Object.values(formValues.tickets ?? {}).flat();\n const hasTicketProducts = allTickets.some((ticket) => (ticket.products?.length ?? 0) > 0);\n const requiresShipping = hasProducts || hasTicketProducts;\n\n if (!requiresShipping) {\n return true;\n }\n\n if (value?.shippingMethodId !== null && value?.shippingMethodId !== undefined) {\n return true;\n }\n\n return this.createError({\n path: 'shipping.shippingMethodId',\n message: t('form.validation.required'),\n });\n }),\n paymentMethodId: Yup.number().nullable().required(t('form.validation.required')),\n paymentMethodOptionId: Yup.number().nullable(),\n termsAndConditions: Yup.boolean().isTrue(t('form.validation.terms_and_conditions')),\n ticketInsurance: Yup.boolean(),\n smsNotification: Yup.boolean(),\n extraFields: Yup.array().of(\n Yup.object().shape({\n value: Yup.string().test('is-required', function (value) {\n const options = this.options as { index: number };\n\n if (event.extraFields[options.index].required && !value) {\n return this.createError({\n message: t('form.validation.required'),\n });\n }\n return true;\n }),\n })\n ),\n });\n\n const methods = useForm<ITicketForm>({\n // @ts-ignore\n resolver: yupResolver(ValidationSchema),\n defaultValues,\n });\n const values = methods.watch();\n const cartItemCount = getCartUniqueItemCount(values);\n const onInvalid = useScrollToFirstError(methods);\n\n const onSubmit = async (values: ITicketForm) => {\n if (cartItemCount <= 0) {\n showSnackbar(t('form.validation.count_tickets_or_products'), {\n variant: 'error',\n });\n return;\n }\n\n if (formStep === 1 && !isIframe) {\n setFormStep(2);\n } else {\n try {\n const data: ITicketBody = cloneObject(values);\n data.paymentMethodId = Number(values.paymentMethodId);\n data.promoCodeIds = values.promoCodes?.map((item) => item.id);\n const urlParams = new URLSearchParams(window.location.search);\n const iframeCallback = urlParams.get('callback');\n data.callback = isIframe && iframeCallback ? String(iframeCallback) : window.location.href;\n data.tickets = Object.entries(values.tickets).reduce(\n (acc, [eventId, items]) => {\n acc[Number(eventId)] = items\n .filter((item) => !!item.quantity && !!item.releaseId)\n .map((item) => ({\n releaseId: Number(item.releaseId),\n quantity: Number(item.quantity),\n price: Number(item.price),\n itemName: item.itemName,\n products: item.products,\n extraFields: item.extraFields,\n eventTimeslotId: item.eventTimeslotId,\n location: item.location,\n }));\n return acc;\n },\n {} as Record<number, ITicketFormTicket[]>\n );\n const { data: orderData } = await postOrder(data);\n localStorage.removeItem('cartToken');\n const items = [\n ...orderData.tickets.map((ticket) => ({\n item_id: ticket.number,\n item_name: `${orderData.orderEntity.event.name} - ${ticket.releaseCategoryName} - ${ticket.releaseName}`,\n price: ticket.price,\n quantity: 1,\n })),\n ];\n\n if (orderData.orderEntity.extraFee) {\n items.push({\n item_id: 'service_fee',\n item_name: `Service fee`,\n price: orderData.orderEntity.extraFee,\n quantity: 1,\n });\n }\n\n const item = {\n uuid: values.uuid,\n currency: orderData.orderEntity.currency,\n value: orderData.orderEntity.totalPrice,\n tax: 0,\n payment_type: orderData.orderEntity.paymentType,\n transaction_id: String(orderData.orderEntity.number),\n coupon: orderData?.orderEntity?.promoCodes?.map((p) => p.code) || [],\n items,\n };\n const userData = {\n fn: orderData.customer.firstName,\n ln: orderData.customer.lastName,\n em: orderData.customer.email,\n ph: orderData.customer.phone,\n };\n if (isIframe) {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPurchase(null),\n },\n '*'\n );\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPurchase(item, pixels, userData),\n },\n '*'\n );\n } else {\n gtmPurchase(null);\n gtmPurchase(item, pixels, userData);\n }\n setPaymentRedirect(orderData.gwUrl);\n methods.reset();\n } catch (err: any) {\n transformErrors(err.message);\n }\n }\n };\n\n const showShippingMethods = () => {\n const hasProducts = Object.values(values.products ?? {}).some((arr) => arr.length > 0);\n\n const ticketArrays = Object.values(values.tickets ?? {});\n const allTickets = ticketArrays.flat();\n\n const hasTicketProducts = allTickets.some((t) => (t.products?.length ?? 0) > 0);\n\n const showShippingMethods = hasProducts || hasTicketProducts;\n\n if (values.shipping.shippingMethodId !== null && !showShippingMethods) {\n methods.setValue('shipping', { shippingMethodId: null, branchId: null, price: 0 });\n }\n\n return showShippingMethods;\n };\n\n useEffect(() => {\n methods.reset(defaultValues);\n }, [user, defaultValues]);\n\n useEffect(() => {\n const searchParams = getSearchParamsInObject(window.location.search);\n const paymentId = searchParams.id;\n const iframeCampaignId = Number(searchParams.iframeCampaignId);\n setHasGopayId(!!paymentId);\n if (!isNaN(iframeCampaignId)) {\n methods.setValue('iframeCampaignId', iframeCampaignId);\n }\n }, [window.location.search]);\n\n useEffect(() => {\n const subscription = methods.watch((value) => {\n if (\n JSON.stringify(defaultValues) !== JSON.stringify(value) &&\n !hasFiredBeginCheckout.current\n ) {\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmBeginCheckout(item, pixels),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmBeginCheckout(item, pixels, user ? mapUserToUserData(user) : undefined);\n }\n hasFiredBeginCheckout.current = true;\n }\n });\n return () => subscription.unsubscribe();\n }, [methods.watch, defaultValues]);\n\n useEffect(() => {\n if (hasGopayId || isPaying || paymentRedirect) {\n if (options?.autoscrollAfterViewChange) {\n const orderForm = document.getElementById(EVENTLOOK_ORDER_FORM_CONTAINER_ID);\n if (orderForm) {\n orderForm.scrollIntoView({ behavior: 'smooth' });\n }\n }\n }\n }, [hasGopayId, isPaying, paymentRedirect]);\n\n if (isIframe && isNotReleased && showReleaseDate)\n return <ReleaseCountdown event={event} setShowReleaseDate={setShowReleaseDate} />;\n\n return (\n <Box id={EVENTLOOK_ORDER_FORM_CONTAINER_ID}>\n {hasGopayId ? (\n <PaymentSuccess setIsPaying={setIsPaying} isIframe={isIframe} pixels={pixels} />\n ) : isPaying ? (\n <PaymentPending />\n ) : paymentRedirect ? (\n <OrderSuccess\n gwUrl={paymentRedirect}\n isIframe={isIframe}\n setIsPaying={setIsPaying}\n isInline={isInline}\n />\n ) : (\n <FormProvider\n methods={methods}\n // @ts-ignore\n onSubmit={methods.handleSubmit(onSubmit, onInvalid)}\n formId={EVENTLOOK_ORDER_FORM_ID}\n >\n <Stack\n className=\"overview-card__event-info\"\n display={{ md: 'none' }}\n sx={{\n mb: 2,\n }}\n >\n <Typography variant=\"h3\" component=\"h1\">\n {event.name}\n </Typography>\n <Typography variant=\"h5\" component=\"h2\">\n {dayjs(event.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n <Typography variant=\"body2\" mt={1}>\n {getPlaceAsString(event.place)}\n </Typography>\n {headerSlot ? <>{headerSlot}</> : null}\n </Stack>\n <Grid\n container\n spacing={2}\n sx={{\n pb: {\n xs: isPaymentOverviewDrawerOpen ? cartItemCount * 4 + 18 : 0,\n md: 0,\n },\n }}\n >\n <Grid item xs={12} md={8}>\n <Stepper\n orientation=\"vertical\"\n sx={(theme) => ({\n [theme.breakpoints.down('sm')]: {\n '& .MuiStepContent-root': {\n borderLeftWidth: 0,\n paddingLeft: 0,\n marginLeft: 0,\n },\n '& .MuiStepConnector-line': { borderLeftWidth: 0 },\n },\n })}\n >\n {event.type === EventType.RECURRING && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.6.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <TimeslotSelection event={event} />\n </StepContent>\n </Step>\n )}\n <Step active>\n <StepLabel>{t('event.tickets.stepper.1.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n {event.mapId && seatingIframeUrl ? (\n <TicketSelectionMap event={event} />\n ) : event.hasMerchandise ? (\n <TicketWithMerchandiseSelection event={event} />\n ) : (\n <TicketSelection event={event} />\n )}\n </StepContent>\n </Step>\n {event.hasMerchandise && eventProducts.length && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.4.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <MerchandiseSelection\n eventProducts={eventProducts}\n eventId={event.id}\n isLoading={isLoading}\n />\n </StepContent>\n </Step>\n )}\n <Step active>\n <StepLabel>{t('event.tickets.stepper.8.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <Services event={event} />\n </StepContent>\n </Step>\n {event.children.length && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.7.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <ChildEventSection events={event.children} />\n </StepContent>\n </Step>\n )}\n <Step active>\n <StepLabel>{t('event.tickets.stepper.2.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <ContactPerson event={event} />\n </StepContent>\n </Step>\n {event.hasMerchandise && showShippingMethods() && (\n <Step active>\n <StepLabel>{t('event.tickets.stepper.5.title')}</StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <Shipping event={event} />\n </StepContent>\n </Step>\n )}\n <Step active>\n <StepLabel>\n {t(\n `event.tickets.stepper.3.${values.isPaymentVerify ? 'title_verify' : 'title'}`\n )}\n </StepLabel>\n <StepContent sx={{ pr: { xs: 0 } }}>\n <Payment event={event} />\n </StepContent>\n </Step>\n </Stepper>\n <Stack\n ref={termsAndConditionsRef}\n mt={2}\n ml={{ xs: 1, md: 4 }}\n sx={{ scrollMarginBottom: { xs: 220, md: 0 } }}\n >\n <RHFCheckbox\n name=\"termsAndConditions\"\n label={\n <Trans\n text=\"event.tickets.terms_and_conditions\"\n values={{\n termsAndConditionsCompanies: options?.termsAndConditionsCompanies\n ? options.termsAndConditionsCompanies.join(t('and'))\n : ['Eventlook', 'GoPay'].join(` ${t('and')} `),\n }}\n components={{\n 0: <CustomLink key={2} href={links.termsAndConditions} target=\"_blank\" />,\n 1: <CustomLink key={1} href={links.gdpr} target=\"_blank\" />,\n }}\n />\n }\n />\n </Stack>\n </Grid>\n <Grid item xs={12} sx={{ display: { xs: 'block', md: 'none' } }}>\n <Divider sx={{ borderStyle: 'dashed' }} />\n </Grid>\n <Grid item xs={12} md={4} mt={{ xs: 0, md: 0 }}>\n <PaymentOverviewBox event={event} withoutPadding />\n </Grid>\n </Grid>\n\n <PaymentOverviewDrawer\n event={event}\n totalPrice={values.total}\n termsAndConditionsRef={termsAndConditionsRef}\n onOpenChange={setIsPaymentOverviewDrawerOpen}\n />\n\n <EmailConfirmation\n open={formStep === 2 && !isIframe}\n onClose={() => setFormStep(1)}\n // @ts-ignore\n onConfirm={methods.handleSubmit(onSubmit, onInvalid)}\n />\n </FormProvider>\n )}\n </Box>\n );\n};\n\nconst CustomLink: React.FC<PropsWithChildren<LinkProps>> = ({ href = '', children, ...other }) => (\n <Link href={href} {...other} sx={{ color: 'inherit', textDecoration: 'underline' }}>\n {children}\n </Link>\n);\n\nexport default TicketForm;\n"],"names":["event","useGlobal","useErrors","useActiveEventProducts","useState","useRef","useEffect","getGtmPageView","getGtmViewCart","gtmViewCart","getGtmAddPaymentInfo","mapUserToUserData","gtmAddPaymentInfo","useMemo","Yup","useForm","yupResolver","useScrollToFirstError","cloneObject","postOrder","getGtmPurchase","gtmPurchase","getSearchParamsInObject","getGtmBeginCheckout","gtmBeginCheckout","EVENTLOOK_ORDER_FORM_CONTAINER_ID","ReleaseCountdown","Box","PaymentSuccess","PaymentPending","OrderSuccess","FormProvider","EVENTLOOK_ORDER_FORM_ID","Stack","Typography","getPlaceAsString","Grid","Stepper","EventType","Step","StepLabel","StepContent","TimeslotSelection","TicketSelectionMap","TicketWithMerchandiseSelection","TicketSelection","MerchandiseSelection","Services","ChildEventSection","ContactPerson","Shipping","Payment","RHFCheckbox","Trans","Divider","PaymentOverviewBox","PaymentOverviewDrawer","EmailConfirmation","Link"],"mappings":"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"}
@@ -15,7 +15,7 @@ const MerchandiseSlider = ({ eventProducts, eventId, sx }) => {
15
15
  React.createElement(material.Box, { sx: {
16
16
  overflow: 'hidden',
17
17
  padding: theme.spacing(8, 3),
18
- margin: theme.spacing(-8, -3),
18
+ margin: theme.spacing(-8, -2.5),
19
19
  } },
20
20
  React.createElement(material.Box, { ref: emblaRef, className: "embla", sx: { overflow: 'visible' } },
21
21
  React.createElement(material.Box, { className: "embla__container", sx: {
@@ -1 +1 @@
1
- {"version":3,"file":"MerchandiseSlider.js","sources":["../../../../src/form/merchandise/MerchandiseSlider.tsx"],"sourcesContent":["import React from 'react';\nimport useEmblaCarousel from 'embla-carousel-react';\nimport { Box, SxProps } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport { IEventProduct } from '@utils/types/event-product.type';\nimport ProductCard from '@form/product/ProductCard';\n\ninterface Props {\n sx?: SxProps;\n eventProducts: IEventProduct[];\n eventId: number;\n}\n\nconst MerchandiseSlider: React.FC<Props> = ({ eventProducts, eventId, sx }) => {\n const [emblaRef] = useEmblaCarousel();\n const theme = useTheme();\n\n return (\n <Box sx={sx}>\n <Box\n sx={{\n overflow: 'hidden',\n padding: theme.spacing(8, 3),\n margin: theme.spacing(-8, -3),\n }}\n >\n <Box ref={emblaRef} className=\"embla\" sx={{ overflow: 'visible' }}>\n <Box\n className=\"embla__container\"\n sx={{\n display: 'flex',\n }}\n >\n {eventProducts.map((eventProduct, index) => (\n <Box\n key={`event-slide-${index}`}\n className=\"embla__slide\"\n sx={{\n flex: `0 0 ${eventProducts.length > 1 ? '78%' : '100%'}`,\n minWidth: 0,\n maxWidth: 220,\n margin: `0 ${theme.spacing(0.5)}`,\n transition: 'opacity 0.2s ease',\n [theme.breakpoints.up('sm')]: {\n flex: '0 0 43%',\n },\n [theme.breakpoints.up('md')]: {\n flex: '0 0 33.3333%',\n },\n }}\n >\n <ProductCard eventProduct={eventProduct} eventId={eventId} isOnlyMerchandise />\n </Box>\n ))}\n </Box>\n </Box>\n </Box>\n </Box>\n );\n};\n\nexport default MerchandiseSlider;\n"],"names":["useTheme","Box","ProductCard"],"mappings":";;;;;;;;;;AAaA,MAAM,iBAAiB,GAAoB,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,KAAI;AAC5E,IAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EAAE;AACrC,IAAA,MAAM,KAAK,GAAGA,eAAQ,EAAE;AAExB,IAAA,QACE,KAAA,CAAA,aAAA,CAACC,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,EAAA;QACT,KAAA,CAAA,aAAA,CAACA,YAAG,EAAA,EACF,EAAE,EAAE;AACF,gBAAA,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;AAC9B,aAAA,EAAA;AAED,YAAA,KAAA,CAAA,aAAA,CAACA,YAAG,EAAA,EAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAA;AAC/D,gBAAA,KAAA,CAAA,aAAA,CAACA,YAAG,EAAA,EACF,SAAS,EAAC,kBAAkB,EAC5B,EAAE,EAAE;AACF,wBAAA,OAAO,EAAE,MAAM;qBAChB,EAAA,EAEA,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,MACrC,KAAA,CAAA,aAAA,CAACA,YAAG,EAAA,EACF,GAAG,EAAE,CAAA,YAAA,EAAe,KAAK,CAAA,CAAE,EAC3B,SAAS,EAAC,cAAc,EACxB,EAAE,EAAE;AACF,wBAAA,IAAI,EAAE,CAAA,IAAA,EAAO,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM,CAAA,CAAE;AACxD,wBAAA,QAAQ,EAAE,CAAC;AACX,wBAAA,QAAQ,EAAE,GAAG;wBACb,MAAM,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA,CAAE;AACjC,wBAAA,UAAU,EAAE,mBAAmB;wBAC/B,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;AAC5B,4BAAA,IAAI,EAAE,SAAS;AAChB,yBAAA;wBACD,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;AAC5B,4BAAA,IAAI,EAAE,cAAc;AACrB,yBAAA;AACF,qBAAA,EAAA;oBAED,KAAA,CAAA,aAAA,CAACC,mBAAW,IAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAA,IAAA,EAAA,CAAG,CAC3E,CACP,CAAC,CACE,CACF,CACF,CACF;AAEV;;;;"}
1
+ {"version":3,"file":"MerchandiseSlider.js","sources":["../../../../src/form/merchandise/MerchandiseSlider.tsx"],"sourcesContent":["import React from 'react';\nimport useEmblaCarousel from 'embla-carousel-react';\nimport { Box, SxProps } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport { IEventProduct } from '@utils/types/event-product.type';\nimport ProductCard from '@form/product/ProductCard';\n\ninterface Props {\n sx?: SxProps;\n eventProducts: IEventProduct[];\n eventId: number;\n}\n\nconst MerchandiseSlider: React.FC<Props> = ({ eventProducts, eventId, sx }) => {\n const [emblaRef] = useEmblaCarousel();\n const theme = useTheme();\n\n return (\n <Box sx={sx}>\n <Box\n sx={{\n overflow: 'hidden',\n padding: theme.spacing(8, 3),\n margin: theme.spacing(-8, -2.5),\n }}\n >\n <Box ref={emblaRef} className=\"embla\" sx={{ overflow: 'visible' }}>\n <Box\n className=\"embla__container\"\n sx={{\n display: 'flex',\n }}\n >\n {eventProducts.map((eventProduct, index) => (\n <Box\n key={`event-slide-${index}`}\n className=\"embla__slide\"\n sx={{\n flex: `0 0 ${eventProducts.length > 1 ? '78%' : '100%'}`,\n minWidth: 0,\n maxWidth: 220,\n margin: `0 ${theme.spacing(0.5)}`,\n transition: 'opacity 0.2s ease',\n [theme.breakpoints.up('sm')]: {\n flex: '0 0 43%',\n },\n [theme.breakpoints.up('md')]: {\n flex: '0 0 33.3333%',\n },\n }}\n >\n <ProductCard eventProduct={eventProduct} eventId={eventId} isOnlyMerchandise />\n </Box>\n ))}\n </Box>\n </Box>\n </Box>\n </Box>\n );\n};\n\nexport default MerchandiseSlider;\n"],"names":["useTheme","Box","ProductCard"],"mappings":";;;;;;;;;;AAaA,MAAM,iBAAiB,GAAoB,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,KAAI;AAC5E,IAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EAAE;AACrC,IAAA,MAAM,KAAK,GAAGA,eAAQ,EAAE;AAExB,IAAA,QACE,KAAA,CAAA,aAAA,CAACC,YAAG,EAAA,EAAC,EAAE,EAAE,EAAE,EAAA;QACT,KAAA,CAAA,aAAA,CAACA,YAAG,EAAA,EACF,EAAE,EAAE;AACF,gBAAA,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC;AAChC,aAAA,EAAA;AAED,YAAA,KAAA,CAAA,aAAA,CAACA,YAAG,EAAA,EAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAA;AAC/D,gBAAA,KAAA,CAAA,aAAA,CAACA,YAAG,EAAA,EACF,SAAS,EAAC,kBAAkB,EAC5B,EAAE,EAAE;AACF,wBAAA,OAAO,EAAE,MAAM;qBAChB,EAAA,EAEA,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,MACrC,KAAA,CAAA,aAAA,CAACA,YAAG,EAAA,EACF,GAAG,EAAE,CAAA,YAAA,EAAe,KAAK,CAAA,CAAE,EAC3B,SAAS,EAAC,cAAc,EACxB,EAAE,EAAE;AACF,wBAAA,IAAI,EAAE,CAAA,IAAA,EAAO,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM,CAAA,CAAE;AACxD,wBAAA,QAAQ,EAAE,CAAC;AACX,wBAAA,QAAQ,EAAE,GAAG;wBACb,MAAM,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA,CAAE;AACjC,wBAAA,UAAU,EAAE,mBAAmB;wBAC/B,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;AAC5B,4BAAA,IAAI,EAAE,SAAS;AAChB,yBAAA;wBACD,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;AAC5B,4BAAA,IAAI,EAAE,cAAc;AACrB,yBAAA;AACF,qBAAA,EAAA;oBAED,KAAA,CAAA,aAAA,CAACC,mBAAW,IAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAA,IAAA,EAAA,CAAG,CAC3E,CACP,CAAC,CACE,CACF,CACF,CACF;AAEV;;;;"}
@@ -193,7 +193,7 @@ const ProductVariantsDialog = ({ eventProduct, openDialog, onClose, callback, se
193
193
  gap: 1,
194
194
  alignItems: 'center',
195
195
  } },
196
- React.createElement(material.Button, { variant: "outlined", onClick: () => handleRemoveQuantity(variant), disabled: draftQty < 1, sx: {
196
+ React.createElement(material.Button, { variant: "outlined", onClick: () => handleRemoveQuantity(variant), "aria-label": t('components.product_variant_dialog.decrease_quantity'), disabled: draftQty < 1, sx: {
197
197
  minWidth: 0,
198
198
  height: 36,
199
199
  borderRadius: 1,
@@ -215,7 +215,7 @@ const ProductVariantsDialog = ({ eventProduct, openDialog, onClose, callback, se
215
215
  fontWeight: 700,
216
216
  color: 'text.primary',
217
217
  } }, draftQty),
218
- !canAddOnlyOneAtATime && (React.createElement(material.Button, { variant: "contained", onClick: () => handleAddQuantity(variant), disabled: draftQty >= 10 || draftQty >= maxAvailable, sx: { minWidth: 0, height: 36, borderRadius: 1, fontWeight: 700 } }, "+")))) : (React.createElement(material.Button, { variant: "contained", onClick: () => handleAddQuantity(variant), disabled: isOnlyMerchandise ? false : isAddDisabled || isAnotherSelected, sx: {
218
+ !canAddOnlyOneAtATime && (React.createElement(material.Button, { variant: "contained", onClick: () => handleAddQuantity(variant), "aria-label": t('components.product_variant_dialog.increase_quantity'), disabled: draftQty >= 10 || draftQty >= maxAvailable, sx: { minWidth: 0, height: 36, borderRadius: 1, fontWeight: 700 } }, "+")))) : (React.createElement(material.Button, { variant: "contained", onClick: () => handleAddQuantity(variant), disabled: isOnlyMerchandise ? false : isAddDisabled || isAnotherSelected, sx: {
219
219
  flex: 1,
220
220
  height: 36,
221
221
  borderRadius: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"ProductVariantsDialog.js","sources":["../../../../src/form/product/ProductVariantsDialog.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport {\n Box,\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Stack,\n Typography,\n} from '@mui/material';\nimport { IEventProduct, IEventProductVariant } from '@utils/types/event-product.type';\nimport Image from '@components/Image';\nimport { useWatch } from 'react-hook-form';\nimport { ITicketFormTicket } from '@utils/types/ticket.type';\nimport { IEventProductForm } from '@utils/types/product.type';\nimport { fCurrency } from '@utils/formatNumber';\nimport useGlobal from '@hooks/useGlobal.ts';\n\ninterface Props {\n eventProduct: IEventProduct;\n eventId: number;\n openDialog: boolean;\n callback: (variants: IEventProductForm[]) => void;\n onClose?: () => void;\n selectedQuantityByVariant?: Record<number, number>;\n isOnlyMerchandise?: boolean;\n canAddOnlyOneAtATime?: boolean;\n}\n\nconst ProductVariantsDialog: React.FC<Props> = ({\n eventProduct,\n openDialog,\n onClose,\n callback,\n selectedQuantityByVariant,\n isOnlyMerchandise,\n eventId,\n canAddOnlyOneAtATime,\n}) => {\n const { t, lang, options } = useGlobal();\n const { showSnackbar } = useGlobal();\n const [draftQuantities, setDraftQuantities] = useState<Record<number, number>>({});\n const tickets: ITicketFormTicket[] = useWatch({ name: `tickets.${eventId}`, defaultValue: [] });\n const products: IEventProductForm[] = useWatch({ name: `products.${eventId}`, defaultValue: [] });\n\n useEffect(() => {\n if (openDialog) {\n const urlParams = new URLSearchParams(new URL(window.location.href).search);\n const elementId = urlParams.get('elementId');\n parent.postMessage({ type: 'eventlookFrameOpenDialog', name: elementId }, '*');\n }\n }, [openDialog]);\n\n useEffect(() => {\n if (openDialog) {\n setDraftQuantities(canAddOnlyOneAtATime ? {} : (selectedQuantityByVariant ?? {}));\n }\n }, [openDialog, selectedQuantityByVariant, canAddOnlyOneAtATime]);\n\n const handleOnAdd = () => {\n const selectedVariants = eventProduct.eventProductVariants\n .map((variant) => {\n const quantity = draftQuantities[variant.id] ?? 0;\n const selectedQty = selectedQuantityByVariant?.[variant.id] ?? 0;\n if (canAddOnlyOneAtATime) {\n if (quantity <= 0) return null;\n } else if (quantity <= 0 && selectedQty <= 0) {\n return null;\n }\n return {\n eventProductVariantId: variant.id,\n productVariantId: variant.productVariant.id,\n quantity,\n price: variant.priceWithVat,\n excludedShippingMethodIds: eventProduct.excludedShippingMethods.map(\n (method) => method.id\n ),\n } as IEventProductForm;\n })\n .filter((variant): variant is IEventProductForm => Boolean(variant));\n\n if (selectedVariants.length === 0) {\n showSnackbar(t('components.product_variant_dialog.select_variant'), { variant: 'error' });\n return;\n }\n\n callback(selectedVariants);\n setDraftQuantities({});\n onClose?.();\n };\n\n const getUsedCount = (variant: IEventProductVariant) => {\n let countUsed = 0;\n\n for (const product of products) {\n if (product.productVariantId === variant.productVariant.id) {\n countUsed += product.quantity;\n }\n }\n\n for (const ticket of tickets) {\n if (ticket.products) {\n for (const product of ticket.products) {\n if (product.productVariantId === variant.productVariant.id) {\n countUsed += product.quantity;\n }\n }\n }\n }\n return countUsed;\n };\n\n const getMaxAvailable = (variant: IEventProductVariant) => {\n if (!variant.productVariant.quantity) return Number.POSITIVE_INFINITY;\n return variant.productVariant.quantity - variant.productVariant.sold - getUsedCount(variant);\n };\n\n const isVariantDisabled = (variant: IEventProductVariant) => {\n if (!variant.productVariant.quantity) return false;\n return getMaxAvailable(variant) <= 0;\n };\n\n const handleAddQuantity = (variant: IEventProductVariant) => {\n setDraftQuantities((prev) => {\n const current = prev[variant.id] ?? 0;\n const next = current + 1;\n const maxAvailable = getMaxAvailable(variant);\n if (next > 10 || next > maxAvailable) return prev;\n if (canAddOnlyOneAtATime) {\n // Only allow one variant to be selected\n return { [variant.id]: 1 };\n }\n return { ...prev, [variant.id]: next };\n });\n };\n\n const handleRemoveQuantity = (variant: IEventProductVariant) => {\n setDraftQuantities((prev) => {\n const current = prev[variant.id] ?? 0;\n const next = current - 1;\n if (next <= 0) {\n const rest = { ...prev };\n delete rest[variant.id];\n return rest;\n }\n if (canAddOnlyOneAtATime) {\n // Remove the only variant\n return {};\n }\n return { ...prev, [variant.id]: next };\n });\n };\n\n const handleRemoveProduct = () => {\n const variantsToRemove = eventProduct.eventProductVariants\n .filter((variant) => (selectedQuantityByVariant?.[variant.id] ?? 0) > 0)\n .map(\n (variant) =>\n ({\n eventProductVariantId: variant.id,\n productVariantId: variant.productVariant.id,\n quantity: 0,\n price: variant.priceWithVat,\n excludedShippingMethodIds: eventProduct.excludedShippingMethods.map(\n (method) => method.id\n ),\n }) as IEventProductForm\n );\n\n if (variantsToRemove.length === 0) {\n return;\n }\n\n callback(variantsToRemove);\n setDraftQuantities({});\n onClose?.();\n };\n\n const hasSelectedVariants = eventProduct.eventProductVariants.some(\n (variant) => (selectedQuantityByVariant?.[variant.id] ?? 0) > 0\n );\n\n const variantsById = useMemo(\n () => new Map(eventProduct.eventProductVariants.map((variant) => [variant.id, variant])),\n [eventProduct.eventProductVariants]\n );\n\n const totalDraftPrice = useMemo(\n () =>\n Object.entries(draftQuantities).reduce((total, [variantId, qty]) => {\n const variant = variantsById.get(Number(variantId));\n if (!variant) return total;\n return total + variant.priceWithVat * qty;\n }, 0),\n [draftQuantities, variantsById]\n );\n\n const hasDraftSelection = useMemo(\n () =>\n eventProduct.eventProductVariants.some((variant) => (draftQuantities[variant.id] ?? 0) > 0),\n [eventProduct.eventProductVariants, draftQuantities]\n );\n\n return (\n <Dialog\n open={openDialog}\n onClose={() => onClose && onClose()}\n fullWidth\n sx={{\n mx: 'auto',\n width: {\n xs: '100%',\n sm: 'calc(100vh - 300px)',\n },\n minWidth: 300,\n maxWidth: 444,\n '& .MuiDialog-container': {\n height: options?.isIframe ? 'auto' : '100%',\n },\n }}\n >\n <DialogTitle\n sx={{ textAlign: 'center', fontWeight: 700, fontSize: { xs: '1.5rem', sm: '1.5rem' } }}\n >\n {eventProduct.product.name}\n </DialogTitle>\n <DialogContent sx={{ pb: 0 }}>\n <Stack spacing={1}>\n <Image\n src={eventProduct.product.previewImage.url}\n alt={eventProduct.product.name}\n ratio=\"16/9\"\n sx={{ borderRadius: 1 }}\n />\n <Typography variant=\"body2\" color=\"primary\">\n {t('form.labels.category')}: {eventProduct.product.category.value.text}\n </Typography>\n <Typography\n variant=\"caption\"\n dangerouslySetInnerHTML={{ __html: eventProduct.product.description }}\n />\n </Stack>\n </DialogContent>\n <DialogActions sx={{ justifyContent: 'flex-start' }}>\n <Stack spacing={1} width=\"100%\">\n <Stack spacing={1}>\n {eventProduct.eventProductVariants.map((variant) => {\n const draftQty = draftQuantities[variant.id] ?? 0;\n const maxAvailable = getMaxAvailable(variant);\n const isAddDisabled = isVariantDisabled(variant) || maxAvailable <= 0;\n const isAnotherSelected =\n canAddOnlyOneAtATime &&\n Object.keys(draftQuantities).length > 0 &&\n !draftQuantities[variant.id];\n return (\n <Stack\n key={variant.id}\n direction=\"row\"\n spacing={1}\n alignItems=\"center\"\n width=\"100%\"\n >\n <Box\n sx={{\n minWidth: 64,\n maxWidth: 64,\n height: 36,\n borderRadius: 1,\n border: 1,\n borderColor: 'divider',\n bgcolor: 'background.paper',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <Typography variant=\"body2\" fontWeight={600}>\n {variant.productVariant.value}\n </Typography>\n </Box>\n {draftQty > 0 ? (\n <Box\n sx={{\n flex: 1,\n display: 'grid',\n gridTemplateColumns: canAddOnlyOneAtATime\n ? 'repeat(2, minmax(0, 1fr))'\n : 'repeat(3, minmax(0, 1fr))',\n gap: 1,\n alignItems: 'center',\n }}\n >\n <Button\n variant=\"outlined\"\n onClick={() => handleRemoveQuantity(variant)}\n disabled={draftQty < 1}\n sx={{\n minWidth: 0,\n height: 36,\n borderRadius: 1,\n fontWeight: 700,\n borderColor: 'grey.300',\n color: 'text.primary',\n }}\n >\n -\n </Button>\n <Typography\n sx={{\n minWidth: 0,\n height: 36,\n borderRadius: 1,\n border: 1,\n borderColor: 'divider',\n boxSizing: 'border-box',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n fontWeight: 700,\n color: 'text.primary',\n }}\n >\n {draftQty}\n </Typography>\n {!canAddOnlyOneAtATime && (\n <Button\n variant=\"contained\"\n onClick={() => handleAddQuantity(variant)}\n disabled={draftQty >= 10 || draftQty >= maxAvailable}\n sx={{ minWidth: 0, height: 36, borderRadius: 1, fontWeight: 700 }}\n >\n +\n </Button>\n )}\n </Box>\n ) : (\n <Button\n variant=\"contained\"\n onClick={() => handleAddQuantity(variant)}\n disabled={isOnlyMerchandise ? false : isAddDisabled || isAnotherSelected}\n sx={{\n flex: 1,\n height: 36,\n borderRadius: 1,\n fontWeight: 700,\n textTransform: 'none',\n }}\n >\n {t('add')}\n </Button>\n )}\n\n <Typography variant=\"body2\">\n {variant.priceWithVat > 0\n ? fCurrency(variant.priceWithVat, lang, eventProduct.product.currency)\n : t('free')}\n </Typography>\n </Stack>\n );\n })}\n </Stack>\n <Stack\n direction=\"row\"\n spacing={1}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n width=\"100%\"\n >\n <Typography variant=\"body2\">{t('form.labels.total')}</Typography>\n <Typography variant=\"body2\" fontWeight={600}>\n {fCurrency(totalDraftPrice, lang, eventProduct.product.currency)}\n </Typography>\n </Stack>\n <Stack direction=\"row\" spacing={1} justifyContent=\"flex-end\" width=\"100%\">\n {hasSelectedVariants && !canAddOnlyOneAtATime && (\n <Button variant=\"outlined\" color=\"error\" onClick={handleRemoveProduct}>\n {t('remove')}\n </Button>\n )}\n {onClose && (\n <Button\n onClick={onClose}\n sx={{\n border: 1,\n color: 'inherit',\n borderColor: (theme) => theme.palette.grey[300],\n }}\n >\n {t('cancel')}\n </Button>\n )}\n <Button variant=\"contained\" onClick={handleOnAdd} disabled={!hasDraftSelection}>\n {t('confirm')}\n </Button>\n </Stack>\n </Stack>\n </DialogActions>\n </Dialog>\n );\n};\n\nexport default ProductVariantsDialog;\n"],"names":["useGlobal","useState","useWatch","useEffect","useMemo","Dialog","DialogTitle","DialogContent","Stack","Image","Typography","DialogActions","Box","Button","fCurrency"],"mappings":"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"}
1
+ {"version":3,"file":"ProductVariantsDialog.js","sources":["../../../../src/form/product/ProductVariantsDialog.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport {\n Box,\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Stack,\n Typography,\n} from '@mui/material';\nimport { IEventProduct, IEventProductVariant } from '@utils/types/event-product.type';\nimport Image from '@components/Image';\nimport { useWatch } from 'react-hook-form';\nimport { ITicketFormTicket } from '@utils/types/ticket.type';\nimport { IEventProductForm } from '@utils/types/product.type';\nimport { fCurrency } from '@utils/formatNumber';\nimport useGlobal from '@hooks/useGlobal.ts';\n\ninterface Props {\n eventProduct: IEventProduct;\n eventId: number;\n openDialog: boolean;\n callback: (variants: IEventProductForm[]) => void;\n onClose?: () => void;\n selectedQuantityByVariant?: Record<number, number>;\n isOnlyMerchandise?: boolean;\n canAddOnlyOneAtATime?: boolean;\n}\n\nconst ProductVariantsDialog: React.FC<Props> = ({\n eventProduct,\n openDialog,\n onClose,\n callback,\n selectedQuantityByVariant,\n isOnlyMerchandise,\n eventId,\n canAddOnlyOneAtATime,\n}) => {\n const { t, lang, options } = useGlobal();\n const { showSnackbar } = useGlobal();\n const [draftQuantities, setDraftQuantities] = useState<Record<number, number>>({});\n const tickets: ITicketFormTicket[] = useWatch({ name: `tickets.${eventId}`, defaultValue: [] });\n const products: IEventProductForm[] = useWatch({ name: `products.${eventId}`, defaultValue: [] });\n\n useEffect(() => {\n if (openDialog) {\n const urlParams = new URLSearchParams(new URL(window.location.href).search);\n const elementId = urlParams.get('elementId');\n parent.postMessage({ type: 'eventlookFrameOpenDialog', name: elementId }, '*');\n }\n }, [openDialog]);\n\n useEffect(() => {\n if (openDialog) {\n setDraftQuantities(canAddOnlyOneAtATime ? {} : (selectedQuantityByVariant ?? {}));\n }\n }, [openDialog, selectedQuantityByVariant, canAddOnlyOneAtATime]);\n\n const handleOnAdd = () => {\n const selectedVariants = eventProduct.eventProductVariants\n .map((variant) => {\n const quantity = draftQuantities[variant.id] ?? 0;\n const selectedQty = selectedQuantityByVariant?.[variant.id] ?? 0;\n if (canAddOnlyOneAtATime) {\n if (quantity <= 0) return null;\n } else if (quantity <= 0 && selectedQty <= 0) {\n return null;\n }\n return {\n eventProductVariantId: variant.id,\n productVariantId: variant.productVariant.id,\n quantity,\n price: variant.priceWithVat,\n excludedShippingMethodIds: eventProduct.excludedShippingMethods.map(\n (method) => method.id\n ),\n } as IEventProductForm;\n })\n .filter((variant): variant is IEventProductForm => Boolean(variant));\n\n if (selectedVariants.length === 0) {\n showSnackbar(t('components.product_variant_dialog.select_variant'), { variant: 'error' });\n return;\n }\n\n callback(selectedVariants);\n setDraftQuantities({});\n onClose?.();\n };\n\n const getUsedCount = (variant: IEventProductVariant) => {\n let countUsed = 0;\n\n for (const product of products) {\n if (product.productVariantId === variant.productVariant.id) {\n countUsed += product.quantity;\n }\n }\n\n for (const ticket of tickets) {\n if (ticket.products) {\n for (const product of ticket.products) {\n if (product.productVariantId === variant.productVariant.id) {\n countUsed += product.quantity;\n }\n }\n }\n }\n return countUsed;\n };\n\n const getMaxAvailable = (variant: IEventProductVariant) => {\n if (!variant.productVariant.quantity) return Number.POSITIVE_INFINITY;\n return variant.productVariant.quantity - variant.productVariant.sold - getUsedCount(variant);\n };\n\n const isVariantDisabled = (variant: IEventProductVariant) => {\n if (!variant.productVariant.quantity) return false;\n return getMaxAvailable(variant) <= 0;\n };\n\n const handleAddQuantity = (variant: IEventProductVariant) => {\n setDraftQuantities((prev) => {\n const current = prev[variant.id] ?? 0;\n const next = current + 1;\n const maxAvailable = getMaxAvailable(variant);\n if (next > 10 || next > maxAvailable) return prev;\n if (canAddOnlyOneAtATime) {\n // Only allow one variant to be selected\n return { [variant.id]: 1 };\n }\n return { ...prev, [variant.id]: next };\n });\n };\n\n const handleRemoveQuantity = (variant: IEventProductVariant) => {\n setDraftQuantities((prev) => {\n const current = prev[variant.id] ?? 0;\n const next = current - 1;\n if (next <= 0) {\n const rest = { ...prev };\n delete rest[variant.id];\n return rest;\n }\n if (canAddOnlyOneAtATime) {\n // Remove the only variant\n return {};\n }\n return { ...prev, [variant.id]: next };\n });\n };\n\n const handleRemoveProduct = () => {\n const variantsToRemove = eventProduct.eventProductVariants\n .filter((variant) => (selectedQuantityByVariant?.[variant.id] ?? 0) > 0)\n .map(\n (variant) =>\n ({\n eventProductVariantId: variant.id,\n productVariantId: variant.productVariant.id,\n quantity: 0,\n price: variant.priceWithVat,\n excludedShippingMethodIds: eventProduct.excludedShippingMethods.map(\n (method) => method.id\n ),\n }) as IEventProductForm\n );\n\n if (variantsToRemove.length === 0) {\n return;\n }\n\n callback(variantsToRemove);\n setDraftQuantities({});\n onClose?.();\n };\n\n const hasSelectedVariants = eventProduct.eventProductVariants.some(\n (variant) => (selectedQuantityByVariant?.[variant.id] ?? 0) > 0\n );\n\n const variantsById = useMemo(\n () => new Map(eventProduct.eventProductVariants.map((variant) => [variant.id, variant])),\n [eventProduct.eventProductVariants]\n );\n\n const totalDraftPrice = useMemo(\n () =>\n Object.entries(draftQuantities).reduce((total, [variantId, qty]) => {\n const variant = variantsById.get(Number(variantId));\n if (!variant) return total;\n return total + variant.priceWithVat * qty;\n }, 0),\n [draftQuantities, variantsById]\n );\n\n const hasDraftSelection = useMemo(\n () =>\n eventProduct.eventProductVariants.some((variant) => (draftQuantities[variant.id] ?? 0) > 0),\n [eventProduct.eventProductVariants, draftQuantities]\n );\n\n return (\n <Dialog\n open={openDialog}\n onClose={() => onClose && onClose()}\n fullWidth\n sx={{\n mx: 'auto',\n width: {\n xs: '100%',\n sm: 'calc(100vh - 300px)',\n },\n minWidth: 300,\n maxWidth: 444,\n '& .MuiDialog-container': {\n height: options?.isIframe ? 'auto' : '100%',\n },\n }}\n >\n <DialogTitle\n sx={{ textAlign: 'center', fontWeight: 700, fontSize: { xs: '1.5rem', sm: '1.5rem' } }}\n >\n {eventProduct.product.name}\n </DialogTitle>\n <DialogContent sx={{ pb: 0 }}>\n <Stack spacing={1}>\n <Image\n src={eventProduct.product.previewImage.url}\n alt={eventProduct.product.name}\n ratio=\"16/9\"\n sx={{ borderRadius: 1 }}\n />\n <Typography variant=\"body2\" color=\"primary\">\n {t('form.labels.category')}: {eventProduct.product.category.value.text}\n </Typography>\n <Typography\n variant=\"caption\"\n dangerouslySetInnerHTML={{ __html: eventProduct.product.description }}\n />\n </Stack>\n </DialogContent>\n <DialogActions sx={{ justifyContent: 'flex-start' }}>\n <Stack spacing={1} width=\"100%\">\n <Stack spacing={1}>\n {eventProduct.eventProductVariants.map((variant) => {\n const draftQty = draftQuantities[variant.id] ?? 0;\n const maxAvailable = getMaxAvailable(variant);\n const isAddDisabled = isVariantDisabled(variant) || maxAvailable <= 0;\n const isAnotherSelected =\n canAddOnlyOneAtATime &&\n Object.keys(draftQuantities).length > 0 &&\n !draftQuantities[variant.id];\n return (\n <Stack\n key={variant.id}\n direction=\"row\"\n spacing={1}\n alignItems=\"center\"\n width=\"100%\"\n >\n <Box\n sx={{\n minWidth: 64,\n maxWidth: 64,\n height: 36,\n borderRadius: 1,\n border: 1,\n borderColor: 'divider',\n bgcolor: 'background.paper',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <Typography variant=\"body2\" fontWeight={600}>\n {variant.productVariant.value}\n </Typography>\n </Box>\n {draftQty > 0 ? (\n <Box\n sx={{\n flex: 1,\n display: 'grid',\n gridTemplateColumns: canAddOnlyOneAtATime\n ? 'repeat(2, minmax(0, 1fr))'\n : 'repeat(3, minmax(0, 1fr))',\n gap: 1,\n alignItems: 'center',\n }}\n >\n <Button\n variant=\"outlined\"\n onClick={() => handleRemoveQuantity(variant)}\n aria-label={t('components.product_variant_dialog.decrease_quantity')}\n disabled={draftQty < 1}\n sx={{\n minWidth: 0,\n height: 36,\n borderRadius: 1,\n fontWeight: 700,\n borderColor: 'grey.300',\n color: 'text.primary',\n }}\n >\n -\n </Button>\n <Typography\n sx={{\n minWidth: 0,\n height: 36,\n borderRadius: 1,\n border: 1,\n borderColor: 'divider',\n boxSizing: 'border-box',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n fontWeight: 700,\n color: 'text.primary',\n }}\n >\n {draftQty}\n </Typography>\n {!canAddOnlyOneAtATime && (\n <Button\n variant=\"contained\"\n onClick={() => handleAddQuantity(variant)}\n aria-label={t('components.product_variant_dialog.increase_quantity')}\n disabled={draftQty >= 10 || draftQty >= maxAvailable}\n sx={{ minWidth: 0, height: 36, borderRadius: 1, fontWeight: 700 }}\n >\n +\n </Button>\n )}\n </Box>\n ) : (\n <Button\n variant=\"contained\"\n onClick={() => handleAddQuantity(variant)}\n disabled={isOnlyMerchandise ? false : isAddDisabled || isAnotherSelected}\n sx={{\n flex: 1,\n height: 36,\n borderRadius: 1,\n fontWeight: 700,\n textTransform: 'none',\n }}\n >\n {t('add')}\n </Button>\n )}\n\n <Typography variant=\"body2\">\n {variant.priceWithVat > 0\n ? fCurrency(variant.priceWithVat, lang, eventProduct.product.currency)\n : t('free')}\n </Typography>\n </Stack>\n );\n })}\n </Stack>\n <Stack\n direction=\"row\"\n spacing={1}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n width=\"100%\"\n >\n <Typography variant=\"body2\">{t('form.labels.total')}</Typography>\n <Typography variant=\"body2\" fontWeight={600}>\n {fCurrency(totalDraftPrice, lang, eventProduct.product.currency)}\n </Typography>\n </Stack>\n <Stack direction=\"row\" spacing={1} justifyContent=\"flex-end\" width=\"100%\">\n {hasSelectedVariants && !canAddOnlyOneAtATime && (\n <Button variant=\"outlined\" color=\"error\" onClick={handleRemoveProduct}>\n {t('remove')}\n </Button>\n )}\n {onClose && (\n <Button\n onClick={onClose}\n sx={{\n border: 1,\n color: 'inherit',\n borderColor: (theme) => theme.palette.grey[300],\n }}\n >\n {t('cancel')}\n </Button>\n )}\n <Button variant=\"contained\" onClick={handleOnAdd} disabled={!hasDraftSelection}>\n {t('confirm')}\n </Button>\n </Stack>\n </Stack>\n </DialogActions>\n </Dialog>\n );\n};\n\nexport default ProductVariantsDialog;\n"],"names":["useGlobal","useState","useWatch","useEffect","useMemo","Dialog","DialogTitle","DialogContent","Stack","Image","Typography","DialogActions","Box","Button","fCurrency"],"mappings":"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"}
@@ -6,6 +6,11 @@ var material = require('@mui/material');
6
6
  const OverviewCard = styles.styled(material.Card)(({ theme, stickyHeaderTop }) => ({
7
7
  position: 'sticky',
8
8
  top: stickyHeaderTop,
9
+ borderRadius: theme.spacing(2),
10
+ [theme.breakpoints.down('sm')]: {
11
+ borderRadius: theme.spacing(1),
12
+ boxShadow: 'none',
13
+ },
9
14
  }));
10
15
  const ShippingMethodItem = styles.styled(material.Box, {
11
16
  shouldForwardProp: (prop) => prop !== 'active' && prop !== 'hasError',