{"version":3,"file":"js/901.478a1db80671830a.js","mappings":"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","sources":["webpack://@sazka/web/./js/app/shared/design-system/photogallery-lightbox/options.ts","webpack://@sazka/web/./js/app/shared/design-system/photogallery-lightbox/create-custom-gallery-element.ts","webpack://@sazka/web/./js/app/shared/design-system/photogallery-lightbox/_ds-photogallery-lightbox.ts","webpack://@sazka/web/../../libs/utils/document-ready.ts"],"sourcesContent":["import { type PreparedPhotoSwipeOptions } from \"photoswipe\";\r\n\r\nexport const options: Partial<PreparedPhotoSwipeOptions> = {\r\n    gallery: \"#pswp-gallery-container\",\r\n\r\n    // Elements within gallery (slides)\r\n    children: \".pswp-gallery__item\",\r\n\r\n    zoom: false,\r\n    arrowPrev: false,\r\n    arrowNext: false,\r\n    close: false,\r\n    counter: false,\r\n\r\n    showHideAnimationType: \"none\",\r\n\r\n    paddingFn: (viewportSize: { x: number; y: number }) => {\r\n        const viewPortHeightBreakpoint = 600;\r\n\r\n        const paddingX = viewportSize.y <= viewPortHeightBreakpoint ? 50 : 32;\r\n        // if viewport height is less than 600px, use less padding on top than botttom\r\n        const paddingTop = viewportSize.y <= viewPortHeightBreakpoint ? 50 : 150;\r\n        const paddingBottom = viewportSize.y <= viewPortHeightBreakpoint ? 100 : 150;\r\n\r\n        return { top: paddingTop, bottom: paddingBottom, left: paddingX, right: paddingX };\r\n    },\r\n\r\n    // setup PhotoSwipe Core dynamic import\r\n    pswpModule: () => import(\"photoswipe\"),\r\n};\r\n","import { type SlideData } from \"photoswipe\";\r\n\r\nexport const createCustomGalleryElement = (data: SlideData, close: () => void) => {\r\n    const originalSrc = data.src;\r\n    const webpSrc = data.msrc;\r\n\r\n    const pictureElement = document.createElement(\"picture\");\r\n\r\n    const sourceWebp = document.createElement(\"source\");\r\n    sourceWebp.srcset = webpSrc;\r\n    sourceWebp.type = \"image/webp\";\r\n\r\n    const sourceJpg = document.createElement(\"source\");\r\n    sourceJpg.srcset = originalSrc;\r\n    sourceJpg.type = \"image/jpeg\";\r\n\r\n    const imgElement = document.createElement(\"img\");\r\n    imgElement.src = originalSrc;\r\n    imgElement.setAttribute(\"alt\", data.alt);\r\n    imgElement.className = \"pswp__img\";\r\n\r\n    pictureElement.appendChild(sourceWebp);\r\n    pictureElement.appendChild(sourceJpg);\r\n    pictureElement.appendChild(imgElement);\r\n\r\n    const tittle = data.element.querySelector(\".pswp-gallery__image-title\")?.innerHTML || \"\";\r\n    const captionElement = document.createElement(\"figcaption\");\r\n    captionElement.className = \"pswp__caption\";\r\n    captionElement.innerHTML = tittle;\r\n\r\n    const svgElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\r\n    svgElement.setAttribute(\"viewBox\", \"0 0 24 24\");\r\n    svgElement.setAttribute(\"width\", \"24\");\r\n    svgElement.setAttribute(\"height\", \"24\");\r\n    svgElement.innerHTML =\r\n        '<path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M3.293 3.293a1 1 0 0 1 1.414 0L12 10.586l7.293-7.293a1 1 0 1 1 1.414 1.414L13.414 12l7.293 7.293a1 1 0 0 1-1.414 1.414L12 13.414l-7.293 7.293a1 1 0 0 1-1.414-1.414L10.586 12 3.293 4.707a1 1 0 0 1 0-1.414Z\" clip-rule=\"evenodd\"/>';\r\n\r\n    const closeElement = document.createElement(\"div\");\r\n    closeElement.className = \"pswp__custom-button ds-icon\";\r\n    closeElement.setAttribute(\"title\", \"Close (Esc)\");\r\n    closeElement.setAttribute(\"aria-label\", \"Close (Esc)\");\r\n    closeElement.appendChild(svgElement);\r\n    closeElement.addEventListener(\"click\", close);\r\n\r\n    const figureElement = document.createElement(\"figure\");\r\n    figureElement.className = \"pswp__img-wrap\";\r\n    figureElement.appendChild(pictureElement);\r\n    figureElement.appendChild(captionElement);\r\n    figureElement.appendChild(closeElement);\r\n\r\n    return figureElement;\r\n};\r\n","import { documentReady } from \"@sazka/utils/document-ready\";\r\nimport PhotoSwipeLightbox from \"photoswipe/lightbox\";\r\nimport \"photoswipe/style.css\";\r\nimport { options } from \"./options\";\r\nimport { createCustomGalleryElement } from \"./create-custom-gallery-element\";\r\n\r\ndocumentReady(() => {\r\n    const imageAnchors = document.querySelectorAll(\"#pswp-gallery-container a\");\r\n\r\n    if (!imageAnchors.length) return;\r\n    const lightbox = new PhotoSwipeLightbox(options);\r\n\r\n    const setAnchorAttributes = (anchor: Element, img: HTMLImageElement) => {\r\n        anchor.setAttribute(\"data-pswp-width\", img.naturalWidth.toString());\r\n        anchor.setAttribute(\"data-pswp-height\", img.naturalHeight.toString());\r\n    };\r\n\r\n    // set correct data-pswp-width and data-pswp-height attributes on anchor tags\r\n    imageAnchors.forEach((anchor) => {\r\n        const img = anchor.querySelector(\"img\");\r\n\r\n        if (!img) {\r\n            return;\r\n        }\r\n\r\n        if (img.complete && img.naturalWidth > 0 && img.naturalHeight > 0) {\r\n            setAnchorAttributes(anchor, img);\r\n        }\r\n\r\n        img.onload = () => {\r\n            setAnchorAttributes(anchor, img);\r\n        };\r\n    });\r\n\r\n    // use custom content for lightbox\r\n    lightbox.on(\"contentLoad\", (e) => {\r\n        e.preventDefault();\r\n        const { content } = e;\r\n\r\n        if (!content?.data) return;\r\n\r\n        const close = () => lightbox.pswp.close();\r\n\r\n        const figureElement = createCustomGalleryElement(content.data, close);\r\n\r\n        content.element = figureElement as HTMLDivElement;\r\n    });\r\n\r\n    lightbox.on(\"contentAppend\", (e) => {\r\n        const { content } = e;\r\n        if (content.pictureElement && !content.pictureElement.parentNode) {\r\n            e.preventDefault();\r\n            content.slide.container.appendChild(content.pictureElement);\r\n        }\r\n    });\r\n\r\n    lightbox.on(\"contentRemove\", (e) => {\r\n        const { content } = e;\r\n        if (content?.pictureElement?.parentNode) {\r\n            e.preventDefault();\r\n            content.pictureElement.remove();\r\n        }\r\n    });\r\n\r\n    lightbox.init();\r\n});\r\n","/**\r\n * Vanila JS variant to jQuery $(() => {}).\r\n * @param {callback} callback\r\n * @example - documentReady(() => {}).\r\n * This function is binding to document.ready\r\n * */\r\nexport function documentReady(callback: () => void) {\r\n    if (document.readyState !== \"loading\") {\r\n        return callback();\r\n    } else {\r\n        document.addEventListener(\"DOMContentLoaded\", callback);\r\n    }\r\n}\r\n"],"names":["options","gallery","children","zoom","arrowPrev","arrowNext","close","counter","showHideAnimationType","paddingFn","viewportSize","viewPortHeightBreakpoint","paddingX","y","paddingTop","paddingBottom","top","bottom","left","right","pswpModule","createCustomGalleryElement","data","_data$element$querySe","originalSrc","src","webpSrc","msrc","pictureElement","document","createElement","sourceWebp","srcset","type","sourceJpg","imgElement","setAttribute","alt","className","appendChild","tittle","element","querySelector","innerHTML","captionElement","svgElement","createElementNS","closeElement","addEventListener","figureElement","documentReady","imageAnchors","querySelectorAll","length","lightbox","PhotoSwipeLightbox","setAnchorAttributes","anchor","img","naturalWidth","toString","naturalHeight","forEach","complete","onload","on","e","preventDefault","content","pswp","parentNode","slide","container","_content$pictureEleme","remove","init","callback","readyState"],"sourceRoot":""}