{"version":3,"file":"chunks/ceres-client-841.min.js","mappings":"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","sources":["webpack://PuresportsTheme/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://PuresportsTheme/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://PuresportsTheme/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://PuresportsTheme/./node_modules/shop-builder-utilities/resources/js/src/app/components/item/AdvancedItemImageCarousel.vue?8373","webpack://PuresportsTheme/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://PuresportsTheme/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://PuresportsTheme/./node_modules/shop-builder-utilities/resources/js/src/app/components/item/AdvancedItemImageCarousel.vue?d6e1","webpack://PuresportsTheme/./node_modules/photoswipe/dist/photoswipe-lightbox.esm.js","webpack://PuresportsTheme/node_modules/shop-builder-utilities/resources/js/src/app/components/item/AdvancedItemImageCarousel.vue","webpack://PuresportsTheme/./node_modules/shop-builder-utilities/resources/js/src/app/components/item/AdvancedItemImageCarousel.vue?9e0d","webpack://PuresportsTheme/./node_modules/shop-builder-utilities/resources/js/src/app/components/item/AdvancedItemImageCarousel.vue?b12d","webpack://PuresportsTheme/./node_modules/shop-builder-utilities/resources/js/src/app/components/item/AdvancedItemImageCarousel.vue","webpack://PuresportsTheme/./node_modules/css-loader/dist/runtime/api.js","webpack://PuresportsTheme/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://PuresportsTheme/./node_modules/style-loader/dist/runtime/styleDomAPI.js"],"sourcesContent":["\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.BdlWmXMe77hGlAoZ6YDG[data-v-b22a3c24], .EPQvEOsriMw0qNtBYafL[data-v-b22a3c24] {\\n transition: opacity .5s;\\n}\\n.kZGu_ph8QR5Niy0GDRzD[data-v-b22a3c24], .Tmu7BRzDw4giNJneVn4C[data-v-b22a3c24] {\\n opacity: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/shop-builder-utilities/resources/js/src/app/components/item/AdvancedItemImageCarousel.vue\"],\"names\":[],\"mappings\":\";AAuTA;IACA,uBAAA;AACA;AACA;IACA,UAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"fadeEnterActive\": \"BdlWmXMe77hGlAoZ6YDG\",\n\t\"fadeLeaveActive\": \"EPQvEOsriMw0qNtBYafL\",\n\t\"fadeEnter\": \"kZGu_ph8QR5Niy0GDRzD\",\n\t\"fadeLeaveTo\": \"Tmu7BRzDw4giNJneVn4C\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"div\",\n {\n staticClass: \"position-relative\",\n attrs: { id: \"imageGallery\" + _vm.id },\n on: {\n mouseenter: function ($event) {\n _vm.interacted ? (_vm.showHint = false) : (_vm.showHint = true)\n },\n mouseleave: function ($event) {\n _vm.showHint = false\n },\n click: function ($event) {\n _vm.interacted = true\n },\n },\n },\n [\n _vm.getImageCount() > 1\n ? _c(\"div\", { staticClass: \"slider flex-column flex-lg-row-reverse\" }, [\n _c(\n \"div\",\n {\n staticClass: \"slides\",\n on: {\n scroll: function ($event) {\n _vm.interacted = true\n _vm.showHint = false\n },\n },\n },\n _vm._l(_vm.singleImages, function (image, index) {\n return _c(\n \"a\",\n {\n key: \"slide-\" + index,\n staticClass: \"slide pswp-slide\",\n attrs: {\n id: \"slide-\" + _vm.id + \"-\" + index,\n \"data-pswp-width\": image.width,\n \"data-pswp-height\": image.height,\n href: image.url + \".avif\",\n title: _vm.getImageName(image),\n itemscope: \"\",\n itemtype: \"https://schema.org/ImageObject\",\n target: \"_blank\",\n },\n },\n [\n _c(\"meta\", {\n attrs: {\n itemprop: \"name\",\n content: _vm.getImageName(image),\n },\n }),\n _vm._v(\" \"),\n _c(\"meta\", {\n attrs: {\n itemprop: \"copyrightNotice\",\n content: _vm.$translate(\n \"Ceres::Template.headerCompanyName\"\n ),\n },\n }),\n _vm._v(\" \"),\n index === 0\n ? _c(\"img\", {\n attrs: {\n alt: _vm.getAltText(image),\n height: image.height,\n sizes: _vm.imageSizes,\n src: image.urlMiddle + \".avif\",\n srcset: _vm.getImageSrcSet(image),\n width: image.width,\n fetchpriority: \"high\",\n itemprop: \"contentUrl\",\n },\n })\n : _c(\"img\", {\n attrs: {\n alt: _vm.getAltText(image),\n height: image.height,\n sizes: _vm.imageSizes,\n src: image.urlMiddle + \".avif\",\n srcset: _vm.getImageSrcSet(image),\n width: image.width,\n decoding: \"async\",\n loading: \"lazy\",\n itemprop: \"contentUrl\",\n },\n }),\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass:\n \"slide-links d-none d-md-flex flex-row flex-lg-column mr-lg-2\",\n },\n _vm._l(_vm.singleImages, function (image, index) {\n return _c(\n \"a\",\n {\n key: \"slide-link\" + index,\n attrs: { href: \"#slide-\" + _vm.id + \"-\" + index },\n on: {\n click: function ($event) {\n _vm.interacted = true\n _vm.showHint = false\n },\n },\n },\n [\n _c(\"img\", {\n attrs: {\n src: image.urlPreview + \".avif\",\n alt: _vm.getAltText(image),\n loading: \"lazy\",\n decoding: \"async\",\n width: 300,\n height: 300,\n },\n }),\n ]\n )\n }),\n 0\n ),\n ])\n : _c(\n \"a\",\n {\n key: \"0\",\n staticClass: \"pswp-slide d-block prop-1-1\",\n attrs: {\n href: _vm.singleImages[0].url + \".avif\",\n \"data-pswp-width\": _vm.singleImages[0].width,\n \"data-pswp-height\": _vm.singleImages[0].height,\n title: _vm.getImageName(_vm.image),\n itemscope: \"\",\n itemtype: \"https://schema.org/ImageObject\",\n target: \"_blank\",\n },\n },\n [\n _c(\"meta\", {\n attrs: {\n itemprop: \"name\",\n content: _vm.getImageName(_vm.singleImages[0]),\n },\n }),\n _vm._v(\" \"),\n _c(\"meta\", {\n attrs: {\n itemprop: \"copyrightNotice\",\n content: _vm.$translate(\"Ceres::Template.headerCompanyName\"),\n },\n }),\n _vm._v(\" \"),\n _c(\"img\", {\n staticClass: \"w-100 h-100 position-absolute\",\n staticStyle: { \"object-fit\": \"contain\" },\n attrs: {\n alt: _vm.getAltText(_vm.singleImages[0]),\n height: _vm.singleImages[0].height,\n sizes: _vm.imageSizes,\n src: _vm.singleImages[0].urlMiddle + \".avif\",\n srcset: _vm.getImageSrcSet(_vm.singleImages[0]),\n width: _vm.singleImages[0].width,\n fetchpriority: \"high\",\n itemprop: \"contentUrl\",\n },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\"transition\", { attrs: { name: \"fade\" } }, [\n _vm.showHint\n ? _c(\n \"div\",\n {\n staticClass:\n \"slide-hints border glass rounded-pill px-3 py-2 position-absolute d-flex no-pointer-events text-primary align-items-center\",\n },\n [\n _vm.zoomImagePath\n ? _c(\"img\", {\n staticClass: \"mx-2\",\n attrs: {\n alt: _vm.zoomTextHint,\n src: _vm.zoomImagePath,\n height: \"24\",\n width: \"24\",\n },\n })\n : _c(\"span\", {\n staticClass: \"fa-2x fa fa-plus-square-o mx-2\",\n }),\n _vm._v(\" \"),\n _c(\"span\", { class: { \"sr-only\": !_vm.showTextHint } }, [\n _vm._v(_vm._s(_vm.zoomTextHint)),\n ]),\n _vm._v(\" \"),\n _vm.getImageCount() > 1 && _vm.swipeImagePath\n ? _c(\"img\", {\n staticClass: \"mx-2\",\n attrs: {\n alt: _vm.swipeTextHint,\n src: _vm.swipeImagePath,\n height: \"24\",\n width: \"24\",\n },\n })\n : _vm.getImageCount() > 1\n ? _c(\"span\", { staticClass: \"fa-2x fa fa-arrows-h mx-2\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.getImageCount() > 1\n ? _c(\"span\", { class: { \"sr-only\": !_vm.showTextHint } }, [\n _vm._v(_vm._s(_vm.swipeTextHint)),\n ])\n : _vm._e(),\n ]\n )\n : _vm._e(),\n ]),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","/*!\n * PhotoSwipe Lightbox 5.4.4 - https://photoswipe.com\n * (c) 2024 Dmytro Semenov\n */\n/** @typedef {import('../photoswipe.js').Point} Point */\n\n/**\r\n * @template {keyof HTMLElementTagNameMap} T\r\n * @param {string} className\r\n * @param {T} tagName\r\n * @param {Node} [appendToEl]\r\n * @returns {HTMLElementTagNameMap[T]}\r\n */\nfunction createElement(className, tagName, appendToEl) {\n const el = document.createElement(tagName);\n\n if (className) {\n el.className = className;\n }\n\n if (appendToEl) {\n appendToEl.appendChild(el);\n }\n\n return el;\n}\n/**\r\n * Get transform string\r\n *\r\n * @param {number} x\r\n * @param {number} [y]\r\n * @param {number} [scale]\r\n * @returns {string}\r\n */\n\nfunction toTransformString(x, y, scale) {\n let propValue = `translate3d(${x}px,${y || 0}px,0)`;\n\n if (scale !== undefined) {\n propValue += ` scale3d(${scale},${scale},1)`;\n }\n\n return propValue;\n}\n/**\r\n * Apply width and height CSS properties to element\r\n *\r\n * @param {HTMLElement} el\r\n * @param {string | number} w\r\n * @param {string | number} h\r\n */\n\nfunction setWidthHeight(el, w, h) {\n el.style.width = typeof w === 'number' ? `${w}px` : w;\n el.style.height = typeof h === 'number' ? `${h}px` : h;\n}\n/** @typedef {LOAD_STATE[keyof LOAD_STATE]} LoadState */\n\n/** @type {{ IDLE: 'idle'; LOADING: 'loading'; LOADED: 'loaded'; ERROR: 'error' }} */\n\nconst LOAD_STATE = {\n IDLE: 'idle',\n LOADING: 'loading',\n LOADED: 'loaded',\n ERROR: 'error'\n};\n/**\r\n * Check if click or keydown event was dispatched\r\n * with a special key or via mouse wheel.\r\n *\r\n * @param {MouseEvent | KeyboardEvent} e\r\n * @returns {boolean}\r\n */\n\nfunction specialKeyUsed(e) {\n return 'button' in e && e.button === 1 || e.ctrlKey || e.metaKey || e.altKey || e.shiftKey;\n}\n/**\r\n * Parse `gallery` or `children` options.\r\n *\r\n * @param {import('../photoswipe.js').ElementProvider} [option]\r\n * @param {string} [legacySelector]\r\n * @param {HTMLElement | Document} [parent]\r\n * @returns HTMLElement[]\r\n */\n\nfunction getElementsFromOption(option, legacySelector, parent = document) {\n /** @type {HTMLElement[]} */\n let elements = [];\n\n if (option instanceof Element) {\n elements = [option];\n } else if (option instanceof NodeList || Array.isArray(option)) {\n elements = Array.from(option);\n } else {\n const selector = typeof option === 'string' ? option : legacySelector;\n\n if (selector) {\n elements = Array.from(parent.querySelectorAll(selector));\n }\n }\n\n return elements;\n}\n/**\r\n * Check if variable is PhotoSwipe class\r\n *\r\n * @param {any} fn\r\n * @returns {boolean}\r\n */\n\nfunction isPswpClass(fn) {\n return typeof fn === 'function' && fn.prototype && fn.prototype.goTo;\n}\n/**\r\n * Check if browser is Safari\r\n *\r\n * @returns {boolean}\r\n */\n\nfunction isSafari() {\n return !!(navigator.vendor && navigator.vendor.match(/apple/i));\n}\n\n/** @typedef {import('../lightbox/lightbox.js').default} PhotoSwipeLightbox */\n\n/** @typedef {import('../photoswipe.js').default} PhotoSwipe */\n\n/** @typedef {import('../photoswipe.js').PhotoSwipeOptions} PhotoSwipeOptions */\n\n/** @typedef {import('../photoswipe.js').DataSource} DataSource */\n\n/** @typedef {import('../ui/ui-element.js').UIElementData} UIElementData */\n\n/** @typedef {import('../slide/content.js').default} ContentDefault */\n\n/** @typedef {import('../slide/slide.js').default} Slide */\n\n/** @typedef {import('../slide/slide.js').SlideData} SlideData */\n\n/** @typedef {import('../slide/zoom-level.js').default} ZoomLevel */\n\n/** @typedef {import('../slide/get-thumb-bounds.js').Bounds} Bounds */\n\n/**\r\n * Allow adding an arbitrary props to the Content\r\n * https://photoswipe.com/custom-content/#using-webp-image-format\r\n * @typedef {ContentDefault & Record} Content\r\n */\n\n/** @typedef {{ x?: number; y?: number }} Point */\n\n/**\r\n * @typedef {Object} PhotoSwipeEventsMap https://photoswipe.com/events/\r\n *\r\n *\r\n * https://photoswipe.com/adding-ui-elements/\r\n *\r\n * @prop {undefined} uiRegister\r\n * @prop {{ data: UIElementData }} uiElementCreate\r\n *\r\n *\r\n * https://photoswipe.com/events/#initialization-events\r\n *\r\n * @prop {undefined} beforeOpen\r\n * @prop {undefined} firstUpdate\r\n * @prop {undefined} initialLayout\r\n * @prop {undefined} change\r\n * @prop {undefined} afterInit\r\n * @prop {undefined} bindEvents\r\n *\r\n *\r\n * https://photoswipe.com/events/#opening-or-closing-transition-events\r\n *\r\n * @prop {undefined} openingAnimationStart\r\n * @prop {undefined} openingAnimationEnd\r\n * @prop {undefined} closingAnimationStart\r\n * @prop {undefined} closingAnimationEnd\r\n *\r\n *\r\n * https://photoswipe.com/events/#closing-events\r\n *\r\n * @prop {undefined} close\r\n * @prop {undefined} destroy\r\n *\r\n *\r\n * https://photoswipe.com/events/#pointer-and-gesture-events\r\n *\r\n * @prop {{ originalEvent: PointerEvent }} pointerDown\r\n * @prop {{ originalEvent: PointerEvent }} pointerMove\r\n * @prop {{ originalEvent: PointerEvent }} pointerUp\r\n * @prop {{ bgOpacity: number }} pinchClose can be default prevented\r\n * @prop {{ panY: number }} verticalDrag can be default prevented\r\n *\r\n *\r\n * https://photoswipe.com/events/#slide-content-events\r\n *\r\n * @prop {{ content: Content }} contentInit\r\n * @prop {{ content: Content; isLazy: boolean }} contentLoad can be default prevented\r\n * @prop {{ content: Content; isLazy: boolean }} contentLoadImage can be default prevented\r\n * @prop {{ content: Content; slide: Slide; isError?: boolean }} loadComplete\r\n * @prop {{ content: Content; slide: Slide }} loadError\r\n * @prop {{ content: Content; width: number; height: number }} contentResize can be default prevented\r\n * @prop {{ content: Content; width: number; height: number; slide: Slide }} imageSizeChange\r\n * @prop {{ content: Content }} contentLazyLoad can be default prevented\r\n * @prop {{ content: Content }} contentAppend can be default prevented\r\n * @prop {{ content: Content }} contentActivate can be default prevented\r\n * @prop {{ content: Content }} contentDeactivate can be default prevented\r\n * @prop {{ content: Content }} contentRemove can be default prevented\r\n * @prop {{ content: Content }} contentDestroy can be default prevented\r\n *\r\n *\r\n * undocumented\r\n *\r\n * @prop {{ point: Point; originalEvent: PointerEvent }} imageClickAction can be default prevented\r\n * @prop {{ point: Point; originalEvent: PointerEvent }} bgClickAction can be default prevented\r\n * @prop {{ point: Point; originalEvent: PointerEvent }} tapAction can be default prevented\r\n * @prop {{ point: Point; originalEvent: PointerEvent }} doubleTapAction can be default prevented\r\n *\r\n * @prop {{ originalEvent: KeyboardEvent }} keydown can be default prevented\r\n * @prop {{ x: number; dragging: boolean }} moveMainScroll\r\n * @prop {{ slide: Slide }} firstZoomPan\r\n * @prop {{ slide: Slide | undefined, data: SlideData, index: number }} gettingData\r\n * @prop {undefined} beforeResize\r\n * @prop {undefined} resize\r\n * @prop {undefined} viewportSize\r\n * @prop {undefined} updateScrollOffset\r\n * @prop {{ slide: Slide }} slideInit\r\n * @prop {{ slide: Slide }} afterSetContent\r\n * @prop {{ slide: Slide }} slideLoad\r\n * @prop {{ slide: Slide }} appendHeavy can be default prevented\r\n * @prop {{ slide: Slide }} appendHeavyContent\r\n * @prop {{ slide: Slide }} slideActivate\r\n * @prop {{ slide: Slide }} slideDeactivate\r\n * @prop {{ slide: Slide }} slideDestroy\r\n * @prop {{ destZoomLevel: number, centerPoint: Point | undefined, transitionDuration: number | false | undefined }} beforeZoomTo\r\n * @prop {{ slide: Slide }} zoomPanUpdate\r\n * @prop {{ slide: Slide }} initialZoomPan\r\n * @prop {{ slide: Slide }} calcSlideSize\r\n * @prop {undefined} resolutionChanged\r\n * @prop {{ originalEvent: WheelEvent }} wheel can be default prevented\r\n * @prop {{ content: Content }} contentAppendImage can be default prevented\r\n * @prop {{ index: number; itemData: SlideData }} lazyLoadSlide can be default prevented\r\n * @prop {undefined} lazyLoad\r\n * @prop {{ slide: Slide }} calcBounds\r\n * @prop {{ zoomLevels: ZoomLevel, slideData: SlideData }} zoomLevelsUpdate\r\n *\r\n *\r\n * legacy\r\n *\r\n * @prop {undefined} init\r\n * @prop {undefined} initialZoomIn\r\n * @prop {undefined} initialZoomOut\r\n * @prop {undefined} initialZoomInEnd\r\n * @prop {undefined} initialZoomOutEnd\r\n * @prop {{ dataSource: DataSource | undefined, numItems: number }} numItems\r\n * @prop {{ itemData: SlideData; index: number }} itemData\r\n * @prop {{ index: number, itemData: SlideData, instance: PhotoSwipe }} thumbBounds\r\n */\n\n/**\r\n * @typedef {Object} PhotoSwipeFiltersMap https://photoswipe.com/filters/\r\n *\r\n * @prop {(numItems: number, dataSource: DataSource | undefined) => number} numItems\r\n * Modify the total amount of slides. Example on Data sources page.\r\n * https://photoswipe.com/filters/#numitems\r\n *\r\n * @prop {(itemData: SlideData, index: number) => SlideData} itemData\r\n * Modify slide item data. Example on Data sources page.\r\n * https://photoswipe.com/filters/#itemdata\r\n *\r\n * @prop {(itemData: SlideData, element: HTMLElement, linkEl: HTMLAnchorElement) => SlideData} domItemData\r\n * Modify item data when it's parsed from DOM element. Example on Data sources page.\r\n * https://photoswipe.com/filters/#domitemdata\r\n *\r\n * @prop {(clickedIndex: number, e: MouseEvent, instance: PhotoSwipeLightbox) => number} clickedIndex\r\n * Modify clicked gallery item index.\r\n * https://photoswipe.com/filters/#clickedindex\r\n *\r\n * @prop {(placeholderSrc: string | false, content: Content) => string | false} placeholderSrc\r\n * Modify placeholder image source.\r\n * https://photoswipe.com/filters/#placeholdersrc\r\n *\r\n * @prop {(isContentLoading: boolean, content: Content) => boolean} isContentLoading\r\n * Modify if the content is currently loading.\r\n * https://photoswipe.com/filters/#iscontentloading\r\n *\r\n * @prop {(isContentZoomable: boolean, content: Content) => boolean} isContentZoomable\r\n * Modify if the content can be zoomed.\r\n * https://photoswipe.com/filters/#iscontentzoomable\r\n *\r\n * @prop {(useContentPlaceholder: boolean, content: Content) => boolean} useContentPlaceholder\r\n * Modify if the placeholder should be used for the content.\r\n * https://photoswipe.com/filters/#usecontentplaceholder\r\n *\r\n * @prop {(isKeepingPlaceholder: boolean, content: Content) => boolean} isKeepingPlaceholder\r\n * Modify if the placeholder should be kept after the content is loaded.\r\n * https://photoswipe.com/filters/#iskeepingplaceholder\r\n *\r\n *\r\n * @prop {(contentErrorElement: HTMLElement, content: Content) => HTMLElement} contentErrorElement\r\n * Modify an element when the content has error state (for example, if image cannot be loaded).\r\n * https://photoswipe.com/filters/#contenterrorelement\r\n *\r\n * @prop {(element: HTMLElement, data: UIElementData) => HTMLElement} uiElement\r\n * Modify a UI element that's being created.\r\n * https://photoswipe.com/filters/#uielement\r\n *\r\n * @prop {(thumbnail: HTMLElement | null | undefined, itemData: SlideData, index: number) => HTMLElement} thumbEl\r\n * Modify the thumbnail element from which opening zoom animation starts or ends.\r\n * https://photoswipe.com/filters/#thumbel\r\n *\r\n * @prop {(thumbBounds: Bounds | undefined, itemData: SlideData, index: number) => Bounds} thumbBounds\r\n * Modify the thumbnail bounds from which opening zoom animation starts or ends.\r\n * https://photoswipe.com/filters/#thumbbounds\r\n *\r\n * @prop {(srcsetSizesWidth: number, content: Content) => number} srcsetSizesWidth\r\n *\r\n * @prop {(preventPointerEvent: boolean, event: PointerEvent, pointerType: string) => boolean} preventPointerEvent\r\n *\r\n */\n\n/**\r\n * @template {keyof PhotoSwipeFiltersMap} T\r\n * @typedef {{ fn: PhotoSwipeFiltersMap[T], priority: number }} Filter\r\n */\n\n/**\r\n * @template {keyof PhotoSwipeEventsMap} T\r\n * @typedef {PhotoSwipeEventsMap[T] extends undefined ? PhotoSwipeEvent : PhotoSwipeEvent & PhotoSwipeEventsMap[T]} AugmentedEvent\r\n */\n\n/**\r\n * @template {keyof PhotoSwipeEventsMap} T\r\n * @typedef {(event: AugmentedEvent) => void} EventCallback\r\n */\n\n/**\r\n * Base PhotoSwipe event object\r\n *\r\n * @template {keyof PhotoSwipeEventsMap} T\r\n */\nclass PhotoSwipeEvent {\n /**\r\n * @param {T} type\r\n * @param {PhotoSwipeEventsMap[T]} [details]\r\n */\n constructor(type, details) {\n this.type = type;\n this.defaultPrevented = false;\n\n if (details) {\n Object.assign(this, details);\n }\n }\n\n preventDefault() {\n this.defaultPrevented = true;\n }\n\n}\n/**\r\n * PhotoSwipe base class that can listen and dispatch for events.\r\n * Shared by PhotoSwipe Core and PhotoSwipe Lightbox, extended by base.js\r\n */\n\n\nclass Eventable {\n constructor() {\n /**\r\n * @type {{ [T in keyof PhotoSwipeEventsMap]?: ((event: AugmentedEvent) => void)[] }}\r\n */\n this._listeners = {};\n /**\r\n * @type {{ [T in keyof PhotoSwipeFiltersMap]?: Filter[] }}\r\n */\n\n this._filters = {};\n /** @type {PhotoSwipe | undefined} */\n\n this.pswp = undefined;\n /** @type {PhotoSwipeOptions | undefined} */\n\n this.options = undefined;\n }\n /**\r\n * @template {keyof PhotoSwipeFiltersMap} T\r\n * @param {T} name\r\n * @param {PhotoSwipeFiltersMap[T]} fn\r\n * @param {number} priority\r\n */\n\n\n addFilter(name, fn, priority = 100) {\n var _this$_filters$name, _this$_filters$name2, _this$pswp;\n\n if (!this._filters[name]) {\n this._filters[name] = [];\n }\n\n (_this$_filters$name = this._filters[name]) === null || _this$_filters$name === void 0 || _this$_filters$name.push({\n fn,\n priority\n });\n (_this$_filters$name2 = this._filters[name]) === null || _this$_filters$name2 === void 0 || _this$_filters$name2.sort((f1, f2) => f1.priority - f2.priority);\n (_this$pswp = this.pswp) === null || _this$pswp === void 0 || _this$pswp.addFilter(name, fn, priority);\n }\n /**\r\n * @template {keyof PhotoSwipeFiltersMap} T\r\n * @param {T} name\r\n * @param {PhotoSwipeFiltersMap[T]} fn\r\n */\n\n\n removeFilter(name, fn) {\n if (this._filters[name]) {\n // @ts-expect-error\n this._filters[name] = this._filters[name].filter(filter => filter.fn !== fn);\n }\n\n if (this.pswp) {\n this.pswp.removeFilter(name, fn);\n }\n }\n /**\r\n * @template {keyof PhotoSwipeFiltersMap} T\r\n * @param {T} name\r\n * @param {Parameters} args\r\n * @returns {Parameters[0]}\r\n */\n\n\n applyFilters(name, ...args) {\n var _this$_filters$name3;\n\n (_this$_filters$name3 = this._filters[name]) === null || _this$_filters$name3 === void 0 || _this$_filters$name3.forEach(filter => {\n // @ts-expect-error\n args[0] = filter.fn.apply(this, args);\n });\n return args[0];\n }\n /**\r\n * @template {keyof PhotoSwipeEventsMap} T\r\n * @param {T} name\r\n * @param {EventCallback} fn\r\n */\n\n\n on(name, fn) {\n var _this$_listeners$name, _this$pswp2;\n\n if (!this._listeners[name]) {\n this._listeners[name] = [];\n }\n\n (_this$_listeners$name = this._listeners[name]) === null || _this$_listeners$name === void 0 || _this$_listeners$name.push(fn); // When binding events to lightbox,\n // also bind events to PhotoSwipe Core,\n // if it's open.\n\n (_this$pswp2 = this.pswp) === null || _this$pswp2 === void 0 || _this$pswp2.on(name, fn);\n }\n /**\r\n * @template {keyof PhotoSwipeEventsMap} T\r\n * @param {T} name\r\n * @param {EventCallback} fn\r\n */\n\n\n off(name, fn) {\n var _this$pswp3;\n\n if (this._listeners[name]) {\n // @ts-expect-error\n this._listeners[name] = this._listeners[name].filter(listener => fn !== listener);\n }\n\n (_this$pswp3 = this.pswp) === null || _this$pswp3 === void 0 || _this$pswp3.off(name, fn);\n }\n /**\r\n * @template {keyof PhotoSwipeEventsMap} T\r\n * @param {T} name\r\n * @param {PhotoSwipeEventsMap[T]} [details]\r\n * @returns {AugmentedEvent}\r\n */\n\n\n dispatch(name, details) {\n var _this$_listeners$name2;\n\n if (this.pswp) {\n return this.pswp.dispatch(name, details);\n }\n\n const event =\n /** @type {AugmentedEvent} */\n new PhotoSwipeEvent(name, details);\n (_this$_listeners$name2 = this._listeners[name]) === null || _this$_listeners$name2 === void 0 || _this$_listeners$name2.forEach(listener => {\n listener.call(this, event);\n });\n return event;\n }\n\n}\n\nclass Placeholder {\n /**\r\n * @param {string | false} imageSrc\r\n * @param {HTMLElement} container\r\n */\n constructor(imageSrc, container) {\n // Create placeholder\n // (stretched thumbnail or simple div behind the main image)\n\n /** @type {HTMLImageElement | HTMLDivElement | null} */\n this.element = createElement('pswp__img pswp__img--placeholder', imageSrc ? 'img' : 'div', container);\n\n if (imageSrc) {\n const imgEl =\n /** @type {HTMLImageElement} */\n this.element;\n imgEl.decoding = 'async';\n imgEl.alt = '';\n imgEl.src = imageSrc;\n imgEl.setAttribute('role', 'presentation');\n }\n\n this.element.setAttribute('aria-hidden', 'true');\n }\n /**\r\n * @param {number} width\r\n * @param {number} height\r\n */\n\n\n setDisplayedSize(width, height) {\n if (!this.element) {\n return;\n }\n\n if (this.element.tagName === 'IMG') {\n // Use transform scale() to modify img placeholder size\n // (instead of changing width/height directly).\n // This helps with performance, specifically in iOS15 Safari.\n setWidthHeight(this.element, 250, 'auto');\n this.element.style.transformOrigin = '0 0';\n this.element.style.transform = toTransformString(0, 0, width / 250);\n } else {\n setWidthHeight(this.element, width, height);\n }\n }\n\n destroy() {\n var _this$element;\n\n if ((_this$element = this.element) !== null && _this$element !== void 0 && _this$element.parentNode) {\n this.element.remove();\n }\n\n this.element = null;\n }\n\n}\n\n/** @typedef {import('./slide.js').default} Slide */\n\n/** @typedef {import('./slide.js').SlideData} SlideData */\n\n/** @typedef {import('../core/base.js').default} PhotoSwipeBase */\n\n/** @typedef {import('../util/util.js').LoadState} LoadState */\n\nclass Content {\n /**\r\n * @param {SlideData} itemData Slide data\r\n * @param {PhotoSwipeBase} instance PhotoSwipe or PhotoSwipeLightbox instance\r\n * @param {number} index\r\n */\n constructor(itemData, instance, index) {\n this.instance = instance;\n this.data = itemData;\n this.index = index;\n /** @type {HTMLImageElement | HTMLDivElement | undefined} */\n\n this.element = undefined;\n /** @type {Placeholder | undefined} */\n\n this.placeholder = undefined;\n /** @type {Slide | undefined} */\n\n this.slide = undefined;\n this.displayedImageWidth = 0;\n this.displayedImageHeight = 0;\n this.width = Number(this.data.w) || Number(this.data.width) || 0;\n this.height = Number(this.data.h) || Number(this.data.height) || 0;\n this.isAttached = false;\n this.hasSlide = false;\n this.isDecoding = false;\n /** @type {LoadState} */\n\n this.state = LOAD_STATE.IDLE;\n\n if (this.data.type) {\n this.type = this.data.type;\n } else if (this.data.src) {\n this.type = 'image';\n } else {\n this.type = 'html';\n }\n\n this.instance.dispatch('contentInit', {\n content: this\n });\n }\n\n removePlaceholder() {\n if (this.placeholder && !this.keepPlaceholder()) {\n // With delay, as image might be loaded, but not rendered\n setTimeout(() => {\n if (this.placeholder) {\n this.placeholder.destroy();\n this.placeholder = undefined;\n }\n }, 1000);\n }\n }\n /**\r\n * Preload content\r\n *\r\n * @param {boolean} isLazy\r\n * @param {boolean} [reload]\r\n */\n\n\n load(isLazy, reload) {\n if (this.slide && this.usePlaceholder()) {\n if (!this.placeholder) {\n const placeholderSrc = this.instance.applyFilters('placeholderSrc', // use image-based placeholder only for the first slide,\n // as rendering (even small stretched thumbnail) is an expensive operation\n this.data.msrc && this.slide.isFirstSlide ? this.data.msrc : false, this);\n this.placeholder = new Placeholder(placeholderSrc, this.slide.container);\n } else {\n const placeholderEl = this.placeholder.element; // Add placeholder to DOM if it was already created\n\n if (placeholderEl && !placeholderEl.parentElement) {\n this.slide.container.prepend(placeholderEl);\n }\n }\n }\n\n if (this.element && !reload) {\n return;\n }\n\n if (this.instance.dispatch('contentLoad', {\n content: this,\n isLazy\n }).defaultPrevented) {\n return;\n }\n\n if (this.isImageContent()) {\n this.element = createElement('pswp__img', 'img'); // Start loading only after width is defined, as sizes might depend on it.\n // Due to Safari feature, we must define sizes before srcset.\n\n if (this.displayedImageWidth) {\n this.loadImage(isLazy);\n }\n } else {\n this.element = createElement('pswp__content', 'div');\n this.element.innerHTML = this.data.html || '';\n }\n\n if (reload && this.slide) {\n this.slide.updateContentSize(true);\n }\n }\n /**\r\n * Preload image\r\n *\r\n * @param {boolean} isLazy\r\n */\n\n\n loadImage(isLazy) {\n var _this$data$src, _this$data$alt;\n\n if (!this.isImageContent() || !this.element || this.instance.dispatch('contentLoadImage', {\n content: this,\n isLazy\n }).defaultPrevented) {\n return;\n }\n\n const imageElement =\n /** @type HTMLImageElement */\n this.element;\n this.updateSrcsetSizes();\n\n if (this.data.srcset) {\n imageElement.srcset = this.data.srcset;\n }\n\n imageElement.src = (_this$data$src = this.data.src) !== null && _this$data$src !== void 0 ? _this$data$src : '';\n imageElement.alt = (_this$data$alt = this.data.alt) !== null && _this$data$alt !== void 0 ? _this$data$alt : '';\n this.state = LOAD_STATE.LOADING;\n\n if (imageElement.complete) {\n this.onLoaded();\n } else {\n imageElement.onload = () => {\n this.onLoaded();\n };\n\n imageElement.onerror = () => {\n this.onError();\n };\n }\n }\n /**\r\n * Assign slide to content\r\n *\r\n * @param {Slide} slide\r\n */\n\n\n setSlide(slide) {\n this.slide = slide;\n this.hasSlide = true;\n this.instance = slide.pswp; // todo: do we need to unset slide?\n }\n /**\r\n * Content load success handler\r\n */\n\n\n onLoaded() {\n this.state = LOAD_STATE.LOADED;\n\n if (this.slide && this.element) {\n this.instance.dispatch('loadComplete', {\n slide: this.slide,\n content: this\n }); // if content is reloaded\n\n if (this.slide.isActive && this.slide.heavyAppended && !this.element.parentNode) {\n this.append();\n this.slide.updateContentSize(true);\n }\n\n if (this.state === LOAD_STATE.LOADED || this.state === LOAD_STATE.ERROR) {\n this.removePlaceholder();\n }\n }\n }\n /**\r\n * Content load error handler\r\n */\n\n\n onError() {\n this.state = LOAD_STATE.ERROR;\n\n if (this.slide) {\n this.displayError();\n this.instance.dispatch('loadComplete', {\n slide: this.slide,\n isError: true,\n content: this\n });\n this.instance.dispatch('loadError', {\n slide: this.slide,\n content: this\n });\n }\n }\n /**\r\n * @returns {Boolean} If the content is currently loading\r\n */\n\n\n isLoading() {\n return this.instance.applyFilters('isContentLoading', this.state === LOAD_STATE.LOADING, this);\n }\n /**\r\n * @returns {Boolean} If the content is in error state\r\n */\n\n\n isError() {\n return this.state === LOAD_STATE.ERROR;\n }\n /**\r\n * @returns {boolean} If the content is image\r\n */\n\n\n isImageContent() {\n return this.type === 'image';\n }\n /**\r\n * Update content size\r\n *\r\n * @param {Number} width\r\n * @param {Number} height\r\n */\n\n\n setDisplayedSize(width, height) {\n if (!this.element) {\n return;\n }\n\n if (this.placeholder) {\n this.placeholder.setDisplayedSize(width, height);\n }\n\n if (this.instance.dispatch('contentResize', {\n content: this,\n width,\n height\n }).defaultPrevented) {\n return;\n }\n\n setWidthHeight(this.element, width, height);\n\n if (this.isImageContent() && !this.isError()) {\n const isInitialSizeUpdate = !this.displayedImageWidth && width;\n this.displayedImageWidth = width;\n this.displayedImageHeight = height;\n\n if (isInitialSizeUpdate) {\n this.loadImage(false);\n } else {\n this.updateSrcsetSizes();\n }\n\n if (this.slide) {\n this.instance.dispatch('imageSizeChange', {\n slide: this.slide,\n width,\n height,\n content: this\n });\n }\n }\n }\n /**\r\n * @returns {boolean} If the content can be zoomed\r\n */\n\n\n isZoomable() {\n return this.instance.applyFilters('isContentZoomable', this.isImageContent() && this.state !== LOAD_STATE.ERROR, this);\n }\n /**\r\n * Update image srcset sizes attribute based on width and height\r\n */\n\n\n updateSrcsetSizes() {\n // Handle srcset sizes attribute.\n //\n // Never lower quality, if it was increased previously.\n // Chrome does this automatically, Firefox and Safari do not,\n // so we store largest used size in dataset.\n if (!this.isImageContent() || !this.element || !this.data.srcset) {\n return;\n }\n\n const image =\n /** @type HTMLImageElement */\n this.element;\n const sizesWidth = this.instance.applyFilters('srcsetSizesWidth', this.displayedImageWidth, this);\n\n if (!image.dataset.largestUsedSize || sizesWidth > parseInt(image.dataset.largestUsedSize, 10)) {\n image.sizes = sizesWidth + 'px';\n image.dataset.largestUsedSize = String(sizesWidth);\n }\n }\n /**\r\n * @returns {boolean} If content should use a placeholder (from msrc by default)\r\n */\n\n\n usePlaceholder() {\n return this.instance.applyFilters('useContentPlaceholder', this.isImageContent(), this);\n }\n /**\r\n * Preload content with lazy-loading param\r\n */\n\n\n lazyLoad() {\n if (this.instance.dispatch('contentLazyLoad', {\n content: this\n }).defaultPrevented) {\n return;\n }\n\n this.load(true);\n }\n /**\r\n * @returns {boolean} If placeholder should be kept after content is loaded\r\n */\n\n\n keepPlaceholder() {\n return this.instance.applyFilters('isKeepingPlaceholder', this.isLoading(), this);\n }\n /**\r\n * Destroy the content\r\n */\n\n\n destroy() {\n this.hasSlide = false;\n this.slide = undefined;\n\n if (this.instance.dispatch('contentDestroy', {\n content: this\n }).defaultPrevented) {\n return;\n }\n\n this.remove();\n\n if (this.placeholder) {\n this.placeholder.destroy();\n this.placeholder = undefined;\n }\n\n if (this.isImageContent() && this.element) {\n this.element.onload = null;\n this.element.onerror = null;\n this.element = undefined;\n }\n }\n /**\r\n * Display error message\r\n */\n\n\n displayError() {\n if (this.slide) {\n var _this$instance$option, _this$instance$option2;\n\n let errorMsgEl = createElement('pswp__error-msg', 'div');\n errorMsgEl.innerText = (_this$instance$option = (_this$instance$option2 = this.instance.options) === null || _this$instance$option2 === void 0 ? void 0 : _this$instance$option2.errorMsg) !== null && _this$instance$option !== void 0 ? _this$instance$option : '';\n errorMsgEl =\n /** @type {HTMLDivElement} */\n this.instance.applyFilters('contentErrorElement', errorMsgEl, this);\n this.element = createElement('pswp__content pswp__error-msg-container', 'div');\n this.element.appendChild(errorMsgEl);\n this.slide.container.innerText = '';\n this.slide.container.appendChild(this.element);\n this.slide.updateContentSize(true);\n this.removePlaceholder();\n }\n }\n /**\r\n * Append the content\r\n */\n\n\n append() {\n if (this.isAttached || !this.element) {\n return;\n }\n\n this.isAttached = true;\n\n if (this.state === LOAD_STATE.ERROR) {\n this.displayError();\n return;\n }\n\n if (this.instance.dispatch('contentAppend', {\n content: this\n }).defaultPrevented) {\n return;\n }\n\n const supportsDecode = ('decode' in this.element);\n\n if (this.isImageContent()) {\n // Use decode() on nearby slides\n //\n // Nearby slide images are in DOM and not hidden via display:none.\n // However, they are placed offscreen (to the left and right side).\n //\n // Some browsers do not composite the image until it's actually visible,\n // using decode() helps.\n //\n // You might ask \"why dont you just decode() and then append all images\",\n // that's because I want to show image before it's fully loaded,\n // as browser can render parts of image while it is loading.\n // We do not do this in Safari due to partial loading bug.\n if (supportsDecode && this.slide && (!this.slide.isActive || isSafari())) {\n this.isDecoding = true; // purposefully using finally instead of then,\n // as if srcset sizes changes dynamically - it may cause decode error\n\n /** @type {HTMLImageElement} */\n\n this.element.decode().catch(() => {}).finally(() => {\n this.isDecoding = false;\n this.appendImage();\n });\n } else {\n this.appendImage();\n }\n } else if (this.slide && !this.element.parentNode) {\n this.slide.container.appendChild(this.element);\n }\n }\n /**\r\n * Activate the slide,\r\n * active slide is generally the current one,\r\n * meaning the user can see it.\r\n */\n\n\n activate() {\n if (this.instance.dispatch('contentActivate', {\n content: this\n }).defaultPrevented || !this.slide) {\n return;\n }\n\n if (this.isImageContent() && this.isDecoding && !isSafari()) {\n // add image to slide when it becomes active,\n // even if it's not finished decoding\n this.appendImage();\n } else if (this.isError()) {\n this.load(false, true); // try to reload\n }\n\n if (this.slide.holderElement) {\n this.slide.holderElement.setAttribute('aria-hidden', 'false');\n }\n }\n /**\r\n * Deactivate the content\r\n */\n\n\n deactivate() {\n this.instance.dispatch('contentDeactivate', {\n content: this\n });\n\n if (this.slide && this.slide.holderElement) {\n this.slide.holderElement.setAttribute('aria-hidden', 'true');\n }\n }\n /**\r\n * Remove the content from DOM\r\n */\n\n\n remove() {\n this.isAttached = false;\n\n if (this.instance.dispatch('contentRemove', {\n content: this\n }).defaultPrevented) {\n return;\n }\n\n if (this.element && this.element.parentNode) {\n this.element.remove();\n }\n\n if (this.placeholder && this.placeholder.element) {\n this.placeholder.element.remove();\n }\n }\n /**\r\n * Append the image content to slide container\r\n */\n\n\n appendImage() {\n if (!this.isAttached) {\n return;\n }\n\n if (this.instance.dispatch('contentAppendImage', {\n content: this\n }).defaultPrevented) {\n return;\n } // ensure that element exists and is not already appended\n\n\n if (this.slide && this.element && !this.element.parentNode) {\n this.slide.container.appendChild(this.element);\n }\n\n if (this.state === LOAD_STATE.LOADED || this.state === LOAD_STATE.ERROR) {\n this.removePlaceholder();\n }\n }\n\n}\n\n/** @typedef {import('../photoswipe.js').PhotoSwipeOptions} PhotoSwipeOptions */\n\n/** @typedef {import('../core/base.js').default} PhotoSwipeBase */\n\n/** @typedef {import('../photoswipe.js').Point} Point */\n\n/** @typedef {import('../slide/slide.js').SlideData} SlideData */\n\n/**\r\n * @param {PhotoSwipeOptions} options\r\n * @param {PhotoSwipeBase} pswp\r\n * @returns {Point}\r\n */\nfunction getViewportSize(options, pswp) {\n if (options.getViewportSizeFn) {\n const newViewportSize = options.getViewportSizeFn(options, pswp);\n\n if (newViewportSize) {\n return newViewportSize;\n }\n }\n\n return {\n x: document.documentElement.clientWidth,\n // TODO: height on mobile is very incosistent due to toolbar\n // find a way to improve this\n //\n // document.documentElement.clientHeight - doesn't seem to work well\n y: window.innerHeight\n };\n}\n/**\r\n * Parses padding option.\r\n * Supported formats:\r\n *\r\n * // Object\r\n * padding: {\r\n * top: 0,\r\n * bottom: 0,\r\n * left: 0,\r\n * right: 0\r\n * }\r\n *\r\n * // A function that returns the object\r\n * paddingFn: (viewportSize, itemData, index) => {\r\n * return {\r\n * top: 0,\r\n * bottom: 0,\r\n * left: 0,\r\n * right: 0\r\n * };\r\n * }\r\n *\r\n * // Legacy variant\r\n * paddingLeft: 0,\r\n * paddingRight: 0,\r\n * paddingTop: 0,\r\n * paddingBottom: 0,\r\n *\r\n * @param {'left' | 'top' | 'bottom' | 'right'} prop\r\n * @param {PhotoSwipeOptions} options PhotoSwipe options\r\n * @param {Point} viewportSize PhotoSwipe viewport size, for example: { x:800, y:600 }\r\n * @param {SlideData} itemData Data about the slide\r\n * @param {number} index Slide index\r\n * @returns {number}\r\n */\n\nfunction parsePaddingOption(prop, options, viewportSize, itemData, index) {\n let paddingValue = 0;\n\n if (options.paddingFn) {\n paddingValue = options.paddingFn(viewportSize, itemData, index)[prop];\n } else if (options.padding) {\n paddingValue = options.padding[prop];\n } else {\n const legacyPropName = 'padding' + prop[0].toUpperCase() + prop.slice(1); // @ts-expect-error\n\n if (options[legacyPropName]) {\n // @ts-expect-error\n paddingValue = options[legacyPropName];\n }\n }\n\n return Number(paddingValue) || 0;\n}\n/**\r\n * @param {PhotoSwipeOptions} options\r\n * @param {Point} viewportSize\r\n * @param {SlideData} itemData\r\n * @param {number} index\r\n * @returns {Point}\r\n */\n\nfunction getPanAreaSize(options, viewportSize, itemData, index) {\n return {\n x: viewportSize.x - parsePaddingOption('left', options, viewportSize, itemData, index) - parsePaddingOption('right', options, viewportSize, itemData, index),\n y: viewportSize.y - parsePaddingOption('top', options, viewportSize, itemData, index) - parsePaddingOption('bottom', options, viewportSize, itemData, index)\n };\n}\n\nconst MAX_IMAGE_WIDTH = 4000;\n/** @typedef {import('../photoswipe.js').default} PhotoSwipe */\n\n/** @typedef {import('../photoswipe.js').PhotoSwipeOptions} PhotoSwipeOptions */\n\n/** @typedef {import('../photoswipe.js').Point} Point */\n\n/** @typedef {import('../slide/slide.js').SlideData} SlideData */\n\n/** @typedef {'fit' | 'fill' | number | ((zoomLevelObject: ZoomLevel) => number)} ZoomLevelOption */\n\n/**\r\n * Calculates zoom levels for specific slide.\r\n * Depends on viewport size and image size.\r\n */\n\nclass ZoomLevel {\n /**\r\n * @param {PhotoSwipeOptions} options PhotoSwipe options\r\n * @param {SlideData} itemData Slide data\r\n * @param {number} index Slide index\r\n * @param {PhotoSwipe} [pswp] PhotoSwipe instance, can be undefined if not initialized yet\r\n */\n constructor(options, itemData, index, pswp) {\n this.pswp = pswp;\n this.options = options;\n this.itemData = itemData;\n this.index = index;\n /** @type { Point | null } */\n\n this.panAreaSize = null;\n /** @type { Point | null } */\n\n this.elementSize = null;\n this.fit = 1;\n this.fill = 1;\n this.vFill = 1;\n this.initial = 1;\n this.secondary = 1;\n this.max = 1;\n this.min = 1;\n }\n /**\r\n * Calculate initial, secondary and maximum zoom level for the specified slide.\r\n *\r\n * It should be called when either image or viewport size changes.\r\n *\r\n * @param {number} maxWidth\r\n * @param {number} maxHeight\r\n * @param {Point} panAreaSize\r\n */\n\n\n update(maxWidth, maxHeight, panAreaSize) {\n /** @type {Point} */\n const elementSize = {\n x: maxWidth,\n y: maxHeight\n };\n this.elementSize = elementSize;\n this.panAreaSize = panAreaSize;\n const hRatio = panAreaSize.x / elementSize.x;\n const vRatio = panAreaSize.y / elementSize.y;\n this.fit = Math.min(1, hRatio < vRatio ? hRatio : vRatio);\n this.fill = Math.min(1, hRatio > vRatio ? hRatio : vRatio); // zoom.vFill defines zoom level of the image\n // when it has 100% of viewport vertical space (height)\n\n this.vFill = Math.min(1, vRatio);\n this.initial = this._getInitial();\n this.secondary = this._getSecondary();\n this.max = Math.max(this.initial, this.secondary, this._getMax());\n this.min = Math.min(this.fit, this.initial, this.secondary);\n\n if (this.pswp) {\n this.pswp.dispatch('zoomLevelsUpdate', {\n zoomLevels: this,\n slideData: this.itemData\n });\n }\n }\n /**\r\n * Parses user-defined zoom option.\r\n *\r\n * @private\r\n * @param {'initial' | 'secondary' | 'max'} optionPrefix Zoom level option prefix (initial, secondary, max)\r\n * @returns { number | undefined }\r\n */\n\n\n _parseZoomLevelOption(optionPrefix) {\n const optionName =\n /** @type {'initialZoomLevel' | 'secondaryZoomLevel' | 'maxZoomLevel'} */\n optionPrefix + 'ZoomLevel';\n const optionValue = this.options[optionName];\n\n if (!optionValue) {\n return;\n }\n\n if (typeof optionValue === 'function') {\n return optionValue(this);\n }\n\n if (optionValue === 'fill') {\n return this.fill;\n }\n\n if (optionValue === 'fit') {\n return this.fit;\n }\n\n return Number(optionValue);\n }\n /**\r\n * Get zoom level to which image will be zoomed after double-tap gesture,\r\n * or when user clicks on zoom icon,\r\n * or mouse-click on image itself.\r\n * If you return 1 image will be zoomed to its original size.\r\n *\r\n * @private\r\n * @return {number}\r\n */\n\n\n _getSecondary() {\n let currZoomLevel = this._parseZoomLevelOption('secondary');\n\n if (currZoomLevel) {\n return currZoomLevel;\n } // 3x of \"fit\" state, but not larger than original\n\n\n currZoomLevel = Math.min(1, this.fit * 3);\n\n if (this.elementSize && currZoomLevel * this.elementSize.x > MAX_IMAGE_WIDTH) {\n currZoomLevel = MAX_IMAGE_WIDTH / this.elementSize.x;\n }\n\n return currZoomLevel;\n }\n /**\r\n * Get initial image zoom level.\r\n *\r\n * @private\r\n * @return {number}\r\n */\n\n\n _getInitial() {\n return this._parseZoomLevelOption('initial') || this.fit;\n }\n /**\r\n * Maximum zoom level when user zooms\r\n * via zoom/pinch gesture,\r\n * via cmd/ctrl-wheel or via trackpad.\r\n *\r\n * @private\r\n * @return {number}\r\n */\n\n\n _getMax() {\n // max zoom level is x4 from \"fit state\",\n // used for zoom gesture and ctrl/trackpad zoom\n return this._parseZoomLevelOption('max') || Math.max(1, this.fit * 4);\n }\n\n}\n\n/**\r\n * Lazy-load an image\r\n * This function is used both by Lightbox and PhotoSwipe core,\r\n * thus it can be called before dialog is opened.\r\n *\r\n * @param {SlideData} itemData Data about the slide\r\n * @param {PhotoSwipeBase} instance PhotoSwipe or PhotoSwipeLightbox instance\r\n * @param {number} index\r\n * @returns {Content} Image that is being decoded or false.\r\n */\n\nfunction lazyLoadData(itemData, instance, index) {\n const content = instance.createContentFromData(itemData, index);\n /** @type {ZoomLevel | undefined} */\n\n let zoomLevel;\n const {\n options\n } = instance; // We need to know dimensions of the image to preload it,\n // as it might use srcset, and we need to define sizes\n\n if (options) {\n zoomLevel = new ZoomLevel(options, itemData, -1);\n let viewportSize;\n\n if (instance.pswp) {\n viewportSize = instance.pswp.viewportSize;\n } else {\n viewportSize = getViewportSize(options, instance);\n }\n\n const panAreaSize = getPanAreaSize(options, viewportSize, itemData, index);\n zoomLevel.update(content.width, content.height, panAreaSize);\n }\n\n content.lazyLoad();\n\n if (zoomLevel) {\n content.setDisplayedSize(Math.ceil(content.width * zoomLevel.initial), Math.ceil(content.height * zoomLevel.initial));\n }\n\n return content;\n}\n/**\r\n * Lazy-loads specific slide.\r\n * This function is used both by Lightbox and PhotoSwipe core,\r\n * thus it can be called before dialog is opened.\r\n *\r\n * By default, it loads image based on viewport size and initial zoom level.\r\n *\r\n * @param {number} index Slide index\r\n * @param {PhotoSwipeBase} instance PhotoSwipe or PhotoSwipeLightbox eventable instance\r\n * @returns {Content | undefined}\r\n */\n\nfunction lazyLoadSlide(index, instance) {\n const itemData = instance.getItemData(index);\n\n if (instance.dispatch('lazyLoadSlide', {\n index,\n itemData\n }).defaultPrevented) {\n return;\n }\n\n return lazyLoadData(itemData, instance, index);\n}\n\n/** @typedef {import(\"../photoswipe.js\").default} PhotoSwipe */\n\n/** @typedef {import(\"../slide/slide.js\").SlideData} SlideData */\n\n/**\r\n * PhotoSwipe base class that can retrieve data about every slide.\r\n * Shared by PhotoSwipe Core and PhotoSwipe Lightbox\r\n */\n\nclass PhotoSwipeBase extends Eventable {\n /**\r\n * Get total number of slides\r\n *\r\n * @returns {number}\r\n */\n getNumItems() {\n var _this$options;\n\n let numItems = 0;\n const dataSource = (_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.dataSource;\n\n if (dataSource && 'length' in dataSource) {\n // may be an array or just object with length property\n numItems = dataSource.length;\n } else if (dataSource && 'gallery' in dataSource) {\n // query DOM elements\n if (!dataSource.items) {\n dataSource.items = this._getGalleryDOMElements(dataSource.gallery);\n }\n\n if (dataSource.items) {\n numItems = dataSource.items.length;\n }\n } // legacy event, before filters were introduced\n\n\n const event = this.dispatch('numItems', {\n dataSource,\n numItems\n });\n return this.applyFilters('numItems', event.numItems, dataSource);\n }\n /**\r\n * @param {SlideData} slideData\r\n * @param {number} index\r\n * @returns {Content}\r\n */\n\n\n createContentFromData(slideData, index) {\n return new Content(slideData, this, index);\n }\n /**\r\n * Get item data by index.\r\n *\r\n * \"item data\" should contain normalized information that PhotoSwipe needs to generate a slide.\r\n * For example, it may contain properties like\r\n * `src`, `srcset`, `w`, `h`, which will be used to generate a slide with image.\r\n *\r\n * @param {number} index\r\n * @returns {SlideData}\r\n */\n\n\n getItemData(index) {\n var _this$options2;\n\n const dataSource = (_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.dataSource;\n /** @type {SlideData | HTMLElement} */\n\n let dataSourceItem = {};\n\n if (Array.isArray(dataSource)) {\n // Datasource is an array of elements\n dataSourceItem = dataSource[index];\n } else if (dataSource && 'gallery' in dataSource) {\n // dataSource has gallery property,\n // thus it was created by Lightbox, based on\n // gallery and children options\n // query DOM elements\n if (!dataSource.items) {\n dataSource.items = this._getGalleryDOMElements(dataSource.gallery);\n }\n\n dataSourceItem = dataSource.items[index];\n }\n\n let itemData = dataSourceItem;\n\n if (itemData instanceof Element) {\n itemData = this._domElementToItemData(itemData);\n } // Dispatching the itemData event,\n // it's a legacy verion before filters were introduced\n\n\n const event = this.dispatch('itemData', {\n itemData: itemData || {},\n index\n });\n return this.applyFilters('itemData', event.itemData, index);\n }\n /**\r\n * Get array of gallery DOM elements,\r\n * based on childSelector and gallery element.\r\n *\r\n * @param {HTMLElement} galleryElement\r\n * @returns {HTMLElement[]}\r\n */\n\n\n _getGalleryDOMElements(galleryElement) {\n var _this$options3, _this$options4;\n\n if ((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.children || (_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.childSelector) {\n return getElementsFromOption(this.options.children, this.options.childSelector, galleryElement) || [];\n }\n\n return [galleryElement];\n }\n /**\r\n * Converts DOM element to item data object.\r\n *\r\n * @param {HTMLElement} element DOM element\r\n * @returns {SlideData}\r\n */\n\n\n _domElementToItemData(element) {\n /** @type {SlideData} */\n const itemData = {\n element\n };\n const linkEl =\n /** @type {HTMLAnchorElement} */\n element.tagName === 'A' ? element : element.querySelector('a');\n\n if (linkEl) {\n // src comes from data-pswp-src attribute,\n // if it's empty link href is used\n itemData.src = linkEl.dataset.pswpSrc || linkEl.href;\n\n if (linkEl.dataset.pswpSrcset) {\n itemData.srcset = linkEl.dataset.pswpSrcset;\n }\n\n itemData.width = linkEl.dataset.pswpWidth ? parseInt(linkEl.dataset.pswpWidth, 10) : 0;\n itemData.height = linkEl.dataset.pswpHeight ? parseInt(linkEl.dataset.pswpHeight, 10) : 0; // support legacy w & h properties\n\n itemData.w = itemData.width;\n itemData.h = itemData.height;\n\n if (linkEl.dataset.pswpType) {\n itemData.type = linkEl.dataset.pswpType;\n }\n\n const thumbnailEl = element.querySelector('img');\n\n if (thumbnailEl) {\n var _thumbnailEl$getAttri;\n\n // msrc is URL to placeholder image that's displayed before large image is loaded\n // by default it's displayed only for the first slide\n itemData.msrc = thumbnailEl.currentSrc || thumbnailEl.src;\n itemData.alt = (_thumbnailEl$getAttri = thumbnailEl.getAttribute('alt')) !== null && _thumbnailEl$getAttri !== void 0 ? _thumbnailEl$getAttri : '';\n }\n\n if (linkEl.dataset.pswpCropped || linkEl.dataset.cropped) {\n itemData.thumbCropped = true;\n }\n }\n\n return this.applyFilters('domItemData', itemData, element, linkEl);\n }\n /**\r\n * Lazy-load by slide data\r\n *\r\n * @param {SlideData} itemData Data about the slide\r\n * @param {number} index\r\n * @returns {Content} Image that is being decoded or false.\r\n */\n\n\n lazyLoadData(itemData, index) {\n return lazyLoadData(itemData, this, index);\n }\n\n}\n\n/**\r\n * @template T\r\n * @typedef {import('../types.js').Type} Type\r\n */\n\n/** @typedef {import('../photoswipe.js').default} PhotoSwipe */\n\n/** @typedef {import('../photoswipe.js').PhotoSwipeOptions} PhotoSwipeOptions */\n\n/** @typedef {import('../photoswipe.js').DataSource} DataSource */\n\n/** @typedef {import('../photoswipe.js').Point} Point */\n\n/** @typedef {import('../slide/content.js').default} Content */\n\n/** @typedef {import('../core/eventable.js').PhotoSwipeEventsMap} PhotoSwipeEventsMap */\n\n/** @typedef {import('../core/eventable.js').PhotoSwipeFiltersMap} PhotoSwipeFiltersMap */\n\n/**\r\n * @template {keyof PhotoSwipeEventsMap} T\r\n * @typedef {import('../core/eventable.js').EventCallback} EventCallback\r\n */\n\n/**\r\n * PhotoSwipe Lightbox\r\n *\r\n * - If user has unsupported browser it falls back to default browser action (just opens URL)\r\n * - Binds click event to links that should open PhotoSwipe\r\n * - parses DOM strcture for PhotoSwipe (retrieves large image URLs and sizes)\r\n * - Initializes PhotoSwipe\r\n *\r\n *\r\n * Loader options use the same object as PhotoSwipe, and supports such options:\r\n *\r\n * gallery - Element | Element[] | NodeList | string selector for the gallery element\r\n * children - Element | Element[] | NodeList | string selector for the gallery children\r\n *\r\n */\n\nclass PhotoSwipeLightbox extends PhotoSwipeBase {\n /**\r\n * @param {PhotoSwipeOptions} [options]\r\n */\n constructor(options) {\n super();\n /** @type {PhotoSwipeOptions} */\n\n this.options = options || {};\n this._uid = 0;\n this.shouldOpen = false;\n /**\r\n * @private\r\n * @type {Content | undefined}\r\n */\n\n this._preloadedContent = undefined;\n this.onThumbnailsClick = this.onThumbnailsClick.bind(this);\n }\n /**\r\n * Initialize lightbox, should be called only once.\r\n * It's not included in the main constructor, so you may bind events before it.\r\n */\n\n\n init() {\n // Bind click events to each gallery\n getElementsFromOption(this.options.gallery, this.options.gallerySelector).forEach(galleryElement => {\n galleryElement.addEventListener('click', this.onThumbnailsClick, false);\n });\n }\n /**\r\n * @param {MouseEvent} e\r\n */\n\n\n onThumbnailsClick(e) {\n // Exit and allow default browser action if:\n if (specialKeyUsed(e) // ... if clicked with a special key (ctrl/cmd...)\n || window.pswp) {\n // ... if PhotoSwipe is already open\n return;\n } // If both clientX and clientY are 0 or not defined,\n // the event is likely triggered by keyboard,\n // so we do not pass the initialPoint\n //\n // Note that some screen readers emulate the mouse position,\n // so it's not the ideal way to detect them.\n //\n\n /** @type {Point | null} */\n\n\n let initialPoint = {\n x: e.clientX,\n y: e.clientY\n };\n\n if (!initialPoint.x && !initialPoint.y) {\n initialPoint = null;\n }\n\n let clickedIndex = this.getClickedIndex(e);\n clickedIndex = this.applyFilters('clickedIndex', clickedIndex, e, this);\n /** @type {DataSource} */\n\n const dataSource = {\n gallery:\n /** @type {HTMLElement} */\n e.currentTarget\n };\n\n if (clickedIndex >= 0) {\n e.preventDefault();\n this.loadAndOpen(clickedIndex, dataSource, initialPoint);\n }\n }\n /**\r\n * Get index of gallery item that was clicked.\r\n *\r\n * @param {MouseEvent} e click event\r\n * @returns {number}\r\n */\n\n\n getClickedIndex(e) {\n // legacy option\n if (this.options.getClickedIndexFn) {\n return this.options.getClickedIndexFn.call(this, e);\n }\n\n const clickedTarget =\n /** @type {HTMLElement} */\n e.target;\n const childElements = getElementsFromOption(this.options.children, this.options.childSelector,\n /** @type {HTMLElement} */\n e.currentTarget);\n const clickedChildIndex = childElements.findIndex(child => child === clickedTarget || child.contains(clickedTarget));\n\n if (clickedChildIndex !== -1) {\n return clickedChildIndex;\n } else if (this.options.children || this.options.childSelector) {\n // click wasn't on a child element\n return -1;\n } // There is only one item (which is the gallery)\n\n\n return 0;\n }\n /**\r\n * Load and open PhotoSwipe\r\n *\r\n * @param {number} index\r\n * @param {DataSource} [dataSource]\r\n * @param {Point | null} [initialPoint]\r\n * @returns {boolean}\r\n */\n\n\n loadAndOpen(index, dataSource, initialPoint) {\n // Check if the gallery is already open\n if (window.pswp || !this.options) {\n return false;\n } // Use the first gallery element if dataSource is not provided\n\n\n if (!dataSource && this.options.gallery && this.options.children) {\n const galleryElements = getElementsFromOption(this.options.gallery);\n\n if (galleryElements[0]) {\n dataSource = {\n gallery: galleryElements[0]\n };\n }\n } // set initial index\n\n\n this.options.index = index; // define options for PhotoSwipe constructor\n\n this.options.initialPointerPos = initialPoint;\n this.shouldOpen = true;\n this.preload(index, dataSource);\n return true;\n }\n /**\r\n * Load the main module and the slide content by index\r\n *\r\n * @param {number} index\r\n * @param {DataSource} [dataSource]\r\n */\n\n\n preload(index, dataSource) {\n const {\n options\n } = this;\n\n if (dataSource) {\n options.dataSource = dataSource;\n } // Add the main module\n\n /** @type {Promise>[]} */\n\n\n const promiseArray = [];\n const pswpModuleType = typeof options.pswpModule;\n\n if (isPswpClass(options.pswpModule)) {\n promiseArray.push(Promise.resolve(\n /** @type {Type} */\n options.pswpModule));\n } else if (pswpModuleType === 'string') {\n throw new Error('pswpModule as string is no longer supported');\n } else if (pswpModuleType === 'function') {\n promiseArray.push(\n /** @type {() => Promise>} */\n options.pswpModule());\n } else {\n throw new Error('pswpModule is not valid');\n } // Add custom-defined promise, if any\n\n\n if (typeof options.openPromise === 'function') {\n // allow developers to perform some task before opening\n promiseArray.push(options.openPromise());\n }\n\n if (options.preloadFirstSlide !== false && index >= 0) {\n this._preloadedContent = lazyLoadSlide(index, this);\n } // Wait till all promises resolve and open PhotoSwipe\n\n\n const uid = ++this._uid;\n Promise.all(promiseArray).then(iterableModules => {\n if (this.shouldOpen) {\n const mainModule = iterableModules[0];\n\n this._openPhotoswipe(mainModule, uid);\n }\n });\n }\n /**\r\n * @private\r\n * @param {Type | { default: Type }} module\r\n * @param {number} uid\r\n */\n\n\n _openPhotoswipe(module, uid) {\n // Cancel opening if UID doesn't match the current one\n // (if user clicked on another gallery item before current was loaded).\n //\n // Or if shouldOpen flag is set to false\n // (developer may modify it via public API)\n if (uid !== this._uid && this.shouldOpen) {\n return;\n }\n\n this.shouldOpen = false; // PhotoSwipe is already open\n\n if (window.pswp) {\n return;\n }\n /**\r\n * Pass data to PhotoSwipe and open init\r\n *\r\n * @type {PhotoSwipe}\r\n */\n\n\n const pswp = typeof module === 'object' ? new module.default(this.options) // eslint-disable-line\n : new module(this.options); // eslint-disable-line\n\n this.pswp = pswp;\n window.pswp = pswp; // map listeners from Lightbox to PhotoSwipe Core\n\n /** @type {(keyof PhotoSwipeEventsMap)[]} */\n\n Object.keys(this._listeners).forEach(name => {\n var _this$_listeners$name;\n\n (_this$_listeners$name = this._listeners[name]) === null || _this$_listeners$name === void 0 || _this$_listeners$name.forEach(fn => {\n pswp.on(name,\n /** @type {EventCallback} */\n fn);\n });\n }); // same with filters\n\n /** @type {(keyof PhotoSwipeFiltersMap)[]} */\n\n Object.keys(this._filters).forEach(name => {\n var _this$_filters$name;\n\n (_this$_filters$name = this._filters[name]) === null || _this$_filters$name === void 0 || _this$_filters$name.forEach(filter => {\n pswp.addFilter(name, filter.fn, filter.priority);\n });\n });\n\n if (this._preloadedContent) {\n pswp.contentLoader.addToCache(this._preloadedContent);\n this._preloadedContent = undefined;\n }\n\n pswp.on('destroy', () => {\n // clean up public variables\n this.pswp = undefined;\n delete window.pswp;\n });\n pswp.init();\n }\n /**\r\n * Unbinds all events, closes PhotoSwipe if it's open.\r\n */\n\n\n destroy() {\n var _this$pswp;\n\n (_this$pswp = this.pswp) === null || _this$pswp === void 0 || _this$pswp.destroy();\n this.shouldOpen = false;\n this._listeners = {};\n getElementsFromOption(this.options.gallery, this.options.gallerySelector).forEach(galleryElement => {\n galleryElement.removeEventListener('click', this.onThumbnailsClick, false);\n });\n }\n\n}\n\nexport { PhotoSwipeLightbox as default };\n//# sourceMappingURL=photoswipe-lightbox.esm.js.map\n","\n\n\n\n\n","import mod from \"-!../../../../../../../vue-loader/lib/index.js??vue-loader-options!./AdvancedItemImageCarousel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../vue-loader/lib/index.js??vue-loader-options!./AdvancedItemImageCarousel.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../../css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../../../../../vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../vue-loader/lib/index.js??vue-loader-options!./AdvancedItemImageCarousel.vue?vue&type=style&index=0&id=b22a3c24&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../../../css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../../../../../vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../vue-loader/lib/index.js??vue-loader-options!./AdvancedItemImageCarousel.vue?vue&type=style&index=0&id=b22a3c24&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AdvancedItemImageCarousel.vue?vue&type=template&id=b22a3c24&scoped=true\"\nimport script from \"./AdvancedItemImageCarousel.vue?vue&type=script&lang=js\"\nexport * from \"./AdvancedItemImageCarousel.vue?vue&type=script&lang=js\"\nimport style0 from \"./AdvancedItemImageCarousel.vue?vue&type=style&index=0&id=b22a3c24&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b22a3c24\",\n null\n \n)\n\nexport default component.exports","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;"],"names":["module","exports","options","element","document","createElement","setAttributes","attributes","insert","css","styleElement","styleSheet","cssText","firstChild","removeChild","appendChild","createTextNode","item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceMapping","join","___CSS_LOADER_EXPORT___","push","id","locals","nonce","setAttribute","stylesInDOM","getIndexByIdentifier","identifier","result","i","length","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","obj","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","render","_vm","this","_c","_self","staticClass","attrs","on","mouseenter","$event","interacted","showHint","mouseleave","click","getImageCount","scroll","_l","singleImages","image","key","width","height","href","url","title","getImageName","itemscope","itemtype","target","itemprop","_v","$translate","alt","getAltText","sizes","imageSizes","src","urlMiddle","srcset","getImageSrcSet","fetchpriority","decoding","loading","urlPreview","staticStyle","name","zoomImagePath","zoomTextHint","class","showTextHint","_s","swipeImagePath","swipeTextHint","_e","className","tagName","appendToEl","el","setWidthHeight","w","h","style","_withStripped","LOAD_STATE","getElementsFromOption","option","legacySelector","parent","elements","Element","NodeList","Array","isArray","from","selector","querySelectorAll","isSafari","navigator","vendor","match","PhotoSwipeEvent","constructor","type","details","defaultPrevented","Object","assign","preventDefault","Eventable","_listeners","_filters","pswp","undefined","addFilter","fn","priority","_this$_filters$name","_this$_filters$name2","_this$pswp","sort","f1","f2","removeFilter","filter","applyFilters","args","_this$_filters$name3","forEach","apply","_this$_listeners$name","_this$pswp2","off","_this$pswp3","listener","dispatch","_this$_listeners$name2","event","call","Placeholder","imageSrc","container","imgEl","setDisplayedSize","transformOrigin","transform","x","y","scale","propValue","toTransformString","destroy","_this$element","parentNode","Content","itemData","instance","placeholder","slide","displayedImageWidth","displayedImageHeight","Number","isAttached","hasSlide","isDecoding","state","removePlaceholder","keepPlaceholder","setTimeout","load","isLazy","reload","usePlaceholder","placeholderEl","parentElement","prepend","placeholderSrc","msrc","isFirstSlide","isImageContent","loadImage","innerHTML","html","updateContentSize","_this$data$src","_this$data$alt","imageElement","updateSrcsetSizes","complete","onLoaded","onload","onerror","onError","setSlide","isActive","heavyAppended","append","displayError","isError","isLoading","isInitialSizeUpdate","isZoomable","sizesWidth","dataset","largestUsedSize","parseInt","String","lazyLoad","_this$instance$option","_this$instance$option2","errorMsgEl","innerText","errorMsg","supportsDecode","decode","catch","finally","appendImage","activate","holderElement","deactivate","parsePaddingOption","prop","viewportSize","paddingValue","paddingFn","padding","legacyPropName","toUpperCase","slice","ZoomLevel","panAreaSize","elementSize","fit","fill","vFill","initial","secondary","max","min","maxWidth","maxHeight","hRatio","vRatio","Math","_getInitial","_getSecondary","_getMax","zoomLevels","slideData","_parseZoomLevelOption","optionPrefix","optionName","optionValue","currZoomLevel","lazyLoadData","createContentFromData","zoomLevel","getViewportSizeFn","newViewportSize","documentElement","clientWidth","window","innerHeight","getViewportSize","getPanAreaSize","ceil","PhotoSwipeBase","getNumItems","_this$options","numItems","dataSource","items","_getGalleryDOMElements","gallery","getItemData","_this$options2","dataSourceItem","_domElementToItemData","galleryElement","_this$options3","_this$options4","children","childSelector","linkEl","querySelector","pswpSrc","pswpSrcset","pswpWidth","pswpHeight","pswpType","thumbnailEl","_thumbnailEl$getAttri","currentSrc","getAttribute","pswpCropped","cropped","thumbCropped","PhotoSwipeLightbox","super","_uid","shouldOpen","_preloadedContent","onThumbnailsClick","bind","init","gallerySelector","addEventListener","e","button","ctrlKey","metaKey","altKey","shiftKey","specialKeyUsed","initialPoint","clientX","clientY","clickedIndex","getClickedIndex","currentTarget","loadAndOpen","getClickedIndexFn","clickedTarget","clickedChildIndex","findIndex","child","contains","galleryElements","initialPointerPos","preload","promiseArray","pswpModuleType","pswpModule","prototype","goTo","Promise","resolve","Error","openPromise","preloadFirstSlide","lazyLoadSlide","uid","all","then","iterableModules","mainModule","_openPhotoswipe","default","keys","contentLoader","addToCache","removeEventListener","inject","itemId","props","maxQuantity","showIcons","Boolean","imageWidths","imageObserver","computed","currentVariation","$store","getters","imagesAccessor","images","variation","watch","handler","val","oldVal","reInitialize","deep","mounted","$nextTick","initialize","unmounted","methods","altText","alternate","$options","filters","itemName","value","names","imageName","urlSecondPreview","lightbox","styleTagTransform","insertStyleElement","cssWithMappingToString","toString","map","needLayer","modules","dedupe","alreadyImportedModules","k","_k","memo","styleTarget","HTMLIFrameElement","contentDocument","head","getTarget","removeStyleElement"],"sourceRoot":""}