@oiz/stzh-components 4.10.0-beta2 → 4.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-CLYMFtQm.js → index-Br_Y6IzY.js} +3 -3
- package/dist/cjs/{index-CLYMFtQm.js.map → index-Br_Y6IzY.js.map} +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/stzh-accordion_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-actions_6.cjs.entry.js +1 -1
- package/dist/cjs/stzh-actionset.cjs.entry.js +1 -1
- package/dist/cjs/stzh-amount.cjs.entry.js +1 -1
- package/dist/cjs/stzh-anchornav.cjs.entry.js +1 -1
- package/dist/cjs/stzh-app-nav.cjs.entry.js +2 -2
- package/dist/cjs/stzh-appointments.cjs.entry.js +1 -1
- package/dist/cjs/stzh-archivelist.cjs.entry.js +1 -1
- package/dist/cjs/stzh-audio.cjs.entry.js +1 -1
- package/dist/cjs/stzh-badge_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-banner.cjs.entry.js +4 -2
- package/dist/cjs/stzh-breadcrumb_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-buttongroup.cjs.entry.js +7 -7
- package/dist/cjs/stzh-calendar.cjs.entry.js +1 -1
- package/dist/cjs/stzh-card-navigation.cjs.entry.js +1 -1
- package/dist/cjs/stzh-card-searchresult.cjs.entry.js +1 -1
- package/dist/cjs/stzh-card-superteaser.cjs.entry.js +1 -1
- package/dist/cjs/stzh-card_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-carousel.cjs.entry.js +1 -1
- package/dist/cjs/stzh-chart.cjs.entry.js +1 -1
- package/dist/cjs/stzh-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +2 -2
- package/dist/cjs/stzh-chip_2.cjs.entry.js +32 -42
- package/dist/cjs/stzh-chipgroup.cjs.entry.js +1 -1
- package/dist/cjs/stzh-clamp.cjs.entry.js +1 -1
- package/dist/cjs/stzh-company-logo.cjs.entry.js +1 -1
- package/dist/cjs/stzh-components.cjs.js +2 -2
- package/dist/cjs/stzh-contact-cv.cjs.entry.js +1 -1
- package/dist/cjs/stzh-contact.cjs.entry.js +1 -1
- package/dist/cjs/stzh-container_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-content.cjs.entry.js +1 -1
- package/dist/cjs/stzh-cta.cjs.entry.js +1 -1
- package/dist/cjs/stzh-datalist_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-datamessagelist-item.cjs.entry.js +1 -1
- package/dist/cjs/stzh-datamessagelist.cjs.entry.js +1 -1
- package/dist/cjs/stzh-datatable.cjs.entry.js +1 -1
- package/dist/cjs/stzh-datepicker_3.cjs.entry.js +2 -2
- package/dist/cjs/stzh-daterange.cjs.entry.js +1 -1
- package/dist/cjs/stzh-details.cjs.entry.js +1 -1
- package/dist/cjs/stzh-dialog.cjs.entry.js +1 -1
- package/dist/cjs/stzh-disturber.cjs.entry.js +1 -1
- package/dist/cjs/stzh-dropdown.cjs.entry.js +7 -7
- package/dist/cjs/stzh-editor.cjs.entry.js +1 -1
- package/dist/cjs/stzh-eventdata.cjs.entry.js +1 -1
- package/dist/cjs/stzh-eventinfo.cjs.entry.js +1 -1
- package/dist/cjs/stzh-feedreader-item.cjs.entry.js +1 -1
- package/dist/cjs/stzh-feedreader.cjs.entry.js +1 -1
- package/dist/cjs/stzh-figure.cjs.entry.js +1 -1
- package/dist/cjs/stzh-flyingfocus.cjs.entry.js +1 -1
- package/dist/cjs/stzh-footer.cjs.entry.js +1 -1
- package/dist/cjs/stzh-gallery.cjs.entry.js +5 -3
- package/dist/cjs/stzh-geo-ref-data.cjs.entry.js +4 -4
- package/dist/cjs/stzh-ghettobox_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-header_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-heading.cjs.entry.js +1 -1
- package/dist/cjs/stzh-homepage-search.cjs.entry.js +1 -1
- package/dist/cjs/stzh-homepage-service-highlights.cjs.entry.js +1 -1
- package/dist/cjs/stzh-hr.cjs.entry.js +1 -1
- package/dist/cjs/stzh-hspace.cjs.entry.js +1 -1
- package/dist/cjs/stzh-http-error.cjs.entry.js +1 -1
- package/dist/cjs/stzh-iframe.cjs.entry.js +1 -1
- package/dist/cjs/stzh-imagecomparison.cjs.entry.js +1 -1
- package/dist/cjs/{stzh-input-description-DE0KJWgB.js → stzh-input-description-BszhfY9d.js} +3 -3
- package/dist/cjs/{stzh-input-description-DE0KJWgB.js.map → stzh-input-description-BszhfY9d.js.map} +1 -1
- package/dist/cjs/stzh-input.cjs.entry.js +2 -2
- package/dist/cjs/stzh-invert.cjs.entry.js +1 -1
- package/dist/cjs/stzh-link.cjs.entry.js +1 -1
- package/dist/cjs/stzh-linklist.cjs.entry.js +1 -1
- package/dist/cjs/stzh-list_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-loader.cjs.entry.js +1 -1
- package/dist/cjs/stzh-loadingbar.cjs.entry.js +1 -1
- package/dist/cjs/stzh-menu_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-message.cjs.entry.js +1 -1
- package/dist/cjs/stzh-microsite-teaserlist.cjs.entry.js +1 -1
- package/dist/cjs/stzh-monthyearpicker.cjs.entry.js +1 -1
- package/dist/cjs/stzh-offline-indicator.cjs.entry.js +1 -1
- package/dist/cjs/stzh-page-skiplinks.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagebottom.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagecontent.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagetitle-home.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagetitle.cjs.entry.js +1 -1
- package/dist/cjs/stzh-panorama.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-content-navigation.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-menu.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-pagetitle.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-quote.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-teaser-layout-item.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-teaser-layout.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-teaser.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pkzh-qr.cjs.entry.js +3 -3
- package/dist/cjs/stzh-popover.cjs.entry.js +5 -2
- package/dist/cjs/stzh-print_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-quote.cjs.entry.js +1 -1
- package/dist/cjs/stzh-rating.cjs.entry.js +2 -2
- package/dist/cjs/stzh-ratio.cjs.entry.js +1 -1
- package/dist/cjs/stzh-readspeaker.cjs.entry.js +1 -1
- package/dist/cjs/stzh-saptcha.cjs.entry.js +1 -1
- package/dist/cjs/stzh-scrollup.cjs.entry.js +1 -1
- package/dist/cjs/stzh-search.cjs.entry.js +1 -1
- package/dist/cjs/stzh-section.cjs.entry.js +1 -1
- package/dist/cjs/stzh-sitemap.cjs.entry.js +1 -1
- package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js +1 -1
- package/dist/cjs/stzh-skin-storybook-preview.cjs.entry.js +1 -1
- package/dist/cjs/stzh-skiplink.cjs.entry.js +1 -1
- package/dist/cjs/stzh-socialmediastream-item.cjs.entry.js +1 -1
- package/dist/cjs/stzh-socialmediastream.cjs.entry.js +1 -1
- package/dist/cjs/stzh-stepper-item.cjs.entry.js +1 -1
- package/dist/cjs/stzh-stepper.cjs.entry.js +1 -1
- package/dist/cjs/stzh-sticky-actions.cjs.entry.js +1 -1
- package/dist/cjs/stzh-sticky.cjs.entry.js +1 -1
- package/dist/cjs/stzh-table.cjs.entry.js +1 -1
- package/dist/cjs/stzh-text.cjs.entry.js +1 -1
- package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
- package/dist/cjs/stzh-timeline-item.cjs.entry.js +1 -1
- package/dist/cjs/stzh-timeline.cjs.entry.js +1 -1
- package/dist/cjs/stzh-timepicker.cjs.entry.js +1 -1
- package/dist/cjs/stzh-toast_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-toggle.cjs.entry.js +2 -2
- package/dist/cjs/stzh-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/stzh-twocolumns.cjs.entry.js +1 -1
- package/dist/cjs/stzh-upload.cjs.entry.js +2 -2
- package/dist/cjs/stzh-vbz-carousel.cjs.entry.js +1 -1
- package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js +1 -1
- package/dist/cjs/stzh-vbz-intro.cjs.entry.js +1 -1
- package/dist/cjs/stzh-vbz-linechip.cjs.entry.js +1 -1
- package/dist/cjs/stzh-vbz-majorticker.cjs.entry.js +1 -1
- package/dist/cjs/stzh-vbz-ticker.cjs.entry.js +1 -1
- package/dist/cjs/stzh-visuallyhidden.cjs.entry.js +1 -1
- package/dist/cjs/stzh-vspace.cjs.entry.js +1 -1
- package/dist/cjs/stzh-youtube.cjs.entry.js +1 -1
- package/dist/collection/components/CMS/PKZH/stzh-pkzh-qr/stzh-pkzh-qr.js +2 -2
- package/dist/collection/components/CMS/PKZH/stzh-pkzh-qr/stzh-pkzh-qr.js.map +1 -1
- package/dist/collection/components/CMS/stzh-geo-ref-data/stzh-geo-ref-data.js +3 -3
- package/dist/collection/components/CMS/stzh-geo-ref-data/stzh-geo-ref-data.js.map +1 -1
- package/dist/collection/components/stzh-accordion/stzh-accordion.stories.js +1 -1
- package/dist/collection/components/stzh-amount/stzh-amount.stories.js +5 -12
- package/dist/collection/components/stzh-app-nav/stzh-app-nav.js +1 -1
- package/dist/collection/components/stzh-app-nav/stzh-app-nav.js.map +1 -1
- package/dist/collection/components/stzh-banner/stzh-banner.css +3 -1
- package/dist/collection/components/stzh-button/stzh-button.stories.js +1 -1
- package/dist/collection/components/stzh-buttongroup/stzh-buttongroup.js +6 -6
- package/dist/collection/components/stzh-buttongroup/stzh-buttongroup.js.map +1 -1
- package/dist/collection/components/stzh-chipselect/stzh-chipselect.css +12 -1
- package/dist/collection/components/stzh-chipselect/stzh-chipselect.js +29 -39
- package/dist/collection/components/stzh-chipselect/stzh-chipselect.js.map +1 -1
- package/dist/collection/components/stzh-chipselect/stzh-chipselect.stories.js +60 -0
- package/dist/collection/components/stzh-details/stzh-details.js.map +1 -1
- package/dist/collection/components/stzh-dropdown/stzh-dropdown.js +5 -5
- package/dist/collection/components/stzh-dropdown/stzh-dropdown.js.map +1 -1
- package/dist/collection/components/stzh-gallery/stzh-gallery.js +4 -2
- package/dist/collection/components/stzh-gallery/stzh-gallery.js.map +1 -1
- package/dist/collection/components/stzh-header/stzh-header.stories.js +184 -94
- package/dist/collection/components/stzh-popover/stzh-popover.css +4 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/components/index.js +2 -2
- package/dist/components/{p-m6rlXYCx.js → p-19VfXOay.js} +3 -3
- package/dist/components/{p-m6rlXYCx.js.map → p-19VfXOay.js.map} +1 -1
- package/dist/components/{p-D36sFB-f.js → p-5BslSTpf.js} +8 -5
- package/dist/components/p-5BslSTpf.js.map +1 -0
- package/dist/components/{p-_oPvxDjS.js → p-6nWAZpXe.js} +4 -4
- package/dist/components/{p-_oPvxDjS.js.map → p-6nWAZpXe.js.map} +1 -1
- package/dist/components/{p-CHsDsF4j.js → p-8FqKNq0v.js} +3 -3
- package/dist/components/{p-CHsDsF4j.js.map → p-8FqKNq0v.js.map} +1 -1
- package/dist/components/{p-CxXO_cqj.js → p-B1bydx3d.js} +4 -4
- package/dist/components/{p-CxXO_cqj.js.map → p-B1bydx3d.js.map} +1 -1
- package/dist/components/{p-Br9iq5v0.js → p-BALx46q6.js} +3 -3
- package/dist/components/{p-Br9iq5v0.js.map → p-BALx46q6.js.map} +1 -1
- package/dist/components/{p-Bl9tD7uq.js → p-BCaGFZC8.js} +6 -6
- package/dist/components/{p-Bl9tD7uq.js.map → p-BCaGFZC8.js.map} +1 -1
- package/dist/components/{p-DZmJJLfK.js → p-BGEGvpL5.js} +43 -53
- package/dist/components/p-BGEGvpL5.js.map +1 -0
- package/dist/components/{p-BqD-6Uyq.js → p-BGS_EDCX.js} +3 -3
- package/dist/components/{p-BqD-6Uyq.js.map → p-BGS_EDCX.js.map} +1 -1
- package/dist/components/{p-YpVuLovc.js → p-BKaUJsFB.js} +10 -10
- package/dist/components/{p-YpVuLovc.js.map → p-BKaUJsFB.js.map} +1 -1
- package/dist/components/{p-D_w8j389.js → p-BPs3afuZ.js} +3 -3
- package/dist/components/{p-D_w8j389.js.map → p-BPs3afuZ.js.map} +1 -1
- package/dist/components/{p-Cl93LJda.js → p-BZD4OY2C.js} +7 -7
- package/dist/components/{p-Cl93LJda.js.map → p-BZD4OY2C.js.map} +1 -1
- package/dist/components/{p-C9SxUKMo.js → p-Bck1KAhE.js} +7 -7
- package/dist/components/{p-C9SxUKMo.js.map → p-Bck1KAhE.js.map} +1 -1
- package/dist/components/{p-Ba2Bva0s.js → p-BpEa7mua.js} +4 -4
- package/dist/components/{p-Ba2Bva0s.js.map → p-BpEa7mua.js.map} +1 -1
- package/dist/components/{p-Bj7oUjXe.js → p-BrqF6tbl.js} +7 -7
- package/dist/components/{p-Bj7oUjXe.js.map → p-BrqF6tbl.js.map} +1 -1
- package/dist/components/{p-BCWurktL.js → p-BsssrLnt.js} +3 -3
- package/dist/components/{p-BCWurktL.js.map → p-BsssrLnt.js.map} +1 -1
- package/dist/components/{p-CvKT-Mki.js → p-BuxRPGuq.js} +3 -3
- package/dist/components/{p-CvKT-Mki.js.map → p-BuxRPGuq.js.map} +1 -1
- package/dist/components/{p-B_fJQ6tu.js → p-C1G4-fBK.js} +9 -9
- package/dist/components/p-C1G4-fBK.js.map +1 -0
- package/dist/components/{p-CBm5dUcI.js → p-CG9ycBNk.js} +10 -10
- package/dist/components/{p-CBm5dUcI.js.map → p-CG9ycBNk.js.map} +1 -1
- package/dist/components/{p-Q-f34pkU.js → p-CI-BeKbw.js} +3 -3
- package/dist/components/{p-Q-f34pkU.js.map → p-CI-BeKbw.js.map} +1 -1
- package/dist/components/{p-C2fkwuiL.js → p-CIVShc7i.js} +6 -6
- package/dist/components/{p-C2fkwuiL.js.map → p-CIVShc7i.js.map} +1 -1
- package/dist/components/{p-hyzEZfgL.js → p-CPibi_C6.js} +3 -3
- package/dist/components/{p-hyzEZfgL.js.map → p-CPibi_C6.js.map} +1 -1
- package/dist/components/{p-9r8p9BUI.js → p-CRnP18MI.js} +3 -3
- package/dist/components/{p-9r8p9BUI.js.map → p-CRnP18MI.js.map} +1 -1
- package/dist/components/{p-GLNS1q2a.js → p-CWKzk5Dy.js} +5 -5
- package/dist/components/{p-GLNS1q2a.js.map → p-CWKzk5Dy.js.map} +1 -1
- package/dist/components/{p-D5mdbZ1m.js → p-CYQEBKQj.js} +3 -3
- package/dist/components/{p-D5mdbZ1m.js.map → p-CYQEBKQj.js.map} +1 -1
- package/dist/components/{p-CU207ROz.js → p-CaLhvLbO.js} +3 -3
- package/dist/components/{p-CU207ROz.js.map → p-CaLhvLbO.js.map} +1 -1
- package/dist/components/{p-D_o61BZJ.js → p-Cg3Ak7yk.js} +7 -7
- package/dist/components/{p-D_o61BZJ.js.map → p-Cg3Ak7yk.js.map} +1 -1
- package/dist/components/{p-iayhrwy5.js → p-ChkFy7hA.js} +4 -4
- package/dist/components/{p-iayhrwy5.js.map → p-ChkFy7hA.js.map} +1 -1
- package/dist/components/{p-LRN3e03F.js → p-CiEcvFWc.js} +5 -5
- package/dist/components/{p-LRN3e03F.js.map → p-CiEcvFWc.js.map} +1 -1
- package/dist/components/{p-BPf3Q0zD.js → p-Covl24Oh.js} +7 -7
- package/dist/components/{p-BPf3Q0zD.js.map → p-Covl24Oh.js.map} +1 -1
- package/dist/components/{p-DXFYCyWz.js → p-CtNit8M7.js} +4 -4
- package/dist/components/p-CtNit8M7.js.map +1 -0
- package/dist/components/{p-Ds3Xf7HO.js → p-CunX3wR8.js} +6 -6
- package/dist/components/{p-Ds3Xf7HO.js.map → p-CunX3wR8.js.map} +1 -1
- package/dist/components/{p-B4ov3VSW.js → p-Czf9tl8J.js} +3 -3
- package/dist/components/{p-B4ov3VSW.js.map → p-Czf9tl8J.js.map} +1 -1
- package/dist/components/{p-B-TtPvY1.js → p-D5fsVLBd.js} +7 -7
- package/dist/components/p-D5fsVLBd.js.map +1 -0
- package/dist/components/{p-NkWiianJ.js → p-D6yVsUPX.js} +3 -3
- package/dist/components/{p-NkWiianJ.js.map → p-D6yVsUPX.js.map} +1 -1
- package/dist/components/{p-RKHdQGuh.js → p-D7BPM8cN.js} +3 -3
- package/dist/components/{p-RKHdQGuh.js.map → p-D7BPM8cN.js.map} +1 -1
- package/dist/components/{p-YckM1D_L.js → p-D9Oa_RMc.js} +3 -3
- package/dist/components/{p-YckM1D_L.js.map → p-D9Oa_RMc.js.map} +1 -1
- package/dist/components/{p-SfncvvQt.js → p-DAmGIV8s.js} +4 -4
- package/dist/components/{p-SfncvvQt.js.map → p-DAmGIV8s.js.map} +1 -1
- package/dist/components/{p-CPhenplF.js → p-DDFSjhu_.js} +12 -12
- package/dist/components/{p-CPhenplF.js.map → p-DDFSjhu_.js.map} +1 -1
- package/dist/components/{p-xQukwkcn.js → p-DDrQ-GDv.js} +3 -3
- package/dist/components/{p-xQukwkcn.js.map → p-DDrQ-GDv.js.map} +1 -1
- package/dist/components/{p-oJrSY_Eh.js → p-DF4gVlfp.js} +12 -12
- package/dist/components/{p-oJrSY_Eh.js.map → p-DF4gVlfp.js.map} +1 -1
- package/dist/components/{p-DPBLkGIO.js → p-DJk-2ioO.js} +3 -3
- package/dist/components/{p-DPBLkGIO.js.map → p-DJk-2ioO.js.map} +1 -1
- package/dist/components/{p-0236I21-.js → p-DRx_UYls.js} +7 -7
- package/dist/components/{p-0236I21-.js.map → p-DRx_UYls.js.map} +1 -1
- package/dist/components/{p-DLlZq7iU.js → p-DT-jsCLe.js} +3 -3
- package/dist/components/{p-DLlZq7iU.js.map → p-DT-jsCLe.js.map} +1 -1
- package/dist/components/{p-ogdE0ZRA.js → p-DUQ-gRxd.js} +6 -6
- package/dist/components/{p-ogdE0ZRA.js.map → p-DUQ-gRxd.js.map} +1 -1
- package/dist/components/{p-D-wjggPy.js → p-DUhK-jhY.js} +11 -11
- package/dist/components/p-DUhK-jhY.js.map +1 -0
- package/dist/components/{p-CX2dz2Bb.js → p-DZwaDoTV.js} +11 -11
- package/dist/components/{p-CX2dz2Bb.js.map → p-DZwaDoTV.js.map} +1 -1
- package/dist/components/{p-Dxt_KaZJ.js → p-Da6Pvdri.js} +3 -3
- package/dist/components/{p-Dxt_KaZJ.js.map → p-Da6Pvdri.js.map} +1 -1
- package/dist/components/{p-BXZUgr03.js → p-DaY6mRgd.js} +3 -3
- package/dist/components/{p-BXZUgr03.js.map → p-DaY6mRgd.js.map} +1 -1
- package/dist/components/{p-DoEOS1rz.js → p-DcitYu_B.js} +6 -6
- package/dist/components/{p-DoEOS1rz.js.map → p-DcitYu_B.js.map} +1 -1
- package/dist/components/{p-bCUQRc-d.js → p-DeIgrcHw.js} +6 -6
- package/dist/components/{p-bCUQRc-d.js.map → p-DeIgrcHw.js.map} +1 -1
- package/dist/components/{p-Cla6GVJl.js → p-DjUfFf-R.js} +3 -3
- package/dist/components/p-DjUfFf-R.js.map +1 -0
- package/dist/components/{p-C0eoM6jL.js → p-DnZfjilC.js} +7 -7
- package/dist/components/{p-C0eoM6jL.js.map → p-DnZfjilC.js.map} +1 -1
- package/dist/components/{p-s4RWk35S.js → p-DpeJpDc8.js} +3 -3
- package/dist/components/{p-s4RWk35S.js.map → p-DpeJpDc8.js.map} +1 -1
- package/dist/components/{p-yyUgGCAC.js → p-DwP4TJHm.js} +8 -8
- package/dist/components/{p-yyUgGCAC.js.map → p-DwP4TJHm.js.map} +1 -1
- package/dist/components/{p-Ol_RRMGB.js → p-DxnT0K8v.js} +5 -5
- package/dist/components/{p-Ol_RRMGB.js.map → p-DxnT0K8v.js.map} +1 -1
- package/dist/components/{p-CUujfXGZ.js → p-JOhIAgHk.js} +3 -3
- package/dist/components/{p-CUujfXGZ.js.map → p-JOhIAgHk.js.map} +1 -1
- package/dist/components/{p-EFtIYe07.js → p-K2FhSkA6.js} +5 -5
- package/dist/components/{p-EFtIYe07.js.map → p-K2FhSkA6.js.map} +1 -1
- package/dist/components/{p-BEnCw0ZO.js → p-KXfvITXr.js} +3 -3
- package/dist/components/{p-BEnCw0ZO.js.map → p-KXfvITXr.js.map} +1 -1
- package/dist/components/{p-tUZeJBio.js → p-NmZZNRMg.js} +9 -9
- package/dist/components/{p-tUZeJBio.js.map → p-NmZZNRMg.js.map} +1 -1
- package/dist/components/{p-D8Xk8iM1.js → p-PFaTABew.js} +11 -11
- package/dist/components/{p-D8Xk8iM1.js.map → p-PFaTABew.js.map} +1 -1
- package/dist/components/{p-CdjHLYTf.js → p-S3RSvRX7.js} +5 -5
- package/dist/components/{p-CdjHLYTf.js.map → p-S3RSvRX7.js.map} +1 -1
- package/dist/components/{p-mWRI28It.js → p-SbO4yTDL.js} +3 -3
- package/dist/components/{p-mWRI28It.js.map → p-SbO4yTDL.js.map} +1 -1
- package/dist/components/{p-Bi42veQe.js → p-_URfdwj0.js} +9 -9
- package/dist/components/{p-Bi42veQe.js.map → p-_URfdwj0.js.map} +1 -1
- package/dist/components/{p-BnEnros_.js → p-a6yYbN7G.js} +3 -3
- package/dist/components/{p-BnEnros_.js.map → p-a6yYbN7G.js.map} +1 -1
- package/dist/components/{p-b61bpkSU.js → p-blZtYtHM.js} +3 -3
- package/dist/components/{p-b61bpkSU.js.map → p-blZtYtHM.js.map} +1 -1
- package/dist/components/{p-DZGcrLIr.js → p-cNTFnDJ9.js} +3 -3
- package/dist/components/{p-DZGcrLIr.js.map → p-cNTFnDJ9.js.map} +1 -1
- package/dist/components/{p-C-cWMWjK.js → p-d0uOMlu3.js} +4 -4
- package/dist/components/{p-C-cWMWjK.js.map → p-d0uOMlu3.js.map} +1 -1
- package/dist/components/{p-wFg7jTyH.js → p-oafMGboU.js} +9 -9
- package/dist/components/{p-wFg7jTyH.js.map → p-oafMGboU.js.map} +1 -1
- package/dist/components/{p-AbGm5dW0.js → p-qHThZaqH.js} +8 -8
- package/dist/components/{p-AbGm5dW0.js.map → p-qHThZaqH.js.map} +1 -1
- package/dist/components/p-uD4ilJut.js.map +1 -1
- package/dist/components/stzh-accordion-item.js +1 -1
- package/dist/components/stzh-accordion.js +1 -1
- package/dist/components/stzh-actions.js +1 -1
- package/dist/components/stzh-actionset.js +1 -1
- package/dist/components/stzh-amount.js +9 -9
- package/dist/components/stzh-anchornav.js +5 -5
- package/dist/components/stzh-app-nav.js +1 -1
- package/dist/components/stzh-appointments.js +13 -13
- package/dist/components/stzh-archivelist.js +7 -7
- package/dist/components/stzh-audio.js +5 -5
- package/dist/components/stzh-badge.js +1 -1
- package/dist/components/stzh-banner.js +7 -5
- package/dist/components/stzh-banner.js.map +1 -1
- package/dist/components/stzh-breadcrumb.js +1 -1
- package/dist/components/stzh-button.js +1 -1
- package/dist/components/stzh-buttongroup.js +1 -1
- package/dist/components/stzh-calendar.js +1 -1
- package/dist/components/stzh-card-navigation.js +2 -2
- package/dist/components/stzh-card-searchresult.js +14 -14
- package/dist/components/stzh-card-superteaser.js +14 -14
- package/dist/components/stzh-card.js +1 -1
- package/dist/components/stzh-cardlist.js +1 -1
- package/dist/components/stzh-carousel.js +1 -1
- package/dist/components/stzh-cell.js +1 -1
- package/dist/components/stzh-chart.js +1 -1
- package/dist/components/stzh-checkbox.js +1 -1
- package/dist/components/stzh-checkboxgroup.js +5 -5
- package/dist/components/stzh-chip.js +1 -1
- package/dist/components/stzh-chipgroup.js +1 -1
- package/dist/components/stzh-chipselect.js +1 -1
- package/dist/components/stzh-clamp.js +1 -1
- package/dist/components/stzh-company-logo.js +1 -1
- package/dist/components/stzh-contact-cv.js +4 -4
- package/dist/components/stzh-contact.js +10 -10
- package/dist/components/stzh-container.js +1 -1
- package/dist/components/stzh-content.js +1 -1
- package/dist/components/stzh-cspace.js +1 -1
- package/dist/components/stzh-cta.js +3 -3
- package/dist/components/stzh-datalist-item.js +1 -1
- package/dist/components/stzh-datalist.js +1 -1
- package/dist/components/stzh-datamessagelist-item.js +11 -11
- package/dist/components/stzh-datamessagelist.js +1 -1
- package/dist/components/stzh-datatable.js +17 -17
- package/dist/components/stzh-datepicker.js +1 -1
- package/dist/components/stzh-daterange.js +4 -4
- package/dist/components/stzh-details.js +1 -1
- package/dist/components/stzh-dialog.js +1 -1
- package/dist/components/stzh-disturber.js +4 -4
- package/dist/components/stzh-dropdown.js +1 -1
- package/dist/components/stzh-editor.js +4 -4
- package/dist/components/stzh-eventdata.js +1 -1
- package/dist/components/stzh-eventinfo.js +5 -5
- package/dist/components/stzh-feedreader-item.js +2 -2
- package/dist/components/stzh-feedreader.js +8 -8
- package/dist/components/stzh-fieldset.js +1 -1
- package/dist/components/stzh-figure.js +1 -1
- package/dist/components/stzh-flyingfocus.js +1 -1
- package/dist/components/stzh-footer.js +4 -4
- package/dist/components/stzh-gallery.js +12 -10
- package/dist/components/stzh-gallery.js.map +1 -1
- package/dist/components/stzh-geo-ref-data.js +27 -27
- package/dist/components/stzh-geo-ref-data.js.map +1 -1
- package/dist/components/stzh-ghettobox.js +1 -1
- package/dist/components/stzh-header.js +1 -1
- package/dist/components/stzh-heading.js +1 -1
- package/dist/components/stzh-homepage-search.js +2 -2
- package/dist/components/stzh-homepage-service-highlights.js +6 -6
- package/dist/components/stzh-hr.js +1 -1
- package/dist/components/stzh-hspace.js +1 -1
- package/dist/components/stzh-http-error.js +7 -7
- package/dist/components/stzh-icon.js +1 -1
- package/dist/components/stzh-iframe.js +1 -1
- package/dist/components/stzh-imagecomparison.js +2 -2
- package/dist/components/stzh-input.js +1 -1
- package/dist/components/stzh-invert.js +1 -1
- package/dist/components/stzh-link.js +1 -1
- package/dist/components/stzh-linklist.js +10 -10
- package/dist/components/stzh-list-item.js +1 -1
- package/dist/components/stzh-list.js +1 -1
- package/dist/components/stzh-loader.js +1 -1
- package/dist/components/stzh-loadingbar.js +1 -1
- package/dist/components/stzh-menu-item.js +1 -1
- package/dist/components/stzh-menu.js +1 -1
- package/dist/components/stzh-message.js +1 -1
- package/dist/components/stzh-microsite-teaserlist.js +20 -20
- package/dist/components/stzh-monthyearpicker.js +5 -5
- package/dist/components/stzh-offline-indicator.js +6 -6
- package/dist/components/stzh-olmap.js +1 -1
- package/dist/components/stzh-overlay.js +1 -1
- package/dist/components/stzh-page-skiplinks.js +1 -1
- package/dist/components/stzh-pagebottom.js +8 -8
- package/dist/components/stzh-pagecontent.js +1 -1
- package/dist/components/stzh-pagetitle-hero.js +1 -1
- package/dist/components/stzh-pagetitle-home.js +2 -2
- package/dist/components/stzh-pagetitle.js +2 -2
- package/dist/components/stzh-pagination.js +1 -1
- package/dist/components/stzh-panorama.js +11 -11
- package/dist/components/stzh-pi-content-navigation.js +3 -3
- package/dist/components/stzh-pi-menu.js +3 -3
- package/dist/components/stzh-pi-pagetitle.js +2 -2
- package/dist/components/stzh-pi-quote.js +1 -1
- package/dist/components/stzh-pi-teaser-layout-item.js +1 -1
- package/dist/components/stzh-pi-teaser-layout.js +2 -2
- package/dist/components/stzh-pi-teaser.js +2 -2
- package/dist/components/stzh-pkzh-qr.js +22 -22
- package/dist/components/stzh-pkzh-qr.js.map +1 -1
- package/dist/components/stzh-popover.js +1 -1
- package/dist/components/stzh-print.js +1 -1
- package/dist/components/stzh-quote.js +1 -1
- package/dist/components/stzh-radio.js +1 -1
- package/dist/components/stzh-radiogroup.js +1 -1
- package/dist/components/stzh-rating.js +5 -5
- package/dist/components/stzh-rating.js.map +1 -1
- package/dist/components/stzh-ratio.js +1 -1
- package/dist/components/stzh-readspeaker.js +4 -4
- package/dist/components/stzh-richtext.js +1 -1
- package/dist/components/stzh-row.js +1 -1
- package/dist/components/stzh-saptcha.js +7 -7
- package/dist/components/stzh-scrollup.js +1 -1
- package/dist/components/stzh-search.js +16 -16
- package/dist/components/stzh-section.js +1 -1
- package/dist/components/stzh-share.js +1 -1
- package/dist/components/stzh-show.js +1 -1
- package/dist/components/stzh-sitemap.js +9 -9
- package/dist/components/stzh-skin-portal-mitwirken.js +1 -1
- package/dist/components/stzh-skin-storybook-preview.js +1 -1
- package/dist/components/stzh-skiplink.js +1 -1
- package/dist/components/stzh-socialmediastream-item.js +1 -1
- package/dist/components/stzh-socialmediastream.js +6 -6
- package/dist/components/stzh-sortable.js +1 -1
- package/dist/components/stzh-space.js +1 -1
- package/dist/components/stzh-status.js +1 -1
- package/dist/components/stzh-stepper-item.js +1 -1
- package/dist/components/stzh-stepper.js +3 -3
- package/dist/components/stzh-sticky-actions.js +2 -2
- package/dist/components/stzh-sticky.js +1 -1
- package/dist/components/stzh-table.js +1 -1
- package/dist/components/stzh-tag.js +1 -1
- package/dist/components/stzh-text.js +1 -1
- package/dist/components/stzh-textandimage.js +1 -1
- package/dist/components/stzh-timeline-item.js +3 -3
- package/dist/components/stzh-timeline.js +1 -1
- package/dist/components/stzh-timepicker.js +5 -5
- package/dist/components/stzh-toast.js +1 -1
- package/dist/components/stzh-toastbar.js +1 -1
- package/dist/components/stzh-toggle.js +5 -5
- package/dist/components/stzh-tooltip.js +1 -1
- package/dist/components/stzh-twocolumns.js +1 -1
- package/dist/components/stzh-upload.js +13 -13
- package/dist/components/stzh-upload.js.map +1 -1
- package/dist/components/stzh-vbz-carousel.js +2 -2
- package/dist/components/stzh-vbz-connection-finder.js +1 -1
- package/dist/components/stzh-vbz-intro.js +5 -5
- package/dist/components/stzh-vbz-linechip.js +1 -1
- package/dist/components/stzh-vbz-majorticker.js +7 -7
- package/dist/components/stzh-vbz-ticker.js +7 -7
- package/dist/components/stzh-visuallyhidden.js +1 -1
- package/dist/components/stzh-vspace.js +1 -1
- package/dist/components/stzh-youtube.js +6 -6
- package/dist/esm/{index-WVDCFmOb.js → index-Boyybvcm.js} +3 -3
- package/dist/esm/{index-WVDCFmOb.js.map → index-Boyybvcm.js.map} +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/stzh-accordion_3.entry.js +1 -1
- package/dist/esm/stzh-actions_6.entry.js +1 -1
- package/dist/esm/stzh-actionset.entry.js +1 -1
- package/dist/esm/stzh-amount.entry.js +1 -1
- package/dist/esm/stzh-anchornav.entry.js +1 -1
- package/dist/esm/stzh-app-nav.entry.js +2 -2
- package/dist/esm/stzh-app-nav.entry.js.map +1 -1
- package/dist/esm/stzh-appointments.entry.js +1 -1
- package/dist/esm/stzh-archivelist.entry.js +1 -1
- package/dist/esm/stzh-audio.entry.js +1 -1
- package/dist/esm/stzh-badge_3.entry.js +1 -1
- package/dist/esm/stzh-banner.entry.js +4 -2
- package/dist/esm/stzh-banner.entry.js.map +1 -1
- package/dist/esm/stzh-breadcrumb_2.entry.js +1 -1
- package/dist/esm/stzh-buttongroup.entry.js +7 -7
- package/dist/esm/stzh-buttongroup.entry.js.map +1 -1
- package/dist/esm/stzh-calendar.entry.js +1 -1
- package/dist/esm/stzh-card-navigation.entry.js +1 -1
- package/dist/esm/stzh-card-searchresult.entry.js +1 -1
- package/dist/esm/stzh-card-superteaser.entry.js +1 -1
- package/dist/esm/stzh-card_2.entry.js +1 -1
- package/dist/esm/stzh-carousel.entry.js +1 -1
- package/dist/esm/stzh-chart.entry.js +1 -1
- package/dist/esm/stzh-checkbox.entry.js +2 -2
- package/dist/esm/stzh-checkboxgroup.entry.js +2 -2
- package/dist/esm/stzh-chip_2.entry.js +32 -42
- package/dist/esm/stzh-chipgroup.entry.js +1 -1
- package/dist/esm/stzh-clamp.entry.js +1 -1
- package/dist/esm/stzh-company-logo.entry.js +1 -1
- package/dist/esm/stzh-components.js +3 -3
- package/dist/esm/stzh-contact-cv.entry.js +1 -1
- package/dist/esm/stzh-contact.entry.js +1 -1
- package/dist/esm/stzh-container_2.entry.js +1 -1
- package/dist/esm/stzh-content.entry.js +1 -1
- package/dist/esm/stzh-cta.entry.js +1 -1
- package/dist/esm/stzh-datalist_3.entry.js +1 -1
- package/dist/esm/stzh-datamessagelist-item.entry.js +1 -1
- package/dist/esm/stzh-datamessagelist.entry.js +1 -1
- package/dist/esm/stzh-datatable.entry.js +1 -1
- package/dist/esm/stzh-datepicker_3.entry.js +2 -2
- package/dist/esm/stzh-daterange.entry.js +1 -1
- package/dist/esm/stzh-details.entry.js +1 -1
- package/dist/esm/stzh-details.entry.js.map +1 -1
- package/dist/esm/stzh-dialog.entry.js +1 -1
- package/dist/esm/stzh-disturber.entry.js +1 -1
- package/dist/esm/stzh-dropdown.entry.js +7 -7
- package/dist/esm/stzh-dropdown.entry.js.map +1 -1
- package/dist/esm/stzh-editor.entry.js +1 -1
- package/dist/esm/stzh-eventdata.entry.js +1 -1
- package/dist/esm/stzh-eventinfo.entry.js +1 -1
- package/dist/esm/stzh-feedreader-item.entry.js +1 -1
- package/dist/esm/stzh-feedreader.entry.js +1 -1
- package/dist/esm/stzh-figure.entry.js +1 -1
- package/dist/esm/stzh-flyingfocus.entry.js +1 -1
- package/dist/esm/stzh-footer.entry.js +1 -1
- package/dist/esm/stzh-gallery.entry.js +5 -3
- package/dist/esm/stzh-gallery.entry.js.map +1 -1
- package/dist/esm/stzh-geo-ref-data.entry.js +4 -4
- package/dist/esm/stzh-geo-ref-data.entry.js.map +1 -1
- package/dist/esm/stzh-ghettobox_3.entry.js +1 -1
- package/dist/esm/stzh-header_3.entry.js +1 -1
- package/dist/esm/stzh-heading.entry.js +1 -1
- package/dist/esm/stzh-homepage-search.entry.js +1 -1
- package/dist/esm/stzh-homepage-service-highlights.entry.js +1 -1
- package/dist/esm/stzh-hr.entry.js +1 -1
- package/dist/esm/stzh-hspace.entry.js +1 -1
- package/dist/esm/stzh-http-error.entry.js +1 -1
- package/dist/esm/stzh-iframe.entry.js +1 -1
- package/dist/esm/stzh-imagecomparison.entry.js +1 -1
- package/dist/esm/{stzh-input-description-Cl6JJQPg.js → stzh-input-description-D7avZ-wq.js} +3 -3
- package/dist/esm/{stzh-input-description-Cl6JJQPg.js.map → stzh-input-description-D7avZ-wq.js.map} +1 -1
- package/dist/esm/stzh-input.entry.js +2 -2
- package/dist/esm/stzh-invert.entry.js +1 -1
- package/dist/esm/stzh-link.entry.js +1 -1
- package/dist/esm/stzh-linklist.entry.js +1 -1
- package/dist/esm/stzh-list_2.entry.js +1 -1
- package/dist/esm/stzh-loader.entry.js +1 -1
- package/dist/esm/stzh-loadingbar.entry.js +1 -1
- package/dist/esm/stzh-menu_2.entry.js +1 -1
- package/dist/esm/stzh-message.entry.js +1 -1
- package/dist/esm/stzh-microsite-teaserlist.entry.js +1 -1
- package/dist/esm/stzh-monthyearpicker.entry.js +1 -1
- package/dist/esm/stzh-offline-indicator.entry.js +1 -1
- package/dist/esm/stzh-page-skiplinks.entry.js +1 -1
- package/dist/esm/stzh-pagebottom.entry.js +1 -1
- package/dist/esm/stzh-pagecontent.entry.js +1 -1
- package/dist/esm/stzh-pagetitle-hero.entry.js +1 -1
- package/dist/esm/stzh-pagetitle-home.entry.js +1 -1
- package/dist/esm/stzh-pagetitle.entry.js +1 -1
- package/dist/esm/stzh-panorama.entry.js +1 -1
- package/dist/esm/stzh-pi-content-navigation.entry.js +1 -1
- package/dist/esm/stzh-pi-menu.entry.js +1 -1
- package/dist/esm/stzh-pi-pagetitle.entry.js +1 -1
- package/dist/esm/stzh-pi-quote.entry.js +1 -1
- package/dist/esm/stzh-pi-teaser-layout-item.entry.js +1 -1
- package/dist/esm/stzh-pi-teaser-layout.entry.js +1 -1
- package/dist/esm/stzh-pi-teaser.entry.js +1 -1
- package/dist/esm/stzh-pkzh-qr.entry.js +3 -3
- package/dist/esm/stzh-pkzh-qr.entry.js.map +1 -1
- package/dist/esm/stzh-popover.entry.js +5 -2
- package/dist/esm/stzh-popover.entry.js.map +1 -1
- package/dist/esm/stzh-print_2.entry.js +1 -1
- package/dist/esm/stzh-quote.entry.js +1 -1
- package/dist/esm/stzh-rating.entry.js +2 -2
- package/dist/esm/stzh-rating.entry.js.map +1 -1
- package/dist/esm/stzh-ratio.entry.js +1 -1
- package/dist/esm/stzh-readspeaker.entry.js +1 -1
- package/dist/esm/stzh-saptcha.entry.js +1 -1
- package/dist/esm/stzh-scrollup.entry.js +1 -1
- package/dist/esm/stzh-search.entry.js +1 -1
- package/dist/esm/stzh-section.entry.js +1 -1
- package/dist/esm/stzh-sitemap.entry.js +1 -1
- package/dist/esm/stzh-skin-portal-mitwirken.entry.js +1 -1
- package/dist/esm/stzh-skin-storybook-preview.entry.js +1 -1
- package/dist/esm/stzh-skiplink.entry.js +1 -1
- package/dist/esm/stzh-socialmediastream-item.entry.js +1 -1
- package/dist/esm/stzh-socialmediastream.entry.js +1 -1
- package/dist/esm/stzh-stepper-item.entry.js +1 -1
- package/dist/esm/stzh-stepper-item.entry.js.map +1 -1
- package/dist/esm/stzh-stepper.entry.js +1 -1
- package/dist/esm/stzh-sticky-actions.entry.js +1 -1
- package/dist/esm/stzh-sticky.entry.js +1 -1
- package/dist/esm/stzh-table.entry.js +1 -1
- package/dist/esm/stzh-text.entry.js +1 -1
- package/dist/esm/stzh-textandimage.entry.js +1 -1
- package/dist/esm/stzh-timeline-item.entry.js +1 -1
- package/dist/esm/stzh-timeline.entry.js +1 -1
- package/dist/esm/stzh-timepicker.entry.js +1 -1
- package/dist/esm/stzh-toast_2.entry.js +1 -1
- package/dist/esm/stzh-toggle.entry.js +2 -2
- package/dist/esm/stzh-tooltip.entry.js +1 -1
- package/dist/esm/stzh-twocolumns.entry.js +1 -1
- package/dist/esm/stzh-upload.entry.js +2 -2
- package/dist/esm/stzh-upload.entry.js.map +1 -1
- package/dist/esm/stzh-vbz-carousel.entry.js +1 -1
- package/dist/esm/stzh-vbz-connection-finder.entry.js +1 -1
- package/dist/esm/stzh-vbz-intro.entry.js +1 -1
- package/dist/esm/stzh-vbz-linechip.entry.js +1 -1
- package/dist/esm/stzh-vbz-majorticker.entry.js +1 -1
- package/dist/esm/stzh-vbz-ticker.entry.js +1 -1
- package/dist/esm/stzh-visuallyhidden.entry.js +1 -1
- package/dist/esm/stzh-vspace.entry.js +1 -1
- package/dist/esm/stzh-youtube.entry.js +1 -1
- package/dist/stzh-components/index.esm.js.map +1 -1
- package/dist/stzh-components/{p-1e6be6d0.entry.js → p-02c6c25f.entry.js} +2 -2
- package/dist/stzh-components/{p-31778486.entry.js → p-0326f9e5.entry.js} +2 -2
- package/dist/stzh-components/{p-c41dee66.entry.js → p-04b91cbe.entry.js} +2 -2
- package/dist/stzh-components/{p-a0718284.entry.js → p-06a85017.entry.js} +2 -2
- package/dist/stzh-components/p-09c5b4f4.entry.js +2 -0
- package/dist/stzh-components/{p-314926bf.entry.js.map → p-09c5b4f4.entry.js.map} +1 -1
- package/dist/stzh-components/{p-69139874.entry.js → p-0c6f2548.entry.js} +2 -2
- package/dist/stzh-components/{p-9df3128f.entry.js → p-0dad8cce.entry.js} +2 -2
- package/dist/stzh-components/{p-106166bb.entry.js → p-0dbdd066.entry.js} +2 -2
- package/dist/stzh-components/{p-fdc1490c.entry.js → p-0e124317.entry.js} +2 -2
- package/dist/stzh-components/{p-20e1a372.entry.js → p-0e7b9556.entry.js} +2 -2
- package/dist/stzh-components/p-0e7b9556.entry.js.map +1 -0
- package/dist/stzh-components/{p-be2a47c8.entry.js → p-112e5a75.entry.js} +2 -2
- package/dist/stzh-components/{p-a8171280.entry.js → p-1268e055.entry.js} +2 -2
- package/dist/stzh-components/{p-f6ad50e0.entry.js → p-1278339e.entry.js} +2 -2
- package/dist/stzh-components/{p-1ef74860.entry.js → p-13aceed6.entry.js} +2 -2
- package/dist/stzh-components/{p-b08fc8cf.entry.js → p-162ea47b.entry.js} +2 -2
- package/dist/stzh-components/{p-4f0eb507.entry.js → p-18e9eaff.entry.js} +2 -2
- package/dist/stzh-components/{p-e07c9fb1.entry.js → p-1948c6be.entry.js} +2 -2
- package/dist/stzh-components/{p-730fb5c2.entry.js → p-1f36d924.entry.js} +2 -2
- package/dist/stzh-components/{p-c26c847d.entry.js → p-20381eb6.entry.js} +2 -2
- package/dist/stzh-components/{p-4ef46628.entry.js → p-2096b5e5.entry.js} +2 -2
- package/dist/stzh-components/{p-96b8de3e.entry.js → p-21864dc6.entry.js} +2 -2
- package/dist/stzh-components/{p-8de9da26.entry.js → p-22728170.entry.js} +2 -2
- package/dist/stzh-components/{p-2c1e5e8b.entry.js → p-228836b8.entry.js} +2 -2
- package/dist/stzh-components/{p-5351b862.entry.js → p-23399476.entry.js} +2 -2
- package/dist/stzh-components/{p-a104e707.entry.js → p-24a4865a.entry.js} +2 -2
- package/dist/stzh-components/{p-2d967d43.entry.js → p-2c27df73.entry.js} +2 -2
- package/dist/stzh-components/{p-625f8711.entry.js → p-2f5f9451.entry.js} +2 -2
- package/dist/stzh-components/{p-fc1c1b2f.entry.js → p-30a29924.entry.js} +2 -2
- package/dist/stzh-components/{p-09dacbbb.entry.js → p-3290c743.entry.js} +2 -2
- package/dist/stzh-components/{p-e6032117.entry.js → p-337a614c.entry.js} +2 -2
- package/dist/stzh-components/{p-f5562b5d.entry.js → p-3589f0fe.entry.js} +2 -2
- package/dist/stzh-components/{p-6f165f23.entry.js → p-370cec66.entry.js} +2 -2
- package/dist/stzh-components/{p-43b8cfde.entry.js → p-375e9039.entry.js} +2 -2
- package/dist/stzh-components/{p-1ba93bb7.entry.js → p-3f32f5b8.entry.js} +2 -2
- package/dist/stzh-components/{p-bd6065e7.entry.js → p-3f6c5da7.entry.js} +2 -2
- package/dist/stzh-components/{p-f9a6e354.entry.js → p-3fc6b229.entry.js} +2 -2
- package/dist/stzh-components/{p-5a82f73f.entry.js → p-43d22663.entry.js} +2 -2
- package/dist/stzh-components/{p-9f695971.entry.js → p-4409b388.entry.js} +2 -2
- package/dist/stzh-components/{p-d3793844.entry.js → p-496db660.entry.js} +2 -2
- package/dist/stzh-components/{p-519286e2.entry.js → p-4980cac6.entry.js} +4 -4
- package/dist/stzh-components/{p-50e739d8.entry.js → p-4b70f6d5.entry.js} +2 -2
- package/dist/stzh-components/{p-5fceb96e.entry.js → p-4c6a88dd.entry.js} +3 -3
- package/dist/stzh-components/{p-5fceb96e.entry.js.map → p-4c6a88dd.entry.js.map} +1 -1
- package/dist/stzh-components/{p-52594c33.entry.js → p-4e5ead8e.entry.js} +2 -2
- package/dist/stzh-components/{p-c86d6269.entry.js → p-51c08340.entry.js} +2 -2
- package/dist/stzh-components/{p-21c5f5b1.entry.js → p-52680e35.entry.js} +2 -2
- package/dist/stzh-components/{p-b99109a6.entry.js → p-54f536d9.entry.js} +2 -2
- package/dist/stzh-components/{p-43284068.entry.js → p-5525834e.entry.js} +2 -2
- package/dist/stzh-components/{p-be7e85d0.entry.js → p-573017fb.entry.js} +2 -2
- package/dist/stzh-components/{p-2df734f4.entry.js → p-57d3f5c6.entry.js} +3 -3
- package/dist/stzh-components/{p-0ecdbcb2.entry.js → p-58bc8ad5.entry.js} +2 -2
- package/dist/stzh-components/{p-ca9f7ff3.entry.js → p-59263627.entry.js} +2 -2
- package/dist/stzh-components/{p-9ff014f1.entry.js → p-59b64110.entry.js} +2 -2
- package/dist/stzh-components/{p-b9587fe9.entry.js → p-5ef55c3a.entry.js} +2 -2
- package/dist/stzh-components/{p-d4bb18c3.entry.js → p-614801db.entry.js} +2 -2
- package/dist/stzh-components/{p-8f76f465.entry.js → p-67134205.entry.js} +3 -3
- package/dist/stzh-components/{p-4cfef42a.entry.js → p-673449d3.entry.js} +2 -2
- package/dist/stzh-components/{p-3aade6ab.entry.js → p-683bdcfc.entry.js} +2 -2
- package/dist/stzh-components/{p-014c4efb.entry.js → p-6a51235e.entry.js} +2 -2
- package/dist/stzh-components/{p-fd5c190d.entry.js → p-6c2f5f67.entry.js} +2 -2
- package/dist/stzh-components/{p-1244a4ad.entry.js → p-722c343d.entry.js} +2 -2
- package/dist/stzh-components/{p-017820c0.entry.js → p-7c9f2c2f.entry.js} +2 -2
- package/dist/stzh-components/{p-4851302c.entry.js → p-7ff56bd0.entry.js} +2 -2
- package/dist/stzh-components/{p-fe4dd322.entry.js → p-8494bb21.entry.js} +2 -2
- package/dist/stzh-components/{p-32370a7e.entry.js → p-85329854.entry.js} +2 -2
- package/dist/stzh-components/{p-2152b3e7.entry.js → p-8547dd85.entry.js} +2 -2
- package/dist/stzh-components/{p-2152b3e7.entry.js.map → p-8547dd85.entry.js.map} +1 -1
- package/dist/stzh-components/{p-dead446b.entry.js → p-86c62790.entry.js} +2 -2
- package/dist/stzh-components/{p-ead4866b.entry.js → p-8a2c72fc.entry.js} +2 -2
- package/dist/stzh-components/{p-480fcf35.entry.js → p-8b53f9f5.entry.js} +2 -2
- package/dist/stzh-components/{p-0a0076e0.entry.js → p-8cd52c56.entry.js} +2 -2
- package/dist/stzh-components/{p-a0b6d562.entry.js → p-8d475272.entry.js} +2 -2
- package/dist/stzh-components/{p-db0494ee.entry.js → p-8f4d7f52.entry.js} +2 -2
- package/dist/stzh-components/{p-0cb8ded0.entry.js → p-8f4fd7e8.entry.js} +2 -2
- package/dist/stzh-components/{p-eccc3a52.entry.js → p-92718c89.entry.js} +2 -2
- package/dist/stzh-components/{p-4917b35e.entry.js → p-92d44643.entry.js} +2 -2
- package/dist/stzh-components/{p-4bf3b5f3.entry.js → p-937ecec3.entry.js} +2 -2
- package/dist/stzh-components/{p-fd447ae1.entry.js → p-95f80efd.entry.js} +2 -2
- package/dist/stzh-components/{p-307aca14.entry.js → p-99e09fed.entry.js} +2 -2
- package/dist/stzh-components/{p-3f8bf92a.entry.js → p-9a42bf5a.entry.js} +2 -2
- package/dist/stzh-components/{p-e21c9013.entry.js → p-9ac7c945.entry.js} +7 -7
- package/dist/stzh-components/{p-336a013f.entry.js → p-9d3d5478.entry.js} +2 -2
- package/dist/stzh-components/{p-00a89ed9.entry.js → p-9daed123.entry.js} +2 -2
- package/dist/stzh-components/{p-9179335b.entry.js → p-9f35f6d1.entry.js} +2 -2
- package/dist/stzh-components/p-Boyybvcm.js +3 -0
- package/dist/stzh-components/{p-WVDCFmOb.js.map → p-Boyybvcm.js.map} +1 -1
- package/dist/stzh-components/{p-QItfqfyu.js → p-DS4xgN66.js} +2 -2
- package/dist/stzh-components/{p-QItfqfyu.js.map → p-DS4xgN66.js.map} +1 -1
- package/dist/stzh-components/{p-0bd31c3f.entry.js → p-a1a810cc.entry.js} +2 -2
- package/dist/stzh-components/{p-5db52fa5.entry.js → p-a5d5cf67.entry.js} +2 -2
- package/dist/stzh-components/{p-7d08eaa9.entry.js → p-a66dd9ac.entry.js} +2 -2
- package/dist/stzh-components/{p-c9fa28c4.entry.js → p-a6bb650c.entry.js} +2 -2
- package/dist/stzh-components/{p-0f7a068e.entry.js → p-a78cf7a9.entry.js} +2 -2
- package/dist/stzh-components/{p-fbc8e5fb.entry.js → p-a8edfd35.entry.js} +2 -2
- package/dist/stzh-components/{p-780cc1a5.entry.js → p-aa915d5b.entry.js} +2 -2
- package/dist/stzh-components/{p-26db7280.entry.js → p-ab37318f.entry.js} +2 -2
- package/dist/stzh-components/{p-ab868670.entry.js → p-ab655ced.entry.js} +2 -2
- package/dist/stzh-components/{p-d9417daf.entry.js → p-ac23e33d.entry.js} +2 -2
- package/dist/stzh-components/{p-a421e8a0.entry.js → p-aee3740b.entry.js} +2 -2
- package/dist/stzh-components/{p-204a03f9.entry.js → p-b139f88e.entry.js} +2 -2
- package/dist/stzh-components/{p-25be19b2.entry.js → p-b1c1f676.entry.js} +2 -2
- package/dist/stzh-components/{p-e347a06b.entry.js → p-b24ad8a1.entry.js} +2 -2
- package/dist/stzh-components/{p-b7428699.entry.js → p-b5186a60.entry.js} +2 -2
- package/dist/stzh-components/{p-b4e3e52a.entry.js → p-b672e1ac.entry.js} +2 -2
- package/dist/stzh-components/{p-9e3a8711.entry.js → p-b914d9d8.entry.js} +2 -2
- package/dist/stzh-components/{p-a278877a.entry.js → p-ba0f9d98.entry.js} +2 -2
- package/dist/stzh-components/{p-fd9a5ab6.entry.js → p-baf12327.entry.js} +2 -2
- package/dist/stzh-components/{p-8fb80103.entry.js → p-bc041233.entry.js} +2 -2
- package/dist/stzh-components/{p-967b7a54.entry.js → p-bce8c218.entry.js} +2 -2
- package/dist/stzh-components/{p-5d7a4338.entry.js → p-bdabc422.entry.js} +2 -2
- package/dist/stzh-components/{p-82d5f5ad.entry.js → p-bf422149.entry.js} +2 -2
- package/dist/stzh-components/{p-e976ab4c.entry.js → p-c062dbd8.entry.js} +2 -2
- package/dist/stzh-components/{p-bef76a75.entry.js → p-c33308b1.entry.js} +2 -2
- package/dist/stzh-components/{p-568981a4.entry.js → p-c6237f22.entry.js} +2 -2
- package/dist/stzh-components/{p-a94ba33f.entry.js → p-c73057b5.entry.js} +2 -2
- package/dist/stzh-components/{p-fea524e1.entry.js → p-cb74e537.entry.js} +2 -2
- package/dist/stzh-components/{p-26be1f66.entry.js → p-cf998c9e.entry.js} +2 -2
- package/dist/stzh-components/{p-d7d9cd05.entry.js → p-d2cdcc47.entry.js} +2 -2
- package/dist/stzh-components/{p-3c23588a.entry.js → p-d2f17cf4.entry.js} +2 -2
- package/dist/stzh-components/{p-8fcee79e.entry.js → p-d7ee95d1.entry.js} +2 -2
- package/dist/stzh-components/{p-8b35cda8.entry.js → p-dbdf2dda.entry.js} +2 -2
- package/dist/stzh-components/{p-bf8ea30f.entry.js → p-dd60db54.entry.js} +2 -2
- package/dist/stzh-components/{p-32d53bf2.entry.js → p-defcf957.entry.js} +2 -2
- package/dist/stzh-components/{p-12821225.entry.js → p-df16dc97.entry.js} +2 -2
- package/dist/stzh-components/{p-ed58d60f.entry.js → p-e7943c14.entry.js} +2 -2
- package/dist/stzh-components/{p-46abd0ee.entry.js → p-ec23c3e0.entry.js} +2 -2
- package/dist/stzh-components/{p-06825cd6.entry.js → p-ef78a7e8.entry.js} +2 -2
- package/dist/stzh-components/{p-f7cde1f8.entry.js → p-f278ac2e.entry.js} +2 -2
- package/dist/stzh-components/{p-f7cde1f8.entry.js.map → p-f278ac2e.entry.js.map} +1 -1
- package/dist/stzh-components/{p-b988ea63.entry.js → p-f34cb4d3.entry.js} +2 -2
- package/dist/stzh-components/{p-4e259e7f.entry.js → p-f3ca18ab.entry.js} +2 -2
- package/dist/stzh-components/{p-ca28db90.entry.js → p-f5b4cb97.entry.js} +2 -2
- package/dist/stzh-components/{p-ef2af4d0.entry.js → p-f6193b21.entry.js} +3 -3
- package/dist/stzh-components/{p-9c61cba8.entry.js → p-f7095605.entry.js} +2 -2
- package/dist/stzh-components/{p-4ecbba07.entry.js → p-fe5cfbfd.entry.js} +2 -2
- package/dist/stzh-components/stzh-components.esm.js +1 -1
- package/dist/types/components/stzh-buttongroup/stzh-buttongroup.d.ts +1 -1
- package/dist/types/components/stzh-chipselect/stzh-chipselect.d.ts +7 -20
- package/dist/types/index.d.ts +17 -0
- package/package.json +5 -6
- package/dist/components/p-B-TtPvY1.js.map +0 -1
- package/dist/components/p-B_fJQ6tu.js.map +0 -1
- package/dist/components/p-Cla6GVJl.js.map +0 -1
- package/dist/components/p-D-wjggPy.js.map +0 -1
- package/dist/components/p-D36sFB-f.js.map +0 -1
- package/dist/components/p-DXFYCyWz.js.map +0 -1
- package/dist/components/p-DZmJJLfK.js.map +0 -1
- package/dist/stzh-components/p-20e1a372.entry.js.map +0 -1
- package/dist/stzh-components/p-314926bf.entry.js +0 -2
- package/dist/stzh-components/p-WVDCFmOb.js +0 -3
- /package/dist/stzh-components/{p-1e6be6d0.entry.js.map → p-02c6c25f.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-31778486.entry.js.map → p-0326f9e5.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-c41dee66.entry.js.map → p-04b91cbe.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-a0718284.entry.js.map → p-06a85017.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-69139874.entry.js.map → p-0c6f2548.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-9df3128f.entry.js.map → p-0dad8cce.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-106166bb.entry.js.map → p-0dbdd066.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-fdc1490c.entry.js.map → p-0e124317.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-be2a47c8.entry.js.map → p-112e5a75.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-a8171280.entry.js.map → p-1268e055.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-f6ad50e0.entry.js.map → p-1278339e.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-1ef74860.entry.js.map → p-13aceed6.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-b08fc8cf.entry.js.map → p-162ea47b.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-4f0eb507.entry.js.map → p-18e9eaff.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-e07c9fb1.entry.js.map → p-1948c6be.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-730fb5c2.entry.js.map → p-1f36d924.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-c26c847d.entry.js.map → p-20381eb6.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-4ef46628.entry.js.map → p-2096b5e5.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-96b8de3e.entry.js.map → p-21864dc6.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-8de9da26.entry.js.map → p-22728170.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-2c1e5e8b.entry.js.map → p-228836b8.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-5351b862.entry.js.map → p-23399476.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-a104e707.entry.js.map → p-24a4865a.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-2d967d43.entry.js.map → p-2c27df73.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-625f8711.entry.js.map → p-2f5f9451.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-fc1c1b2f.entry.js.map → p-30a29924.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-09dacbbb.entry.js.map → p-3290c743.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-e6032117.entry.js.map → p-337a614c.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-f5562b5d.entry.js.map → p-3589f0fe.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-6f165f23.entry.js.map → p-370cec66.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-43b8cfde.entry.js.map → p-375e9039.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-1ba93bb7.entry.js.map → p-3f32f5b8.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-bd6065e7.entry.js.map → p-3f6c5da7.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-f9a6e354.entry.js.map → p-3fc6b229.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-5a82f73f.entry.js.map → p-43d22663.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-9f695971.entry.js.map → p-4409b388.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-d3793844.entry.js.map → p-496db660.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-519286e2.entry.js.map → p-4980cac6.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-50e739d8.entry.js.map → p-4b70f6d5.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-52594c33.entry.js.map → p-4e5ead8e.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-c86d6269.entry.js.map → p-51c08340.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-21c5f5b1.entry.js.map → p-52680e35.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-b99109a6.entry.js.map → p-54f536d9.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-43284068.entry.js.map → p-5525834e.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-be7e85d0.entry.js.map → p-573017fb.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-2df734f4.entry.js.map → p-57d3f5c6.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-0ecdbcb2.entry.js.map → p-58bc8ad5.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-ca9f7ff3.entry.js.map → p-59263627.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-9ff014f1.entry.js.map → p-59b64110.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-b9587fe9.entry.js.map → p-5ef55c3a.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-d4bb18c3.entry.js.map → p-614801db.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-8f76f465.entry.js.map → p-67134205.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-4cfef42a.entry.js.map → p-673449d3.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-3aade6ab.entry.js.map → p-683bdcfc.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-014c4efb.entry.js.map → p-6a51235e.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-fd5c190d.entry.js.map → p-6c2f5f67.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-1244a4ad.entry.js.map → p-722c343d.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-017820c0.entry.js.map → p-7c9f2c2f.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-4851302c.entry.js.map → p-7ff56bd0.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-fe4dd322.entry.js.map → p-8494bb21.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-32370a7e.entry.js.map → p-85329854.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-dead446b.entry.js.map → p-86c62790.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-ead4866b.entry.js.map → p-8a2c72fc.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-480fcf35.entry.js.map → p-8b53f9f5.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-0a0076e0.entry.js.map → p-8cd52c56.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-a0b6d562.entry.js.map → p-8d475272.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-db0494ee.entry.js.map → p-8f4d7f52.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-0cb8ded0.entry.js.map → p-8f4fd7e8.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-eccc3a52.entry.js.map → p-92718c89.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-4917b35e.entry.js.map → p-92d44643.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-4bf3b5f3.entry.js.map → p-937ecec3.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-fd447ae1.entry.js.map → p-95f80efd.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-307aca14.entry.js.map → p-99e09fed.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-3f8bf92a.entry.js.map → p-9a42bf5a.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-e21c9013.entry.js.map → p-9ac7c945.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-336a013f.entry.js.map → p-9d3d5478.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-00a89ed9.entry.js.map → p-9daed123.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-9179335b.entry.js.map → p-9f35f6d1.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-0bd31c3f.entry.js.map → p-a1a810cc.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-5db52fa5.entry.js.map → p-a5d5cf67.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-7d08eaa9.entry.js.map → p-a66dd9ac.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-c9fa28c4.entry.js.map → p-a6bb650c.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-0f7a068e.entry.js.map → p-a78cf7a9.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-fbc8e5fb.entry.js.map → p-a8edfd35.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-780cc1a5.entry.js.map → p-aa915d5b.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-26db7280.entry.js.map → p-ab37318f.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-ab868670.entry.js.map → p-ab655ced.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-d9417daf.entry.js.map → p-ac23e33d.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-a421e8a0.entry.js.map → p-aee3740b.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-204a03f9.entry.js.map → p-b139f88e.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-25be19b2.entry.js.map → p-b1c1f676.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-e347a06b.entry.js.map → p-b24ad8a1.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-b7428699.entry.js.map → p-b5186a60.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-b4e3e52a.entry.js.map → p-b672e1ac.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-9e3a8711.entry.js.map → p-b914d9d8.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-a278877a.entry.js.map → p-ba0f9d98.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-fd9a5ab6.entry.js.map → p-baf12327.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-8fb80103.entry.js.map → p-bc041233.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-967b7a54.entry.js.map → p-bce8c218.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-5d7a4338.entry.js.map → p-bdabc422.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-82d5f5ad.entry.js.map → p-bf422149.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-e976ab4c.entry.js.map → p-c062dbd8.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-bef76a75.entry.js.map → p-c33308b1.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-568981a4.entry.js.map → p-c6237f22.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-a94ba33f.entry.js.map → p-c73057b5.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-fea524e1.entry.js.map → p-cb74e537.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-26be1f66.entry.js.map → p-cf998c9e.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-d7d9cd05.entry.js.map → p-d2cdcc47.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-3c23588a.entry.js.map → p-d2f17cf4.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-8fcee79e.entry.js.map → p-d7ee95d1.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-8b35cda8.entry.js.map → p-dbdf2dda.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-bf8ea30f.entry.js.map → p-dd60db54.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-32d53bf2.entry.js.map → p-defcf957.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-12821225.entry.js.map → p-df16dc97.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-ed58d60f.entry.js.map → p-e7943c14.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-46abd0ee.entry.js.map → p-ec23c3e0.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-06825cd6.entry.js.map → p-ef78a7e8.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-b988ea63.entry.js.map → p-f34cb4d3.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-4e259e7f.entry.js.map → p-f3ca18ab.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-ca28db90.entry.js.map → p-f5b4cb97.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-ef2af4d0.entry.js.map → p-f6193b21.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-9c61cba8.entry.js.map → p-f7095605.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-4ecbba07.entry.js.map → p-fe5cfbfd.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stzh-gallery.entry.js","sources":["node_modules/photoswipe/dist/photoswipe-lightbox.esm.js","node_modules/photoswipe-dynamic-caption-plugin/photoswipe-dynamic-caption-plugin.esm.js","src/components/stzh-gallery/stzh-gallery.scss?tag=stzh-gallery","src/components/stzh-gallery/stzh-gallery.tsx"],"sourcesContent":["/*!\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<string, any>} 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<T> : PhotoSwipeEvent<T> & PhotoSwipeEventsMap[T]} AugmentedEvent\r\n */\n\n/**\r\n * @template {keyof PhotoSwipeEventsMap} T\r\n * @typedef {(event: AugmentedEvent<T>) => 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<T>) => void)[] }}\r\n */\n this._listeners = {};\n /**\r\n * @type {{ [T in keyof PhotoSwipeFiltersMap]?: Filter<T>[] }}\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<PhotoSwipeFiltersMap[T]>} args\r\n * @returns {Parameters<PhotoSwipeFiltersMap[T]>[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<T>} 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<T>} 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<T>}\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<T>} */\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<T>} Type<T>\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<T>} EventCallback<T>\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<Type<PhotoSwipe>>[]} */\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<PhotoSwipe>} */\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<Type<PhotoSwipe>>} */\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<PhotoSwipe> | { default: Type<PhotoSwipe> }} 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<typeof name>} */\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","/**\r\n * PhotoSwipe Dynamic Caption plugin v1.2.7\r\n * https://github.com/dimsemenov/photoswipe-dynamic-caption-plugin\r\n * \r\n * By https://dimsemenov.com\r\n */\r\n\r\nconst defaultOptions = {\r\n captionContent: '.pswp-caption-content',\r\n type: 'auto',\r\n horizontalEdgeThreshold: 20,\r\n mobileCaptionOverlapRatio: 0.3,\r\n mobileLayoutBreakpoint: 600,\r\n verticallyCenterImage: false\r\n};\r\n\r\nclass PhotoSwipeDynamicCaption {\r\n constructor(lightbox, options) {\r\n this.options = {\r\n ...defaultOptions,\r\n ...options\r\n };\r\n\r\n this.lightbox = lightbox;\r\n\r\n this.lightbox.on('init', () => {\r\n this.pswp = this.lightbox.pswp;\r\n this.initCaption();\r\n });\r\n }\r\n\r\n initCaption() {\r\n const { pswp } = this;\r\n\r\n pswp.on('change', () => {\r\n // make sure caption is displayed after slides are switched\r\n this.showCaption(this.pswp.currSlide);\r\n });\r\n\r\n pswp.on('calcSlideSize', (e) => this.onCalcSlideSize(e));\r\n\r\n pswp.on('slideDestroy', (e) => {\r\n if (e.slide.dynamicCaption) {\r\n if (e.slide.dynamicCaption.element) {\r\n e.slide.dynamicCaption.element.remove();\r\n }\r\n delete e.slide.dynamicCaption;\r\n }\r\n });\r\n\r\n // hide caption if zoomed\r\n pswp.on('zoomPanUpdate', ({ slide }) => {\r\n if (pswp.opener.isOpen && slide.dynamicCaption) {\r\n if (slide.currZoomLevel > slide.zoomLevels.initial) {\r\n this.hideCaption(slide);\r\n } else {\r\n this.showCaption(slide);\r\n }\r\n \r\n // move caption on vertical drag\r\n if (slide.dynamicCaption.element) {\r\n let captionYOffset = 0;\r\n if (slide.currZoomLevel <= slide.zoomLevels.initial) {\r\n const shiftedAmount = slide.pan.y - slide.bounds.center.y;\r\n if (Math.abs(shiftedAmount) > 1) {\r\n captionYOffset = shiftedAmount;\r\n }\r\n }\r\n\r\n this.setCaptionYOffset(slide.dynamicCaption.element, captionYOffset);\r\n }\r\n\r\n this.adjustPanArea(slide, slide.currZoomLevel);\r\n }\r\n });\r\n\r\n pswp.on('beforeZoomTo', (e) => {\r\n this.adjustPanArea(pswp.currSlide, e.destZoomLevel);\r\n });\r\n\r\n // Stop default action of tap when tapping on the caption\r\n pswp.on('tapAction', (e) => {\r\n if (e.originalEvent.target.closest('.pswp__dynamic-caption')) {\r\n e.preventDefault();\r\n }\r\n });\r\n }\r\n\r\n adjustPanArea(slide, zoomLevel) {\r\n if (slide.dynamicCaption && slide.dynamicCaption.adjustedPanAreaSize) {\r\n if (zoomLevel > slide.zoomLevels.initial) {\r\n slide.panAreaSize.x = slide.dynamicCaption.originalPanAreaSize.x;\r\n slide.panAreaSize.y = slide.dynamicCaption.originalPanAreaSize.y;\r\n } else {\r\n // Restore panAreaSize after we zoom back to initial position\r\n slide.panAreaSize.x = slide.dynamicCaption.adjustedPanAreaSize.x;\r\n slide.panAreaSize.y = slide.dynamicCaption.adjustedPanAreaSize.y;\r\n }\r\n }\r\n }\r\n\r\n useMobileLayout() {\r\n const { mobileLayoutBreakpoint } = this.options;\r\n\r\n if (typeof mobileLayoutBreakpoint === 'function') {\r\n return mobileLayoutBreakpoint.call(this);\r\n } else if (typeof mobileLayoutBreakpoint === 'number') {\r\n if (window.innerWidth < mobileLayoutBreakpoint) {\r\n return true;\r\n }\r\n }\r\n \r\n return false;\r\n }\r\n\r\n hideCaption(slide) {\r\n if (slide.dynamicCaption && !slide.dynamicCaption.hidden) {\r\n const captionElement = slide.dynamicCaption.element;\r\n\r\n if (!captionElement) {\r\n return;\r\n }\r\n\r\n slide.dynamicCaption.hidden = true;\r\n captionElement.classList.add('pswp__dynamic-caption--faded');\r\n\r\n // Disable caption visibility with the delay, so it's not interactable \r\n if (slide.captionFadeTimeout) {\r\n clearTimeout(slide.captionFadeTimeout);\r\n }\r\n slide.captionFadeTimeout = setTimeout(() => {\r\n captionElement.style.visibility = 'hidden';\r\n delete slide.captionFadeTimeout;\r\n }, 400);\r\n }\r\n }\r\n\r\n setCaptionYOffset(el, y) {\r\n el.style.transform = `translateY(${y}px)`;\r\n }\r\n\r\n showCaption(slide) {\r\n if (slide.dynamicCaption && slide.dynamicCaption.hidden) {\r\n const captionElement = slide.dynamicCaption.element;\r\n\r\n if (!captionElement) {\r\n return;\r\n }\r\n\r\n slide.dynamicCaption.hidden = false;\r\n captionElement.style.visibility = 'visible';\r\n \r\n clearTimeout(slide.captionFadeTimeout);\r\n slide.captionFadeTimeout = setTimeout(() => {\r\n captionElement.classList.remove('pswp__dynamic-caption--faded');\r\n delete slide.captionFadeTimeout;;\r\n }, 50);\r\n }\r\n }\r\n\r\n setCaptionPosition(captionEl, x, y) {\r\n const isOnHorizontalEdge = (x <= this.options.horizontalEdgeThreshold);\r\n captionEl.classList[\r\n isOnHorizontalEdge ? 'add' : 'remove'\r\n ]('pswp__dynamic-caption--on-hor-edge');\r\n\r\n captionEl.style.left = x + 'px';\r\n captionEl.style.top = y + 'px';\r\n }\r\n\r\n setCaptionWidth(captionEl, width) {\r\n if (!width) {\r\n captionEl.style.removeProperty('width');\r\n } else {\r\n captionEl.style.width = width + 'px';\r\n }\r\n }\r\n\r\n setCaptionType(captionEl, type) {\r\n const prevType = captionEl.dataset.pswpCaptionType;\r\n if (type !== prevType) {\r\n captionEl.classList.add('pswp__dynamic-caption--' + type);\r\n captionEl.classList.remove('pswp__dynamic-caption--' + prevType);\r\n captionEl.dataset.pswpCaptionType = type;\r\n }\r\n }\r\n\r\n updateCaptionPosition(slide) {\r\n if (!slide.dynamicCaption || !slide.dynamicCaption.type || !slide.dynamicCaption.element) {\r\n return;\r\n }\r\n\r\n if (slide.dynamicCaption.type === 'mobile') {\r\n this.setCaptionType(\r\n slide.dynamicCaption.element, \r\n slide.dynamicCaption.type\r\n );\r\n \r\n slide.dynamicCaption.element.style.removeProperty('left');\r\n slide.dynamicCaption.element.style.removeProperty('top');\r\n this.setCaptionWidth(slide.dynamicCaption.element, false);\r\n return;\r\n }\r\n\r\n const zoomLevel = slide.zoomLevels.initial;\r\n const imageWidth = Math.ceil(slide.width * zoomLevel);\r\n const imageHeight = Math.ceil(slide.height * zoomLevel);\r\n \r\n this.setCaptionType(slide.dynamicCaption.element, slide.dynamicCaption.type);\r\n if (slide.dynamicCaption.type === 'aside') {\r\n this.setCaptionPosition(\r\n slide.dynamicCaption.element,\r\n slide.bounds.center.x + imageWidth,\r\n slide.bounds.center.y\r\n );\r\n this.setCaptionWidth(slide.dynamicCaption.element, false);\r\n } else if (slide.dynamicCaption.type === 'below') {\r\n this.setCaptionPosition(\r\n slide.dynamicCaption.element,\r\n slide.bounds.center.x,\r\n slide.bounds.center.y + imageHeight\r\n );\r\n this.setCaptionWidth(slide.dynamicCaption.element, imageWidth);\r\n }\r\n }\r\n\r\n onCalcSlideSize(e) {\r\n const { slide } = e;\r\n let captionSize;\r\n let useMobileVersion;\r\n\r\n if (!slide.dynamicCaption) {\r\n slide.dynamicCaption = {\r\n element: undefined,\r\n type: false,\r\n hidden: false\r\n };\r\n\r\n const captionHTML = this.getCaptionHTML(slide);\r\n\r\n if (!captionHTML) {\r\n return;\r\n }\r\n\r\n slide.dynamicCaption.element = document.createElement('div');\r\n slide.dynamicCaption.element.className = 'pswp__dynamic-caption pswp__hide-on-close';\r\n slide.dynamicCaption.element.innerHTML = captionHTML;\r\n\r\n this.pswp.dispatch('dynamicCaptionUpdateHTML', { \r\n captionElement: slide.dynamicCaption.element,\r\n slide\r\n });\r\n\r\n slide.holderElement.appendChild(slide.dynamicCaption.element);\r\n }\r\n\r\n if (!slide.dynamicCaption.element) {\r\n return;\r\n }\r\n\r\n this.storeOriginalPanAreaSize(slide);\r\n\r\n slide.bounds.update(slide.zoomLevels.initial);\r\n \r\n if (this.useMobileLayout()) {\r\n slide.dynamicCaption.type = 'mobile';\r\n useMobileVersion = true;\r\n } else {\r\n if (this.options.type === 'auto') {\r\n if (slide.bounds.center.x > slide.bounds.center.y) {\r\n slide.dynamicCaption.type = 'aside';\r\n } else {\r\n slide.dynamicCaption.type = 'below';\r\n }\r\n } else {\r\n slide.dynamicCaption.type = this.options.type;\r\n }\r\n } \r\n\r\n const imageWidth = Math.ceil(slide.width * slide.zoomLevels.initial);\r\n const imageHeight = Math.ceil(slide.height * slide.zoomLevels.initial);\r\n\r\n this.setCaptionType(\r\n slide.dynamicCaption.element, \r\n slide.dynamicCaption.type\r\n );\r\n\r\n if (slide.dynamicCaption.type === 'aside') {\r\n this.setCaptionWidth(slide.dynamicCaption.element, false);\r\n captionSize = this.measureCaptionSize(slide.dynamicCaption.element, e.slide);\r\n\r\n const captionWidth = captionSize.x; \r\n\r\n const horizontalEnding = imageWidth + slide.bounds.center.x;\r\n const horizontalLeftover = (slide.panAreaSize.x - horizontalEnding);\r\n\r\n if (horizontalLeftover <= captionWidth) {\r\n slide.panAreaSize.x -= captionWidth;\r\n this.recalculateZoomLevelAndBounds(slide);\r\n } else {\r\n // do nothing, caption will fit aside without any adjustments\r\n }\r\n } else if (slide.dynamicCaption.type === 'below' || useMobileVersion) {\r\n this.setCaptionWidth(\r\n slide.dynamicCaption.element, \r\n useMobileVersion ? this.pswp.viewportSize.x : imageWidth\r\n );\r\n\r\n captionSize = this.measureCaptionSize(slide.dynamicCaption.element, e.slide);\r\n const captionHeight = captionSize.y;\r\n\r\n if (this.options.verticallyCenterImage) {\r\n slide.panAreaSize.y -= captionHeight;\r\n this.recalculateZoomLevelAndBounds(slide);\r\n } else {\r\n // Lift up the image only by caption height\r\n\r\n // vertical ending of the image\r\n const verticalEnding = imageHeight + slide.bounds.center.y;\r\n\r\n // height between bottom of the screen and ending of the image\r\n // (before any adjustments applied) \r\n const verticalLeftover = slide.panAreaSize.y - verticalEnding;\r\n const initialPanAreaHeight = slide.panAreaSize.y;\r\n\r\n if (verticalLeftover <= captionHeight) {\r\n // lift up the image to give more space for caption\r\n slide.panAreaSize.y -= Math.min((captionHeight - verticalLeftover) * 2, captionHeight);\r\n\r\n // we reduce viewport size, thus we need to update zoom level and pan bounds\r\n this.recalculateZoomLevelAndBounds(slide);\r\n\r\n const maxPositionX = slide.panAreaSize.x * this.options.mobileCaptionOverlapRatio / 2;\r\n\r\n // Do not reduce viewport height if too few space available\r\n if (useMobileVersion \r\n && slide.bounds.center.x > maxPositionX) {\r\n // Restore the default position\r\n slide.panAreaSize.y = initialPanAreaHeight;\r\n this.recalculateZoomLevelAndBounds(slide);\r\n }\r\n }\r\n }\r\n } else {\r\n // mobile\r\n }\r\n\r\n this.storeAdjustedPanAreaSize(slide);\r\n this.updateCaptionPosition(slide);\r\n }\r\n\r\n measureCaptionSize(captionEl, slide) {\r\n const rect = captionEl.getBoundingClientRect();\r\n const event = this.pswp.dispatch('dynamicCaptionMeasureSize', {\r\n captionEl,\r\n slide,\r\n captionSize: {\r\n x: rect.width,\r\n y: rect.height\r\n }\r\n });\r\n return event.captionSize;\r\n }\r\n\r\n recalculateZoomLevelAndBounds(slide) {\r\n slide.zoomLevels.update(slide.width, slide.height, slide.panAreaSize);\r\n slide.bounds.update(slide.zoomLevels.initial);\r\n }\r\n\r\n storeAdjustedPanAreaSize(slide) {\r\n if (slide.dynamicCaption) {\r\n if (!slide.dynamicCaption.adjustedPanAreaSize) {\r\n slide.dynamicCaption.adjustedPanAreaSize = {};\r\n }\r\n slide.dynamicCaption.adjustedPanAreaSize.x = slide.panAreaSize.x;\r\n slide.dynamicCaption.adjustedPanAreaSize.y = slide.panAreaSize.y;\r\n }\r\n }\r\n\r\n storeOriginalPanAreaSize(slide) {\r\n if (slide.dynamicCaption) {\r\n if (!slide.dynamicCaption.originalPanAreaSize) {\r\n slide.dynamicCaption.originalPanAreaSize = {};\r\n }\r\n slide.dynamicCaption.originalPanAreaSize.x = slide.panAreaSize.x;\r\n slide.dynamicCaption.originalPanAreaSize.y = slide.panAreaSize.y;\r\n }\r\n }\r\n\r\n getCaptionHTML(slide) {\r\n if (typeof this.options.captionContent === 'function') {\r\n return this.options.captionContent.call(this, slide);\r\n }\r\n\r\n const currSlideElement = slide.data.element;\r\n let captionHTML = '';\r\n if (currSlideElement) {\r\n const hiddenCaption = currSlideElement.querySelector(this.options.captionContent);\r\n if (hiddenCaption) {\r\n // get caption from element with class pswp-caption-content\r\n captionHTML = hiddenCaption.innerHTML;\r\n } else {\r\n const img = currSlideElement.querySelector('img');\r\n if (img) {\r\n // get caption from alt attribute\r\n captionHTML = img.getAttribute('alt');\r\n }\r\n }\r\n }\r\n return captionHTML;\r\n }\r\n}\r\n\r\nexport default PhotoSwipeDynamicCaption;\r\n","@import \"../../../node_modules/photoswipe/dist/photoswipe.css\";\n@import \"../../../node_modules/photoswipe-dynamic-caption-plugin/photoswipe-dynamic-caption-plugin.css\";\n\nstzh-gallery {\n @include host;\n overflow-x: hidden;\n}\n\n.stzh-gallery {\n &__carousel-actions,\n &__actions {\n transition: opacity 0.1s linear;\n }\n\n &__carousel-actions.is-hidden-during-animation,\n &__slide.is-hidden-during-animation &__actions {\n opacity: 0;\n }\n\n &__actions {\n padding: space(\"xsmall\");\n }\n\n &__list {\n @include spaceCurve(\"row-gap\", \"large\");\n display: grid;\n column-gap: $gridGutter;\n\n @include mq($from: small) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n column-gap: $gridGutterSmall;\n }\n\n @include mq($from: medium) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n column-gap: $gridGutterMedium;\n }\n\n @include mq($from: large) {\n column-gap: $gridGutterLarge;\n }\n\n @include mq($from: ultra) {\n column-gap: $gridGutterUltra;\n }\n }\n\n &__list-actions {\n @include spaceCurve(\"margin-top\", \"large\");\n display: grid;\n\n @include mq($from: small) {\n justify-content: center;\n }\n }\n\n /* Lightbox elements */\n\n &__pswp {\n @include font;\n --pswp-bg: #{$colorWhite};\n }\n\n &__pswp .pswp__icn {\n fill: $colorPrimary;\n }\n\n &__pswp .pswp__top-bar {\n align-items: flex-start;\n }\n\n &__pswp .pswp__button {\n opacity: 1;\n width: 44px;\n height: 44px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: $colorPrimary70;\n background-color: $colorSecondary30;\n border: none;\n border-radius: $buttonBorderRadius;\n transition-duration: $baseTransitionAnimationSpeed;\n transition-property: color, background-color, border-color, opacity;\n\n @media print {\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n }\n\n @include mq($from: large) {\n width: 56px;\n height: 56px;\n }\n\n &:hover {\n color: $colorPrimary80;\n background-color: $colorSecondary40;\n }\n\n svg {\n width: iconSize();\n height: iconSize();\n\n @include mq($from: large) {\n width: iconSize(\"large\");\n height: iconSize(\"large\");\n }\n }\n\n &--close {\n @include spaceCurve(\"margin-top\", \"regular\");\n @include spaceCurve(\"margin-right\", \"regular\");\n width: 56px;\n height: 56px;\n color: $colorPrimary70;\n background-color: transparent;\n\n &:hover {\n color: $colorPrimary80;\n background-color: $colorSecondary20;\n }\n\n svg {\n width: iconSize(\"large\");\n height: iconSize(\"large\");\n }\n }\n\n &[disabled] {\n color: $colorGrey80;\n background-color: $colorGrey20;\n }\n\n &--arrow {\n // width: auto;\n // height: auto;\n margin-top: -20px;\n }\n\n &--arrow--prev {\n left: space(\"xsmall\");\n\n @include mq($from: small) {\n left: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n left: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n left: $containerMarginLarge;\n }\n\n @include mq($from: ultra) {\n left: 126px;\n }\n }\n\n &--arrow--next {\n right: space(\"xsmall\");\n\n @include mq($from: small) {\n right: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n right: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n right: $containerMarginLarge;\n }\n\n @include mq($from: ultra) {\n right: 126px;\n }\n }\n }\n\n &__pswp.pswp--zoomed-in .pswp__button {\n opacity: 0;\n pointer-events: none;\n }\n\n &__pswp.pswp--one-image .pswp__button {\n &--arrow {\n display: none;\n }\n }\n\n &__pswp .pswp__dynamic-caption {\n @include fontCurve(\"caption\");\n color: $baseColor;\n overflow: auto;\n transition: opacity $baseTransitionAnimationSpeed;\n\n &--below,\n &--mobile {\n max-width: initial;\n max-height: calc(50vh - 44px - 16px - 8px);\n padding-top: 16px;\n padding-bottom: 16px;\n\n @include mq($from: small) {\n max-height: 33.333vh;\n }\n\n @include mq($from: medium) {\n padding-top: spaceCurveValue(\"tiny\");\n padding-bottom: spaceCurveValue(\"medium\");\n }\n\n @include mq($from: medium) {\n padding-top: spaceCurveValue(\"tiny\", \"medium\");\n padding-bottom: spaceCurveValue(\"medium\", \"medium\");\n }\n\n @include mq($from: large) {\n padding-top: spaceCurveValue(\"tiny\", \"large\");\n padding-bottom: spaceCurveValue(\"medium\", \"large\");\n }\n }\n\n &--mobile {\n @include spaceCurve(\"padding-left\", \"tiny\");\n @include spaceCurve(\"padding-right\", \"tiny\");\n background: $colorWhite60op;\n }\n }\n\n &__pswp .pswp__caption-wrapper {\n display: flex;\n flex-direction: column;\n }\n\n &__pswp .pswp__heading-wrapper {\n display: flow-root;\n }\n\n &__pswp .pswp__caption-counter {\n float: left;\n color: $colorSecondary60;\n\n &:not(:empty) {\n margin-right: space(\"xsmall\");\n }\n }\n\n &__pswp .pswp__caption-counter,\n &__pswp .pswp__caption-heading {\n @include font(\"heavy\");\n }\n\n &__pswp .pswp__caption-copyright {\n @include font;\n @include fontSize(\"femto\");\n color: $colorGrey80;\n\n &:not(:empty) {\n margin-top: space(\"xxsmall\");\n }\n }\n}\n","import { Component, Element, Fragment, h, Host, Listen, Method, Prop, Watch } from \"@stencil/core\";\nimport { Layout, StzhGalleryItem } from \"../../index\";\nimport { StzhGalleryLocalizedText } from \"./stzh-gallery.localization\";\nimport PhotoSwipeLightbox from \"photoswipe/lightbox\";\nimport \"photoswipe/style.css\";\nimport PhotoSwipeDynamicCaption from \"photoswipe-dynamic-caption-plugin\";\nimport Close from \"./assets/close.svg\";\nimport AngleLeft from \"./assets/angle-left.svg\";\nimport AngleRight from \"./assets/angle-right.svg\";\n\nconst CLASS_LIGHTBOX = \"stzh-gallery__pswp\";\nconst CLASS_BODY_OPEN = \"stzh-gallery-open\";\n\ntype LightboxDataItem = {\n w: number;\n h: number;\n msrc: string;\n src: string;\n thumbCropped: boolean;\n captionHtml: string;\n};\n\n/**\n * @slot - Slot for custom content if `variant=\"custom\"` is used, lightbox will query for stzh-figure (this.itemElement) elements\n */\n@Component({\n tag: \"stzh-gallery\",\n styleUrl: \"stzh-gallery.scss\",\n})\nexport class StzhGallery {\n /** Translation strings */\n @Prop() localization: StzhGalleryLocalizedText;\n\n /** Aspect ratio */\n @Prop({ reflect: true }) ratio: Layout.Ratio = \"16:9\";\n /** Aspect ratio above small breakpoint */\n @Prop({ reflect: true }) ratioSmall: Layout.Ratio | \"inherit\" = \"inherit\";\n /** Aspect ratio above medium breakpoint */\n @Prop({ reflect: true }) ratioMedium: Layout.Ratio | \"inherit\" = \"inherit\";\n /** Aspect ratio above large breakpoint */\n @Prop({ reflect: true }) ratioLarge: Layout.Ratio | \"inherit\" = \"inherit\";\n /** Aspect ratio above ultra breakpoint */\n @Prop({ reflect: true }) ratioUltra: Layout.Ratio | \"inherit\" = \"inherit\";\n\n /** Nr of images shown (only for grid variant) */\n @Prop({ mutable: true }) showItems: number = 6;\n private _initialShowItems: number;\n\n /** Whether indicator should be shown */\n @Prop() carouselWithTrack: boolean = false;\n\n /** Nr of items shown when more link is clicked (only for grid variant) */\n @Prop() stepItems: number = 6;\n\n /**\n * Images in gallery.\n * Array of objects that must at least include `width`, `height` and `src` attribute:\n * `[{\"width\": 2522, \"height\": 1075, \"src\": \"media/images/example.jpg\"}, {\"width\": 2050, \"height\": 1367, \"src\": \"media/images/example2.jpg\"}]`\n *\n * Possible other optional properties are:\n * `alt`: Alternative image description\n * / `srcLightbox`: `src` for img tag inside lightbox (overwrites `src`)\n * / `srcsetLightbox`: `srcset` for img tag inside lightbox\n * / `copyright`: Copyright inside caption\n * / `heading`: Heading inside caption\n * / `headingLightbox`: Alternative heading for lightbox (overwrites `heading`)\n * / `caption`: Caption\n * / `captionLightbox`: Caption for lightbox (overwrites `caption`)\n * / `lightboxHtml`: Alternative html content for lightbox caption\n * / `hideCounter`: Whether to hide counter\n */\n @Prop() images: StzhGalleryItem[] | string = [];\n private _images: StzhGalleryItem[];\n private _imagesShown: StzhGalleryItem[];\n private _imagesLightboxDataSource: LightboxDataItem[];\n private _showMoreLink: boolean = false;\n\n /**\n * Variant:\n * `carousel`: every image is displayed inside a carousel (default mode with more than on picture)\n * / `single`: only one image is shown without carousel functionality (other images only reachable by lightbox)\n * / `grid`: every image is displayed inside a grid\n * / `custom`: nothing is rendered, only lightbox will be initialized, `stzh-figure` (`this.itemElement`) can be slotted in\n */\n @Prop() variant: \"carousel\" | \"single\" | \"grid\" | \"custom\" = \"carousel\";\n\n /** Preview item that will be looked up and mapped to images in lightbox. */\n @Prop() itemElement: string = \"stzh-figure\";\n\n /** Whether carousel is disabled */\n @Prop({ reflect: true }) carouselDisabled: boolean = false;\n\n /**\n * Whether autoplay is enabled.\n * Gets paused, when user has focus inside carousel element or hovers over it.\n * Also when reduced motion media query is active or carousel is set disabled.\n * Gets disabled permanently, when user interacts with carousel manually (clicks prev/next, scrolls or drags)\n */\n @Prop({ mutable: true }) carouselAutoplay: boolean = false;\n\n /** Timeout delay in milliseconds used for autoplay */\n @Prop() carouselAutoplayTimeout: number = 3000;\n\n /**\n * Exclude first image in lightbox images (but still use as preview image).\n * Only used when `variant=single` is used.\n */\n @Prop() excludeFirstImage: boolean = false;\n\n @Element() element: HTMLStzhGalleryElement;\n\n @Method()\n async openLightbox(index: number = 0) {\n this.lightbox.loadAndOpen(index);\n }\n\n @Listen(\"appload\", { target: \"window\" })\n apploadListener() {\n // resize if any stencil components are rendered when lightbox is open\n if (this.lightbox && this.lightbox.pswp && this.lightbox.pswp.isOpen) {\n this.lightbox.pswp.updateSize(true);\n }\n }\n\n @Watch(\"showItems\")\n showItemsWatcher(newValue: number) {\n this._imagesShown = this._images.slice(0, newValue);\n this._showMoreLink = newValue < this._images.length;\n }\n\n @Watch(\"images\")\n @Watch(\"excludeFirstImage\")\n imagesWatcher(newValue: StzhGalleryItem[] | string) {\n if (typeof newValue === \"string\") {\n this._images = JSON.parse(newValue);\n } else {\n this._images = newValue;\n }\n\n this.showItemsWatcher(this._initialShowItems);\n\n const lightboxImages = this.excludeFirstImage ? this._images.slice(1) : this._images;\n\n this._imagesLightboxDataSource = lightboxImages.map((image, index) => {\n let captionHtml = \"\";\n\n const { lightboxHtml, heading, headingLightbox, caption, captionLightbox, copyright, hideCounter } = image;\n\n if (lightboxHtml !== undefined) {\n captionHtml = lightboxHtml;\n } else if (heading || caption || headingLightbox || captionLightbox || copyright || !hideCounter) {\n captionHtml = `\n <div class=\"pswp__caption-wrapper\">\n <div class=\"pswp__heading-wrapper\">\n <div class=\"pswp__caption-counter\">${!hideCounter ? `${index + 1}/${lightboxImages.length}` : \"\"}</div>\n <div class=\"pswp__caption-heading\">${headingLightbox || heading || \"\"}</div>\n </div>\n <div class=\"pswp__caption\">\n <span class=\"pswp__caption-text\">${captionLightbox || caption || \"\"}</span>\n <span class=\"pswp__caption-copyright\">${copyright || \"\"}</span>\n </div>\n </div>\n `;\n }\n\n return {\n w: image.width,\n h: image.height,\n msrc: image.src,\n src: image.srcLightbox || image.src,\n srcset: image.srcsetLightbox,\n thumbCropped: true,\n captionHtml,\n };\n });\n }\n\n private lightbox: any;\n private carouselElement: HTMLStzhCarouselElement;\n private carouselActionsElement: HTMLElement;\n\n private openCurrentCarouselSlide = () => {\n this.lightbox.loadAndOpen(this.carouselElement.slide);\n };\n\n private handleMoreClick = () => {\n this.showItems = this.stepItems + this.showItems;\n };\n\n initLightbox() {\n if (this._imagesLightboxDataSource.length === 0) {\n return;\n }\n\n this.lightbox = new PhotoSwipeLightbox({\n // appendToEl: this.element,\n // gallery: this.element, // not needed if we supply dataSource\n dataSource: this._imagesLightboxDataSource,\n pswpModule: () => import(\"photoswipe\"),\n arrowPrevSVG: AngleLeft,\n arrowNextSVG: AngleRight,\n closeSVG: Close,\n zoom: false,\n counter: false,\n loop: false,\n bgOpacity: 1,\n mainClass: CLASS_LIGHTBOX,\n closeOnVerticalDrag: false,\n clickToCloseNonZoomable: false,\n\n // https://photoswipe.com/adjusting-zoom-level/\n // initialZoomLevel: 'fit',\n // secondaryZoomLevel: 'fit',\n // maxZoomLevel: 'fit',\n // clickToCloseNonZoomable: true,\n\n // translations\n closeTitle: this.localization.closeTitle,\n zoomTitle: this.localization.zoomTitle,\n arrowPrevTitle: this.localization.arrowPrevTitle,\n arrowNextTitle: this.localization.arrowNextTitle,\n errorMsg: this.localization.errorMsg,\n indexIndicatorSep: \"/\",\n\n paddingFn: (_viewportSize, _itemData, _index) => {\n // const captionHeight = this.lightbox.pswp?.currSlide?.dynamicCaption?.element?.offsetHeight || 0;\n\n let top = 16 + 44 + 8;\n let bottom = 16;\n let side = 0;\n\n if (window.innerWidth >= 1600) {\n // ultra\n top = 32 + 56 + 20;\n bottom = 32;\n side = 126 + 56 + 56;\n } else if (window.innerWidth >= 1260) {\n // large\n top = 32 + 56 + 20;\n bottom = 32;\n side = 64 + 56 + 56;\n } else if (window.innerWidth >= 900) {\n // medium\n top = 20 + 44 + 20;\n bottom = 20;\n side = 40 + 44 + 20;\n } else if (window.innerWidth >= 600) {\n // small\n top = 16 + 44 + 20;\n bottom = 16;\n side = 32 + 44 + 20;\n }\n\n // add safe space to prevent flickering\n // bottom = bottom + 20;\n\n // if (captionHeight > 0) {\n // bottom = 20;\n // }\n\n return {\n top,\n bottom,\n left: side,\n right: side,\n };\n },\n });\n\n let firstHidden;\n let lastHidden;\n\n const showHiddenDuringAnimation = slide => {\n this.carouselActionsElement?.classList.remove(\"is-hidden-during-animation\");\n slide?.classList.remove(\"is-hidden-during-animation\");\n };\n\n const hideHiddenDuringAnimation = slide => {\n this.carouselActionsElement?.classList.add(\"is-hidden-during-animation\");\n slide?.classList.add(\"is-hidden-during-animation\");\n };\n\n const stopPropagation = event => {\n event.stopPropagation();\n };\n\n const updateSize = () => {\n this.lightbox.pswp.updateSize(true);\n };\n\n const slides = Array.from(this.element.querySelectorAll(this.itemElement));\n\n this.lightbox.addFilter(\"itemData\", (itemData, index: number) => {\n itemData.element = slides[index];\n return itemData;\n });\n\n this.lightbox.addFilter(\"thumbEl\", (thumbEl, data, _index) => {\n const el = data.element?.querySelector(\"img\") as HTMLImageElement;\n\n if (el) {\n return el;\n }\n\n return thumbEl;\n });\n\n this.lightbox.addFilter(\"numItems\", () => {\n return this._imagesLightboxDataSource.length;\n });\n\n this.lightbox.on(\"afterInit\", () => {\n firstHidden = this.lightbox.pswp.currSlide.data.element;\n lastHidden = this.lightbox.pswp.currSlide.data.element;\n hideHiddenDuringAnimation(firstHidden);\n\n if (this._imagesLightboxDataSource.length === 1) {\n this.lightbox.pswp.element.classList.add(\"pswp--one-image\");\n }\n });\n\n this.lightbox.on(\"beforeOpen\", () => {\n document.body.classList.add(CLASS_BODY_OPEN);\n });\n\n this.lightbox.on(\"close\", () => {\n document.body.classList.remove(CLASS_BODY_OPEN);\n\n // can be null in \"single\" variant, when not every slide is in carousel or grid\n if (this.lightbox.pswp.currSlide.data.element) {\n lastHidden = this.lightbox.pswp.currSlide.data.element;\n }\n\n if (lastHidden !== firstHidden) {\n showHiddenDuringAnimation(firstHidden);\n hideHiddenDuringAnimation(lastHidden);\n }\n });\n\n this.lightbox.on(\"destroy\", () => {\n showHiddenDuringAnimation(lastHidden);\n });\n\n this.lightbox.on(\"change\", () => {\n // update carousel to same slide the lightshow shows\n this.carouselElement?.slideTo(this.lightbox.pswp.currIndex, \"auto\");\n // enable scroll for caption div\n if (\n this.lightbox.pswp.currSlide.dynamicCaption.element !== undefined &&\n this.lightbox.pswp.currSlide.dynamicCaption.element.innerText.length > 0\n ) {\n this.lightbox.pswp.currSlide.dynamicCaption.element.addEventListener(\"scroll\", stopPropagation);\n this.lightbox.pswp.currSlide.dynamicCaption.element.addEventListener(\"wheel\", stopPropagation);\n }\n });\n\n this.lightbox.on(\"bindEvents\", () => {\n this.lightbox.pswp.element.addEventListener(\"stzhClamp\", updateSize);\n this.lightbox.pswp.element.addEventListener(\"stzhExpand\", updateSize);\n this.lightbox.pswp.element.addEventListener(\"stzhOpen\", updateSize);\n this.lightbox.pswp.element.addEventListener(\"stzhOpened\", updateSize);\n this.lightbox.pswp.element.addEventListener(\"stzhClose\", updateSize);\n this.lightbox.pswp.element.addEventListener(\"stzhClosed\", updateSize);\n });\n\n new PhotoSwipeDynamicCaption(this.lightbox, {\n type: \"below\",\n captionContent: slide => {\n // '.stzh-gallery__caption-content'\n return slide.data.captionHtml;\n },\n mobileLayoutBreakpoint: () => {\n return window.innerWidth < 600;\n },\n // if enabled, the image will always be vertically centered in the remaining space between the caption and the rest of the viewport.\n // If set to false (default value) - the image will lift up only if the caption does not fit below.\n // verticallyCenterImage: false,\n\n // when the caption x position is less than this value, it'll get class pswp__dynamic-caption--on-hor-edge. You may use it to apply different styling, such as horizontal padding.\n // horizontalEdgeThreshold: 20\n\n // a ratio defines the amount of horizontal empty space before the mobile caption switches to an \"overlap\" layout.\n // For example, if it's set to 0.3 - the caption will start overlapping the image when more than 30% of horizontal space is not occupied by an image. If you set it to 0 - the caption will always overlap. If you set it to 1 - the caption will constantly shift the image (unless it's taller than the viewport).\n mobileCaptionOverlapRatio: 1,\n });\n\n this.lightbox.init();\n }\n\n async componentWillLoad() {\n this._initialShowItems = this.showItems;\n this.imagesWatcher(this.images);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"gallery\");\n }\n }\n\n async componentWillUpdate() {\n if (this.lightbox) {\n this.lightbox.destroy();\n this.lightbox = null;\n }\n }\n\n componentDidRender() {\n if (!this.lightbox) {\n this.initLightbox();\n }\n }\n\n disconnectedCallback() {\n if (this.lightbox) {\n this.lightbox.destroy();\n this.lightbox = null;\n }\n }\n\n private renderFigure(image: StzhGalleryItem, index: number): HTMLStzhFigureElement {\n const total = this._imagesLightboxDataSource.length;\n\n return (\n <stzh-figure\n class=\"stzh-gallery__slide\"\n caption={image.caption}\n heading={image.heading}\n counter={\n !image.hideCounter && !(this.variant === \"single\" && this.excludeFirstImage) ? `${index + 1}/${total}` : \"\"\n }\n >\n <stzh-ratio\n ratio={this.ratio}\n ratioSmall={this.ratioSmall}\n ratioMedium={this.ratioMedium}\n ratioLarge={this.ratioLarge}\n ratioUltra={this.ratioUltra}\n onClick={event => {\n event.preventDefault();\n this.openLightbox(index);\n }}\n >\n <img\n loading=\"lazy\"\n src={image.src}\n alt={(image.alt || this.localization.defaultAlt || \"\")\n .replace(/\\{current\\}/, (index + 1).toString())\n .replace(/\\{total\\}/, total.toString())}\n />\n\n {(this.variant === \"single\" || this.variant === \"grid\" || (this.variant === \"carousel\" && this._images.length === 1)) && (\n <stzh-hspace class=\"stzh-gallery__actions\" justify=\"end\" items=\"end\" size=\"xsmall\">\n <stzh-button\n variant=\"secondary\"\n size=\"small\"\n icon=\"expand\"\n label={this.localization.openLightbox}\n icon-only\n onClick={() => {\n this.openLightbox(index);\n }}\n ></stzh-button>\n </stzh-hspace>\n )}\n </stzh-ratio>\n </stzh-figure>\n );\n }\n\n render() {\n const classes = {\n \"stzh-gallery\": true,\n [`stzh-gallery--${this.variant}`]: !!this.variant,\n };\n\n return (\n <Host>\n <div class={classes}>\n {(this.variant === \"single\" || (this.variant === \"carousel\" && this._images.length === 1)) && (\n <Fragment>{this.renderFigure(this._images[0], 0)}</Fragment>\n )}\n\n {this.variant === \"grid\" && this._images.length > 0 && (\n <Fragment>\n <div class=\"stzh-gallery__list\">\n {this._imagesShown.map((image, index) => this.renderFigure(image, index))}\n </div>\n\n {this._showMoreLink && (\n <div class=\"stzh-gallery__list-actions\">\n <stzh-button\n variant=\"secondary\"\n label={this.localization.showMore}\n onClick={this.handleMoreClick}\n ></stzh-button>\n </div>\n )}\n </Fragment>\n )}\n\n {this.variant === \"carousel\" && this._images.length > 1 && (\n <stzh-carousel\n ref={el => (this.carouselElement = el as HTMLStzhCarouselElement)}\n disabled={this.carouselDisabled}\n autoplay={this.carouselAutoplay}\n autoplayTimeout={this.carouselAutoplayTimeout}\n withTrack={this.carouselWithTrack}\n variant=\"default\"\n >\n <stzh-ratio\n ref={el => (this.carouselActionsElement = el as HTMLElement)}\n slot=\"actions\"\n class=\"stzh-gallery__carousel-actions\"\n ratio={this.ratio}\n ratioSmall={this.ratioSmall}\n ratioMedium={this.ratioMedium}\n ratioLarge={this.ratioLarge}\n ratioUltra={this.ratioUltra}\n >\n <div>\n <stzh-button\n class=\"stzh-carousel-action-previous\"\n data-stzh-carousel-previous\n variant=\"secondary\"\n size=\"small\"\n icon=\"angle-left\"\n label={this.localization.arrowPrevTitle}\n icon-only\n ></stzh-button>\n <stzh-button\n class=\"stzh-carousel-action-next\"\n data-stzh-carousel-next\n variant=\"secondary\"\n size=\"small\"\n icon=\"angle-right\"\n label={this.localization.arrowNextTitle}\n icon-only\n ></stzh-button>\n </div>\n <stzh-hspace justify=\"end\" items=\"end\" size=\"xsmall\">\n <stzh-button\n variant=\"secondary\"\n size=\"small\"\n icon=\"expand\"\n icon-only\n label={this.localization.openLightbox}\n onClick={this.openCurrentCarouselSlide}\n ></stzh-button>\n </stzh-hspace>\n </stzh-ratio>\n\n {this._images.map((image, index) => this.renderFigure(image, index))}\n </stzh-carousel>\n )}\n\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,eAAe,CAAC;AACtB;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE;AAC7B,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;AACpB,IAAI,IAAI,CAAC,gBAAgB,GAAG,KAAK;;AAEjC,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;AAClC;AACA;;AAEA,EAAE,cAAc,GAAG;AACnB,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAChC;;AAEA;AACA;AACA;AACA;AACA;;;AAGA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,GAAG;AAChB;AACA;AACA;AACA,IAAI,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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"stzh-gallery.entry.js","sources":["node_modules/photoswipe/dist/photoswipe-lightbox.esm.js","node_modules/photoswipe-dynamic-caption-plugin/photoswipe-dynamic-caption-plugin.esm.js","src/components/stzh-gallery/stzh-gallery.scss?tag=stzh-gallery","src/components/stzh-gallery/stzh-gallery.tsx"],"sourcesContent":["/*!\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<string, any>} 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<T> : PhotoSwipeEvent<T> & PhotoSwipeEventsMap[T]} AugmentedEvent\r\n */\n\n/**\r\n * @template {keyof PhotoSwipeEventsMap} T\r\n * @typedef {(event: AugmentedEvent<T>) => 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<T>) => void)[] }}\r\n */\n this._listeners = {};\n /**\r\n * @type {{ [T in keyof PhotoSwipeFiltersMap]?: Filter<T>[] }}\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<PhotoSwipeFiltersMap[T]>} args\r\n * @returns {Parameters<PhotoSwipeFiltersMap[T]>[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<T>} 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<T>} 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<T>}\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<T>} */\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<T>} Type<T>\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<T>} EventCallback<T>\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<Type<PhotoSwipe>>[]} */\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<PhotoSwipe>} */\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<Type<PhotoSwipe>>} */\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<PhotoSwipe> | { default: Type<PhotoSwipe> }} 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<typeof name>} */\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","/**\r\n * PhotoSwipe Dynamic Caption plugin v1.2.7\r\n * https://github.com/dimsemenov/photoswipe-dynamic-caption-plugin\r\n * \r\n * By https://dimsemenov.com\r\n */\r\n\r\nconst defaultOptions = {\r\n captionContent: '.pswp-caption-content',\r\n type: 'auto',\r\n horizontalEdgeThreshold: 20,\r\n mobileCaptionOverlapRatio: 0.3,\r\n mobileLayoutBreakpoint: 600,\r\n verticallyCenterImage: false\r\n};\r\n\r\nclass PhotoSwipeDynamicCaption {\r\n constructor(lightbox, options) {\r\n this.options = {\r\n ...defaultOptions,\r\n ...options\r\n };\r\n\r\n this.lightbox = lightbox;\r\n\r\n this.lightbox.on('init', () => {\r\n this.pswp = this.lightbox.pswp;\r\n this.initCaption();\r\n });\r\n }\r\n\r\n initCaption() {\r\n const { pswp } = this;\r\n\r\n pswp.on('change', () => {\r\n // make sure caption is displayed after slides are switched\r\n this.showCaption(this.pswp.currSlide);\r\n });\r\n\r\n pswp.on('calcSlideSize', (e) => this.onCalcSlideSize(e));\r\n\r\n pswp.on('slideDestroy', (e) => {\r\n if (e.slide.dynamicCaption) {\r\n if (e.slide.dynamicCaption.element) {\r\n e.slide.dynamicCaption.element.remove();\r\n }\r\n delete e.slide.dynamicCaption;\r\n }\r\n });\r\n\r\n // hide caption if zoomed\r\n pswp.on('zoomPanUpdate', ({ slide }) => {\r\n if (pswp.opener.isOpen && slide.dynamicCaption) {\r\n if (slide.currZoomLevel > slide.zoomLevels.initial) {\r\n this.hideCaption(slide);\r\n } else {\r\n this.showCaption(slide);\r\n }\r\n \r\n // move caption on vertical drag\r\n if (slide.dynamicCaption.element) {\r\n let captionYOffset = 0;\r\n if (slide.currZoomLevel <= slide.zoomLevels.initial) {\r\n const shiftedAmount = slide.pan.y - slide.bounds.center.y;\r\n if (Math.abs(shiftedAmount) > 1) {\r\n captionYOffset = shiftedAmount;\r\n }\r\n }\r\n\r\n this.setCaptionYOffset(slide.dynamicCaption.element, captionYOffset);\r\n }\r\n\r\n this.adjustPanArea(slide, slide.currZoomLevel);\r\n }\r\n });\r\n\r\n pswp.on('beforeZoomTo', (e) => {\r\n this.adjustPanArea(pswp.currSlide, e.destZoomLevel);\r\n });\r\n\r\n // Stop default action of tap when tapping on the caption\r\n pswp.on('tapAction', (e) => {\r\n if (e.originalEvent.target.closest('.pswp__dynamic-caption')) {\r\n e.preventDefault();\r\n }\r\n });\r\n }\r\n\r\n adjustPanArea(slide, zoomLevel) {\r\n if (slide.dynamicCaption && slide.dynamicCaption.adjustedPanAreaSize) {\r\n if (zoomLevel > slide.zoomLevels.initial) {\r\n slide.panAreaSize.x = slide.dynamicCaption.originalPanAreaSize.x;\r\n slide.panAreaSize.y = slide.dynamicCaption.originalPanAreaSize.y;\r\n } else {\r\n // Restore panAreaSize after we zoom back to initial position\r\n slide.panAreaSize.x = slide.dynamicCaption.adjustedPanAreaSize.x;\r\n slide.panAreaSize.y = slide.dynamicCaption.adjustedPanAreaSize.y;\r\n }\r\n }\r\n }\r\n\r\n useMobileLayout() {\r\n const { mobileLayoutBreakpoint } = this.options;\r\n\r\n if (typeof mobileLayoutBreakpoint === 'function') {\r\n return mobileLayoutBreakpoint.call(this);\r\n } else if (typeof mobileLayoutBreakpoint === 'number') {\r\n if (window.innerWidth < mobileLayoutBreakpoint) {\r\n return true;\r\n }\r\n }\r\n \r\n return false;\r\n }\r\n\r\n hideCaption(slide) {\r\n if (slide.dynamicCaption && !slide.dynamicCaption.hidden) {\r\n const captionElement = slide.dynamicCaption.element;\r\n\r\n if (!captionElement) {\r\n return;\r\n }\r\n\r\n slide.dynamicCaption.hidden = true;\r\n captionElement.classList.add('pswp__dynamic-caption--faded');\r\n\r\n // Disable caption visibility with the delay, so it's not interactable \r\n if (slide.captionFadeTimeout) {\r\n clearTimeout(slide.captionFadeTimeout);\r\n }\r\n slide.captionFadeTimeout = setTimeout(() => {\r\n captionElement.style.visibility = 'hidden';\r\n delete slide.captionFadeTimeout;\r\n }, 400);\r\n }\r\n }\r\n\r\n setCaptionYOffset(el, y) {\r\n el.style.transform = `translateY(${y}px)`;\r\n }\r\n\r\n showCaption(slide) {\r\n if (slide.dynamicCaption && slide.dynamicCaption.hidden) {\r\n const captionElement = slide.dynamicCaption.element;\r\n\r\n if (!captionElement) {\r\n return;\r\n }\r\n\r\n slide.dynamicCaption.hidden = false;\r\n captionElement.style.visibility = 'visible';\r\n \r\n clearTimeout(slide.captionFadeTimeout);\r\n slide.captionFadeTimeout = setTimeout(() => {\r\n captionElement.classList.remove('pswp__dynamic-caption--faded');\r\n delete slide.captionFadeTimeout;;\r\n }, 50);\r\n }\r\n }\r\n\r\n setCaptionPosition(captionEl, x, y) {\r\n const isOnHorizontalEdge = (x <= this.options.horizontalEdgeThreshold);\r\n captionEl.classList[\r\n isOnHorizontalEdge ? 'add' : 'remove'\r\n ]('pswp__dynamic-caption--on-hor-edge');\r\n\r\n captionEl.style.left = x + 'px';\r\n captionEl.style.top = y + 'px';\r\n }\r\n\r\n setCaptionWidth(captionEl, width) {\r\n if (!width) {\r\n captionEl.style.removeProperty('width');\r\n } else {\r\n captionEl.style.width = width + 'px';\r\n }\r\n }\r\n\r\n setCaptionType(captionEl, type) {\r\n const prevType = captionEl.dataset.pswpCaptionType;\r\n if (type !== prevType) {\r\n captionEl.classList.add('pswp__dynamic-caption--' + type);\r\n captionEl.classList.remove('pswp__dynamic-caption--' + prevType);\r\n captionEl.dataset.pswpCaptionType = type;\r\n }\r\n }\r\n\r\n updateCaptionPosition(slide) {\r\n if (!slide.dynamicCaption || !slide.dynamicCaption.type || !slide.dynamicCaption.element) {\r\n return;\r\n }\r\n\r\n if (slide.dynamicCaption.type === 'mobile') {\r\n this.setCaptionType(\r\n slide.dynamicCaption.element, \r\n slide.dynamicCaption.type\r\n );\r\n \r\n slide.dynamicCaption.element.style.removeProperty('left');\r\n slide.dynamicCaption.element.style.removeProperty('top');\r\n this.setCaptionWidth(slide.dynamicCaption.element, false);\r\n return;\r\n }\r\n\r\n const zoomLevel = slide.zoomLevels.initial;\r\n const imageWidth = Math.ceil(slide.width * zoomLevel);\r\n const imageHeight = Math.ceil(slide.height * zoomLevel);\r\n \r\n this.setCaptionType(slide.dynamicCaption.element, slide.dynamicCaption.type);\r\n if (slide.dynamicCaption.type === 'aside') {\r\n this.setCaptionPosition(\r\n slide.dynamicCaption.element,\r\n slide.bounds.center.x + imageWidth,\r\n slide.bounds.center.y\r\n );\r\n this.setCaptionWidth(slide.dynamicCaption.element, false);\r\n } else if (slide.dynamicCaption.type === 'below') {\r\n this.setCaptionPosition(\r\n slide.dynamicCaption.element,\r\n slide.bounds.center.x,\r\n slide.bounds.center.y + imageHeight\r\n );\r\n this.setCaptionWidth(slide.dynamicCaption.element, imageWidth);\r\n }\r\n }\r\n\r\n onCalcSlideSize(e) {\r\n const { slide } = e;\r\n let captionSize;\r\n let useMobileVersion;\r\n\r\n if (!slide.dynamicCaption) {\r\n slide.dynamicCaption = {\r\n element: undefined,\r\n type: false,\r\n hidden: false\r\n };\r\n\r\n const captionHTML = this.getCaptionHTML(slide);\r\n\r\n if (!captionHTML) {\r\n return;\r\n }\r\n\r\n slide.dynamicCaption.element = document.createElement('div');\r\n slide.dynamicCaption.element.className = 'pswp__dynamic-caption pswp__hide-on-close';\r\n slide.dynamicCaption.element.innerHTML = captionHTML;\r\n\r\n this.pswp.dispatch('dynamicCaptionUpdateHTML', { \r\n captionElement: slide.dynamicCaption.element,\r\n slide\r\n });\r\n\r\n slide.holderElement.appendChild(slide.dynamicCaption.element);\r\n }\r\n\r\n if (!slide.dynamicCaption.element) {\r\n return;\r\n }\r\n\r\n this.storeOriginalPanAreaSize(slide);\r\n\r\n slide.bounds.update(slide.zoomLevels.initial);\r\n \r\n if (this.useMobileLayout()) {\r\n slide.dynamicCaption.type = 'mobile';\r\n useMobileVersion = true;\r\n } else {\r\n if (this.options.type === 'auto') {\r\n if (slide.bounds.center.x > slide.bounds.center.y) {\r\n slide.dynamicCaption.type = 'aside';\r\n } else {\r\n slide.dynamicCaption.type = 'below';\r\n }\r\n } else {\r\n slide.dynamicCaption.type = this.options.type;\r\n }\r\n } \r\n\r\n const imageWidth = Math.ceil(slide.width * slide.zoomLevels.initial);\r\n const imageHeight = Math.ceil(slide.height * slide.zoomLevels.initial);\r\n\r\n this.setCaptionType(\r\n slide.dynamicCaption.element, \r\n slide.dynamicCaption.type\r\n );\r\n\r\n if (slide.dynamicCaption.type === 'aside') {\r\n this.setCaptionWidth(slide.dynamicCaption.element, false);\r\n captionSize = this.measureCaptionSize(slide.dynamicCaption.element, e.slide);\r\n\r\n const captionWidth = captionSize.x; \r\n\r\n const horizontalEnding = imageWidth + slide.bounds.center.x;\r\n const horizontalLeftover = (slide.panAreaSize.x - horizontalEnding);\r\n\r\n if (horizontalLeftover <= captionWidth) {\r\n slide.panAreaSize.x -= captionWidth;\r\n this.recalculateZoomLevelAndBounds(slide);\r\n } else {\r\n // do nothing, caption will fit aside without any adjustments\r\n }\r\n } else if (slide.dynamicCaption.type === 'below' || useMobileVersion) {\r\n this.setCaptionWidth(\r\n slide.dynamicCaption.element, \r\n useMobileVersion ? this.pswp.viewportSize.x : imageWidth\r\n );\r\n\r\n captionSize = this.measureCaptionSize(slide.dynamicCaption.element, e.slide);\r\n const captionHeight = captionSize.y;\r\n\r\n if (this.options.verticallyCenterImage) {\r\n slide.panAreaSize.y -= captionHeight;\r\n this.recalculateZoomLevelAndBounds(slide);\r\n } else {\r\n // Lift up the image only by caption height\r\n\r\n // vertical ending of the image\r\n const verticalEnding = imageHeight + slide.bounds.center.y;\r\n\r\n // height between bottom of the screen and ending of the image\r\n // (before any adjustments applied) \r\n const verticalLeftover = slide.panAreaSize.y - verticalEnding;\r\n const initialPanAreaHeight = slide.panAreaSize.y;\r\n\r\n if (verticalLeftover <= captionHeight) {\r\n // lift up the image to give more space for caption\r\n slide.panAreaSize.y -= Math.min((captionHeight - verticalLeftover) * 2, captionHeight);\r\n\r\n // we reduce viewport size, thus we need to update zoom level and pan bounds\r\n this.recalculateZoomLevelAndBounds(slide);\r\n\r\n const maxPositionX = slide.panAreaSize.x * this.options.mobileCaptionOverlapRatio / 2;\r\n\r\n // Do not reduce viewport height if too few space available\r\n if (useMobileVersion \r\n && slide.bounds.center.x > maxPositionX) {\r\n // Restore the default position\r\n slide.panAreaSize.y = initialPanAreaHeight;\r\n this.recalculateZoomLevelAndBounds(slide);\r\n }\r\n }\r\n }\r\n } else {\r\n // mobile\r\n }\r\n\r\n this.storeAdjustedPanAreaSize(slide);\r\n this.updateCaptionPosition(slide);\r\n }\r\n\r\n measureCaptionSize(captionEl, slide) {\r\n const rect = captionEl.getBoundingClientRect();\r\n const event = this.pswp.dispatch('dynamicCaptionMeasureSize', {\r\n captionEl,\r\n slide,\r\n captionSize: {\r\n x: rect.width,\r\n y: rect.height\r\n }\r\n });\r\n return event.captionSize;\r\n }\r\n\r\n recalculateZoomLevelAndBounds(slide) {\r\n slide.zoomLevels.update(slide.width, slide.height, slide.panAreaSize);\r\n slide.bounds.update(slide.zoomLevels.initial);\r\n }\r\n\r\n storeAdjustedPanAreaSize(slide) {\r\n if (slide.dynamicCaption) {\r\n if (!slide.dynamicCaption.adjustedPanAreaSize) {\r\n slide.dynamicCaption.adjustedPanAreaSize = {};\r\n }\r\n slide.dynamicCaption.adjustedPanAreaSize.x = slide.panAreaSize.x;\r\n slide.dynamicCaption.adjustedPanAreaSize.y = slide.panAreaSize.y;\r\n }\r\n }\r\n\r\n storeOriginalPanAreaSize(slide) {\r\n if (slide.dynamicCaption) {\r\n if (!slide.dynamicCaption.originalPanAreaSize) {\r\n slide.dynamicCaption.originalPanAreaSize = {};\r\n }\r\n slide.dynamicCaption.originalPanAreaSize.x = slide.panAreaSize.x;\r\n slide.dynamicCaption.originalPanAreaSize.y = slide.panAreaSize.y;\r\n }\r\n }\r\n\r\n getCaptionHTML(slide) {\r\n if (typeof this.options.captionContent === 'function') {\r\n return this.options.captionContent.call(this, slide);\r\n }\r\n\r\n const currSlideElement = slide.data.element;\r\n let captionHTML = '';\r\n if (currSlideElement) {\r\n const hiddenCaption = currSlideElement.querySelector(this.options.captionContent);\r\n if (hiddenCaption) {\r\n // get caption from element with class pswp-caption-content\r\n captionHTML = hiddenCaption.innerHTML;\r\n } else {\r\n const img = currSlideElement.querySelector('img');\r\n if (img) {\r\n // get caption from alt attribute\r\n captionHTML = img.getAttribute('alt');\r\n }\r\n }\r\n }\r\n return captionHTML;\r\n }\r\n}\r\n\r\nexport default PhotoSwipeDynamicCaption;\r\n","@import \"../../../node_modules/photoswipe/dist/photoswipe.css\";\n@import \"../../../node_modules/photoswipe-dynamic-caption-plugin/photoswipe-dynamic-caption-plugin.css\";\n\nstzh-gallery {\n @include host;\n overflow-x: hidden;\n}\n\n.stzh-gallery {\n &__carousel-actions,\n &__actions {\n transition: opacity 0.1s linear;\n }\n\n &__carousel-actions.is-hidden-during-animation,\n &__slide.is-hidden-during-animation &__actions {\n opacity: 0;\n }\n\n &__actions {\n padding: space(\"xsmall\");\n }\n\n &__list {\n @include spaceCurve(\"row-gap\", \"large\");\n display: grid;\n column-gap: $gridGutter;\n\n @include mq($from: small) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n column-gap: $gridGutterSmall;\n }\n\n @include mq($from: medium) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n column-gap: $gridGutterMedium;\n }\n\n @include mq($from: large) {\n column-gap: $gridGutterLarge;\n }\n\n @include mq($from: ultra) {\n column-gap: $gridGutterUltra;\n }\n }\n\n &__list-actions {\n @include spaceCurve(\"margin-top\", \"large\");\n display: grid;\n\n @include mq($from: small) {\n justify-content: center;\n }\n }\n\n /* Lightbox elements */\n\n &__pswp {\n @include font;\n --pswp-bg: #{$colorWhite};\n }\n\n &__pswp .pswp__icn {\n fill: $colorPrimary;\n }\n\n &__pswp .pswp__top-bar {\n align-items: flex-start;\n }\n\n &__pswp .pswp__button {\n opacity: 1;\n width: 44px;\n height: 44px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: $colorPrimary70;\n background-color: $colorSecondary30;\n border: none;\n border-radius: $buttonBorderRadius;\n transition-duration: $baseTransitionAnimationSpeed;\n transition-property: color, background-color, border-color, opacity;\n\n @media print {\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n }\n\n @include mq($from: large) {\n width: 56px;\n height: 56px;\n }\n\n &:hover {\n color: $colorPrimary80;\n background-color: $colorSecondary40;\n }\n\n svg {\n width: iconSize();\n height: iconSize();\n\n @include mq($from: large) {\n width: iconSize(\"large\");\n height: iconSize(\"large\");\n }\n }\n\n &--close {\n @include spaceCurve(\"margin-top\", \"regular\");\n @include spaceCurve(\"margin-right\", \"regular\");\n width: 56px;\n height: 56px;\n color: $colorPrimary70;\n background-color: transparent;\n\n &:hover {\n color: $colorPrimary80;\n background-color: $colorSecondary20;\n }\n\n svg {\n width: iconSize(\"large\");\n height: iconSize(\"large\");\n }\n }\n\n &[disabled] {\n color: $colorGrey80;\n background-color: $colorGrey20;\n }\n\n &--arrow {\n // width: auto;\n // height: auto;\n margin-top: -20px;\n }\n\n &--arrow--prev {\n left: space(\"xsmall\");\n\n @include mq($from: small) {\n left: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n left: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n left: $containerMarginLarge;\n }\n\n @include mq($from: ultra) {\n left: 126px;\n }\n }\n\n &--arrow--next {\n right: space(\"xsmall\");\n\n @include mq($from: small) {\n right: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n right: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n right: $containerMarginLarge;\n }\n\n @include mq($from: ultra) {\n right: 126px;\n }\n }\n }\n\n &__pswp.pswp--zoomed-in .pswp__button {\n opacity: 0;\n pointer-events: none;\n }\n\n &__pswp.pswp--one-image .pswp__button {\n &--arrow {\n display: none;\n }\n }\n\n &__pswp .pswp__dynamic-caption {\n @include fontCurve(\"caption\");\n color: $baseColor;\n overflow: auto;\n transition: opacity $baseTransitionAnimationSpeed;\n\n &--below,\n &--mobile {\n max-width: initial;\n max-height: calc(50vh - 44px - 16px - 8px);\n padding-top: 16px;\n padding-bottom: 16px;\n\n @include mq($from: small) {\n max-height: 33.333vh;\n }\n\n @include mq($from: medium) {\n padding-top: spaceCurveValue(\"tiny\");\n padding-bottom: spaceCurveValue(\"medium\");\n }\n\n @include mq($from: medium) {\n padding-top: spaceCurveValue(\"tiny\", \"medium\");\n padding-bottom: spaceCurveValue(\"medium\", \"medium\");\n }\n\n @include mq($from: large) {\n padding-top: spaceCurveValue(\"tiny\", \"large\");\n padding-bottom: spaceCurveValue(\"medium\", \"large\");\n }\n }\n\n &--mobile {\n @include spaceCurve(\"padding-left\", \"tiny\");\n @include spaceCurve(\"padding-right\", \"tiny\");\n background: $colorWhite60op;\n }\n }\n\n &__pswp .pswp__caption-wrapper {\n display: flex;\n flex-direction: column;\n }\n\n &__pswp .pswp__heading-wrapper {\n display: flow-root;\n }\n\n &__pswp .pswp__caption-counter {\n float: left;\n color: $colorSecondary60;\n\n &:not(:empty) {\n margin-right: space(\"xsmall\");\n }\n }\n\n &__pswp .pswp__caption-counter,\n &__pswp .pswp__caption-heading {\n @include font(\"heavy\");\n }\n\n &__pswp .pswp__caption-copyright {\n @include font;\n @include fontSize(\"femto\");\n color: $colorGrey80;\n\n &:not(:empty) {\n margin-top: space(\"xxsmall\");\n }\n }\n}\n","import { Component, Element, Fragment, h, Host, Listen, Method, Prop, Watch } from \"@stencil/core\";\nimport { Layout, StzhGalleryItem } from \"../../index\";\nimport { StzhGalleryLocalizedText } from \"./stzh-gallery.localization\";\nimport PhotoSwipeLightbox from \"photoswipe/lightbox\";\nimport \"photoswipe/style.css\";\nimport PhotoSwipeDynamicCaption from \"photoswipe-dynamic-caption-plugin\";\nimport Close from \"./assets/close.svg\";\nimport AngleLeft from \"./assets/angle-left.svg\";\nimport AngleRight from \"./assets/angle-right.svg\";\n\nconst CLASS_LIGHTBOX = \"stzh-gallery__pswp\";\nconst CLASS_BODY_OPEN = \"stzh-gallery-open\";\n\ntype LightboxDataItem = {\n w: number;\n h: number;\n msrc: string;\n src: string;\n thumbCropped: boolean;\n captionHtml: string;\n};\n\n/**\n * @slot - Slot for custom content if `variant=\"custom\"` is used, lightbox will query for stzh-figure (this.itemElement) elements\n */\n@Component({\n tag: \"stzh-gallery\",\n styleUrl: \"stzh-gallery.scss\",\n})\nexport class StzhGallery {\n /** Translation strings */\n @Prop() localization: StzhGalleryLocalizedText;\n\n /** Aspect ratio */\n @Prop({ reflect: true }) ratio: Layout.Ratio = \"16:9\";\n /** Aspect ratio above small breakpoint */\n @Prop({ reflect: true }) ratioSmall: Layout.Ratio | \"inherit\" = \"inherit\";\n /** Aspect ratio above medium breakpoint */\n @Prop({ reflect: true }) ratioMedium: Layout.Ratio | \"inherit\" = \"inherit\";\n /** Aspect ratio above large breakpoint */\n @Prop({ reflect: true }) ratioLarge: Layout.Ratio | \"inherit\" = \"inherit\";\n /** Aspect ratio above ultra breakpoint */\n @Prop({ reflect: true }) ratioUltra: Layout.Ratio | \"inherit\" = \"inherit\";\n\n /** Nr of images shown (only for grid variant) */\n @Prop({ mutable: true }) showItems: number = 6;\n private _initialShowItems: number;\n\n /** Whether indicator should be shown */\n @Prop() carouselWithTrack: boolean = false;\n\n /** Nr of items shown when more link is clicked (only for grid variant) */\n @Prop() stepItems: number = 6;\n\n /**\n * Images in gallery.\n * Array of objects that must at least include `width`, `height` and `src` attribute:\n * `[{\"width\": 2522, \"height\": 1075, \"src\": \"media/images/example.jpg\"}, {\"width\": 2050, \"height\": 1367, \"src\": \"media/images/example2.jpg\"}]`\n *\n * Possible other optional properties are:\n * `alt`: Alternative image description\n * / `srcLightbox`: `src` for img tag inside lightbox (overwrites `src`)\n * / `srcsetLightbox`: `srcset` for img tag inside lightbox\n * / `copyright`: Copyright inside caption\n * / `heading`: Heading inside caption\n * / `headingLightbox`: Alternative heading for lightbox (overwrites `heading`)\n * / `caption`: Caption\n * / `captionLightbox`: Caption for lightbox (overwrites `caption`)\n * / `lightboxHtml`: Alternative html content for lightbox caption\n * / `hideCounter`: Whether to hide counter\n */\n @Prop() images: StzhGalleryItem[] | string = [];\n private _images: StzhGalleryItem[];\n private _imagesShown: StzhGalleryItem[];\n private _imagesLightboxDataSource: LightboxDataItem[];\n private _showMoreLink: boolean = false;\n\n /**\n * Variant:\n * `carousel`: every image is displayed inside a carousel (default mode with more than on picture)\n * / `single`: only one image is shown without carousel functionality (other images only reachable by lightbox)\n * / `grid`: every image is displayed inside a grid\n * / `custom`: nothing is rendered, only lightbox will be initialized, `stzh-figure` (`this.itemElement`) can be slotted in\n */\n @Prop() variant: \"carousel\" | \"single\" | \"grid\" | \"custom\" = \"carousel\";\n\n /** Preview item that will be looked up and mapped to images in lightbox. */\n @Prop() itemElement: string = \"stzh-figure\";\n\n /** Whether carousel is disabled */\n @Prop({ reflect: true }) carouselDisabled: boolean = false;\n\n /**\n * Whether autoplay is enabled.\n * Gets paused, when user has focus inside carousel element or hovers over it.\n * Also when reduced motion media query is active or carousel is set disabled.\n * Gets disabled permanently, when user interacts with carousel manually (clicks prev/next, scrolls or drags)\n */\n @Prop({ mutable: true }) carouselAutoplay: boolean = false;\n\n /** Timeout delay in milliseconds used for autoplay */\n @Prop() carouselAutoplayTimeout: number = 3000;\n\n /**\n * Exclude first image in lightbox images (but still use as preview image).\n * Only used when `variant=single` is used.\n */\n @Prop() excludeFirstImage: boolean = false;\n\n @Element() element: HTMLStzhGalleryElement;\n\n @Method()\n async openLightbox(index: number = 0) {\n this.lightbox.loadAndOpen(index);\n }\n\n @Listen(\"appload\", { target: \"window\" })\n apploadListener() {\n // resize if any stencil components are rendered when lightbox is open\n if (this.lightbox && this.lightbox.pswp && this.lightbox.pswp.isOpen) {\n this.lightbox.pswp.updateSize(true);\n }\n }\n\n @Watch(\"showItems\")\n showItemsWatcher(newValue: number) {\n this._imagesShown = this._images.slice(0, newValue);\n this._showMoreLink = newValue < this._images.length;\n }\n\n @Watch(\"images\")\n @Watch(\"excludeFirstImage\")\n imagesWatcher(newValue: StzhGalleryItem[] | string) {\n if (typeof newValue === \"string\") {\n this._images = JSON.parse(newValue);\n } else {\n this._images = newValue;\n }\n\n this.showItemsWatcher(this._initialShowItems);\n\n const lightboxImages = this.excludeFirstImage ? this._images.slice(1) : this._images;\n\n this._imagesLightboxDataSource = lightboxImages.map((image, index) => {\n let captionHtml = \"\";\n\n const { lightboxHtml, heading, headingLightbox, caption, captionLightbox, copyright, hideCounter } = image;\n\n if (lightboxHtml !== undefined) {\n captionHtml = lightboxHtml;\n } else if (heading || caption || headingLightbox || captionLightbox || copyright || !hideCounter) {\n captionHtml = `\n <div class=\"pswp__caption-wrapper\">\n <div class=\"pswp__heading-wrapper\">\n <div class=\"pswp__caption-counter\">${!hideCounter ? `${index + 1}/${lightboxImages.length}` : \"\"}</div>\n <div class=\"pswp__caption-heading\">${headingLightbox || heading || \"\"}</div>\n </div>\n <div class=\"pswp__caption\">\n <span class=\"pswp__caption-text\">${captionLightbox || caption || \"\"}</span>\n <span class=\"pswp__caption-copyright\">${copyright || \"\"}</span>\n </div>\n </div>\n `;\n }\n\n return {\n w: image.width,\n h: image.height,\n msrc: image.src,\n src: image.srcLightbox || image.src,\n srcset: image.srcsetLightbox,\n thumbCropped: true,\n captionHtml,\n };\n });\n }\n\n private lightbox: any;\n private carouselElement: HTMLStzhCarouselElement;\n private carouselActionsElement: HTMLElement;\n\n private openCurrentCarouselSlide = () => {\n this.lightbox.loadAndOpen(this.carouselElement.slide);\n };\n\n private handleMoreClick = () => {\n this.showItems = this.stepItems + this.showItems;\n };\n\n initLightbox() {\n if (this._imagesLightboxDataSource.length === 0) {\n return;\n }\n\n this.lightbox = new PhotoSwipeLightbox({\n // appendToEl: this.element,\n // gallery: this.element, // not needed if we supply dataSource\n dataSource: this._imagesLightboxDataSource,\n pswpModule: () => import(\"photoswipe\"),\n arrowPrevSVG: AngleLeft,\n arrowNextSVG: AngleRight,\n closeSVG: Close,\n zoom: false,\n counter: false,\n loop: false,\n bgOpacity: 1,\n mainClass: CLASS_LIGHTBOX,\n closeOnVerticalDrag: false,\n clickToCloseNonZoomable: false,\n\n // https://photoswipe.com/adjusting-zoom-level/\n // initialZoomLevel: 'fit',\n // secondaryZoomLevel: 'fit',\n // maxZoomLevel: 'fit',\n // clickToCloseNonZoomable: true,\n\n // translations\n closeTitle: this.localization.closeTitle,\n zoomTitle: this.localization.zoomTitle,\n arrowPrevTitle: this.localization.arrowPrevTitle,\n arrowNextTitle: this.localization.arrowNextTitle,\n errorMsg: this.localization.errorMsg,\n indexIndicatorSep: \"/\",\n\n paddingFn: (_viewportSize, _itemData, _index) => {\n // const captionHeight = this.lightbox.pswp?.currSlide?.dynamicCaption?.element?.offsetHeight || 0;\n\n let top = 16 + 44 + 8;\n let bottom = 16;\n let side = 0;\n\n if (window.innerWidth >= 1600) {\n // ultra\n top = 32 + 56 + 20;\n bottom = 32;\n side = 126 + 56 + 56;\n } else if (window.innerWidth >= 1260) {\n // large\n top = 32 + 56 + 20;\n bottom = 32;\n side = 64 + 56 + 56;\n } else if (window.innerWidth >= 900) {\n // medium\n top = 20 + 44 + 20;\n bottom = 20;\n side = 40 + 44 + 20;\n } else if (window.innerWidth >= 600) {\n // small\n top = 16 + 44 + 20;\n bottom = 16;\n side = 32 + 44 + 20;\n }\n\n // add safe space to prevent flickering\n // bottom = bottom + 20;\n\n // if (captionHeight > 0) {\n // bottom = 20;\n // }\n\n return {\n top,\n bottom,\n left: side,\n right: side,\n };\n },\n });\n\n let firstHidden;\n let lastHidden;\n\n const showHiddenDuringAnimation = slide => {\n this.carouselActionsElement?.classList.remove(\"is-hidden-during-animation\");\n slide?.classList.remove(\"is-hidden-during-animation\");\n };\n\n const hideHiddenDuringAnimation = slide => {\n this.carouselActionsElement?.classList.add(\"is-hidden-during-animation\");\n slide?.classList.add(\"is-hidden-during-animation\");\n };\n\n const stopPropagation = event => {\n event.stopPropagation();\n };\n\n const updateSize = () => {\n this.lightbox.pswp.updateSize(true);\n };\n\n const slides = Array.from(this.element.querySelectorAll(this.itemElement));\n\n this.lightbox.addFilter(\"itemData\", (itemData, index: number) => {\n itemData.element = slides[index];\n return itemData;\n });\n\n this.lightbox.addFilter(\"thumbEl\", (thumbEl, data, _index) => {\n const el = data.element?.querySelector(\"img\") as HTMLImageElement;\n\n if (el) {\n return el;\n }\n\n return thumbEl;\n });\n\n this.lightbox.addFilter(\"numItems\", () => {\n return this._imagesLightboxDataSource.length;\n });\n\n this.lightbox.on(\"afterInit\", () => {\n firstHidden = this.lightbox.pswp.currSlide.data.element;\n lastHidden = this.lightbox.pswp.currSlide.data.element;\n hideHiddenDuringAnimation(firstHidden);\n\n if (this._imagesLightboxDataSource.length === 1) {\n this.lightbox.pswp.element.classList.add(\"pswp--one-image\");\n }\n });\n\n this.lightbox.on(\"beforeOpen\", () => {\n document.body.classList.add(CLASS_BODY_OPEN);\n });\n\n this.lightbox.on(\"close\", () => {\n document.body.classList.remove(CLASS_BODY_OPEN);\n\n // can be null in \"single\" variant, when not every slide is in carousel or grid\n if (this.lightbox.pswp.currSlide.data.element) {\n lastHidden = this.lightbox.pswp.currSlide.data.element;\n }\n\n if (lastHidden !== firstHidden) {\n showHiddenDuringAnimation(firstHidden);\n hideHiddenDuringAnimation(lastHidden);\n }\n });\n\n this.lightbox.on(\"destroy\", () => {\n showHiddenDuringAnimation(lastHidden);\n });\n\n this.lightbox.on(\"change\", () => {\n // update carousel to same slide the lightshow shows\n this.carouselElement?.slideTo(this.lightbox.pswp.currIndex, \"auto\");\n // enable scroll for caption div\n if (\n this.lightbox.pswp.currSlide.dynamicCaption.element !== undefined &&\n this.lightbox.pswp.currSlide.dynamicCaption.element.innerText.length > 0\n ) {\n this.lightbox.pswp.currSlide.dynamicCaption.element.addEventListener(\"scroll\", stopPropagation);\n this.lightbox.pswp.currSlide.dynamicCaption.element.addEventListener(\"wheel\", stopPropagation);\n }\n });\n\n this.lightbox.on(\"bindEvents\", () => {\n this.lightbox.pswp.element.addEventListener(\"stzhClamp\", updateSize);\n this.lightbox.pswp.element.addEventListener(\"stzhExpand\", updateSize);\n this.lightbox.pswp.element.addEventListener(\"stzhOpen\", updateSize);\n this.lightbox.pswp.element.addEventListener(\"stzhOpened\", updateSize);\n this.lightbox.pswp.element.addEventListener(\"stzhClose\", updateSize);\n this.lightbox.pswp.element.addEventListener(\"stzhClosed\", updateSize);\n });\n\n new PhotoSwipeDynamicCaption(this.lightbox, {\n type: \"below\",\n captionContent: slide => {\n // '.stzh-gallery__caption-content'\n return slide.data.captionHtml;\n },\n mobileLayoutBreakpoint: () => {\n return window.innerWidth < 600;\n },\n // if enabled, the image will always be vertically centered in the remaining space between the caption and the rest of the viewport.\n // If set to false (default value) - the image will lift up only if the caption does not fit below.\n // verticallyCenterImage: false,\n\n // when the caption x position is less than this value, it'll get class pswp__dynamic-caption--on-hor-edge. You may use it to apply different styling, such as horizontal padding.\n // horizontalEdgeThreshold: 20\n\n // a ratio defines the amount of horizontal empty space before the mobile caption switches to an \"overlap\" layout.\n // For example, if it's set to 0.3 - the caption will start overlapping the image when more than 30% of horizontal space is not occupied by an image. If you set it to 0 - the caption will always overlap. If you set it to 1 - the caption will constantly shift the image (unless it's taller than the viewport).\n mobileCaptionOverlapRatio: 1,\n });\n\n this.lightbox.init();\n }\n\n async componentWillLoad() {\n this._initialShowItems = this.showItems;\n this.imagesWatcher(this.images);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"gallery\");\n }\n }\n\n async componentWillUpdate() {\n if (this.lightbox) {\n this.lightbox.destroy();\n this.lightbox = null;\n }\n }\n\n componentDidRender() {\n if (!this.lightbox) {\n this.initLightbox();\n }\n }\n\n disconnectedCallback() {\n if (this.lightbox) {\n this.lightbox.destroy();\n this.lightbox = null;\n }\n }\n\n private renderFigure(image: StzhGalleryItem, index: number): HTMLStzhFigureElement {\n const total = this._imagesLightboxDataSource.length;\n\n return (\n <stzh-figure\n class=\"stzh-gallery__slide\"\n caption={image.caption}\n heading={image.heading}\n counter={\n !image.hideCounter && !(this.variant === \"single\" && this.excludeFirstImage) ? `${index + 1}/${total}` : \"\"\n }\n >\n <stzh-ratio\n ratio={this.ratio}\n ratioSmall={this.ratioSmall}\n ratioMedium={this.ratioMedium}\n ratioLarge={this.ratioLarge}\n ratioUltra={this.ratioUltra}\n onClick={event => {\n event.preventDefault();\n this.openLightbox(index);\n }}\n >\n <img\n loading=\"lazy\"\n src={image.src}\n alt={(image.alt || this.localization.defaultAlt || \"\")\n .replace(/\\{current\\}/, (index + 1).toString())\n .replace(/\\{total\\}/, total.toString())}\n />\n\n {(this.variant === \"single\" ||\n this.variant === \"grid\" ||\n (this.variant === \"carousel\" && this._images.length === 1)) && (\n <stzh-hspace class=\"stzh-gallery__actions\" justify=\"end\" items=\"end\" size=\"xsmall\">\n <stzh-button\n variant=\"secondary\"\n size=\"small\"\n icon=\"expand\"\n label={this.localization.openLightbox}\n icon-only\n onClick={() => {\n this.openLightbox(index);\n }}\n ></stzh-button>\n </stzh-hspace>\n )}\n </stzh-ratio>\n </stzh-figure>\n );\n }\n\n render() {\n const classes = {\n \"stzh-gallery\": true,\n [`stzh-gallery--${this.variant}`]: !!this.variant,\n };\n\n return (\n <Host>\n <div class={classes}>\n {(this.variant === \"single\" || (this.variant === \"carousel\" && this._images.length === 1)) && (\n <Fragment>{this.renderFigure(this._images[0], 0)}</Fragment>\n )}\n\n {this.variant === \"grid\" && this._images.length > 0 && (\n <Fragment>\n <div class=\"stzh-gallery__list\">\n {this._imagesShown.map((image, index) => this.renderFigure(image, index))}\n </div>\n\n {this._showMoreLink && (\n <div class=\"stzh-gallery__list-actions\">\n <stzh-button\n variant=\"secondary\"\n label={this.localization.showMore}\n onClick={this.handleMoreClick}\n ></stzh-button>\n </div>\n )}\n </Fragment>\n )}\n\n {this.variant === \"carousel\" && this._images.length > 1 && (\n <stzh-carousel\n ref={el => (this.carouselElement = el as HTMLStzhCarouselElement)}\n disabled={this.carouselDisabled}\n autoplay={this.carouselAutoplay}\n autoplayTimeout={this.carouselAutoplayTimeout}\n withTrack={this.carouselWithTrack}\n variant=\"default\"\n >\n <stzh-ratio\n ref={el => (this.carouselActionsElement = el as HTMLElement)}\n slot=\"actions\"\n class=\"stzh-gallery__carousel-actions\"\n ratio={this.ratio}\n ratioSmall={this.ratioSmall}\n ratioMedium={this.ratioMedium}\n ratioLarge={this.ratioLarge}\n ratioUltra={this.ratioUltra}\n >\n <div>\n <stzh-button\n class=\"stzh-carousel-action-previous\"\n data-stzh-carousel-previous\n variant=\"secondary\"\n size=\"small\"\n icon=\"angle-left\"\n label={this.localization.arrowPrevTitle}\n icon-only\n ></stzh-button>\n <stzh-button\n class=\"stzh-carousel-action-next\"\n data-stzh-carousel-next\n variant=\"secondary\"\n size=\"small\"\n icon=\"angle-right\"\n label={this.localization.arrowNextTitle}\n icon-only\n ></stzh-button>\n </div>\n <stzh-hspace justify=\"end\" items=\"end\" size=\"xsmall\">\n <stzh-button\n variant=\"secondary\"\n size=\"small\"\n icon=\"expand\"\n icon-only\n label={this.localization.openLightbox}\n onClick={this.openCurrentCarouselSlide}\n ></stzh-button>\n </stzh-hspace>\n </stzh-ratio>\n\n {this._images.map((image, index) => this.renderFigure(image, index))}\n </stzh-carousel>\n )}\n\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,eAAe,CAAC;AACtB;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE;AAC7B,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;AACpB,IAAI,IAAI,CAAC,gBAAgB,GAAG,KAAK;;AAEjC,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;AAClC;AACA;;AAEA,EAAE,cAAc,GAAG;AACnB,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAChC;;AAEA;AACA;AACA;AACA;AACA;;;AAGA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,GAAG;AAChB;AACA;AACA;AACA,IAAI,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","x_google_ignoreList":[0,1]}
|