{"version":3,"file":"js/1906.js","mappings":"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","sources":["webpack:///./resources/js/apis/GalleryApi.js","webpack:///./resources/js/components/base/BackToTop.jsx","webpack:///./resources/js/components/base/TabNav.jsx","webpack:///./resources/js/components/pages/gallery/ImageGalleryModal.jsx","webpack:///./resources/js/components/pages/gallery/Gallery.jsx","webpack:///./resources/js/components/pages/gallery/ImageGalleryPage.jsx"],"sourcesContent":["import axios from \"axios\";\n\nclass GalleryApi {\n constructor() {\n this.api = axios.create({\n baseURL: `/ES/gallery/`,\n headers: {},\n });\n }\n\n async getGalleryItems(medium = \"images\", cat = \"\", size = 10, from = 0) {\n return this.api.post(medium, { cat, size, from });\n }\n\n async getVideo(slug) {\n return this.api.get(`videos/${slug}`);\n }\n}\n\nexport default GalleryApi;\n","import InlineSVG from \"react-inlinesvg\";\nimport {useRef, useEffect} from \"react\";\nimport {css} from \"@emotion/react\";\n\nconst BackToTop = () => {\n\n const buttonRef = useRef();\n\n useEffect(()=>{\n\n const scrollCheck = () => {\n if(buttonRef.current){\n if(window.scrollY > window.innerHeight){\n buttonRef.current.classList.add('active')\n } else {\n buttonRef.current.classList.remove('active')\n }\n }\n }\n\n window.addEventListener('scroll', scrollCheck);\n return ()=>window.removeEventListener('scroll', scrollCheck);\n\n }, [])\n\n const buttonStyle = css(`\n position: fixed;\n bottom: 20px;\n right: 20px;\n background: none;\n border: none;\n display:none;\n opacity: 0;\n transition: opacity .5s;\n \n &.active{\n display:block;\n opacity: 1;\n }\n \n `)\n\n const scrollToTop = () => {\n window.scrollTo(0, 0);\n }\n\n return (\n \n )\n}\n\nexport default BackToTop","import PropTypes from \"prop-types\";\nimport { css, useTheme } from \"@emotion/react\";\nimport {ButtonPill} from \"@/base/index\";\n\nconst TabNav = ({ tabs, activeTab, changeHandler }) => {\n\n const theme = useTheme();\n\n const styleMobileCatChooser = css(`\n padding: 1rem;\n width: 100%;\n select {\n outline:none;\n min-width: 100%;\n width: 100%;\n text-indent:.3em;\n padding: 1rem;\n background: #448DA4;\n color: #fff;\n\n // Remove default select appearance for cross-browser consistency & force in a little down arrow thingy.\n -moz-appearance: none; \n -webkit-appearance: none; \n appearance: none;\n background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhciIgZGF0YS1pY29uPSJhbmdsZS1kb3duIiByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyMCA1MTIiIGNsYXNzPSJzdmctaW5saW5lLS1mYSBmYS1hbmdsZS1kb3duIGZhLXctMTAgZmEtM3giPjxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0xNTEuNSAzNDcuOEwzLjUgMjAxYy00LjctNC43LTQuNy0xMi4zIDAtMTdsMTkuOC0xOS44YzQuNy00LjcgMTIuMy00LjcgMTcgMEwxNjAgMjgyLjdsMTE5LjctMTE4LjVjNC43LTQuNyAxMi4zLTQuNyAxNyAwbDE5LjggMTkuOGM0LjcgNC43IDQuNyAxMi4zIDAgMTdsLTE0OCAxNDYuOGMtNC43IDQuNy0xMi4zIDQuNy0xNyAweiIgY2xhc3M9IiI+PC9wYXRoPjwvc3ZnPg==');\n background-repeat: no-repeat;\n background-position: calc(100% - 2rem) center;\n background-size: 1rem;\n }\n @media (min-width: ${theme.mobileNavBp}px) {\n display:none;\n }\n `);\n\n const styleDesktopCatChooser = css(`\n display: none;\n cursor: pointer;\n \n > div {\n display: flex;\n justify-content: center;\n align-items: center;\n &.active, &:hover {\n color: #000;\n border-bottom: 2px solid #448DA4;\n }\n > div {\n padding: 1rem;\n }\n }\n @media (min-width: ${theme.mobileNavBp}px) {\n display: flex;\n width: 100%;\n padding: 2rem 1rem;\n justify-content: center;\n > div{\n flex: 1 1 auto;\n }\n }\n `);\n\n\n const renderMobileCatNav = () => (\n
\n \n
\n );\n\n const renderCatNav = () => (\n
\n {tabs.map((_tab, tabIndex) => (\n \n changeHandler(ev, _tab.title || _tab.label)}\n active={activeTab === _tab.title || activeTab === _tab.label}>\n {_tab.title || _tab.label}\n \n \n ))}\n
\n );\n\n\n return (\n <>\n {renderMobileCatNav()}\n {renderCatNav()}\n \n );\n};\n\n\nTabNav.propTypes = {\n tabs: PropTypes.array,\n activeTab: PropTypes.string,\n changeHandler: PropTypes.func\n};\n\nexport default TabNav;\n","import PropTypes from \"prop-types\";\nimport { useEffect } from \"react\";\nimport { css } from \"@emotion/react\";\nimport { em } from \"@util/convertUnits\";\nimport useBreakpoints from \"@util/breakpoints\";\nimport { useTheme } from \"@emotion/react\";\nimport { Link } from \"react-router-dom\";\nimport { buttonClick } from \"@util/buttonClick\";\nimport InlineSVG from \"react-inlinesvg\";\nimport {galleryLinks} from \"../../../util/constants\";\nimport CmsImageLoader from \"../../base/CmsImageLoader\"\n\n\nconst ImageGalleryModal = ({\n isOpen,\n setIsOpen,\n selectedImage,\n setSelectedImage,\n images,\n renderLoadMoreBtn,\n}) => {\n\n const theme = useTheme();\n\n const styleOverlay = css(`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: rgba(0,0,0,0.7);\n backdrop-filter: blur(5px);\n z-index: 9997;\n `);\n\n const styleModal = css(`\n position: fixed;\n background: white;\n z-index: 9998;\n // overflow-y: auto;\n \n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n \n @media (min-width: ${em(theme.breakpoint.sm, 16)}) {\n top: 20px;\n right: 20px;\n bottom: 20px;\n left: 20px;\n }\n \n @media (min-width: ${em(theme.breakpoint.md, 16)}) {\n top: 50px;\n right: 50px;\n bottom: 50px;\n left: 50px;\n }\n `);\n\n const contentWrapper = {\n display: 'flex',\n flexDirection: 'column',\n height: '100%'\n }\n\n const styleCloseBtn = css(`\n display: block;\n position: absolute;\n top: 20px;\n right: 20px;\n `);\n\n const styleModalHero = css(`\n position: relative;\n flex-grow: 1;\n img {\n position: absolute;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n `);\n\n const bannerText = css(`\n position: absolute;\n bottom: 20px;\n left: 20px;\n right: 0;\n width: calc(100% - 40px);\n border-radius: 3px;\n background: rgba(255,255,255, 0.75);\n padding: 20px 15px;\n \n @media (min-width: ${em(theme.breakpoint.sm, 16)}) {\n min-width: 360px;\n width: auto;\n bottom: 40px;\n left: 40px;\n }\n \n > div {\n margin-bottom: 0;\n color: #000;\n \n }\n `)\n\n const styleModalGutter = useBreakpoints([theme.breakpoint.md, theme.breakpoint.lg])({\n position: 'relative',\n maxHeight: '200px',\n width: '100%',\n overflowX: 'auto',\n });\n\n const titleRow = css(`\n margin-bottom: 5px;\n `)\n\n const styleModalOtherImages = css(`\n display: flex;\n flex-direction: row;\n flex-wrap: none;\n overflow-x: auto;\n justify-content: center;\n > div{\n position: relative;\n width: 70px;\n min-width: 70px;\n height: 70px;\n margin-right: 15px;\n border: 2px solid rgba(0,0,0,0);\n \n &.active{\n border: 2px solid black;\n }\n \n &.btn{\n min-width: 145px;\n }\n\n img{\n position: absolute;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n \n \n `);\n\n const moreBtn = css(`\n a {\n text-decoration: underline;\n span{\n margin-left: 5px;\n }\n }\n `);\n\n useEffect(() => {\n window.addEventListener('keydown', handleNextPrevImage);\n return () => {\n window.removeEventListener('keydown', handleNextPrevImage);\n }\n })\n\n const handleCloseModal = () => setIsOpen(false);\n\n const handleNextPrevImage = (ev, skip) => {\n\n if (ev.type !== 'keydown' && !skip) {\n return null;\n }\n if (ev.code === 'ArrowLeft') {\n const i = images.findIndex(img => img._id === selectedImage._id);\n if (i > 0) {\n setSelectedImage(images[i - 1]);\n }\n }\n if (ev.code === 'ArrowRight') {\n const i = images.findIndex(img => img._id === selectedImage._id);\n if (i < images.length - 1) {\n setSelectedImage(images[i + 1]);\n }\n }\n }\n\n const handleChooseImage = (ev, image) => {\n if (ev.type === 'keydown') { // Handle keyboard selection\n if (ev.code !== 'Space' && ev.code !== 'Enter') {\n return null;\n }\n ev.preventDefault();\n }\n setSelectedImage(image);\n }\n\n const renderSelectedImage = () => {\n if (Object.keys(selectedImage).length === 0) {\n return null;\n }\n // const imageWidth = window.innerWidth > 600 ? '1024' : '575';\n const imageURl = selectedImage.cdn_paths.find(img => img.key === \"original\").value;\n return \n };\n\n const renderImageDetail = () => {\n\n let imageStyle = selectedImage[\"Product Style\"]?.[0];\n let LCStyle = selectedImage.grouped_tags?.find(tag=>tag.includes('Product Style'));\n if(LCStyle) imageStyle = LCStyle.replace('Product Style/','');\n\n let imageMaterial = selectedImage.Material?.[0];\n let LCMaterial = selectedImage.grouped_tags?.find(tag=>tag.includes('LC:Material'));\n if(LCMaterial) imageMaterial = LCMaterial.replace('LC:Material/','');\n\n let styleObject = imageStyle ? galleryLinks.find(style => style.key.indexOf(imageStyle.toLowerCase()) !== -1) : null;\n\n let headerText = ``; // valid but hopefully never used default header text.\n let cta = null; // valid but hopefully never used default. This value is rendered (nulls are ok)\n\n // It's possible there is no accepted style tag applied to this asset. This check and arrangement\n // makes sure that causes an odd-looking modal instead of just crashing the page.\n if (styleObject) {\n headerText = `${styleObject.name}`;\n let materialObject = styleObject.materials.find(material => material.name === imageMaterial);\n // It's possible for the material to not be defined, this handles it as best it can.\n if (materialObject) {\n headerText = `${styleObject.name} | ${materialObject.alias || materialObject.name}`;\n cta = (\n

\n \n \n About this product\n \n

\n )\n }\n }\n\n return (\n
\n
\n {headerText}\n
\n {cta}\n
\n )\n };\n\n const renderOtherImages = () => (\n
\n {images.map(image => {\n const imageWidth = '575';\n const imageURl = image.cdn_paths.find(img => img.key === imageWidth).value;\n\n return (\n handleChooseImage(ev, image)}\n onKeyDown={ev => handleChooseImage(ev, image)}\n role=\"button\"\n tabIndex=\"0\"\n >\n \n
\n );\n })}\n
{renderLoadMoreBtn()}
\n \n );\n\n const arrowButton = css(`\n position: absolute;\n top: 50%;\n transform: translateY(-50%) scale(0.75);\n background: none;\n border: none;\n @media (min-width: ${em(theme.breakpoint.md, 16)}) {\n transform: translateY(-50%);\n }\n `)\n\n const nextArrow = useBreakpoints([theme.breakpoint.md])({\n right: ['10px', '40px']\n })\n\n const backArrow = useBreakpoints([theme.breakpoint.md])({\n left: ['10px', '40px']\n })\n\n return isOpen && (\n <>\n \n\n
\n\n
\n\n
\n {renderSelectedImage()}\n
\n {renderImageDetail()}\n
\n \n \n
\n\n \n \n
\n\n
\n\n {renderOtherImages()}\n\n
\n\n
\n\n\n \n \n );\n};\n\nImageGalleryModal.propTypes = {\n isOpen: PropTypes.bool,\n setIsOpen: PropTypes.func,\n selectedImage: PropTypes.object,\n setSelectedImage: PropTypes.func,\n category: PropTypes.string,\n images: PropTypes.array,\n renderLoadMoreBtn: PropTypes.func,\n};\n\nexport default ImageGalleryModal;","import PropTypes from \"prop-types\";\nimport { useEffect, useState, useContext, useCallback, useLayoutEffect, useRef } from \"react\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport { useTheme, css } from \"@emotion/react\";\nimport GalleryApi from \"@apis/GalleryApi\";\nimport { em } from \"@util/convertUnits\";\nimport ImageModal from './ImageGalleryModal';\nimport TabNav from \"../../base/TabNav\";\nimport { ButtonPill } from \"../../base\";\nimport { NavContext } from \"@/core/providers/NavProvider\";\nimport BackToTop from \"@/base/BackToTop\";\nimport HelmetBuilder from \"@/base/HelmetBuilder\";\nimport CmsImageLoader from \"@/base/CmsImageLoader\";\n\nconst PAGINATION_SIZE = 8;\nconst FETCH_SIZE = 1000;\n\nconst GalleryPage = ({ medium = \"images\", categories = [], category = \"\" }) => {\n const history = useHistory();\n const [items, setItems] = useState([]);\n const [isOpenModal, setIsOpenModal] = useState(false);\n const [selectedItem, setSelectedItem] = useState({});\n const [paginationTotalItemCount, setPaginationTotalItemCount] = useState(0);\n const [showCount, setShowCount] = useState(PAGINATION_SIZE);\n const [paginationFrom, setPaginationFrom] = useState(0);\n const [helmetEl, setHelmetEl] = useState();\n\n const { stickyMenu } = useContext(NavContext);\n // eslint-disable-next-line no-unused-vars\n const [subNav, setSubNav] = stickyMenu;\n const nav = useRef();\n const spacer = useRef();\n const categoryRef = useRef();\n\n const theme = useTheme();\n const fontTheme = theme.header.fontFamily;\n\n const loadMoreStyles = css`\n border: solid black 1px;\n font-family: ${fontTheme};\n color: black;\n background-color: #fff;\n min-width: 10em;\n min-height: 2em;\n `;\n\n const videoLinkTitle = css`\n text-decoration: none;\n `;\n\n const rootContainerCss = css`\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n `;\n\n const videoWrapper = css`\n width: 100%;\n @media (min-width: ${em(theme.breakpoint.ns, 16)}) {\n width: 50%;\n }\n @media (min-width: ${em(theme.breakpoint.lg, 16)}) {\n width: 25%;\n }\n @media (min-width: ${em(theme.breakpoint.xl, 16)}) {\n width: 20%;\n }\n border: 1rem solid #fff;\n > .aspect {\n display: block;\n width: 100%;\n height: 0;\n padding-top: 56.25%;\n background-size: cover;\n background-position: center center;\n }\n `;\n\n const imageWrapper = css`\n overflow: hidden;\n width: 100%;\n height: calc(100vw * 0.5625);\n background-size: cover;\n background-position: center center;\n border: 1rem solid white;\n cursor: pointer;\n @media (min-width: ${em(theme.breakpoint.ns, 16)}) {\n width: 50%;\n height: calc(100vw * 0.28125);\n }\n img {\n object-fit: cover;\n width: 100%;\n height: 100%;\n transform: scale(1);\n transition: transform 0.5s;\n &:hover {\n transform: scale(1.2);\n }\n }\n `;\n\n const imageOffScreenHackForAOS = css`\n position: absolute;\n top: -200%;\n `;\n\n const imageOnScreenHackForAOS = css`\n position: relative;\n top: 0;\n `;\n\n const videoTitleStyles = css`\n font-family: ${fontTheme};\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 1em;\n margin-top: 1em;\n text-align: center;\n background-color: #fff;\n `;\n\n const gridContainer = css`\n position: relative;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n display: flex;\n width: 100%;\n height: auto;\n margin-bottom: 4.8rem;\n @media (min-width: ${em(theme.breakpoint.ns, 16)}) {\n text-align: left;\n flex-direction: row;\n flex-wrap: wrap;\n }\n `;\n\n useLayoutEffect(() => {\n const update = () => {\n if (nav.current && spacer.current) {\n spacer.current.style.height = `${nav.current.offsetHeight}px`;\n }\n };\n\n setTimeout(update, 100);\n window.addEventListener(\"resize\", update);\n\n return () => {\n window.removeEventListener(\"resize\", update);\n };\n }, []);\n\n useEffect(() => {\n window.prerenderReady = false;\n }, []);\n\n useEffect(() => {\n // Debugging logs for pagination\n // console.log(\"Effect triggered: showCount\", showCount, \"paginationFrom\", paginationFrom);\n\n window.prerenderReady = false;\n\n categoryRef.current = category === 'V2' ? 'V2 Videos' : category;\n\n new GalleryApi()\n .getGalleryItems(medium, categoryRef.current, FETCH_SIZE, paginationFrom)\n .then(res => {\n const total = res.data.hits.total;\n setPaginationTotalItemCount(total || 0);\n\n const hits = res.data.hits.hits;\n // console.log(\"check order of hits:\", hits); // Inspect the order of items\n const newItems = hits.map(h => ({ ...h._source, _id: h._id })).sort((a, b) => new Date(b.created_at) - new Date(a.created_at)); // Sort by created date\n\n // Check for duplicate items\n setItems(oldItems => {\n const allItems = [...oldItems, ...newItems];\n const uniqueItems = Array.from(new Map(allItems.map(item => [item._id, item])).values());\n return uniqueItems;\n });\n\n buildMeta(newItems);\n window.prerenderReady = true;\n })\n .catch(console.error);\n }, [category, medium, buildMeta, paginationFrom]);\n\n const handleChooseCat = useCallback((ev, newCat = '') => {\n // Handle select change\n if (ev.type === 'change') {\n newCat = ev.target.value;\n }\n // Handle keyboard selection\n if (ev.type === 'keydown') {\n if (ev.code !== 'Space' && ev.code !== 'Enter') {\n return null;\n }\n ev.preventDefault();\n }\n // Ignore if this category is already active\n if (newCat === category) {\n return null;\n }\n setItems([]);\n setPaginationFrom(0);\n setShowCount(PAGINATION_SIZE);\n if (medium === 'images') {\n history.push(`/image-gallery/category/${newCat}`);\n } else if (medium === 'videos') {\n history.push(`/video-gallery/category/${newCat}`);\n }\n }, [history, medium, category]);\n\n const handleOpenImageModal = (ev, image) => {\n // if (window.innerWidth < theme.breakpoint.sm) { // Disable modal for mobile width\n // return null;\n // }\n if (ev.type === 'keydown') {\n if (ev.code !== 'Space' && ev.code !== 'Enter') {\n return null;\n }\n ev.preventDefault();\n }\n setIsOpenModal(true);\n setSelectedItem(image);\n };\n\n const handleLoadMore = (ev) => {\n if (ev.type === 'keydown') {\n if (ev.code !== 'Space' && ev.code !== 'Enter') {\n return null;\n }\n ev.preventDefault();\n }\n\n setPaginationFrom(prevFrom => {\n const newFrom = prevFrom + PAGINATION_SIZE;\n // Debugging log for pagination update\n // console.log(\"Updated paginationFrom:\", newFrom);\n return newFrom;\n });\n\n setShowCount(prevCount => {\n const newCount = prevCount + PAGINATION_SIZE;\n // Debugging log for showCount update\n // console.log(\"Updated showCount:\", newCount);\n return newCount;\n });\n };\n\n const buildMeta = useCallback((newItems) => {\n let data = {\n title: (categories.metaTitle || `${category} ${medium === 'videos' ? 'Video' : 'Image'} Gallery`) + \" | LaCantina Doors\",\n description: categories.metaDescription || `A collection of informative and educational ${medium} about LaCantina products, particularly our ${category.toLowerCase()} doors.`,\n schemaOrg: {\n \"@type\": `${medium === 'videos' ? 'VideoGallery' : 'ImageGallery'}`,\n }\n };\n\n let topFive = newItems.slice(0, 5).map(item => {\n let object = {\n \"@type\": `${medium === 'videos' ? 'VideoObject' : 'ImageObject'}`,\n \"name\": item.title,\n \"uploadDate\": item.created_at\n };\n\n if (medium === 'videos') {\n const embedMap = {\n eko: `https://video.eko.com/v/${item.video_id}/embed`,\n vimeo: `https://player.vimeo.com/video/${item.video_id}`,\n youtube: `https://www.youtube.com/embed/${item.video_id}`,\n vzaar: `https://view.vzaar.com/${item.video_id}/player`,\n raw_url: item.video_id\n };\n\n object.description = item.description;\n object.embedUrl = embedMap[item.video_platform];\n object.contentUrl = embedMap[item.video_platform];\n object.thumbnailUrl = item.thumbnail_url;\n } else {\n object.caption = item.description;\n object.url = item.cdn_paths[0].value;\n object.contentUrl = item.cdn_paths[0].value;\n // last index is \"original\", one before is smallest saved version (typically 120)\n object.thumbnailUrl = item.cdn_paths[item.cdn_paths.length - 2].value;\n }\n\n return object;\n });\n\n data.schemaOrg[medium === 'videos' ? 'video' : 'image'] = topFive;\n\n setHelmetEl();\n }, [categories, category, medium]);\n\n const renderGallery = () => (\n <>\n {/* Meta / Schema will be unique to each gallery */}\n {helmetEl}\n
\n {medium === 'images' && items.map((item, index) => renderImage(item, index))}\n {medium === 'videos' && items.map((item, index) => renderVideo(item, index))}\n
\n \n );\n\n useEffect(() => {\n // Also AOS hack...\n setTimeout(() => {\n window.AOS.refreshHard();\n }, 100);\n }, [showCount]);\n\n const renderImage = (image, index) => (\n handleOpenImageModal(ev, image)}\n onKeyDown={ev => handleOpenImageModal(ev, image)}\n role=\"button\"\n tabIndex=\"0\"\n // AOS Hack to stop detecting on screen of empty divs\n css={[imageWrapper, (showCount > index ? imageOnScreenHackForAOS : imageOffScreenHackForAOS)]}\n style={{ display: showCount > index ? 'block' : 'none' }}\n >\n \n \n );\n\n const renderVideo = (video) => {\n const linkTo = {\n pathname: `/video-gallery/${video.slug}`,\n state: { category: category },\n };\n return (\n
\n \n \n
{video.title}
\n \n
\n );\n };\n\n const renderLoadMoreBtn = () => (\n /* Display \"Load More\" btn only if more items are available */\n (paginationFrom + PAGINATION_SIZE) < paginationTotalItemCount && (\n \n Load More\n \n )\n );\n\n useEffect(() => {\n const subNavComponent = (\n \n \n \n );\n setSubNav(subNavComponent);\n return () => setSubNav(null);\n }, [setSubNav, categories, category, handleChooseCat]);\n\n return (\n
\n
\n {renderGallery()}\n {renderLoadMoreBtn()}\n {medium === 'images' &&\n \n }\n \n
\n );\n};\n\nGalleryPage.propTypes = {\n medium: PropTypes.oneOf(['images', 'videos']),\n categories: PropTypes.array,\n category: PropTypes.string\n};\n\nexport default GalleryPage;\n","import { useParams } from \"react-router-dom\";\nimport Gallery from \"./Gallery\";\nimport {Helmet} from \"react-helmet-async\";\n\nconst categories = [\n {\n title: \"Residential\",\n description: 'Homes featuring LaCantina’s innovative and comprehensive range of doors systems. All door systems offer the same signature doors profiles to provide a perfect match for a complete door system.',\n img_url: \"https://s3.us-east-2.amazonaws.com/cmd-jeld-wen/assets/images/original/684595596.jpg\"\n },\n {\n title: \"Development-Multi-Family\",\n description: 'Development and multi-family homes featuring LaCantina’s innovative and comprehensive range of doors systems. All door systems offer the same signature doors profiles to provide a perfect match for a complete door system.',\n img_url: \"https://cmd-jeld-wen.s3.us-east-2.amazonaws.com/assets/images/original/3745505124.jpg?1630445339680\"\n },\n {\n title: \"Restaurant-Retail\",\n description: 'Restaurant and retail buildings featuring LaCantina’s innovative and comprehensive range of doors systems. All door systems offer the same signature doors profiles to provide a perfect match for a complete door system.',\n img_url: \"https://cmd-jeld-wen.s3.us-east-2.amazonaws.com/assets/images/original/1897175418.jpg\"\n },\n {\n title: \"Resort-Hotel\",\n description: 'Resort and hotel buildings featuring LaCantina’s innovative and comprehensive range of doors systems. All door systems offer the same signature doors profiles to provide a perfect match for a complete door system.',\n img_url: \"https://s3.us-east-2.amazonaws.com/cmd-jeld-wen/assets/images/original/2800199559.jpg\"\n },\n {\n title: \"Education-Office\",\n description: 'Education and office buildings featuring LaCantina’s innovative and comprehensive range of doors systems. All door systems offer the same signature doors profiles to provide a perfect match for a complete door system.',\n img_url: \"https://s3.us-east-2.amazonaws.com/cmd-jeld-wen/assets/images/original/2554048151.jpg\"\n },\n];\n\nconst DEFAULT_CAT = \"Residential\";\n\nconst ImageGalleryPage = () => {\n const { category } = useParams();\n\n const buildMeta = () => {\n\n let title = \"Image Gallery | LaCantina Doors\";\n let description = 'High quality, innovative bifold, accordion, multi slide, swing and sliding doors and windows from LaCantina create an indoor/outdoor experience offering unmatched performance & value with energy efficiency';\n let keywords = 'BiFold Doors, Accordion, Folding Glass, Multi Slide, Swing Doors & Windows!';\n let canonical = window.location.href;\n\n return (\n \n {title}\n \n \n \n \n )\n }\n\n return (\n <>\n {buildMeta()}\n \n );\n}\n\nexport default ImageGalleryPage;\n"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_defineProperties","_toPropertyKey","key","toPrimitive","String","Number","_toPrimitive","GalleryApi","_classCallCheck","this","api","axios","baseURL","headers","_getGalleryItems","_callee","medium","cat","size","from","_args","_context","undefined","post","_getVideo","_callee2","slug","_context2","get","concat","_x","buttonRef","useRef","useEffect","scrollCheck","current","window","scrollY","innerHeight","classList","add","remove","addEventListener","removeEventListener","buttonStyle","css","_jsx","ref","onClick","scrollTo","children","InlineSVG","src","TabNav","_ref","tabs","activeTab","changeHandler","theme","useTheme","styleMobileCatChooser","mobileNavBp","styleDesktopCatChooser","_jsxs","_Fragment","onChange","ev","map","_tab","title","label","tabIndex","ButtonPill","buttonTheme","active","propTypes","PropTypes","ImageGalleryModal","isOpen","setIsOpen","selectedImage","setSelectedImage","images","renderLoadMoreBtn","styleOverlay","styleModal","em","breakpoint","sm","md","styleCloseBtn","styleModalHero","bannerText","styleModalGutter","useBreakpoints","lg","position","maxHeight","width","overflowX","titleRow","styleModalOtherImages","moreBtn","handleNextPrevImage","handleCloseModal","skip","code","findIndex","img","_id","handleChooseImage","image","preventDefault","arrowButton","nextArrow","right","backArrow","left","onKeyPress","buttonClick","role","display","flexDirection","height","imageURl","cdn_paths","find","CmsImageLoader","url","alt","alt_text","renderSelectedImage","_selectedImage$Produc","_selectedImage$groupe","_selectedImage$Materi","_selectedImage$groupe2","imageStyle","LCStyle","grouped_tags","tag","includes","replace","imageMaterial","Material","LCMaterial","styleObject","galleryLinks","style","indexOf","toLowerCase","headerText","cta","materialObject","materials","material","alias","className","Link","to","renderImageDetail","onKeyDown","loading","category","styles","_ref2","_ref3","_ref4","GalleryPage","_ref5","_ref5$medium","_ref5$categories","categories","_ref5$category","history","useHistory","_useState2","_slicedToArray","useState","items","setItems","_useState4","isOpenModal","setIsOpenModal","_useState6","selectedItem","setSelectedItem","_useState8","paginationTotalItemCount","setPaginationTotalItemCount","_useState10","showCount","setShowCount","_useState12","paginationFrom","setPaginationFrom","_useState14","helmetEl","setHelmetEl","_stickyMenu","useContext","NavContext","stickyMenu","setSubNav","nav","spacer","categoryRef","fontTheme","header","fontFamily","loadMoreStyles","videoLinkTitle","rootContainerCss","videoWrapper","ns","xl","imageWrapper","imageOffScreenHackForAOS","imageOnScreenHackForAOS","videoTitleStyles","gridContainer","useLayoutEffect","update","offsetHeight","setTimeout","prerenderReady","getGalleryItems","res","total","data","hits","newItems","_objectSpread","_source","sort","b","Date","created_at","oldItems","allItems","_toConsumableArray","Array","Map","item","buildMeta","console","error","handleChooseCat","useCallback","newCat","target","handleOpenImageModal","handleLoadMore","prevFrom","prevCount","metaTitle","description","metaDescription","schemaOrg","topFive","object","embedMap","eko","video_id","vimeo","youtube","vzaar","raw_url","embedUrl","video_platform","contentUrl","thumbnailUrl","thumbnail_url","caption","HelmetBuilder","preview","AOS","refreshHard","renderImage","index","renderVideo","video","linkTo","pathname","state","backgroundImage","subNavComponent","ImageModal","BackToTop","img_url","canonical","useParams","location","href","Helmet","content","rel","Gallery"],"sourceRoot":""}