{"version":3,"file":"js/component-page-404.chunk.js","mappings":"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","sources":["webpack:///./assets/common/src/components/utils/Lazyimg.tsx","webpack:///./assets/stone/src/components/common/Page404.tsx","webpack:///./assets/stone/src/hooks/useMediaQueries.tsx","webpack:///./assets/stone/src/ui/image/Image.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React from 'react';\nconst Lazyimg = (props) => {\n return (React.createElement(\"img\", { src: \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\", \"data-src\": props.src, \"data-srcset\": props.srcset, className: classNames('lazyload', props.className, { 'not-draggable': !props.draggable }), alt: props.alt, width: props === null || props === void 0 ? void 0 : props.width, height: props === null || props === void 0 ? void 0 : props.height, draggable: props.draggable, \"aria-hidden\": (props === null || props === void 0 ? void 0 : props.ariaHidden) ? true : false, \"data-sizes\": props.dataSizes }));\n};\nexport default Lazyimg;\n","import useMediaQueries from '@stone/hooks/useMediaQueries';\nimport Image from '@stone/ui/image/Image';\nimport React from 'react';\nimport '@stone/scss/pages/page404/_page-404.scss';\nconst Page404 = (props) => {\n const links = JSON.parse(props.links);\n const { isDesktop } = useMediaQueries();\n return (React.createElement(React.Fragment, null,\n props.image && (React.createElement(\"div\", { className: \"page-404-image\" },\n React.createElement(Image, { src: props.image, srcMobile: props === null || props === void 0 ? void 0 : props.imageMobile, alt: props.altImage }))),\n React.createElement(\"div\", { className: \"page-404-content container\" },\n React.createElement(\"div\", { className: \"row\" },\n React.createElement(\"div\", { className: \"col-lg-1\" },\n React.createElement(\"p\", { className: \"font__title\" }, \"404\")),\n isDesktop && (React.createElement(\"div\", { className: \"col-lg-4 col-xxl-3\" },\n React.createElement(\"h2\", { className: \"font__title \" }, props.title))),\n React.createElement(\"div\", { className: \"col-lg-8 col-xxl-5\" },\n React.createElement(\"h3\", { className: \"font__title page-404-content__title\" }, props.subtitle),\n React.createElement(\"p\", { className: \"page-404-content__description\" }, props.description),\n !!(links === null || links === void 0 ? void 0 : links.length) && (React.createElement(\"ul\", { className: \"page-404-links\" }, links.map((el) => (React.createElement(\"li\", { key: el.ID },\n React.createElement(\"a\", { href: el.link, \"aria-label\": el.title_analytics, className: \"button button--tertiary inverted\", target: el.blank ? '_blank' : '' },\n React.createElement(\"span\", null, el.title)))))))),\n isDesktop && (React.createElement(\"div\", { className: \"col-lg-fill\" },\n React.createElement(\"p\", { className: \"font__title text-right\", \"aria-hidden\": \"true\" }, \"404\")))))));\n};\nexport default Page404;\n","import { throttle } from 'lodash';\nimport { useLayoutEffect, useEffect, useRef, useState } from 'react';\nconst REFLOW_CAP = 400;\nconst getInitialBreakpointValue = () => {\n // get initial breakpoint is called before the page is fully loaded and innerWith may be 0. windows.mqObj may not be set\n var _a;\n const mediaQueries = window.mqObj;\n const documentWidth = window.innerWidth || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.width);\n if (documentWidth == 0 || !mediaQueries) {\n return;\n }\n const filtered = Object.keys(mediaQueries).filter((key) => mediaQueries[key] <= documentWidth);\n const initalBr = filtered.length ? mediaQueries[filtered[filtered.length - 1]] : mediaQueries['xs'];\n // console.info('[getInitialBreakpointValue]: ', documentWidth, initalBr);\n return initalBr;\n};\nconst getReflowValue = () => {\n var _a;\n const documentHeight = window.innerHeight || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.height);\n if (documentHeight == 0) {\n return;\n }\n return documentHeight < REFLOW_CAP ? 399 : REFLOW_CAP;\n};\nconst mediaQueries = Object.assign({ ' {\n const [breakpoint, setBreakpoint] = useState(getInitialBreakpointValue());\n const [breakpointHeight, setBreakpointHeight] = useState(getReflowValue());\n const [isTouch, setIsTouch] = useState(false);\n // const [isMotionReduced, setIsMotionReduced] = useState(false);\n const firstRender = useRef(true);\n function detectTouchscreen() {\n if (window.PointerEvent && 'maxTouchPoints' in navigator) {\n // if Pointer Events are supported, just check maxTouchPoints\n if (navigator.maxTouchPoints > 0) {\n setIsTouch(true);\n }\n }\n else {\n // no Pointer Events...\n if (window.matchMedia && window.matchMedia('(any-pointer:coarse)').matches) {\n // check for any-pointer:coarse which mostly means touchscreen\n setIsTouch(true);\n }\n else if (window.TouchEvent || 'ontouchstart' in window) {\n // last resort - check for exposed touch events API / event handler\n setIsTouch(true);\n }\n }\n }\n const getCurrentBreakpoint = () => {\n var _a;\n const documentWidth = window.innerWidth || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.width);\n if (documentWidth == 0) {\n return;\n }\n const filtered = Object.keys(mediaQueries).filter((key) => mediaQueries[key] <= documentWidth);\n return mediaQueries[filtered[filtered.length - 1]];\n };\n useEffect(() => {\n if (firstRender.current) {\n // setBreakpoint(window.innerWidth);\n firstRender.current = false;\n detectTouchscreen();\n }\n }, []);\n useLayoutEffect(() => {\n const handleResize = throttle(() => {\n const currentBr = getCurrentBreakpoint();\n if (currentBr && currentBr !== breakpoint) {\n setBreakpoint(currentBr);\n }\n const currentHBr = getReflowValue();\n if (currentHBr && currentHBr !== breakpointHeight) {\n setBreakpointHeight(currentHBr);\n }\n }, 200);\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, [breakpoint, breakpointHeight]);\n return {\n //@ts-ignore disable-next-line\n isTightMobile: breakpoint <= window.mqObj.xs,\n //@ts-ignore disable-next-line\n isMobile: breakpoint < window.mqObj.lg,\n //@ts-ignore disable-next-line\n isTablet: breakpoint >= window.mqObj.sm && breakpoint < window.mqObj.lg,\n //@ts-ignore disable-next-line\n isSmallDesktop: breakpoint >= window.mqObj.md,\n //@ts-ignore disable-next-line\n isDesktop: breakpoint >= window.mqObj.lg,\n //@ts-ignore disable-next-line\n isWideDesktop: breakpoint >= window.mqObj.xxl,\n isTouch: isTouch,\n isReflow: breakpointHeight < REFLOW_CAP,\n };\n};\nexport default useMediaQueries;\n","import Lazyimg from '@components/utils/Lazyimg';\nimport useMediaQueries from '@stone/hooks/useMediaQueries';\nimport React, { useMemo } from 'react';\nconst Image = (props) => {\n const { isMobile } = useMediaQueries();\n const args = useMemo(() => {\n return {\n src: isMobile && props.srcMobile ? props.srcMobile : props.src,\n alt: props.alt || '',\n className: props.className,\n };\n }, [props, isMobile]);\n return props.avoidLazy ? React.createElement(\"img\", Object.assign({ alt: args.alt }, args, { \"aria-hidden\": props.ariaHidden })) : React.createElement(Lazyimg, Object.assign({}, args, { ariaHidden: props.ariaHidden }));\n};\nexport default Image;\n"],"names":["props","src","srcset","className","draggable","alt","width","height","ariaHidden","dataSizes","links","JSON","parse","isDesktop","image","srcMobile","imageMobile","altImage","title","subtitle","description","length","map","el","key","ID","href","link","title_analytics","target","blank","getReflowValue","_a","documentHeight","window","innerHeight","visualViewport","mediaQueries","Object","assign","mqObj","breakpoint","setBreakpoint","useState","documentWidth","innerWidth","filtered","keys","filter","getInitialBreakpointValue","breakpointHeight","setBreakpointHeight","isTouch","setIsTouch","firstRender","useRef","useEffect","current","PointerEvent","navigator","maxTouchPoints","matchMedia","matches","TouchEvent","useLayoutEffect","handleResize","throttle","currentBr","getCurrentBreakpoint","currentHBr","addEventListener","removeEventListener","isTightMobile","xs","isMobile","lg","isTablet","sm","isSmallDesktop","md","isWideDesktop","xxl","isReflow","args","useMemo","avoidLazy"],"sourceRoot":""}