{"version":3,"file":"static/chunks/3750.677f6c1c42ca24e5.js","mappings":"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","sources":["webpack://_N_E/./components/AnchorLink/AnchorLink.js","webpack://_N_E/./components/AnchorLink/index.js","webpack://_N_E/./components/Icon/index.js","webpack://_N_E/./components/ImageCaption/ImageCaption.js","webpack://_N_E/./components/ImageCaption/index.js","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryPager/ImageGalleryPager.js","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryPager/index.js","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryThumbnail/ImageGalleryThumbnail.js","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryThumbnail/index.js","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryResponsiveFullscreenImage/ImageGalleryResponsiveFullscreenImage.js","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryResponsiveFullscreenImage/index.js","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryFullscreenCaption/ImageGalleryFullscreenCaption.js","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryFullscreenCaption/index.js","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryFullscreenButton/ImageGalleryFullscreenButton.js","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryFullscreenButton/index.js","webpack://_N_E/./components/ImageGallery/state.js","webpack://_N_E/./components/ImageGallery/ImageGallery.js","webpack://_N_E/./components/ImageGallery/index.js","webpack://_N_E/./components/Modal/Modal.js","webpack://_N_E/./components/Modal/index.js","webpack://_N_E/./utils/debounce.js","webpack://_N_E/./components/AnchorLink/AnchorLink.module.scss","webpack://_N_E/./components/ImageCaption/ImageCaption.module.scss","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryFullscreenButton/ImageGalleryFullscreenButton.module.scss","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryFullscreenCaption/ImageGalleryFullscreenCaption.module.scss","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryPager/ImageGalleryPager.module.scss","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryResponsiveFullscreenImage/ImageGalleryResponsiveFullscreenImage.module.scss","webpack://_N_E/./components/ImageGallery/Components/ImageGalleryThumbnail/ImageGalleryThumbnail.module.scss","webpack://_N_E/./components/ImageGallery/ImageGallery.module.scss","webpack://_N_E/./components/Modal/Modal.module.scss"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport s from './AnchorLink.module.scss';\n\nconst AnchorLink = ({ children, title, id, className = '' }) => {\n if (!id) {\n return <span>{title || children}</span>;\n }\n\n const classes = classNames(s['Root'], 'Anchor', {\n [`${className}`]: className,\n });\n return (\n <a className={classes} href={`#${id}`} id={id}>\n <span>{title || children}</span>\n </a>\n );\n};\n\nAnchorLink.propTypes = {\n title: PropTypes.string,\n id: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default AnchorLink;\n","import AnchorLink from './AnchorLink';\n\nexport default AnchorLink;\n","import dynamic from 'next/dynamic';\n\nconst IconArrow = dynamic(() => import('./IconArrow'));\nconst IconFullscreen = dynamic(() => import('./IconFullscreen'));\nconst IconShareMail = dynamic(() => import('./IconShareMail'));\nconst SocialFB = dynamic(() => import('./SocialFB'));\nconst SocialTmpMessenger = dynamic(() => import('./SocialTmpMessenger'));\n\nconst icons = {\n IconArrow,\n IconFullscreen,\n IconShareMail,\n SocialFB,\n SocialTmpMessenger,\n};\n\nconst Icon = ({ className, name }) => {\n const SVG = icons[name];\n if (!SVG) {\n throw Exception(`Icon '${name}' was not found.`);\n }\n return (\n <span className={className}>\n <SVG />\n </span>\n );\n};\n\nexport default Icon;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useTranslation } from 'next-i18next';\nimport styles from './ImageCaption.module.scss';\n\nconst ImageCaption = ({\n id = 'image-0',\n caption = '',\n title = '',\n credits = '',\n modifiers = [],\n}) => {\n const { t } = useTranslation('common');\n const [isOpen, setIsOpen] = useState(false);\n const toggleOpen = (e) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n };\n\n // Prevent unintentional image focus on Safari\n // on button click\n const onMouseDown = (e) => {\n e.preventDefault();\n };\n\n const classes = classNames(\n styles['ImageCaption'],\n { [styles['ImageCaption--Open']]: isOpen },\n modifiers\n );\n\n return (\n <div className={classes}>\n <div id={id} className={styles['ImageCaption__Wrap']}>\n {title && (\n <div className={styles['ImageCaption__Title']}>{title}</div>\n )}\n {caption && (\n <div className={styles['ImageCaption__Caption']}>\n {caption}\n </div>\n )}\n {credits && (\n <div className={styles['ImageCaption__Credits']}>\n {t('imageCaption.photo')} {credits}\n </div>\n )}\n </div>\n <button\n aria-controls={id}\n aria-expanded={isOpen}\n className={styles['ImageCaption__Button']}\n onClick={toggleOpen}\n onMouseDown={onMouseDown}>\n <span className=\"sr-only\">\n {isOpen ? t('imageCaption.close') : t('imageCaption.open')}\n </span>\n {!isOpen && (\n <span\n className={styles['ImageCaption__Icon']}\n aria-hidden={true}>\n i\n </span>\n )}\n </button>\n </div>\n );\n};\n\nImageCaption.propTypes = {\n title: PropTypes.string,\n caption: PropTypes.node,\n credits: PropTypes.node,\n modifiers: PropTypes.array,\n id: PropTypes.string,\n};\n\nexport default ImageCaption;\n","import ImageCaption from './ImageCaption';\n\nexport default ImageCaption;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './ImageGalleryPager.module.scss';\n\nconst ImageGalleryPager = ({\n current,\n total,\n modifiers,\n untranslatedModifiers,\n}) => {\n const pagerClasses = classNames(\n styles['ImageGalleryPager'],\n modifiers,\n untranslatedModifiers.map((x) => styles[x])\n );\n\n return (\n <div className={pagerClasses}>\n <div className={styles['ImageGalleryPager__CurrentPage']}>\n {current} / {total}\n </div>\n </div>\n );\n};\n\nImageGalleryPager.propTypes = {\n current: PropTypes.node.isRequired,\n total: PropTypes.node.isRequired,\n modifiers: PropTypes.string.isRequired,\n untranslatedModifiers: PropTypes.arrayOf(PropTypes.string),\n};\n\nImageGalleryPager.defaultProps = {\n current: 0,\n total: 0,\n modifiers: '',\n untranslatedModifiers: [],\n};\n\nexport default ImageGalleryPager;\n","import ImageGalleryPager from './ImageGalleryPager';\n\nexport default ImageGalleryPager;\n","import React, {\n useCallback,\n useRef,\n useImperativeHandle,\n forwardRef,\n} from 'react';\n\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { useTranslation } from 'next-i18next';\nimport useMediaQuery from '../../../../utils/useMediaQuery';\nimport debounce from '../../../../utils/debounce';\n\nimport ImageCaption from '../../../ImageCaption';\nimport { ImageDescription } from '../../../ImageGallery';\nimport BackgroundImage from '../../../BackgroundImage';\n\nimport { breakpoints } from '../../../../constants';\n\nimport styles from './ImageGalleryThumbnail.module.scss';\n\nconst ImageGalleryThumbnail = forwardRef(\n ({ image, active, onImageSelect, onFullscreenToggle }, ref) => {\n const thumbRef = useRef(null);\n\n // add capability for parent components to scroll\n // this particular image into view\n useImperativeHandle(\n ref,\n () => ({\n imageId: image.id,\n scrollThumbIntoView: debounce(\n () => {\n if (image.index === 1 || !thumbRef.current) {\n return;\n }\n\n thumbRef.current.scrollIntoView({\n inline: 'center',\n behavior: 'smooth',\n });\n },\n 200,\n false\n ),\n }),\n [image.id, image.index]\n );\n\n const isMobile = useMediaQuery({\n query: `(max-width: ${breakpoints.sm}px)`,\n });\n\n const isResponsive = useMediaQuery({\n query: `(min-width: ${breakpoints.s}px) and (max-width: ${breakpoints.l}px)`,\n });\n\n const isDesktop = useMediaQuery({\n query: `(min-width: ${breakpoints.l}px)`,\n });\n\n const handleImageSelect = useCallback(\n (e) => {\n onImageSelect(e, image);\n\n if (isResponsive) {\n onFullscreenToggle();\n }\n },\n [image, isResponsive, onFullscreenToggle, onImageSelect]\n );\n\n const handleImageSelectKeyPress = useCallback(\n (e) => {\n e.preventDefault();\n\n if (e.key !== ' ' && e.key !== 'Enter') {\n return;\n }\n\n handleImageSelect(e);\n },\n [handleImageSelect]\n );\n\n const { t } = useTranslation('common');\n\n const wrapperLargeAttrs = {\n tabIndex: isMobile ? -1 : 0,\n role: 'button',\n 'aria-label': `${t('imagegallery.showimage')} ${image.index}`,\n onClick: handleImageSelect,\n onKeyPress: handleImageSelectKeyPress,\n };\n\n const thumbClasses = classNames(styles['ImageGalleryThumbnail'], {\n [styles['ImageGalleryThumbnail--Active']]: active,\n });\n\n const thumbContainerClasses = classNames(\n styles['ImageGalleryThumbnail__Container'],\n `ImageGalleryThumbnail__Container--${image.index}`,\n {\n [styles['ImageGalleryThumbnail__Container--Portrait']]:\n image.portrait,\n }\n );\n\n const sizes = '(max-width: 1280px) 50vw, 128px';\n\n return (\n <div\n className={thumbClasses}\n {...(isResponsive || isDesktop ? wrapperLargeAttrs : [])}\n ref={thumbRef}>\n <div className={thumbContainerClasses}>\n <div className={styles['ImageGalleryThumbnail__Image']}>\n <BackgroundImage\n {...image}\n quality={40}\n sizes={sizes}\n />\n </div>\n\n {!isDesktop && (\n <ImageCaption\n id={`image-${image.id}`}\n caption={\n <ImageDescription\n title={image.title}\n credits={image.credits}\n />\n }\n />\n )}\n </div>\n </div>\n );\n }\n);\nImageGalleryThumbnail.displayName = 'ImageGalleryThumbnail';\n\nImageGalleryThumbnail.propTypes = {\n image: PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired,\n index: PropTypes.number.isRequired,\n title: PropTypes.string,\n credits: PropTypes.string,\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n alt: PropTypes.string,\n portrait: PropTypes.bool,\n }).isRequired,\n active: PropTypes.bool,\n onImageSelect: PropTypes.func.isRequired,\n onFullscreenToggle: PropTypes.func.isRequired,\n};\n\nImageGalleryThumbnail.defaultProps = {\n active: false,\n onImageSelect: () => {},\n onFullscreenToggle: () => {},\n};\n\nexport default ImageGalleryThumbnail;\n","import ImageGalleryThumbnail from './ImageGalleryThumbnail';\n\nexport default ImageGalleryThumbnail;\n","import React, { forwardRef, useRef, useImperativeHandle } from 'react';\n\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport BackgroundImage from '../../../BackgroundImage';\n\nimport styles from './ImageGalleryResponsiveFullscreenImage.module.scss';\n\nconst ImageGalleryResponsiveFullscreenImage = forwardRef(\n ({ image, children }, ref) => {\n const thumbRef = useRef(null);\n\n // add capability for parent components to scroll\n // this particular image into view\n useImperativeHandle(\n ref,\n () => ({\n imageId: image.id,\n scrollThumbIntoView: () => {\n if (image.index === 1) {\n return;\n }\n\n thumbRef.current.scrollIntoView({\n inline: 'center',\n behavior: 'smooth',\n });\n },\n }),\n [image.id, image.index]\n );\n\n const containerClasses = classNames(\n styles['ImageGalleryResponsiveFullscreenImage__Container'],\n `ImageGalleryResponsiveFullscreenImage__Container--${image.index}`,\n {\n [styles[\n 'ImageGalleryResponsiveFullscreenImage__Container--Portrait'\n ]]: image.portrait,\n }\n );\n\n return (\n <div className={styles['ImageGalleryResponsiveFullscreenImage']}>\n <div className={containerClasses}>\n <BackgroundImage {...image} quality={60} />\n </div>\n <span\n className={\n styles[\n 'ImageGalleryResponsiveFullscreenImage__ScrollAnchor'\n ]\n }\n ref={thumbRef}></span>\n {children}\n </div>\n );\n }\n);\nImageGalleryResponsiveFullscreenImage.displayName =\n 'ImageGalleryResponsiveFullscreenImage';\n\nImageGalleryResponsiveFullscreenImage.propTypes = {\n image: PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired,\n index: PropTypes.number.isRequired,\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n alt: PropTypes.string,\n // portrait: PropTypes.bool.isRequired,\n }).isRequired,\n children: PropTypes.node,\n};\n\nexport default ImageGalleryResponsiveFullscreenImage;\n","import ImageGalleryResponsiveFullscreenImage from './ImageGalleryResponsiveFullscreenImage';\n\nexport default ImageGalleryResponsiveFullscreenImage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './ImageGalleryFullscreenCaption.module.scss';\n\nconst ImageGalleryFullscreenCaption = ({\n image,\n isActive,\n totalImageCount,\n}) => {\n const caption = image.alt;\n const current = image.index;\n\n const infoClasses = classNames(styles['ImageGalleryFullscreenCaption'], {\n [styles['ImageGalleryFullscreenCaption--Hidden']]: !isActive,\n });\n\n return (\n <div className={infoClasses}>\n <span className={styles['ImageGalleryFullscreenCaption__Caption']}>\n {caption}\n </span>\n <span className={styles['ImageGalleryFullscreenCaption__Pager']}>\n {current} / {totalImageCount}\n </span>\n </div>\n );\n};\n\nImageGalleryFullscreenCaption.propTypes = {\n image: PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired,\n index: PropTypes.number.isRequired,\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n alt: PropTypes.string,\n portrait: PropTypes.bool,\n }).isRequired,\n isActive: PropTypes.bool.isRequired,\n totalImageCount: PropTypes.number.isRequired,\n};\n\nImageGalleryFullscreenCaption.defaultProps = {\n isActive: true,\n};\n\nexport default ImageGalleryFullscreenCaption;\n","import ImageGalleryFullscreenCaption from './ImageGalleryFullscreenCaption';\n\nexport default ImageGalleryFullscreenCaption;\n","import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'next-i18next';\nimport Icon from '../../../Icon';\n\nimport styles from './ImageGalleryFullscreenButton.module.scss';\n\nconst ImageGalleryFullscreenButton = ({ onClick }) => {\n const { t } = useTranslation('common');\n return (\n <div className={styles['ImageGalleryFullscreenButton']}>\n <button\n className={styles['ImageGalleryFullscreenButton__Button']}\n title={t('imagegallery.showfullscreen')}\n aria-label={t('imagegallery.showfullscreen')}\n onClick={onClick}>\n <Icon name=\"IconFullscreen\" />\n <span className=\"sr-only\">\n {t('imagegallery.showfullscreen')}\n </span>\n </button>\n </div>\n );\n};\n\nImageGalleryFullscreenButton.propTypes = {\n onClick: PropTypes.func.isRequired,\n};\n\nexport default ImageGalleryFullscreenButton;\n","import ImageGalleryFullscreenButton from './ImageGalleryFullscreenButton';\n\nexport default ImageGalleryFullscreenButton;\n","import { createContext, useReducer } from 'react';\n\nconst LocalStateContext = createContext(null);\n\nconst useLocalStateContext = (images) => {\n const [state, dispatch] = useReducer(imageGalleryReducer, {\n selectedImage: images[0],\n selectedImageIndex: 1,\n\n displayThumbIndex: '',\n displayMultiThumbIndex: '',\n visibleThumbIdxs: [],\n lastVisibleThumbIdx: 1,\n\n isFullscreen: false,\n });\n\n const handleImageInViewChange = (visible, image) => {\n if (visible) {\n dispatch({\n type: 'ADD_VISIBLE_THUMB_INDEX',\n payload: { index: image.index },\n });\n } else {\n dispatch({\n type: 'REMOVE_VISIBLE_THUMB_INDEX',\n payload: { index: image.index },\n });\n }\n };\n\n const handleImageSelect = (e, image) => {\n e.stopPropagation();\n dispatch({\n type: 'SET_SELECTED_IMAGE',\n payload: {\n item: image,\n },\n });\n };\n\n const handleFullscreenToggle = () => {\n dispatch({ type: 'TOGGLE_FULLSCREEN' });\n };\n\n const context = {\n state,\n handleImageInViewChange,\n handleImageSelect,\n handleFullscreenToggle,\n };\n\n return context;\n};\n\nconst imageGalleryReducer = (state, action) => {\n switch (action.type) {\n case 'SET_SELECTED_IMAGE': {\n return {\n ...state,\n selectedImageIndex: action.payload.item.index,\n selectedImage: action.payload.item,\n };\n }\n\n case 'TOGGLE_FULLSCREEN': {\n return {\n ...state,\n isFullscreen: !state.isFullscreen,\n };\n }\n\n case 'ADD_VISIBLE_THUMB_INDEX': {\n const visibleThumbIdxs = [\n ...state.visibleThumbIdxs,\n action.payload.index,\n ].sort();\n\n const displayThumbIndex = getVisibleThumbsIndex(\n visibleThumbIdxs,\n state.lastVisibleThumbIdx\n );\n const displayMultiThumbIndex = getVisibleThumbsIndex(\n visibleThumbIdxs,\n state.lastVisibleThumbIdx,\n false\n );\n\n return {\n ...state,\n visibleThumbIdxs,\n displayThumbIndex,\n displayMultiThumbIndex,\n };\n }\n\n case 'REMOVE_VISIBLE_THUMB_INDEX': {\n const lastVisibleThumbIdx = action.payload.index;\n const visibleThumbIdxs = state.visibleThumbIdxs\n .filter((i) => i !== action.payload.index)\n .sort();\n\n const displayThumbIndex = getVisibleThumbsIndex(\n visibleThumbIdxs,\n lastVisibleThumbIdx\n );\n const displayMultiThumbIndex = getVisibleThumbsIndex(\n visibleThumbIdxs,\n lastVisibleThumbIdx,\n false\n );\n\n return {\n ...state,\n visibleThumbIdxs,\n lastVisibleThumbIdx,\n displayThumbIndex,\n displayMultiThumbIndex,\n };\n }\n\n default:\n throw new Error(`Unknown action: ${action.type}`);\n }\n};\n\nconst getVisibleThumbsIndex = (\n visibleThumbIdxs,\n lastVisibleThumbIdx,\n singleIndex = true\n) => {\n // edge case where we seem to have no index (happens on certain breaks when scrolling)\n if (visibleThumbIdxs.length === 0) {\n return lastVisibleThumbIdx;\n }\n\n // only one visible thumb\n if (visibleThumbIdxs.length === 1) {\n return visibleThumbIdxs[0];\n }\n\n // multiple visible thumbs, determine one index based on scroll direction\n if (visibleThumbIdxs.length > 1 && singleIndex) {\n const first = visibleThumbIdxs[visibleThumbIdxs.length - 1];\n const second = visibleThumbIdxs[0];\n const last = lastVisibleThumbIdx;\n\n if (first - last > 0) {\n // scrolling right\n return first;\n } else {\n // scrolling left\n return second;\n }\n }\n\n // multiple visible thumbs, return an index range\n if (visibleThumbIdxs.length > 1 && !singleIndex) {\n let [first, second] = [visibleThumbIdxs[0], visibleThumbIdxs.slice(-1)];\n\n return first === second ? first : [first, second].join('-');\n }\n\n return 0;\n};\n\nexport { useLocalStateContext, LocalStateContext };\n","import React, { useEffect, useRef, useContext, useCallback } from 'react';\n\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport useMediaQuery from '../../utils/useMediaQuery';\nimport isEmpty from '../../utils/isEmpty';\n\nimport VisibilitySensor from 'react-visibility-sensor';\n\nimport BackgroundImage from '../BackgroundImage';\nimport ImageCaption from '../ImageCaption';\n\nimport Modal from '../Modal';\n\nimport ImageGalleryPager from './Components/ImageGalleryPager';\nimport ImageGalleryThumbnail from './Components/ImageGalleryThumbnail';\nimport ImageGalleryResponsiveFullscreenImage from './Components/ImageGalleryResponsiveFullscreenImage';\n\nimport ImageGalleryFullscreenCaption from './Components/ImageGalleryFullscreenCaption';\nimport ImageGalleryFullscreenButton from './Components/ImageGalleryFullscreenButton';\n\nimport { serializeImage } from '../../utils/SerializeImage';\nimport { breakpoints } from '../../constants';\nimport { useLocalStateContext, LocalStateContext } from './state';\nimport { useTranslation } from 'next-i18next';\n\nimport styles from './ImageGallery.module.scss';\nimport AnchorLink from '../AnchorLink';\n\nconst ImageGallery = ({ heading, anchorLink, images }) => {\n const serializedImages = images.map((item, i) => ({\n ...serializeImage(item.image, 'true'),\n id: item.image.id,\n index: i + 1,\n }));\n\n const context = useLocalStateContext(serializedImages);\n const { state, handleFullscreenToggle } = context;\n\n const isMobile = useMediaQuery({\n query: `(max-width: ${breakpoints.sm}px)`,\n });\n\n if (isEmpty(serializedImages)) {\n return null;\n }\n\n if (serializedImages.length === 1) {\n return (\n <SingleImageInlineGallery\n heading={heading}\n anchorLink={anchorLink}\n image={serializedImages[0]}\n />\n );\n }\n\n return (\n <LocalStateContext.Provider value={context}>\n <InlineGallery\n heading={heading}\n anchorLink={anchorLink}\n images={serializedImages}\n />\n <Modal\n open={state.isFullscreen && !isMobile}\n handleClose={handleFullscreenToggle}>\n <FullscreenImageGallery images={serializedImages} />\n </Modal>\n </LocalStateContext.Provider>\n );\n};\n\nImageGallery.propTypes = {\n heading: PropTypes.string,\n anchorLink: PropTypes.string,\n images: PropTypes.array,\n};\n\nImageGallery.defaultProps = {\n heading: null,\n anchorLink: '',\n images: [],\n};\n\nconst SingleImageInlineGallery = ({ heading, anchorLink, image }) => {\n return (\n <div className={styles['ImageGallery']}>\n <div className={styles['ImageGallery__Container']}>\n {heading && (\n <h5 className={styles['ImageGallery__Heading']}>\n <AnchorLink title={heading} id={anchorLink} />\n </h5>\n )}\n <div\n className={\n styles['ImageGallery__Wrapper'] +\n ' ' +\n styles['ImageGallery__Wrapper--SingleImage']\n }>\n <GalleryImage image={image} />\n <ImageCaption\n caption={\n <ImageDescription\n id={`image-${image.id}`}\n title={image.title}\n caption={image.caption}\n credits={image.credits}\n />\n }\n />\n </div>\n </div>\n </div>\n );\n};\n\nSingleImageInlineGallery.propTypes = {\n heading: PropTypes.string,\n anchorLink: PropTypes.string,\n image: PropTypes.object,\n};\n\nconst ImageDescription = ({ title, credits, caption }) => {\n const { t } = useTranslation('common');\n return (\n <div className={styles['ImageGallery__ImageDescription']}>\n <p\n className={\n styles['ImageGallery__ImageDescription__Description']\n }>\n {title}\n </p>\n {caption && (\n <p className={styles['ImageGallery__ImageDescription__Text']}>\n {caption}\n </p>\n )}\n {credits && (\n <p\n className={\n styles['ImageGallery__ImageDescription__Credits']\n }>\n {t('imagegallery.photo')}: {credits}\n </p>\n )}\n </div>\n );\n};\n\nImageDescription.propTypes = {\n title: PropTypes.string,\n credits: PropTypes.string,\n caption: PropTypes.string,\n};\n\nImageDescription.defaultProps = {\n title: '',\n caption: '',\n credits: '',\n};\n\nconst InlineGallery = ({ heading, anchorLink, images }) => {\n const { state, ...handlers } = useContext(LocalStateContext);\n\n const isDesktop = useMediaQuery({\n query: `(min-width: ${breakpoints.l}px)`,\n });\n\n const imagesToRender = !isDesktop ? images : images.slice(0, 6);\n const imagesLeft = images.length - imagesToRender.length;\n\n return (\n <div className={styles['ImageGallery']}>\n <div className={styles['ImageGallery__Container']}>\n {heading && (\n <h5 className={styles['ImageGallery__Heading']}>\n <AnchorLink title={heading} id={anchorLink} />\n </h5>\n )}\n\n <div className={styles['ImageGallery__Wrapper']}>\n <ImageGalleryPager\n untranslatedModifiers={[\n 'ImageGalleryPager--Desktop-only',\n ]}\n current={state.selectedImageIndex}\n total={images.length}\n />\n <ImageGalleryFullscreenButton\n onClick={handlers.handleFullscreenToggle}\n />\n\n <GalleryImage\n image={state.selectedImage}\n onClick={handlers.handleFullscreenToggle}\n />\n\n <ImageGalleryArrows images={images} />\n <ImageCaption\n caption={\n <ImageDescription\n title={state.selectedImage.title}\n caption={state.selectedImage.caption}\n credits={state.selectedImage.credits}\n />\n }\n />\n </div>\n\n <div className={styles['ImageGallery__Thumbnails']}>\n <ImageGalleryPager\n current={state.displayMultiThumbIndex}\n total={images.length}\n untranslatedModifiers={[\n 'ImageGalleryPager--Responsive-only',\n ]}\n />\n {imagesToRender.map((image) => (\n <VisibilitySensor\n key={image.id}\n delayedCall={true}\n scrollCheck={true}\n scrollDelay={30}\n onChange={(visible) =>\n handlers.handleImageInViewChange(visible, image)\n }>\n <ImageGalleryThumbnail\n image={image}\n onImageSelect={handlers.handleImageSelect}\n onFullscreenToggle={\n handlers.handleFullscreenToggle\n }\n />\n </VisibilitySensor>\n ))}\n {isDesktop && imagesLeft > 0 && (\n <div\n className={\n styles[\n 'ImageGallery__Thumbnails__MoreAvailable'\n ]\n }>\n +{imagesLeft}\n <span className=\"sr-only\">\n {imagesLeft} available\n </span>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nInlineGallery.propTypes = {\n heading: PropTypes.string,\n anchorLink: PropTypes.string,\n images: PropTypes.array.isRequired,\n};\n\nInlineGallery.defaultProps = {\n heading: null,\n anchorLink: null,\n};\n\nconst FullscreenImageGallery = ({ images }) => {\n const thumbRefs = useRef([]);\n const { state, ...handlers } = useContext(LocalStateContext);\n\n const isDesktop = useMediaQuery({\n query: `(min-width: ${breakpoints.l}px)`,\n });\n\n const thumbContainerClasses = classNames(\n styles['ImageGallery__Thumbnails'],\n {\n [styles['ImageGallery__Thumbnails--Fullscreen']]: !isDesktop,\n }\n );\n\n useEffect(() => {\n const timeOut = isDesktop ? 0 : 500;\n\n setTimeout(() => {\n const selectedThumbRef =\n thumbRefs.current[state.selectedImage.index - 1];\n\n if (selectedThumbRef) {\n selectedThumbRef.scrollThumbIntoView();\n }\n }, timeOut);\n }, [isDesktop, state.selectedImageIndex, state.selectedImage.index]);\n\n return (\n <div\n className={\n styles['ImageGallery'] +\n ' ' +\n styles['ImageGallery--Fullscreen']\n }>\n <div\n className={\n styles['ImageGallery__Container'] +\n ' ' +\n styles['ImageGallery__Container--Fullscreen']\n }>\n <div\n className={\n styles['ImageGallery__Wrapper'] +\n ' ' +\n styles['ImageGallery__Wrapper--Fullscreen']\n }>\n <ImageGalleryPager\n modifiers=\"ImageGalleryPager--Desktop-only\"\n current={state.selectedImageIndex}\n total={images.length}\n />\n\n <GalleryImage image={state.selectedImage} />\n\n <ImageCaption\n caption={\n <ImageDescription\n title={state.selectedImage.title}\n caption={state.selectedImage.caption}\n credits={state.selectedImage.credits}\n />\n }\n />\n {isDesktop && <ImageGalleryArrows images={images} />}\n </div>\n\n {!isDesktop && (\n <div className={styles['ImageGallery__ThumbnailsWrapper']}>\n <div className={thumbContainerClasses}>\n {images.map((image, i) => (\n <VisibilitySensor\n active={!isDesktop}\n key={image.id}\n scrollCheck={true}\n scrollDelay={30}\n onChange={(visible) =>\n handlers.handleImageInViewChange(\n visible,\n image\n )\n }>\n <ImageGalleryResponsiveFullscreenImage\n image={image}\n ref={(el) =>\n (thumbRefs.current[i] = el)\n }>\n <ImageGalleryFullscreenCaption\n image={image}\n isActive={\n state.displayThumbIndex ===\n image.index\n }\n totalImageCount={images.length}\n />\n </ImageGalleryResponsiveFullscreenImage>\n </VisibilitySensor>\n ))}\n </div>\n </div>\n )}\n </div>\n\n {isDesktop && (\n <div\n className={\n styles['ImageGallery__ThumbnailsWrapper'] +\n ' ' +\n styles['ImageGallery__ThumbnailsWrapper--Fullscreen']\n }>\n <div className={thumbContainerClasses}>\n {images.map((image, i) => (\n <VisibilitySensor\n active={!isDesktop}\n key={image.id}\n scrollCheck={true}\n scrollDelay={30}\n onChange={(visible) =>\n handlers.handleImageInViewChange(\n visible,\n image\n )\n }>\n <ImageGalleryThumbnail\n ref={(el) => (thumbRefs.current[i] = el)}\n image={image}\n onImageSelect={handlers.handleImageSelect}\n active={\n state.selectedImageIndex === image.index\n }\n />\n </VisibilitySensor>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nFullscreenImageGallery.propTypes = {\n images: PropTypes.array.isRequired,\n};\n\nconst GalleryImage = ({ image, onClick }) => {\n const imageClasses = classNames(styles['ImageGallery__Image'], {\n // [styles['ImageGallery__Image--Portrait']]: image.portrait,\n [styles['ImageGallery__Image--Clickable']]: onClick !== null,\n });\n\n const sizes = '(max-width: 1280px) 50vw, 1280px';\n\n const WrapperElement = onClick ? 'button' : 'div';\n\n return (\n <WrapperElement onClick={onClick} className={imageClasses}>\n <BackgroundImage {...image} sizes={sizes} />\n </WrapperElement>\n );\n};\n\nGalleryImage.defaultProps = {\n image: {},\n onClick: null,\n};\n\nGalleryImage.propTypes = {\n image: PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .isRequired,\n index: PropTypes.number.isRequired,\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n alt: PropTypes.string,\n title: PropTypes.string,\n focal: PropTypes.object,\n }),\n onClick: PropTypes.func,\n};\n\nconst ImageGalleryArrows = ({ images }) => {\n const { state, ...handlers } = useContext(LocalStateContext);\n\n const selectPrevImage = useCallback(\n (e) => {\n const prevImgIndex = state.selectedImageIndex - 2;\n\n if (!(prevImgIndex in images)) {\n handlers.handleImageSelect(e, images[images.length - 1]);\n return;\n }\n\n handlers.handleImageSelect(e, images[prevImgIndex]);\n },\n [state, images, handlers]\n );\n\n const selectNextImage = useCallback(\n (e) => {\n const nextImgIndex = state.selectedImageIndex;\n\n if (!(nextImgIndex in images)) {\n handlers.handleImageSelect(e, images[0]);\n return;\n }\n\n handlers.handleImageSelect(e, images[nextImgIndex]);\n },\n [state, images, handlers]\n );\n\n const handleArrowKeyPress = useCallback(\n (e) => {\n const leftArrowCode = 37;\n const rightArrowCode = 39;\n\n if (e.keyCode === leftArrowCode) {\n selectPrevImage(e);\n }\n\n if (e.keyCode === rightArrowCode) {\n selectNextImage(e);\n }\n },\n [selectPrevImage, selectNextImage]\n );\n\n useEffect(() => {\n if (state.isFullscreen) {\n document.addEventListener('keydown', handleArrowKeyPress, false);\n }\n\n return () => {\n document.removeEventListener('keydown', handleArrowKeyPress, false);\n };\n }, [handleArrowKeyPress, state.isFullscreen]);\n\n return (\n <>\n <span>\n <button\n className={styles['ImageGallery__ArrowLeft']}\n onClick={selectPrevImage}>\n <span className=\"sr-only\">Previous image</span>\n </button>\n </span>\n\n <span>\n <button\n className={styles['ImageGallery__ArrowRight']}\n onClick={selectNextImage}>\n <span className=\"sr-only\">Next image</span>\n </button>\n </span>\n </>\n );\n};\n\nImageGalleryArrows.defaultProps = {\n images: {},\n};\n\nImageGalleryArrows.propTypes = {\n images: PropTypes.array,\n};\n\nexport { ImageDescription };\nexport default ImageGallery;\n","import ImageGallery, { ImageDescription } from './ImageGallery';\n\nexport { ImageDescription };\nexport default ImageGallery;\n","import React, { useEffect, useCallback, useRef } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'next-i18next';\nconst FocusTrap = require('focus-trap-react');\n\nimport styles from './Modal.module.scss';\n\nlet noActiveModals = 0;\n\nconst useBodyPortal = () => {\n let modalRootRef = useRef(null);\n\n useEffect(() => {\n modalRootRef.current = document.createElement('div');\n\n const ref = modalRootRef.current;\n const modalRoot = document.body;\n\n modalRoot.appendChild(ref);\n\n return () => {\n ref.remove();\n };\n }, []);\n\n return modalRootRef.current;\n};\n\nconst Modal = ({\n children,\n open,\n handleClose,\n showCloseButton,\n closeLabel = '',\n}) => {\n const { t } = useTranslation('common');\n const wrapperRef = useRef(null);\n const modalContainer = useBodyPortal();\n let handleKeypress;\n\n // restore scroll pos\n useEffect(() => {\n if (!open) {\n return;\n }\n\n noActiveModals++;\n\n const origScrollPos =\n window.pageYOffset || document.documentElement.scrollTop;\n\n document.addEventListener('keydown', handleKeypress, false);\n document.body.style.overflow = 'hidden';\n\n return () => {\n // handle nested/multiple modals correctly\n noActiveModals--;\n if (noActiveModals === 0) {\n document.removeEventListener('keydown', handleKeypress, false);\n document.body.style.overflow = 'auto';\n\n window.scrollTo(0, origScrollPos);\n }\n };\n }, [open, handleKeypress]);\n\n // set focus on mount\n useEffect(() => {\n if (!open || !wrapperRef.current) {\n return;\n }\n\n wrapperRef.current.focus();\n }, [open]);\n\n handleKeypress = useCallback(\n (e) => {\n e.stopPropagation();\n\n if (e.keyCode === 27 && typeof handleClose === 'function') {\n if (\n noActiveModals < 2 ||\n wrapperRef.current.contains(document.activeElement)\n ) {\n // handle nested/multiple modals correctly\n handleClose(e);\n }\n }\n },\n [handleClose]\n );\n\n const handleOutsideClick = useCallback(\n (e) => {\n e.persist();\n e.stopPropagation();\n\n if (\n typeof handleClose === 'function' &&\n wrapperRef.current &&\n wrapperRef.current === e.target\n ) {\n handleClose(e);\n }\n },\n [handleClose]\n );\n\n if (!open || !modalContainer) {\n return null;\n }\n\n return ReactDOM.createPortal(\n <FocusTrap>\n <div className={styles['Modal']}>\n {/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */}\n <div\n role=\"dialog\"\n aria-labelledby=\"modal-title\"\n aria-modal=\"true\"\n tabIndex=\"-1\"\n ref={wrapperRef}\n className={styles['Modal__Inner']}\n onKeyPress={handleKeypress}\n onClick={handleOutsideClick}>\n {showCloseButton && (\n <button\n className={styles['Modal__CloseButton']}\n onClick={handleClose}>\n <span className=\"sr-only\">\n {closeLabel || t('modal.close')}\n </span>\n </button>\n )}\n {children}\n </div>\n </div>\n </FocusTrap>,\n modalContainer\n );\n};\n\nModal.propTypes = {\n open: PropTypes.bool.isRequired,\n children: PropTypes.node.isRequired,\n handleClose: PropTypes.func,\n showCloseButton: PropTypes.bool,\n closeLabel: PropTypes.string,\n};\n\nModal.defaultProps = {\n handleClose: () => {},\n showCloseButton: true,\n};\n\nexport default Modal;\n","import Modal from './Modal';\n\nexport default Modal;\n","const debounce = (func, wait, immediate) => {\n let timeout;\n return function () {\n const context = this;\n const args = arguments;\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n }, wait);\n if (immediate && !timeout) func.apply(context, args);\n };\n};\n\nexport default debounce;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"AnchorLink_Root__gIFSV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ImageCaption__Button\":\"ImageCaption_ImageCaption__Button__UWAW7\",\"ImageCaption__Title\":\"ImageCaption_ImageCaption__Title__2aFHN\",\"ImageCaption__Credits\":\"ImageCaption_ImageCaption__Credits__L_uFL\",\"ImageCaption__Caption\":\"ImageCaption_ImageCaption__Caption__3XnAB\",\"ImageCaption\":\"ImageCaption_ImageCaption__ROmCo\",\"ImageCaption--Open\":\"ImageCaption_ImageCaption--Open__IZHgb\",\"ImageCaption__Wrap\":\"ImageCaption_ImageCaption__Wrap__Lf_FH\",\"ImageCaption__Icon\":\"ImageCaption_ImageCaption__Icon__upX00\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ImageGalleryFullscreenButton\":\"ImageGalleryFullscreenButton_ImageGalleryFullscreenButton__KjhMM\",\"ImageGalleryFullscreenButton__Button\":\"ImageGalleryFullscreenButton_ImageGalleryFullscreenButton__Button__FkxXG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ImageGalleryFullscreenCaption__Caption\":\"ImageGalleryFullscreenCaption_ImageGalleryFullscreenCaption__Caption__42zbS\",\"ImageGalleryFullscreenCaption__Pager\":\"ImageGalleryFullscreenCaption_ImageGalleryFullscreenCaption__Pager__NLYCi\",\"ImageGalleryFullscreenCaption\":\"ImageGalleryFullscreenCaption_ImageGalleryFullscreenCaption__Q3pEJ\",\"ImageGalleryFullscreenCaption--Hidden\":\"ImageGalleryFullscreenCaption_ImageGalleryFullscreenCaption--Hidden__fD6cT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ImageGalleryPager__CurrentPage\":\"ImageGalleryPager_ImageGalleryPager__CurrentPage__kmDHq\",\"ImageGalleryPager\":\"ImageGalleryPager_ImageGalleryPager__Y6t2u\",\"ImageGalleryPager--Responsive-only\":\"ImageGalleryPager_ImageGalleryPager--Responsive-only__gPwMP\",\"ImageGalleryPager--Desktop-only\":\"ImageGalleryPager_ImageGalleryPager--Desktop-only__HVBI1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ImageGalleryResponsiveFullscreenImage\":\"ImageGalleryResponsiveFullscreenImage_ImageGalleryResponsiveFullscreenImage__bgwDV\",\"ImageGalleryResponsiveFullscreenImage__Container\":\"ImageGalleryResponsiveFullscreenImage_ImageGalleryResponsiveFullscreenImage__Container___wu6N\",\"ImageGalleryResponsiveFullscreenImage__Container--Portrait\":\"ImageGalleryResponsiveFullscreenImage_ImageGalleryResponsiveFullscreenImage__Container--Portrait__W1v0r\",\"BackgroundImage\":\"ImageGalleryResponsiveFullscreenImage_BackgroundImage__RH83m\",\"ImageGalleryResponsiveFullscreenImage__ScrollAnchor\":\"ImageGalleryResponsiveFullscreenImage_ImageGalleryResponsiveFullscreenImage__ScrollAnchor__m0f5o\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ImageGalleryThumbnail\":\"ImageGalleryThumbnail_ImageGalleryThumbnail__8U8yS\",\"ImageGalleryThumbnail--Active\":\"ImageGalleryThumbnail_ImageGalleryThumbnail--Active__AoUNn\",\"ImageGalleryThumbnail__Image\":\"ImageGalleryThumbnail_ImageGalleryThumbnail__Image__o1UIC\",\"ImageGalleryThumbnail__Container\":\"ImageGalleryThumbnail_ImageGalleryThumbnail__Container__TceCP\",\"ImageGalleryThumbnail__Container--Portrait\":\"ImageGalleryThumbnail_ImageGalleryThumbnail__Container--Portrait__Qhe7F\",\"BackgroundImage\":\"ImageGalleryThumbnail_BackgroundImage__jlq75\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ImageGallery\":\"ImageGallery_ImageGallery__tfUhI\",\"ImageGallery__Heading\":\"ImageGallery_ImageGallery__Heading__Solda\",\"ImageGallery__Thumbnails__MoreAvailable\":\"ImageGallery_ImageGallery__Thumbnails__MoreAvailable__xJGtK\",\"ImageGallery--Fullscreen\":\"ImageGallery_ImageGallery--Fullscreen__U8R47\",\"ImageGallery__Container\":\"ImageGallery_ImageGallery__Container__zEn3N\",\"ImageGallery__Container--Fullscreen\":\"ImageGallery_ImageGallery__Container--Fullscreen__VOz_e\",\"ImageGallery__Wrapper\":\"ImageGallery_ImageGallery__Wrapper__liT97\",\"ImageGallery__Wrapper--SingleImage\":\"ImageGallery_ImageGallery__Wrapper--SingleImage__UfVrJ\",\"ImageGallery__Image\":\"ImageGallery_ImageGallery__Image__CVJXm\",\"ImageGallery__Wrapper--Fullscreen\":\"ImageGallery_ImageGallery__Wrapper--Fullscreen__y2c8z\",\"ImageGallery__ArrowRight\":\"ImageGallery_ImageGallery__ArrowRight__ECQ40\",\"ImageGallery__ArrowLeft\":\"ImageGallery_ImageGallery__ArrowLeft__qnViP\",\"ImageGallery__Image--Clickable\":\"ImageGallery_ImageGallery__Image--Clickable__CuE24\",\"ImageGallery__Image--Portrait\":\"ImageGallery_ImageGallery__Image--Portrait__2pT43\",\"ImageGallery__ImageDescription\":\"ImageGallery_ImageGallery__ImageDescription__MDob0\",\"ImageGallery__ImageDescription__Description\":\"ImageGallery_ImageGallery__ImageDescription__Description__oAqUd\",\"ImageGallery__ThumbnailsWrapper--Fullscreen\":\"ImageGallery_ImageGallery__ThumbnailsWrapper--Fullscreen__Dd0rL\",\"ImageGallery__Thumbnails\":\"ImageGallery_ImageGallery__Thumbnails__j7vKM\",\"ImageGallery__ThumbnailsWrapper\":\"ImageGallery_ImageGallery__ThumbnailsWrapper__e2Ro_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Modal\":\"Modal_Modal__W1M0Z\",\"Modal__Inner\":\"Modal_Modal__Inner__tEhfH\",\"Modal__CloseButton\":\"Modal_Modal__CloseButton__mem_9\"};"],"names":["AnchorLink","children","title","id","className","param","jsx_runtime","jsx","span","classes","classNames","s","concat","a","href","propTypes","PropTypes","components_AnchorLink","IconArrow","dynamic","__webpack_require__","e","then","bind","IconFullscreen","icons","IconShareMail","SocialFB","SocialTmpMessenger","__webpack_exports__","Z","name","SVG","Exception","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","ImageCaption","caption","credits","modifiers","t","useTranslation","isOpen","setIsOpen","useState","styles","jsxs","div","button","aria-controls","aria-expanded","onClick","stopPropagation","onMouseDown","preventDefault","aria-hidden","components_ImageCaption","ImageGalleryPager","current","total","untranslatedModifiers","pagerClasses","map","x","isRequired","defaultProps","ImageGalleryThumbnail","forwardRef","ref","image","active","onImageSelect","onFullscreenToggle","thumbRef","useRef","useImperativeHandle","imageId","scrollThumbIntoView","debounce","index","scrollIntoView","inline","behavior","isMobile","useMediaQuery","query","breakpoints","sm","isResponsive","l","isDesktop","handleImageSelect","useCallback","handleImageSelectKeyPress","key","wrapperLargeAttrs","tabIndex","role","onKeyPress","thumbClasses","thumbContainerClasses","portrait","BackgroundImage","quality","sizes","ImageDescription","displayName","src","srcSet","alt","ImageGalleryResponsiveFullscreenImage","containerClasses","ImageGalleryFullscreenCaption","isActive","totalImageCount","infoClasses","ImageGalleryFullscreenButton","aria-label","Icon","LocalStateContext","createContext","useLocalStateContext","state","dispatch","useReducer","imageGalleryReducer","selectedImage","images","selectedImageIndex","displayThumbIndex","displayMultiThumbIndex","visibleThumbIdxs","lastVisibleThumbIdx","isFullscreen","handleImageInViewChange","visible","type","payload","item","handleFullscreenToggle","action","_object_spread_props","_","_object_spread","sort","getVisibleThumbsIndex","filter","i","singleIndex","length","first","second","slice","join","ImageGallery","heading","anchorLink","serializedImages","serializeImage","context","isEmpty","SingleImageInlineGallery","Provider","value","InlineGallery","Modal","open","handleClose","FullscreenImageGallery","h5","GalleryImage","p","useContext","handlers","imagesToRender","imagesLeft","ImageGalleryArrows","VisibilitySensor","delayedCall","scrollCheck","scrollDelay","onChange","thumbRefs","useEffect","setTimeout","selectedThumbRef","el","imageClasses","WrapperElement","focal","selectPrevImage","prevImgIndex","selectNextImage","nextImgIndex","handleArrowKeyPress","keyCode","document","addEventListener","removeEventListener","Fragment","components_ImageGallery","FocusTrap","require","noActiveModals","useBodyPortal","modalRootRef","createElement","modalRoot","body","appendChild","remove","handleKeypress","showCloseButton","closeLabel","wrapperRef","modalContainer","origScrollPos","window","pageYOffset","documentElement","scrollTop","style","overflow","scrollTo","focus","contains","activeElement","handleOutsideClick","persist","target","ReactDOM","aria-labelledby","aria-modal","components_Modal","func","wait","immediate","timeout","args","arguments","clearTimeout","apply","module","exports"],"sourceRoot":""}