@mhmo91/schmancy 0.8.6 → 0.9.2
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/README.md +110 -1
- package/ai/animation.md +64 -0
- package/ai/area.md +35 -256
- package/ai/autocomplete.md +44 -162
- package/ai/avatar.md +47 -178
- package/ai/badge.md +41 -108
- package/ai/busy.md +25 -184
- package/ai/button.md +52 -150
- package/ai/card.md +42 -215
- package/ai/checkbox.md +32 -135
- package/ai/chips.md +73 -383
- package/ai/code-highlight.md +33 -226
- package/ai/content-drawer.md +65 -232
- package/ai/date-range.md +43 -198
- package/ai/details.md +48 -453
- package/ai/dialog.md +55 -164
- package/ai/directives.md +258 -405
- package/ai/divider.md +15 -137
- package/ai/dropdown.md +44 -235
- package/ai/form.md +41 -137
- package/ai/icons.md +31 -235
- package/ai/input.md +50 -210
- package/ai/lightbox.md +25 -370
- package/ai/list.md +51 -130
- package/ai/menu.md +25 -134
- package/ai/mixins.md +70 -0
- package/ai/nav-drawer.md +30 -184
- package/ai/navigation-bar.md +27 -184
- package/ai/navigation-rail.md +62 -630
- package/ai/notification.md +49 -183
- package/ai/progress.md +26 -65
- package/ai/radio-group.md +45 -189
- package/ai/select.md +49 -209
- package/ai/sheet.md +74 -506
- package/ai/steps.md +30 -392
- package/ai/store.md +60 -247
- package/ai/surface.md +58 -245
- package/ai/table.md +56 -330
- package/ai/tabs.md +31 -176
- package/ai/textarea.md +48 -232
- package/ai/theme.md +40 -1089
- package/ai/tooltip.md +35 -146
- package/ai/tree.md +45 -271
- package/ai/typography.md +43 -296
- package/custom-elements.json +10955 -0
- package/dist/ai/animation.md +64 -0
- package/dist/ai/area.md +35 -256
- package/dist/ai/autocomplete.md +44 -162
- package/dist/ai/avatar.md +47 -178
- package/dist/ai/badge.md +41 -108
- package/dist/ai/busy.md +25 -184
- package/dist/ai/button.md +52 -150
- package/dist/ai/card.md +42 -215
- package/dist/ai/checkbox.md +32 -135
- package/dist/ai/chips.md +73 -383
- package/dist/ai/code-highlight.md +33 -226
- package/dist/ai/content-drawer.md +65 -232
- package/dist/ai/date-range.md +43 -198
- package/dist/ai/details.md +48 -453
- package/dist/ai/dialog.md +55 -164
- package/dist/ai/directives.md +258 -405
- package/dist/ai/divider.md +15 -137
- package/dist/ai/dropdown.md +44 -235
- package/dist/ai/form.md +41 -137
- package/dist/ai/icons.md +31 -235
- package/dist/ai/input.md +50 -210
- package/dist/ai/lightbox.md +25 -370
- package/dist/ai/list.md +51 -130
- package/dist/ai/menu.md +25 -134
- package/dist/ai/mixins.md +70 -0
- package/dist/ai/nav-drawer.md +30 -184
- package/dist/ai/navigation-bar.md +27 -184
- package/dist/ai/navigation-rail.md +62 -630
- package/dist/ai/notification.md +49 -183
- package/dist/ai/progress.md +26 -65
- package/dist/ai/radio-group.md +45 -189
- package/dist/ai/select.md +49 -209
- package/dist/ai/sheet.md +74 -506
- package/dist/ai/steps.md +30 -392
- package/dist/ai/store.md +60 -247
- package/dist/ai/surface.md +58 -245
- package/dist/ai/table.md +56 -330
- package/dist/ai/tabs.md +31 -176
- package/dist/ai/textarea.md +48 -232
- package/dist/ai/theme.md +40 -1089
- package/dist/ai/tooltip.md +35 -146
- package/dist/ai/tree.md +45 -271
- package/dist/ai/typography.md +43 -296
- package/dist/animation-BK-8BwY8.js +173 -0
- package/dist/animation-BK-8BwY8.js.map +1 -0
- package/dist/animation-CO_Csq84.cjs +16 -0
- package/dist/animation-CO_Csq84.cjs.map +1 -0
- package/dist/area-1h9xEpTc.cjs +12 -0
- package/dist/area-1h9xEpTc.cjs.map +1 -0
- package/dist/area-DbBcfm5p.js +590 -0
- package/dist/area-DbBcfm5p.js.map +1 -0
- package/dist/area.cjs +1 -2
- package/dist/area.js +2 -29
- package/dist/audio-DtYYgzYD.cjs +1 -0
- package/dist/audio-DtYYgzYD.cjs.map +1 -0
- package/dist/audio-kz8UgPTO.js +335 -0
- package/dist/audio-kz8UgPTO.js.map +1 -0
- package/dist/audio.cjs +1 -2
- package/dist/audio.js +3 -9
- package/dist/autocomplete-DDVsegep.js +378 -0
- package/dist/autocomplete-DDVsegep.js.map +1 -0
- package/dist/autocomplete-OE70CcYP.cjs +111 -0
- package/dist/autocomplete-OE70CcYP.cjs.map +1 -0
- package/dist/autocomplete.cjs +1 -2
- package/dist/autocomplete.js +1 -2
- package/dist/badge.cjs +1 -2
- package/dist/badge.js +2 -6
- package/dist/boat-Cf1oJ0ka.cjs +80 -0
- package/dist/boat-Cf1oJ0ka.cjs.map +1 -0
- package/dist/boat-T8Ov4-yA.js +347 -0
- package/dist/boat-T8Ov4-yA.js.map +1 -0
- package/dist/boat.cjs +1 -2
- package/dist/boat.js +2 -5
- package/dist/busy-BD6D5P-l.js +167 -0
- package/dist/busy-BD6D5P-l.js.map +1 -0
- package/dist/busy-DF9wztWL.cjs +134 -0
- package/dist/busy-DF9wztWL.cjs.map +1 -0
- package/dist/busy.cjs +1 -2
- package/dist/busy.js +1 -2
- package/dist/button.cjs +113 -2
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +398 -5
- package/dist/button.js.map +1 -1
- package/dist/card-Csvu8UJ9.cjs +177 -0
- package/dist/card-Csvu8UJ9.cjs.map +1 -0
- package/dist/card-DM_miKMd.js +284 -0
- package/dist/card-DM_miKMd.js.map +1 -0
- package/dist/card.cjs +1 -2
- package/dist/card.js +1 -2
- package/dist/charts.cjs +112 -2
- package/dist/charts.cjs.map +1 -1
- package/dist/charts.js +368 -8
- package/dist/charts.js.map +1 -1
- package/dist/checkbox-BgGtMaMR.js +610 -0
- package/dist/checkbox-BgGtMaMR.js.map +1 -0
- package/dist/checkbox-sJujc_ga.cjs +39 -0
- package/dist/checkbox-sJujc_ga.cjs.map +1 -0
- package/dist/checkbox.cjs +1 -2
- package/dist/checkbox.js +2 -5
- package/dist/chips-BZaH4wez.js +645 -0
- package/dist/chips-BZaH4wez.js.map +1 -0
- package/dist/chips-D_e6wijp.cjs +253 -0
- package/dist/chips-D_e6wijp.cjs.map +1 -0
- package/dist/chips.cjs +1 -2
- package/dist/chips.js +3 -10
- package/dist/chunk-BCfY8kxB.cjs +1 -0
- package/dist/chunk-C_1VqBVD.js +11 -0
- package/dist/code-highlight-DlhERv_O.cjs +190 -0
- package/dist/code-highlight-DlhERv_O.cjs.map +1 -0
- package/dist/code-highlight-Q3cc6ukq.js +290 -0
- package/dist/code-highlight-Q3cc6ukq.js.map +1 -0
- package/dist/code-highlight.cjs +1 -2
- package/dist/code-highlight.js +2 -7
- package/dist/components-CRhkB3V2.js +730 -0
- package/dist/components-CRhkB3V2.js.map +1 -0
- package/dist/components-DnlEYYDs.cjs +73 -0
- package/dist/components-DnlEYYDs.cjs.map +1 -0
- package/dist/components.cjs +1 -2
- package/dist/components.js +2 -5
- package/dist/connectivity.cjs +59 -0
- package/dist/connectivity.cjs.map +1 -0
- package/dist/connectivity.js +86 -0
- package/dist/connectivity.js.map +1 -0
- package/dist/content-drawer.cjs +1 -2
- package/dist/content-drawer.js +2 -13
- package/dist/cursor-glow-Ah7VXSj7.js +46 -0
- package/dist/cursor-glow-Ah7VXSj7.js.map +1 -0
- package/dist/cursor-glow-DtSy_PJd.cjs +1 -0
- package/dist/cursor-glow-DtSy_PJd.cjs.map +1 -0
- package/dist/date-range-C0IYnvHF.js +946 -0
- package/dist/date-range-C0IYnvHF.js.map +1 -0
- package/dist/date-range-cymbTDnl.cjs +131 -0
- package/dist/date-range-cymbTDnl.cjs.map +1 -0
- package/dist/date-range-inline-0ENN4Plz.js +267 -0
- package/dist/date-range-inline-0ENN4Plz.js.map +1 -0
- package/dist/date-range-inline-Cfwt-ReH.cjs +43 -0
- package/dist/date-range-inline-Cfwt-ReH.cjs.map +1 -0
- package/dist/date-range-inline.cjs +1 -2
- package/dist/date-range-inline.js +2 -5
- package/dist/date-range.cjs +1 -2
- package/dist/date-range.js +2 -6
- package/dist/delay-D1dVP93u.js +346 -0
- package/dist/delay-D1dVP93u.js.map +1 -0
- package/dist/delay-D6mQLUp-.cjs +9 -0
- package/dist/delay-D6mQLUp-.cjs.map +1 -0
- package/dist/delay.cjs +1 -2
- package/dist/delay.js +2 -6
- package/dist/details-CPT_Mi4e.cjs +168 -0
- package/dist/details-CPT_Mi4e.cjs.map +1 -0
- package/dist/details-Cv4OOrVW.js +293 -0
- package/dist/details-Cv4OOrVW.js.map +1 -0
- package/dist/details.cjs +1 -2
- package/dist/details.js +2 -5
- package/dist/dialog-service-NZEvyEK-.js +193 -0
- package/dist/dialog-service-NZEvyEK-.js.map +1 -0
- package/dist/dialog-service-VnW4gkmE.cjs +1 -0
- package/dist/dialog-service-VnW4gkmE.cjs.map +1 -0
- package/dist/dialog.cjs +82 -2
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.js +396 -9
- package/dist/dialog.js.map +1 -1
- package/dist/directives.cjs +108 -2
- package/dist/directives.cjs.map +1 -1
- package/dist/directives.js +1362 -14
- package/dist/directives.js.map +1 -1
- package/dist/discovery.cjs +1 -2
- package/dist/discovery.cjs.map +1 -1
- package/dist/discovery.js +61 -6
- package/dist/discovery.js.map +1 -1
- package/dist/divider-DDC-kND3.js +87 -0
- package/dist/divider-DDC-kND3.js.map +1 -0
- package/dist/divider-nZ_2to2N.cjs +57 -0
- package/dist/divider-nZ_2to2N.cjs.map +1 -0
- package/dist/divider.cjs +1 -2
- package/dist/divider.js +1 -2
- package/dist/dropdown.cjs +57 -2
- package/dist/dropdown.cjs.map +1 -1
- package/dist/dropdown.js +160 -5
- package/dist/dropdown.js.map +1 -1
- package/dist/expand-Bp3N8CcL.js +336 -0
- package/dist/expand-Bp3N8CcL.js.map +1 -0
- package/dist/expand-Crdts9q_.cjs +141 -0
- package/dist/expand-Crdts9q_.cjs.map +1 -0
- package/dist/expand.cjs +1 -0
- package/dist/expand.js +2 -0
- package/dist/extra-B0IZCg0t.cjs +31 -0
- package/dist/extra-B0IZCg0t.cjs.map +1 -0
- package/dist/extra-DupwhQhC.js +3435 -0
- package/dist/extra-DupwhQhC.js.map +1 -0
- package/dist/extra.cjs +1 -2
- package/dist/extra.js +2 -6
- package/dist/float-CQoJ_oSB.cjs +1 -0
- package/dist/float-CQoJ_oSB.cjs.map +1 -0
- package/dist/float-Dqdc1_S5.js +5 -0
- package/dist/float-Dqdc1_S5.js.map +1 -0
- package/dist/float.cjs +1 -0
- package/dist/float.js +2 -0
- package/dist/flow-Bbwn6dRN.cjs +1 -0
- package/dist/flow-Bbwn6dRN.cjs.map +1 -0
- package/dist/flow-CUj0fDT_.js +386 -0
- package/dist/flow-CUj0fDT_.js.map +1 -0
- package/dist/form-CW5XNuTg.js +270 -0
- package/dist/form-CW5XNuTg.js.map +1 -0
- package/dist/form-CvoLqMY7.cjs +1 -0
- package/dist/form-CvoLqMY7.cjs.map +1 -0
- package/dist/form.cjs +1 -2
- package/dist/form.js +1 -2
- package/dist/hashContent-DYM21p6t.js +6 -0
- package/dist/hashContent-DYM21p6t.js.map +1 -0
- package/dist/hashContent-DaeGmY-p.cjs +1 -0
- package/dist/hashContent-DaeGmY-p.cjs.map +1 -0
- package/dist/icons-BLQHEbIk.cjs +52 -0
- package/dist/icons-BLQHEbIk.cjs.map +1 -0
- package/dist/icons-Cpfdb7sA.js +161 -0
- package/dist/icons-Cpfdb7sA.js.map +1 -0
- package/dist/icons.cjs +1 -2
- package/dist/icons.js +1 -2
- package/dist/iframe-DG6HVYdy.js +44 -0
- package/dist/iframe-DG6HVYdy.js.map +1 -0
- package/dist/iframe-sJGXBbxT.cjs +24 -0
- package/dist/iframe-sJGXBbxT.cjs.map +1 -0
- package/dist/iframe.cjs +1 -0
- package/dist/iframe.js +2 -0
- package/dist/index.cjs +1 -2
- package/dist/index.js +69 -285
- package/dist/input-BevxycIt.js +364 -0
- package/dist/input-BevxycIt.js.map +1 -0
- package/dist/input-DGTdmp1Q.cjs +51 -0
- package/dist/input-DGTdmp1Q.cjs.map +1 -0
- package/dist/input-chip-BWS-SFU4.js +301 -0
- package/dist/input-chip-BWS-SFU4.js.map +1 -0
- package/dist/input-chip-CKVtjInb.cjs +146 -0
- package/dist/input-chip-CKVtjInb.cjs.map +1 -0
- package/dist/input.cjs +1 -2
- package/dist/input.js +2 -6
- package/dist/intersection-BPLpqYEd.js +12 -0
- package/dist/intersection-BPLpqYEd.js.map +1 -0
- package/dist/intersection-CZpaIHeT.cjs +1 -0
- package/dist/intersection-CZpaIHeT.cjs.map +1 -0
- package/dist/json.cjs +11 -2
- package/dist/json.cjs.map +1 -1
- package/dist/json.js +40 -4
- package/dist/json.js.map +1 -1
- package/dist/layout-4C-6_cre.cjs +1 -0
- package/dist/layout-4C-6_cre.cjs.map +1 -0
- package/dist/layout-CQdd8UCr.cjs +17 -0
- package/dist/layout-CQdd8UCr.cjs.map +1 -0
- package/dist/layout-DxLjlDfr.js +267 -0
- package/dist/layout-DxLjlDfr.js.map +1 -0
- package/dist/layout-yxSlLybo.js +94 -0
- package/dist/layout-yxSlLybo.js.map +1 -0
- package/dist/layout.cjs +1 -2
- package/dist/layout.js +3 -9
- package/dist/lightbox-Bjc55lHH.js +678 -0
- package/dist/lightbox-Bjc55lHH.js.map +1 -0
- package/dist/lightbox-C_863_XU.cjs +202 -0
- package/dist/lightbox-C_863_XU.cjs.map +1 -0
- package/dist/lightbox.cjs +1 -2
- package/dist/lightbox.js +2 -8
- package/dist/list-BAqhlzZd.js +105 -0
- package/dist/list-BAqhlzZd.js.map +1 -0
- package/dist/list-CaXzdN9_.cjs +40 -0
- package/dist/list-CaXzdN9_.cjs.map +1 -0
- package/dist/list.cjs +1 -2
- package/dist/list.js +2 -7
- package/dist/litElement.mixin-DN6X9_wD.cjs +1 -0
- package/dist/litElement.mixin-DN6X9_wD.cjs.map +1 -0
- package/dist/litElement.mixin-Dktub0ri.js +12 -0
- package/dist/litElement.mixin-Dktub0ri.js.map +1 -0
- package/dist/magnetic-BZGFxAWG.js +47 -0
- package/dist/magnetic-BZGFxAWG.js.map +1 -0
- package/dist/magnetic-Dux4QwO4.cjs +1 -0
- package/dist/magnetic-Dux4QwO4.cjs.map +1 -0
- package/dist/mailbox-BvsLXpvy.cjs +1142 -0
- package/dist/mailbox-BvsLXpvy.cjs.map +1 -0
- package/dist/mailbox-DuMUH4f3.js +1584 -0
- package/dist/mailbox-DuMUH4f3.js.map +1 -0
- package/dist/mailbox.cjs +1 -2
- package/dist/mailbox.js +2 -9
- package/dist/map-C2Msv9TQ.cjs +80 -0
- package/dist/map-C2Msv9TQ.cjs.map +1 -0
- package/dist/map-DkIy1ph7.js +205 -0
- package/dist/map-DkIy1ph7.js.map +1 -0
- package/dist/map.cjs +1 -2
- package/dist/map.js +2 -5
- package/dist/menu-DEeDKW5U.js +51 -0
- package/dist/menu-DEeDKW5U.js.map +1 -0
- package/dist/menu-Mm71lv9k.cjs +23 -0
- package/dist/menu-Mm71lv9k.cjs.map +1 -0
- package/dist/menu.cjs +1 -2
- package/dist/menu.js +1 -2
- package/dist/mixins.cjs +1 -2
- package/dist/mixins.cjs.map +1 -1
- package/dist/mixins.js +59 -12
- package/dist/mixins.js.map +1 -1
- package/dist/nav-drawer.cjs +1 -2
- package/dist/nav-drawer.js +2 -12
- package/dist/navigation-bar.cjs +1 -2
- package/dist/navigation-bar.js +2 -6
- package/dist/navigation-rail.cjs +71 -2
- package/dist/navigation-rail.cjs.map +1 -1
- package/dist/navigation-rail.js +363 -5
- package/dist/navigation-rail.js.map +1 -1
- package/dist/notification-K-ug8cKk.js +304 -0
- package/dist/notification-K-ug8cKk.js.map +1 -0
- package/dist/notification-cTgXEDZ0.cjs +23 -0
- package/dist/notification-cTgXEDZ0.cjs.map +1 -0
- package/dist/notification.cjs +1 -2
- package/dist/notification.js +2 -9
- package/dist/option-5rEOmtAm.cjs +43 -0
- package/dist/option-5rEOmtAm.cjs.map +1 -0
- package/dist/option-TFSKvSjT.js +97 -0
- package/dist/option-TFSKvSjT.js.map +1 -0
- package/dist/option.cjs +1 -2
- package/dist/option.js +1 -2
- package/dist/overlay-stack-DQey9Qph.cjs +1 -0
- package/dist/overlay-stack-DQey9Qph.cjs.map +1 -0
- package/dist/overlay-stack-DT1SdaGW.js +39 -0
- package/dist/overlay-stack-DT1SdaGW.js.map +1 -0
- package/dist/page.cjs +20 -2
- package/dist/page.cjs.map +1 -1
- package/dist/page.js +71 -4
- package/dist/page.js.map +1 -1
- package/dist/progress-Cta3nM-f.js +128 -0
- package/dist/progress-Cta3nM-f.js.map +1 -0
- package/dist/progress-iu0AMbSg.cjs +51 -0
- package/dist/progress-iu0AMbSg.cjs.map +1 -0
- package/dist/progress.cjs +1 -2
- package/dist/progress.js +1 -2
- package/dist/provide-BEyyKlDM.cjs +1 -0
- package/dist/provide-BEyyKlDM.cjs.map +1 -0
- package/dist/provide-D69zybs5.js +107 -0
- package/dist/provide-D69zybs5.js.map +1 -0
- package/dist/qr-scanner.cjs +35 -2
- package/dist/qr-scanner.cjs.map +1 -1
- package/dist/qr-scanner.js +119 -4
- package/dist/qr-scanner.js.map +1 -1
- package/dist/radio-group-BjSWmYJC.js +105 -0
- package/dist/radio-group-BjSWmYJC.js.map +1 -0
- package/dist/radio-group-DKPN0T50.cjs +40 -0
- package/dist/radio-group-DKPN0T50.cjs.map +1 -0
- package/dist/radio-group.cjs +1 -2
- package/dist/radio-group.js +2 -6
- package/dist/range.cjs +62 -0
- package/dist/range.cjs.map +1 -0
- package/dist/range.js +85 -0
- package/dist/range.js.map +1 -0
- package/dist/reduced-motion-D-L12p7G.js +7 -0
- package/dist/reduced-motion-D-L12p7G.js.map +1 -0
- package/dist/reduced-motion-Ds05GPyz.cjs +1 -0
- package/dist/reduced-motion-Ds05GPyz.cjs.map +1 -0
- package/dist/rxjs-utils-BSjmI9-Q.js +32 -0
- package/dist/rxjs-utils-BSjmI9-Q.js.map +1 -0
- package/dist/rxjs-utils-DCsfzeap.cjs +1 -0
- package/dist/rxjs-utils-DCsfzeap.cjs.map +1 -0
- package/dist/rxjs-utils.cjs +1 -2
- package/dist/rxjs-utils.js +2 -14
- package/dist/scroll-mayaGGpE.cjs +26 -0
- package/dist/scroll-mayaGGpE.cjs.map +1 -0
- package/dist/scroll-tG1vaRFO.js +112 -0
- package/dist/scroll-tG1vaRFO.js.map +1 -0
- package/dist/search-C4dFHYbX.js +91 -0
- package/dist/search-C4dFHYbX.js.map +1 -0
- package/dist/search-Ds8tt7Et.cjs +1 -0
- package/dist/search-Ds8tt7Et.cjs.map +1 -0
- package/dist/select-C4YK5Arj.cjs +56 -0
- package/dist/select-C4YK5Arj.cjs.map +1 -0
- package/dist/select-CepryGGP.js +305 -0
- package/dist/select-CepryGGP.js.map +1 -0
- package/dist/select.cjs +1 -2
- package/dist/select.js +2 -5
- package/dist/sheet-Cy4C2-kG.cjs +35 -0
- package/dist/sheet-Cy4C2-kG.cjs.map +1 -0
- package/dist/sheet-D2uT95S1.js +168 -0
- package/dist/sheet-D2uT95S1.js.map +1 -0
- package/dist/sheet.cjs +1 -2
- package/dist/sheet.js +3 -7
- package/dist/sheet.service-Dv5Hwj3k.cjs +1 -0
- package/dist/sheet.service-Dv5Hwj3k.cjs.map +1 -0
- package/dist/sheet.service-Os8KJGSE.js +86 -0
- package/dist/sheet.service-Os8KJGSE.js.map +1 -0
- package/dist/slider.cjs +82 -2
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +143 -5
- package/dist/slider.js.map +1 -1
- package/dist/sound.service-Bu3EQLv2.cjs +1 -0
- package/dist/sound.service-Bu3EQLv2.cjs.map +1 -0
- package/dist/sound.service-m3BrSfuH.js +2353 -0
- package/dist/sound.service-m3BrSfuH.js.map +1 -0
- package/dist/src-BLcmKlCH.js +1244 -0
- package/dist/src-BLcmKlCH.js.map +1 -0
- package/dist/src-tfU0akqI.cjs +269 -0
- package/dist/src-tfU0akqI.cjs.map +1 -0
- package/dist/steps.cjs +70 -2
- package/dist/steps.cjs.map +1 -1
- package/dist/steps.js +178 -7
- package/dist/steps.js.map +1 -1
- package/dist/store-CorvD3bT.cjs +1 -0
- package/dist/store-CorvD3bT.cjs.map +1 -0
- package/dist/store-DYqDLAvT.js +1654 -0
- package/dist/store-DYqDLAvT.js.map +1 -0
- package/dist/store.cjs +1 -2
- package/dist/store.js +2 -47
- package/dist/surface-CiiIYeJN.cjs +7 -0
- package/dist/surface-CiiIYeJN.cjs.map +1 -0
- package/dist/surface-fXvRpS6s.js +21 -0
- package/dist/surface-fXvRpS6s.js.map +1 -0
- package/dist/surface.cjs +1 -2
- package/dist/surface.js +2 -6
- package/dist/surface.mixin-C4hbgyaP.cjs +297 -0
- package/dist/surface.mixin-C4hbgyaP.cjs.map +1 -0
- package/dist/surface.mixin-DBuxL5aL.js +320 -0
- package/dist/surface.mixin-DBuxL5aL.js.map +1 -0
- package/dist/table-BRVKlNjl.cjs +63 -0
- package/dist/table-BRVKlNjl.cjs.map +1 -0
- package/dist/table-BeXnwSsq.js +631 -0
- package/dist/table-BeXnwSsq.js.map +1 -0
- package/dist/table.cjs +1 -2
- package/dist/table.js +2 -6
- package/dist/tabs-CBU9Ctqm.cjs +31 -0
- package/dist/tabs-CBU9Ctqm.cjs.map +1 -0
- package/dist/tabs-y708NWQ2.js +125 -0
- package/dist/tabs-y708NWQ2.js.map +1 -0
- package/dist/tabs.cjs +1 -2
- package/dist/tabs.js +1 -2
- package/dist/tailwind.mixin-C4cx3IOr.js +225 -0
- package/dist/tailwind.mixin-C4cx3IOr.js.map +1 -0
- package/dist/tailwind.mixin-DGiyLbEi.cjs +2 -0
- package/dist/tailwind.mixin-DGiyLbEi.cjs.map +1 -0
- package/dist/teleport.cjs +1 -2
- package/dist/teleport.js +2 -8
- package/dist/textarea-BhAoJg8c.cjs +35 -0
- package/dist/textarea-BhAoJg8c.cjs.map +1 -0
- package/dist/textarea-Bl8-gQEJ.js +195 -0
- package/dist/textarea-Bl8-gQEJ.js.map +1 -0
- package/dist/textarea.cjs +1 -2
- package/dist/textarea.js +1 -2
- package/dist/theme-C-vdR-Ic.cjs +181 -0
- package/dist/theme-C-vdR-Ic.cjs.map +1 -0
- package/dist/theme-DZUpYJn-.js +4121 -0
- package/dist/theme-DZUpYJn-.js.map +1 -0
- package/dist/theme-button-CwrvpOMK.js +19 -0
- package/dist/theme-button-CwrvpOMK.js.map +1 -0
- package/dist/theme-button-Cx1iKh7G.cjs +8 -0
- package/dist/theme-button-Cx1iKh7G.cjs.map +1 -0
- package/dist/theme-button.cjs +1 -2
- package/dist/theme-button.js +1 -2
- package/dist/theme.cjs +1 -2
- package/dist/theme.events-Cv7N4Toe.js +2 -0
- package/dist/theme.events-Cv7N4Toe.js.map +1 -0
- package/dist/theme.events-DM4H5F2d.cjs +1 -0
- package/dist/theme.events-DM4H5F2d.cjs.map +1 -0
- package/dist/theme.interface-CXloMUCw.js +276 -0
- package/dist/theme.interface-CXloMUCw.js.map +1 -0
- package/dist/theme.interface-Da23QAYb.cjs +1 -0
- package/dist/theme.interface-Da23QAYb.cjs.map +1 -0
- package/dist/theme.js +6 -21
- package/dist/theme.service-C_tjlqgy.cjs +1 -0
- package/dist/theme.service-C_tjlqgy.cjs.map +1 -0
- package/dist/theme.service-D9lEas89.js +108 -0
- package/dist/theme.service-D9lEas89.js.map +1 -0
- package/dist/tooltip.cjs +6 -2
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.js +200 -5
- package/dist/tooltip.js.map +1 -1
- package/dist/tree.cjs +26 -2
- package/dist/tree.cjs.map +1 -1
- package/dist/tree.js +64 -4
- package/dist/tree.js.map +1 -1
- package/dist/tslib.es6-D7BIeDVB.cjs +1 -0
- package/dist/tslib.es6-D7BIeDVB.cjs.map +1 -0
- package/dist/tslib.es6-ErZEp3OO.js +7 -0
- package/dist/tslib.es6-ErZEp3OO.js.map +1 -0
- package/dist/types.cjs +1 -2
- package/dist/types.cjs.map +1 -1
- package/dist/types.js +4 -5
- package/dist/types.js.map +1 -1
- package/dist/typewriter-CXQIzqPV.cjs +123 -0
- package/dist/typewriter-CXQIzqPV.cjs.map +1 -0
- package/dist/typewriter-mxVw5dFn.js +700 -0
- package/dist/typewriter-mxVw5dFn.js.map +1 -0
- package/dist/typewriter.cjs +1 -2
- package/dist/typewriter.js +2 -5
- package/dist/typography.cjs +282 -2
- package/dist/typography.cjs.map +1 -1
- package/dist/typography.js +353 -4
- package/dist/typography.js.map +1 -1
- package/dist/utils-BcaKtQuA.cjs +1 -0
- package/dist/utils-BcaKtQuA.cjs.map +1 -0
- package/dist/utils-CoU7M2YS.js +259 -0
- package/dist/utils-CoU7M2YS.js.map +1 -0
- package/dist/utils.cjs +1 -2
- package/dist/utils.js +6 -9
- package/dist/window-DFMlB1Tq.cjs +59 -0
- package/dist/window-DFMlB1Tq.cjs.map +1 -0
- package/dist/window-EWYJJC_H.js +548 -0
- package/dist/window-EWYJJC_H.js.map +1 -0
- package/dist/window.cjs +1 -0
- package/dist/window.js +2 -0
- package/mixins/baseElement.ts +118 -1
- package/mixins/discovery.service.ts +162 -1
- package/mixins/formField.mixin.ts +13 -8
- package/mixins/index.ts +2 -0
- package/mixins/surface.mixin.ts +93 -0
- package/mixins/tailwind.css +331 -14
- package/package.json +32 -28
- package/src/CLAUDE.md +428 -0
- package/src/area/.excalidraw +357 -0
- package/src/area/area.component.ts +449 -0
- package/src/area/area.service.test.ts +1007 -0
- package/src/area/area.service.ts +748 -0
- package/src/area/ecrypt.ts +7 -0
- package/src/area/index.ts +7 -0
- package/src/area/lazy.ts +83 -0
- package/src/area/readme.md +338 -0
- package/src/area/route.component.ts +79 -0
- package/src/area/router-guide.md +360 -0
- package/src/area/router.types.ts +101 -0
- package/src/area/utils.ts +354 -0
- package/src/audio/emotional-sounds.ts +940 -0
- package/src/audio/index.ts +53 -0
- package/src/audio/sound.service.ts +1079 -0
- package/src/autocomplete/README.md +485 -0
- package/src/autocomplete/autocomplete.scss +24 -0
- package/src/autocomplete/autocomplete.ts +733 -0
- package/src/autocomplete/index.ts +1 -0
- package/src/avatar.ts +164 -0
- package/src/badge/badge.ts +286 -0
- package/src/badge/index.ts +1 -0
- package/src/boat/boat.ts +664 -0
- package/src/boat/index.ts +1 -0
- package/src/busy/busy.ts +39 -0
- package/src/busy/index.ts +2 -0
- package/src/busy/spinner.ts +165 -0
- package/src/button/button.ts +382 -0
- package/src/button/icon-button.ts +287 -0
- package/src/button/index.ts +2 -0
- package/src/card/actions.ts +28 -0
- package/src/card/card.ts +319 -0
- package/src/card/content.ts +24 -0
- package/src/card/index.ts +4 -0
- package/src/card/media.ts +77 -0
- package/src/charts/area-chart.ts +495 -0
- package/src/charts/index.ts +4 -0
- package/src/charts/pills.ts +350 -0
- package/src/charts/types.ts +66 -0
- package/src/charts/utils.ts +65 -0
- package/src/checkbox/checkbox.ts +122 -0
- package/src/checkbox/index.ts +1 -0
- package/src/chips/assist-chip.ts +261 -0
- package/src/chips/chips.ts +259 -0
- package/src/chips/filter-chip.ts +255 -0
- package/src/chips/index.ts +5 -0
- package/src/chips/input-chip.ts +408 -0
- package/src/chips/suggestion-chip.ts +266 -0
- package/src/code-highlight/code-highlight.ts +344 -0
- package/src/code-highlight/code-preview.ts +123 -0
- package/src/code-highlight/index.ts +3 -0
- package/src/components/form-elements/index.ts +1 -0
- package/src/components/form-elements/payment-card-form.ts +331 -0
- package/src/components/index.ts +1 -0
- package/src/connectivity/connectivity-status.ts +153 -0
- package/src/connectivity/index.ts +1 -0
- package/src/content-drawer/context.ts +13 -0
- package/src/content-drawer/drawer.service.ts +148 -0
- package/src/content-drawer/drawer.ts +183 -0
- package/src/content-drawer/index.ts +5 -0
- package/src/content-drawer/main.ts +83 -0
- package/src/content-drawer/readme.md +709 -0
- package/src/content-drawer/sheet.ts +180 -0
- package/src/date-range/date-range-dialog.ts +230 -0
- package/src/date-range/date-range-helpers.ts +135 -0
- package/src/date-range/date-range-presets.ts +220 -0
- package/src/date-range/date-range.ts +530 -0
- package/src/date-range/date-utils.ts +58 -0
- package/src/date-range/index.ts +2 -0
- package/src/date-range-inline/date-range-inline.ts +522 -0
- package/src/date-range-inline/index.ts +2 -0
- package/src/delay/delay.ts +136 -0
- package/src/delay/index.ts +1 -0
- package/src/details/details.ts +429 -0
- package/src/details/index.ts +1 -0
- package/src/dialog/dialog-base.mixin.ts +565 -0
- package/src/dialog/dialog-events.ts +17 -0
- package/src/dialog/dialog-service.ts +482 -0
- package/src/dialog/dialog.component.ts +394 -0
- package/src/dialog/index.ts +3 -0
- package/src/directives/animate-text.ts +551 -0
- package/src/directives/color.ts +41 -0
- package/src/directives/confirm-click.ts +350 -0
- package/src/directives/cursor-glow.ts +142 -0
- package/src/directives/cycle-text.ts +496 -0
- package/src/directives/depth-of-field.ts +83 -0
- package/src/directives/drag.ts +370 -0
- package/src/directives/gravity.ts +117 -0
- package/src/directives/index.ts +19 -0
- package/src/directives/intersect.ts +204 -0
- package/src/directives/layout.ts +261 -0
- package/src/directives/liquid.ts +150 -0
- package/src/directives/living-border.ts +166 -0
- package/src/directives/long-press.ts +150 -0
- package/src/directives/magnetic.ts +133 -0
- package/src/directives/nebula.ts +773 -0
- package/src/directives/reduced-motion.ts +30 -0
- package/src/directives/reveal.ts +158 -0
- package/src/directives/ripple.ts +102 -0
- package/src/directives/typewriter.ts +349 -0
- package/src/discovery/discovery.service.ts +210 -0
- package/src/discovery/index.ts +1 -0
- package/src/divider/divider.ts +100 -0
- package/src/divider/index.ts +1 -0
- package/src/dropdown/dropdown-component.ts +264 -0
- package/src/dropdown/dropdown-content.ts +108 -0
- package/src/dropdown/index.ts +2 -0
- package/src/expand/expand-root.component.ts +278 -0
- package/src/expand/expand.component.ts +287 -0
- package/src/expand/index.ts +2 -0
- package/src/extra/countries/countries.data.ts +196 -0
- package/src/extra/countries/countries.ts +107 -0
- package/src/extra/countries/index.ts +2 -0
- package/src/extra/index.ts +2 -0
- package/src/extra/timezone/index.ts +2 -0
- package/src/extra/timezone/timezone.ts +116 -0
- package/src/extra/timezone/timezones.data.ts +2546 -0
- package/src/float/float.ts +18 -0
- package/src/float/index.ts +1 -0
- package/src/form/form-v2.ts +268 -0
- package/src/form/form.ts +194 -0
- package/src/form/index.ts +2 -0
- package/src/icons/icon.ts +293 -0
- package/src/icons/index.ts +1 -0
- package/src/icons/readme.md +37 -0
- package/src/iframe/iframe.ts +98 -0
- package/src/iframe/index.ts +1 -0
- package/src/index.ts +69 -0
- package/src/input/index.ts +8 -0
- package/src/input/input.scss +211 -0
- package/src/input/input.ts +951 -0
- package/src/json/index.ts +1 -0
- package/src/json/json.ts +55 -0
- package/src/layout/flex/flex.scss +4 -0
- package/src/layout/flex/flex.ts +74 -0
- package/src/layout/flex/index.ts +1 -0
- package/src/layout/grid/.readme +79 -0
- package/src/layout/grid/grid.scss +5 -0
- package/src/layout/grid/grid.ts +121 -0
- package/src/layout/grid/index.ts +1 -0
- package/src/layout/index.ts +5 -0
- package/src/layout/layout.ts +122 -0
- package/src/layout/scroll/index.ts +1 -0
- package/src/layout/scroll/scroll.ts +351 -0
- package/src/layout/v2/flex.ts +243 -0
- package/src/layout/v2/grid.ts +93 -0
- package/src/layout/v2/index.ts +1 -0
- package/src/lightbox/flip-directive.ts +270 -0
- package/src/lightbox/index.ts +4 -0
- package/src/lightbox/lightbox-service.ts +378 -0
- package/src/lightbox/lightbox.directive.ts +256 -0
- package/src/lightbox/lightbox.ts +417 -0
- package/src/list/context.ts +3 -0
- package/src/list/index.ts +3 -0
- package/src/list/list-item.ts +94 -0
- package/src/list/list.ts +87 -0
- package/src/list/readme.md +62 -0
- package/src/mailbox/README.md +131 -0
- package/src/mailbox/email-editor.ts +1071 -0
- package/src/mailbox/email-layout-selector.ts +58 -0
- package/src/mailbox/email-recipients.ts +594 -0
- package/src/mailbox/email-template-picker.ts +296 -0
- package/src/mailbox/email-viewer.ts +715 -0
- package/src/mailbox/index.ts +31 -0
- package/src/mailbox/mailbox.ts +363 -0
- package/src/mailbox/types.ts +181 -0
- package/src/map/index.ts +1 -0
- package/src/map/map.ts +483 -0
- package/src/menu/index.ts +2 -0
- package/src/menu/menu-item.ts +26 -0
- package/src/menu/menu.ts +83 -0
- package/src/nav-drawer/$navbar.ts +51 -0
- package/src/nav-drawer/appbar.ts +26 -0
- package/src/nav-drawer/content.ts +32 -0
- package/src/nav-drawer/context.ts +6 -0
- package/src/nav-drawer/drawer.ts +128 -0
- package/src/nav-drawer/index.ts +6 -0
- package/src/nav-drawer/navbar.ts +191 -0
- package/src/navigation-bar/index.ts +2 -0
- package/src/navigation-bar/navigation-bar-item.ts +417 -0
- package/src/navigation-bar/navigation-bar.ts +482 -0
- package/src/navigation-rail/index.ts +2 -0
- package/src/navigation-rail/navigation-rail-item.ts +443 -0
- package/src/navigation-rail/navigation-rail.ts +492 -0
- package/src/notification/index.ts +6 -0
- package/src/notification/notification-service.ts +324 -0
- package/src/notification/notification.scss +117 -0
- package/src/notification/notification.ts +263 -0
- package/src/notification/notify.ts +207 -0
- package/src/notification/outlet.ts +16 -0
- package/src/option/index.ts +1 -0
- package/src/option/option.ts +180 -0
- package/src/page/index.ts +1 -0
- package/src/page/page.ts +135 -0
- package/src/progress/index.ts +1 -0
- package/src/progress/progress.ts +143 -0
- package/src/qr-scanner/index.ts +1 -0
- package/src/qr-scanner/qr-scanner.ts +240 -0
- package/src/radio-group/index.ts +2 -0
- package/src/radio-group/radio-button.ts +81 -0
- package/src/radio-group/radio-group.scss +4 -0
- package/src/radio-group/radio-group.ts +110 -0
- package/src/radio-group/readme.md +315 -0
- package/src/range/index.ts +1 -0
- package/src/range/range.ts +102 -0
- package/src/rxjs-utils/index.ts +6 -0
- package/src/rxjs-utils/mutation-observer.ts +22 -0
- package/src/rxjs-utils/waitForElement.ts +33 -0
- package/src/rxjs-utils/waitForElementAll.ts +34 -0
- package/src/rxjs-utils/waitForElements.ts +40 -0
- package/src/rxjs-utils/waitForElementsAll.ts +42 -0
- package/src/rxjs-utils/waitUntil.ts +16 -0
- package/src/select/README.md +405 -0
- package/src/select/index.ts +2 -0
- package/src/select/select.ts +766 -0
- package/src/sheet/hook.ts +40 -0
- package/src/sheet/index.ts +2 -0
- package/src/sheet/sheet.service.ts +235 -0
- package/src/sheet/sheet.ts +236 -0
- package/src/slider/index.ts +2 -0
- package/src/slider/slide.ts +107 -0
- package/src/slider/slider.ts +164 -0
- package/src/steps/index.ts +3 -0
- package/src/steps/schmancy-step.ts +213 -0
- package/src/steps/schmancy-steps-container.ts +109 -0
- package/src/steps/steps.context.ts +23 -0
- package/src/store/context-array.ts +358 -0
- package/src/store/context-collection.ts +218 -0
- package/src/store/context-create.ts +284 -0
- package/src/store/context-object.ts +298 -0
- package/src/store/filter-directive.ts +614 -0
- package/src/store/immer-integration.ts +99 -0
- package/src/store/index.ts +10 -0
- package/src/store/selector-hook.ts +259 -0
- package/src/store/selectors.ts +289 -0
- package/src/store/storage-manager.ts +269 -0
- package/src/store/store.class.ts +239 -0
- package/src/store/types.ts +327 -0
- package/src/surface/context.ts +3 -0
- package/src/surface/index.ts +1 -0
- package/src/surface/surface.styles.ts +334 -0
- package/src/surface/surface.ts +59 -0
- package/src/table/index.ts +2 -0
- package/src/table/row.ts +60 -0
- package/src/table/table.ts +266 -0
- package/src/tabs/Readme.md +397 -0
- package/src/tabs/context.ts +5 -0
- package/src/tabs/index.ts +4 -0
- package/src/tabs/tab.ts +39 -0
- package/src/tabs/tabs-compatibility.ts +20 -0
- package/src/tabs/tabs-group.ts +184 -0
- package/src/teleport/.excalidraw +2511 -0
- package/src/teleport/index.ts +2 -0
- package/src/teleport/readme.md +91 -0
- package/src/teleport/teleport.component.ts +132 -0
- package/src/teleport/teleport.service.ts +139 -0
- package/src/teleport/watcher.ts +20 -0
- package/src/textarea/index.ts +1 -0
- package/src/textarea/textarea.scss +54 -0
- package/src/textarea/textarea.ts +432 -0
- package/src/theme/context.ts +28 -0
- package/src/theme/index.ts +17 -0
- package/src/theme/theme-audio-player.ts +470 -0
- package/src/theme/theme-controller-boat.ts +49 -0
- package/src/theme/theme-controller-example.md +152 -0
- package/src/theme/theme-controller.ts +205 -0
- package/src/theme/theme.component.ts +305 -0
- package/src/theme/theme.events.ts +59 -0
- package/src/theme/theme.format.ts +417 -0
- package/src/theme/theme.interface.ts +399 -0
- package/src/theme/theme.service.ts +520 -0
- package/src/theme/theme.style.css +619 -0
- package/src/theme-button/index.ts +1 -0
- package/src/theme-button/theme-button.ts +35 -0
- package/src/tooltip/index.ts +2 -0
- package/src/tooltip/tooltip.directive.ts +277 -0
- package/src/tooltip/tooltip.ts +216 -0
- package/src/tree/README.md +59 -0
- package/src/tree/index.ts +1 -0
- package/src/tree/tree.ts +132 -0
- package/src/types/events.ts +5 -0
- package/src/types/index.ts +3 -0
- package/src/types/mood-audio.types.ts +220 -0
- package/src/types/surface.ts +52 -0
- package/src/typewriter/IMPROVEMENTS.md +174 -0
- package/src/typewriter/QUICK_REFERENCE.md +166 -0
- package/src/typewriter/index.ts +1 -0
- package/src/typewriter/test-typewriter.html +97 -0
- package/src/typewriter/typewriter.ts +376 -0
- package/src/typography/index.ts +1 -0
- package/src/typography/typography.ts +448 -0
- package/src/utils/animation.ts +418 -0
- package/src/utils/hashContent.ts +12 -0
- package/src/utils/index.ts +6 -0
- package/src/utils/intersection.ts +22 -0
- package/src/utils/number.ts +529 -0
- package/src/utils/overlay-stack.ts +101 -0
- package/src/utils/search.ts +322 -0
- package/src/vite-env.d.ts +2 -0
- package/src/window/index.ts +10 -0
- package/src/window/window-manager.ts +204 -0
- package/src/window/window-position.ts +136 -0
- package/src/window/window-registry.ts +34 -0
- package/src/window/window.ts +724 -0
- package/types/mixins/baseElement.d.ts +12 -0
- package/types/mixins/discovery.service.d.ts +72 -0
- package/types/mixins/index.d.ts +2 -0
- package/types/mixins/surface.mixin.d.ts +39 -0
- package/types/src/area/area.service.d.ts +2 -0
- package/types/src/badge/badge.d.ts +1 -1
- package/types/src/boat/boat.d.ts +40 -33
- package/types/src/button/icon-button.d.ts +10 -0
- package/types/src/chips/filter-chip.d.ts +0 -12
- package/types/src/connectivity/connectivity-status.d.ts +25 -0
- package/types/src/connectivity/index.d.ts +1 -0
- package/types/src/content-drawer/drawer.service.d.ts +3 -0
- package/types/src/date-range/date-range.d.ts +2 -0
- package/types/src/details/details.d.ts +26 -2
- package/types/src/dialog/dialog-base.mixin.d.ts +7 -3
- package/types/src/dialog/dialog-service.d.ts +27 -1
- package/types/src/dialog/dialog.component.d.ts +35 -1
- package/types/src/directives/animate-text.d.ts +67 -0
- package/types/src/directives/color.d.ts +2 -3
- package/types/src/directives/confirm-click.d.ts +38 -0
- package/types/src/directives/cursor-glow.d.ts +38 -0
- package/types/src/directives/cycle-text.d.ts +44 -0
- package/types/src/directives/depth-of-field.d.ts +38 -0
- package/types/src/directives/drag.d.ts +8 -8
- package/types/src/directives/gravity.d.ts +40 -0
- package/types/src/directives/index.d.ts +16 -2
- package/types/src/directives/intersect.d.ts +60 -0
- package/types/src/directives/layout.d.ts +62 -0
- package/types/src/directives/liquid.d.ts +38 -0
- package/types/src/directives/living-border.d.ts +39 -0
- package/types/src/directives/long-press.d.ts +38 -0
- package/types/src/directives/magnetic.d.ts +35 -0
- package/types/src/directives/nebula.d.ts +80 -0
- package/types/src/directives/reduced-motion.d.ts +2 -0
- package/types/src/directives/reveal.d.ts +54 -0
- package/types/src/directives/ripple.d.ts +15 -5
- package/types/src/directives/typewriter.d.ts +50 -0
- package/types/src/discovery/discovery.service.d.ts +72 -0
- package/types/src/expand/expand-root.component.d.ts +30 -0
- package/types/src/expand/expand.component.d.ts +38 -0
- package/types/src/expand/index.d.ts +2 -0
- package/types/src/float/float.d.ts +14 -0
- package/types/src/float/index.d.ts +1 -0
- package/types/src/icons/icon.d.ts +14 -0
- package/types/src/iframe/iframe.d.ts +37 -0
- package/types/src/iframe/index.d.ts +1 -0
- package/types/src/index.d.ts +6 -1
- package/types/src/input/index.d.ts +1 -1
- package/types/src/layout/scroll/scroll.d.ts +11 -0
- package/types/src/lightbox/lightbox.d.ts +1 -0
- package/types/src/mailbox/email-recipients.d.ts +2 -2
- package/types/src/mailbox/types.d.ts +1 -1
- package/types/src/navigation-bar/navigation-bar.d.ts +17 -0
- package/types/src/notification/notification.d.ts +1 -0
- package/types/src/page/page.d.ts +6 -0
- package/types/src/range/index.d.ts +1 -0
- package/types/src/range/range.d.ts +25 -0
- package/types/src/sheet/sheet.d.ts +0 -1
- package/types/src/steps/schmancy-steps-container.d.ts +8 -6
- package/types/src/surface/surface.d.ts +4 -27
- package/types/src/surface/surface.styles.d.ts +31 -0
- package/types/src/tabs/tab.d.ts +1 -0
- package/types/src/textarea/textarea.d.ts +3 -2
- package/types/src/theme/context.d.ts +2 -282
- package/types/src/theme/theme.component.d.ts +9 -1
- package/types/src/theme/theme.format.d.ts +1 -1
- package/types/src/theme/theme.interface.d.ts +8 -1
- package/types/src/theme/theme.service.d.ts +20 -282
- package/types/src/types/surface.d.ts +27 -1
- package/types/src/typography/typography.d.ts +17 -3
- package/types/src/utils/animation.d.ts +254 -0
- package/types/src/utils/index.d.ts +2 -0
- package/types/src/utils/number.d.ts +18 -2
- package/types/src/utils/overlay-stack.d.ts +54 -0
- package/types/src/window/index.d.ts +3 -0
- package/types/src/window/window-manager.d.ts +49 -0
- package/types/src/window/window-position.d.ts +64 -0
- package/types/src/window/window-registry.d.ts +28 -0
- package/types/src/window/window.d.ts +67 -0
- package/ai/animated-text.md +0 -116
- package/ai/audio.md +0 -241
- package/ai/boat.md +0 -53
- package/ai/component-relationships.md +0 -93
- package/ai/context.md +0 -572
- package/ai/countries.md +0 -271
- package/ai/date-range-inline.md +0 -262
- package/ai/delay.md +0 -158
- package/ai/index.md +0 -112
- package/ai/layout.md +0 -187
- package/ai/mailbox.md +0 -530
- package/ai/map.md +0 -234
- package/ai/navigation-bar-item.md +0 -259
- package/ai/option.md +0 -173
- package/ai/payment-card-form.md +0 -242
- package/ai/slider.md +0 -227
- package/ai/spinner.md +0 -165
- package/ai/teleport.md +0 -197
- package/ai/template.md +0 -144
- package/ai/theme-button.md +0 -173
- package/ai/timezone.md +0 -276
- package/ai/typewriter.md +0 -335
- package/dist/_commonjsHelpers-Dw9sPFZy.js +0 -7
- package/dist/_commonjsHelpers-Dw9sPFZy.js.map +0 -1
- package/dist/_commonjsHelpers-k2hpEU-q.cjs +0 -2
- package/dist/_commonjsHelpers-k2hpEU-q.cjs.map +0 -1
- package/dist/ai/animated-text.md +0 -116
- package/dist/ai/audio.md +0 -241
- package/dist/ai/boat.md +0 -53
- package/dist/ai/component-relationships.md +0 -93
- package/dist/ai/context.md +0 -572
- package/dist/ai/countries.md +0 -271
- package/dist/ai/date-range-inline.md +0 -262
- package/dist/ai/delay.md +0 -158
- package/dist/ai/index.md +0 -112
- package/dist/ai/layout.md +0 -187
- package/dist/ai/mailbox.md +0 -530
- package/dist/ai/map.md +0 -234
- package/dist/ai/navigation-bar-item.md +0 -259
- package/dist/ai/option.md +0 -173
- package/dist/ai/payment-card-form.md +0 -242
- package/dist/ai/slider.md +0 -227
- package/dist/ai/spinner.md +0 -165
- package/dist/ai/teleport.md +0 -197
- package/dist/ai/template.md +0 -144
- package/dist/ai/theme-button.md +0 -173
- package/dist/ai/timezone.md +0 -276
- package/dist/ai/typewriter.md +0 -335
- package/dist/animated-text-B3DQRJBy.cjs +0 -37
- package/dist/animated-text-B3DQRJBy.cjs.map +0 -1
- package/dist/animated-text-BAj4-6hE.js +0 -76
- package/dist/animated-text-BAj4-6hE.js.map +0 -1
- package/dist/animated-text.cjs +0 -2
- package/dist/animated-text.cjs.map +0 -1
- package/dist/animated-text.js +0 -2
- package/dist/animated-text.js.map +0 -1
- package/dist/area.cjs.map +0 -1
- package/dist/area.component-CP4DZ0d8.js +0 -330
- package/dist/area.component-CP4DZ0d8.js.map +0 -1
- package/dist/area.component-ChxSLt16.cjs +0 -12
- package/dist/area.component-ChxSLt16.cjs.map +0 -1
- package/dist/area.js.map +0 -1
- package/dist/audio.cjs.map +0 -1
- package/dist/audio.js.map +0 -1
- package/dist/autocomplete-CAaVSg4g.cjs +0 -112
- package/dist/autocomplete-CAaVSg4g.cjs.map +0 -1
- package/dist/autocomplete-CGbACUYd.js +0 -333
- package/dist/autocomplete-CGbACUYd.js.map +0 -1
- package/dist/autocomplete.cjs.map +0 -1
- package/dist/autocomplete.js.map +0 -1
- package/dist/avatar-nWOZXEsW.cjs +0 -273
- package/dist/avatar-nWOZXEsW.cjs.map +0 -1
- package/dist/avatar-rLCF6MSI.js +0 -895
- package/dist/avatar-rLCF6MSI.js.map +0 -1
- package/dist/badge.cjs.map +0 -1
- package/dist/badge.js.map +0 -1
- package/dist/boat-Ckt9v__d.js +0 -301
- package/dist/boat-Ckt9v__d.js.map +0 -1
- package/dist/boat-yNAZ2LLB.cjs +0 -97
- package/dist/boat-yNAZ2LLB.cjs.map +0 -1
- package/dist/boat.cjs.map +0 -1
- package/dist/boat.js.map +0 -1
- package/dist/busy.cjs.map +0 -1
- package/dist/busy.js.map +0 -1
- package/dist/card.cjs.map +0 -1
- package/dist/card.js.map +0 -1
- package/dist/checkbox-BnAlpsJN.cjs +0 -40
- package/dist/checkbox-BnAlpsJN.cjs.map +0 -1
- package/dist/checkbox-D22yfGe3.js +0 -526
- package/dist/checkbox-D22yfGe3.js.map +0 -1
- package/dist/checkbox.cjs.map +0 -1
- package/dist/checkbox.js.map +0 -1
- package/dist/chips.cjs.map +0 -1
- package/dist/chips.js.map +0 -1
- package/dist/code-highlight.cjs.map +0 -1
- package/dist/code-highlight.js.map +0 -1
- package/dist/code-preview-DPlQayFd.js +0 -967
- package/dist/code-preview-DPlQayFd.js.map +0 -1
- package/dist/code-preview-jPnX60FF.cjs +0 -193
- package/dist/code-preview-jPnX60FF.cjs.map +0 -1
- package/dist/components.cjs.map +0 -1
- package/dist/components.js.map +0 -1
- package/dist/consume-5D1qfVWM.js +0 -38
- package/dist/consume-5D1qfVWM.js.map +0 -1
- package/dist/consume-edta5ng5.cjs +0 -2
- package/dist/consume-edta5ng5.cjs.map +0 -1
- package/dist/content-drawer.cjs.map +0 -1
- package/dist/content-drawer.js.map +0 -1
- package/dist/context-create-B_S-sD5B.js +0 -1107
- package/dist/context-create-B_S-sD5B.js.map +0 -1
- package/dist/context-create-DTybDbZp.cjs +0 -2
- package/dist/context-create-DTybDbZp.cjs.map +0 -1
- package/dist/date-range-GFm5NG33.js +0 -639
- package/dist/date-range-GFm5NG33.js.map +0 -1
- package/dist/date-range-inline-CgX2o0FP.cjs +0 -44
- package/dist/date-range-inline-CgX2o0FP.cjs.map +0 -1
- package/dist/date-range-inline-DTQLESAZ.js +0 -197
- package/dist/date-range-inline-DTQLESAZ.js.map +0 -1
- package/dist/date-range-inline.cjs.map +0 -1
- package/dist/date-range-inline.js.map +0 -1
- package/dist/date-range-ug3B9CFT.cjs +0 -119
- package/dist/date-range-ug3B9CFT.cjs.map +0 -1
- package/dist/date-range.cjs.map +0 -1
- package/dist/date-range.js.map +0 -1
- package/dist/delay-CWtBL0VD.cjs +0 -10
- package/dist/delay-CWtBL0VD.cjs.map +0 -1
- package/dist/delay-DEe1CmHc.js +0 -288
- package/dist/delay-DEe1CmHc.js.map +0 -1
- package/dist/delay.cjs.map +0 -1
- package/dist/delay.js.map +0 -1
- package/dist/details-D-LXW23W.js +0 -100
- package/dist/details-D-LXW23W.js.map +0 -1
- package/dist/details-DVke77dU.cjs +0 -55
- package/dist/details-DVke77dU.cjs.map +0 -1
- package/dist/details.cjs.map +0 -1
- package/dist/details.js.map +0 -1
- package/dist/dialog-service-C86xTS8q.cjs +0 -2
- package/dist/dialog-service-C86xTS8q.cjs.map +0 -1
- package/dist/dialog-service-D9E3jLAR.js +0 -118
- package/dist/dialog-service-D9E3jLAR.js.map +0 -1
- package/dist/dialog.component-BM0D-hK9.cjs +0 -48
- package/dist/dialog.component-BM0D-hK9.cjs.map +0 -1
- package/dist/dialog.component-a7FlKhGD.js +0 -145
- package/dist/dialog.component-a7FlKhGD.js.map +0 -1
- package/dist/discovery.service-BbYjU5x8.js +0 -21
- package/dist/discovery.service-BbYjU5x8.js.map +0 -1
- package/dist/discovery.service-BpGCuXPd.cjs +0 -2
- package/dist/discovery.service-BpGCuXPd.cjs.map +0 -1
- package/dist/divider-CzTpxOqt.js +0 -84
- package/dist/divider-CzTpxOqt.js.map +0 -1
- package/dist/divider-D8KStUhN.cjs +0 -58
- package/dist/divider-D8KStUhN.cjs.map +0 -1
- package/dist/divider.cjs.map +0 -1
- package/dist/divider.js.map +0 -1
- package/dist/dropdown-content-CngZN3vv.cjs +0 -58
- package/dist/dropdown-content-CngZN3vv.cjs.map +0 -1
- package/dist/dropdown-content-DCn-g0-f.js +0 -147
- package/dist/dropdown-content-DCn-g0-f.js.map +0 -1
- package/dist/email-recipients-BhntMZMf.cjs +0 -1173
- package/dist/email-recipients-BhntMZMf.cjs.map +0 -1
- package/dist/email-recipients-BzjAKNJ0.js +0 -1733
- package/dist/email-recipients-BzjAKNJ0.js.map +0 -1
- package/dist/emotional-sounds-BRnFhww6.js +0 -234
- package/dist/emotional-sounds-BRnFhww6.js.map +0 -1
- package/dist/emotional-sounds-DVGhmoZf.cjs +0 -2
- package/dist/emotional-sounds-DVGhmoZf.cjs.map +0 -1
- package/dist/extra.cjs.map +0 -1
- package/dist/extra.js.map +0 -1
- package/dist/flex-5dR48zie.js +0 -183
- package/dist/flex-5dR48zie.js.map +0 -1
- package/dist/flex-oHl2EfYB.cjs +0 -18
- package/dist/flex-oHl2EfYB.cjs.map +0 -1
- package/dist/flow-D0e7hGXO.cjs +0 -2
- package/dist/flow-D0e7hGXO.cjs.map +0 -1
- package/dist/flow-DXYqC9OA.js +0 -340
- package/dist/flow-DXYqC9OA.js.map +0 -1
- package/dist/form-BlPiAPt7.cjs +0 -2
- package/dist/form-BlPiAPt7.cjs.map +0 -1
- package/dist/form-BxVM6JTn.js +0 -141
- package/dist/form-BxVM6JTn.js.map +0 -1
- package/dist/form.cjs.map +0 -1
- package/dist/form.js.map +0 -1
- package/dist/formField.mixin-BCGA7Ea3.js +0 -48
- package/dist/formField.mixin-BCGA7Ea3.js.map +0 -1
- package/dist/formField.mixin-BfJMifU9.cjs +0 -2
- package/dist/formField.mixin-BfJMifU9.cjs.map +0 -1
- package/dist/height-CfECBO2j.js +0 -44
- package/dist/height-CfECBO2j.js.map +0 -1
- package/dist/height-Z70qJYJK.cjs +0 -2
- package/dist/height-Z70qJYJK.cjs.map +0 -1
- package/dist/icon-DHEXr3c-.cjs +0 -49
- package/dist/icon-DHEXr3c-.cjs.map +0 -1
- package/dist/icon-DYpLoegR.js +0 -84
- package/dist/icon-DYpLoegR.js.map +0 -1
- package/dist/icon-button-CmZBLHWC.js +0 -164
- package/dist/icon-button-CmZBLHWC.js.map +0 -1
- package/dist/icon-button-IbSX8C98.cjs +0 -70
- package/dist/icon-button-IbSX8C98.cjs.map +0 -1
- package/dist/icons.cjs.map +0 -1
- package/dist/icons.js.map +0 -1
- package/dist/index-CCi1otmh.cjs +0 -2
- package/dist/index-CCi1otmh.cjs.map +0 -1
- package/dist/index-CW6PhEkx.js +0 -17
- package/dist/index-CW6PhEkx.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/input-BByjYlgl.cjs +0 -51
- package/dist/input-BByjYlgl.cjs.map +0 -1
- package/dist/input-D0cQ9DOY.js +0 -237
- package/dist/input-D0cQ9DOY.js.map +0 -1
- package/dist/input-chip-B5ErXgCB.js +0 -206
- package/dist/input-chip-B5ErXgCB.js.map +0 -1
- package/dist/input-chip-DkWaTciP.cjs +0 -147
- package/dist/input-chip-DkWaTciP.cjs.map +0 -1
- package/dist/input.cjs.map +0 -1
- package/dist/input.js.map +0 -1
- package/dist/intersection-CJxzz8c-.js +0 -15
- package/dist/intersection-CJxzz8c-.js.map +0 -1
- package/dist/intersection-CVvaDv96.cjs +0 -2
- package/dist/intersection-CVvaDv96.cjs.map +0 -1
- package/dist/json-BZVe74np.cjs +0 -12
- package/dist/json-BZVe74np.cjs.map +0 -1
- package/dist/json-PKewOWuJ.js +0 -51
- package/dist/json-PKewOWuJ.js.map +0 -1
- package/dist/layout.cjs.map +0 -1
- package/dist/layout.js.map +0 -1
- package/dist/lightbox-service-D-0JtxB1.cjs +0 -202
- package/dist/lightbox-service-D-0JtxB1.cjs.map +0 -1
- package/dist/lightbox-service-DZMnb1eU.js +0 -458
- package/dist/lightbox-service-DZMnb1eU.js.map +0 -1
- package/dist/lightbox.cjs.map +0 -1
- package/dist/lightbox.js.map +0 -1
- package/dist/list-B_2m7l3g.cjs +0 -17
- package/dist/list-B_2m7l3g.cjs.map +0 -1
- package/dist/list-CW56LV-v.js +0 -69
- package/dist/list-CW56LV-v.js.map +0 -1
- package/dist/list.cjs.map +0 -1
- package/dist/list.js.map +0 -1
- package/dist/litElement.mixin-CrpeGpZ7.cjs +0 -2
- package/dist/litElement.mixin-CrpeGpZ7.cjs.map +0 -1
- package/dist/litElement.mixin-DHZXtvYq.js +0 -15
- package/dist/litElement.mixin-DHZXtvYq.js.map +0 -1
- package/dist/mailbox.cjs.map +0 -1
- package/dist/mailbox.js.map +0 -1
- package/dist/map-2Hl60a0A.js +0 -175
- package/dist/map-2Hl60a0A.js.map +0 -1
- package/dist/map-DyPS9G7M.cjs +0 -81
- package/dist/map-DyPS9G7M.cjs.map +0 -1
- package/dist/map.cjs.map +0 -1
- package/dist/map.js.map +0 -1
- package/dist/media-CS8HpKnK.cjs +0 -152
- package/dist/media-CS8HpKnK.cjs.map +0 -1
- package/dist/media-DtWbcRxL.js +0 -244
- package/dist/media-DtWbcRxL.js.map +0 -1
- package/dist/menu-Caju5-zd.js +0 -60
- package/dist/menu-Caju5-zd.js.map +0 -1
- package/dist/menu-rX5RPAI2.cjs +0 -24
- package/dist/menu-rX5RPAI2.cjs.map +0 -1
- package/dist/menu.cjs.map +0 -1
- package/dist/menu.js.map +0 -1
- package/dist/nav-drawer.cjs.map +0 -1
- package/dist/nav-drawer.js.map +0 -1
- package/dist/navigation-bar.cjs.map +0 -1
- package/dist/navigation-bar.js.map +0 -1
- package/dist/navigation-rail-Ctketq5a.js +0 -256
- package/dist/navigation-rail-Ctketq5a.js.map +0 -1
- package/dist/navigation-rail-DC9_oSIM.cjs +0 -79
- package/dist/navigation-rail-DC9_oSIM.cjs.map +0 -1
- package/dist/notification-service-CUlfXqmj.js +0 -155
- package/dist/notification-service-CUlfXqmj.js.map +0 -1
- package/dist/notification-service-DknbpqTt.cjs +0 -19
- package/dist/notification-service-DknbpqTt.cjs.map +0 -1
- package/dist/notification.cjs.map +0 -1
- package/dist/notification.js.map +0 -1
- package/dist/notify-DJSOWTxv.js +0 -35
- package/dist/notify-DJSOWTxv.js.map +0 -1
- package/dist/notify-DickIEHW.cjs +0 -2
- package/dist/notify-DickIEHW.cjs.map +0 -1
- package/dist/number-B7aCRYnH.cjs +0 -2
- package/dist/number-B7aCRYnH.cjs.map +0 -1
- package/dist/number-BhTiptLA.js +0 -99
- package/dist/number-BhTiptLA.js.map +0 -1
- package/dist/option-Bng41-rY.js +0 -77
- package/dist/option-Bng41-rY.js.map +0 -1
- package/dist/option-DYT5Rkgy.cjs +0 -44
- package/dist/option-DYT5Rkgy.cjs.map +0 -1
- package/dist/option.cjs.map +0 -1
- package/dist/option.js.map +0 -1
- package/dist/page-BLn9gtSd.cjs +0 -20
- package/dist/page-BLn9gtSd.cjs.map +0 -1
- package/dist/page-D-ROcQDd.js +0 -48
- package/dist/page-D-ROcQDd.js.map +0 -1
- package/dist/payment-card-form-5UtfWzoW.cjs +0 -74
- package/dist/payment-card-form-5UtfWzoW.cjs.map +0 -1
- package/dist/payment-card-form-BJa4RgF2.js +0 -515
- package/dist/payment-card-form-BJa4RgF2.js.map +0 -1
- package/dist/pills-BS5rZ6C3.js +0 -346
- package/dist/pills-BS5rZ6C3.js.map +0 -1
- package/dist/pills-Blf7IAeq.cjs +0 -113
- package/dist/pills-Blf7IAeq.cjs.map +0 -1
- package/dist/progress-DlhYniW_.cjs +0 -35
- package/dist/progress-DlhYniW_.cjs.map +0 -1
- package/dist/progress-yTIX6EqC.js +0 -56
- package/dist/progress-yTIX6EqC.js.map +0 -1
- package/dist/progress.cjs.map +0 -1
- package/dist/progress.js.map +0 -1
- package/dist/provide-BxZ2kn_p.cjs +0 -2
- package/dist/provide-BxZ2kn_p.cjs.map +0 -1
- package/dist/provide-tcktw8xB.js +0 -100
- package/dist/provide-tcktw8xB.js.map +0 -1
- package/dist/qr-scanner-DOs7uNS_.cjs +0 -29
- package/dist/qr-scanner-DOs7uNS_.cjs.map +0 -1
- package/dist/qr-scanner-DjZ8mgHV.js +0 -743
- package/dist/qr-scanner-DjZ8mgHV.js.map +0 -1
- package/dist/radio-button-N_PrrxKB.cjs +0 -41
- package/dist/radio-button-N_PrrxKB.cjs.map +0 -1
- package/dist/radio-button-me3SRHGu.js +0 -115
- package/dist/radio-button-me3SRHGu.js.map +0 -1
- package/dist/radio-group.cjs.map +0 -1
- package/dist/radio-group.js.map +0 -1
- package/dist/ripple-BgJXbNSP.js +0 -124
- package/dist/ripple-BgJXbNSP.js.map +0 -1
- package/dist/ripple-x6sTX02K.cjs +0 -16
- package/dist/ripple-x6sTX02K.cjs.map +0 -1
- package/dist/rxjs-utils.cjs.map +0 -1
- package/dist/rxjs-utils.js.map +0 -1
- package/dist/schmancy-steps-container-J6P-NNNj.js +0 -156
- package/dist/schmancy-steps-container-J6P-NNNj.js.map +0 -1
- package/dist/schmancy-steps-container-T57BKMzi.cjs +0 -70
- package/dist/schmancy-steps-container-T57BKMzi.cjs.map +0 -1
- package/dist/scroll-C_gfUgjn.js +0 -87
- package/dist/scroll-C_gfUgjn.js.map +0 -1
- package/dist/scroll-CecsowP7.cjs +0 -27
- package/dist/scroll-CecsowP7.cjs.map +0 -1
- package/dist/search-B1s7thB0.cjs +0 -2
- package/dist/search-B1s7thB0.cjs.map +0 -1
- package/dist/search-DxxnLa5u.js +0 -95
- package/dist/search-DxxnLa5u.js.map +0 -1
- package/dist/select-BBA0gBHf.js +0 -280
- package/dist/select-BBA0gBHf.js.map +0 -1
- package/dist/select-D9oCjv7N.cjs +0 -57
- package/dist/select-D9oCjv7N.cjs.map +0 -1
- package/dist/select.cjs.map +0 -1
- package/dist/select.js.map +0 -1
- package/dist/selector-hook-9w2auh2O.cjs +0 -2
- package/dist/selector-hook-9w2auh2O.cjs.map +0 -1
- package/dist/selector-hook-CHV4kDMd.js +0 -319
- package/dist/selector-hook-CHV4kDMd.js.map +0 -1
- package/dist/sheet-0oUfBmXX.cjs +0 -15
- package/dist/sheet-0oUfBmXX.cjs.map +0 -1
- package/dist/sheet-CNcDT3VP.js +0 -97
- package/dist/sheet-CNcDT3VP.js.map +0 -1
- package/dist/sheet.cjs.map +0 -1
- package/dist/sheet.js.map +0 -1
- package/dist/sheet.service-2MobB-9z.js +0 -68
- package/dist/sheet.service-2MobB-9z.js.map +0 -1
- package/dist/sheet.service-su_7yDQ-.cjs +0 -2
- package/dist/sheet.service-su_7yDQ-.cjs.map +0 -1
- package/dist/slider-CV-Ehp_5.cjs +0 -83
- package/dist/slider-CV-Ehp_5.cjs.map +0 -1
- package/dist/slider-CkE-iFUy.js +0 -161
- package/dist/slider-CkE-iFUy.js.map +0 -1
- package/dist/sound.service-Nza4c6wv.js +0 -102
- package/dist/sound.service-Nza4c6wv.js.map +0 -1
- package/dist/sound.service-eRirZw59.cjs +0 -2
- package/dist/sound.service-eRirZw59.cjs.map +0 -1
- package/dist/spinner-Bfn8KC-9.cjs +0 -135
- package/dist/spinner-Bfn8KC-9.cjs.map +0 -1
- package/dist/spinner-DiMbWXp9.js +0 -168
- package/dist/spinner-DiMbWXp9.js.map +0 -1
- package/dist/store.cjs.map +0 -1
- package/dist/store.js.map +0 -1
- package/dist/suggestion-chip-CEDqUNoS.js +0 -481
- package/dist/suggestion-chip-CEDqUNoS.js.map +0 -1
- package/dist/suggestion-chip-HhsLtZXR.cjs +0 -271
- package/dist/suggestion-chip-HhsLtZXR.cjs.map +0 -1
- package/dist/surface-CW3H23Va.cjs +0 -199
- package/dist/surface-CW3H23Va.cjs.map +0 -1
- package/dist/surface-eBfnSwQS.js +0 -220
- package/dist/surface-eBfnSwQS.js.map +0 -1
- package/dist/surface.cjs.map +0 -1
- package/dist/surface.js.map +0 -1
- package/dist/table-D0tiSL_u.cjs +0 -64
- package/dist/table-D0tiSL_u.cjs.map +0 -1
- package/dist/table-Dmo4TvTx.js +0 -561
- package/dist/table-Dmo4TvTx.js.map +0 -1
- package/dist/table.cjs.map +0 -1
- package/dist/table.js.map +0 -1
- package/dist/tabs-compatibility-Bit6y6en.js +0 -104
- package/dist/tabs-compatibility-Bit6y6en.js.map +0 -1
- package/dist/tabs-compatibility-Vq_2-ekz.cjs +0 -35
- package/dist/tabs-compatibility-Vq_2-ekz.cjs.map +0 -1
- package/dist/tabs.cjs.map +0 -1
- package/dist/tabs.js.map +0 -1
- package/dist/tailwind.mixin-Bp_PR6yc.js +0 -67
- package/dist/tailwind.mixin-Bp_PR6yc.js.map +0 -1
- package/dist/tailwind.mixin-Cp4PyXok.cjs +0 -2
- package/dist/tailwind.mixin-Cp4PyXok.cjs.map +0 -1
- package/dist/teleport.cjs.map +0 -1
- package/dist/teleport.js.map +0 -1
- package/dist/textarea-B1d1QCqT.js +0 -134
- package/dist/textarea-B1d1QCqT.js.map +0 -1
- package/dist/textarea-DG8CHhZA.cjs +0 -44
- package/dist/textarea-DG8CHhZA.cjs.map +0 -1
- package/dist/textarea.cjs.map +0 -1
- package/dist/textarea.js.map +0 -1
- package/dist/theme-button-CPL6Eaqd.cjs +0 -9
- package/dist/theme-button-CPL6Eaqd.cjs.map +0 -1
- package/dist/theme-button-CrLuMQNe.js +0 -27
- package/dist/theme-button-CrLuMQNe.js.map +0 -1
- package/dist/theme-button.cjs.map +0 -1
- package/dist/theme-button.js.map +0 -1
- package/dist/theme-controller-boat-CXbNJSI3.cjs +0 -178
- package/dist/theme-controller-boat-CXbNJSI3.cjs.map +0 -1
- package/dist/theme-controller-boat-CzSmjyKq.js +0 -1159
- package/dist/theme-controller-boat-CzSmjyKq.js.map +0 -1
- package/dist/theme.cjs.map +0 -1
- package/dist/theme.events-CPSLaOlR.js +0 -6
- package/dist/theme.events-CPSLaOlR.js.map +0 -1
- package/dist/theme.events-Car6U_SQ.cjs +0 -2
- package/dist/theme.events-Car6U_SQ.cjs.map +0 -1
- package/dist/theme.interface-BLfE5J_1.js +0 -5
- package/dist/theme.interface-BLfE5J_1.js.map +0 -1
- package/dist/theme.interface-BMeNadVb.cjs +0 -2
- package/dist/theme.interface-BMeNadVb.cjs.map +0 -1
- package/dist/theme.js.map +0 -1
- package/dist/timezone-4vwX0BgA.js +0 -112
- package/dist/timezone-4vwX0BgA.js.map +0 -1
- package/dist/timezone-BxvQcqe1.cjs +0 -32
- package/dist/timezone-BxvQcqe1.cjs.map +0 -1
- package/dist/tooltip-CjdvBf4X.js +0 -119
- package/dist/tooltip-CjdvBf4X.js.map +0 -1
- package/dist/tooltip-ZtnGjoJd.cjs +0 -7
- package/dist/tooltip-ZtnGjoJd.cjs.map +0 -1
- package/dist/tree-CBEjV7jP.js +0 -65
- package/dist/tree-CBEjV7jP.js.map +0 -1
- package/dist/tree-DP5U00NA.cjs +0 -27
- package/dist/tree-DP5U00NA.cjs.map +0 -1
- package/dist/tslib.es6-DgOcxv4s.cjs +0 -2
- package/dist/tslib.es6-DgOcxv4s.cjs.map +0 -1
- package/dist/tslib.es6-ujVQHAQ4.js +0 -10
- package/dist/tslib.es6-ujVQHAQ4.js.map +0 -1
- package/dist/typewriter-C6kFjLcX.cjs +0 -124
- package/dist/typewriter-C6kFjLcX.cjs.map +0 -1
- package/dist/typewriter-Eo5qXoGC.js +0 -555
- package/dist/typewriter-Eo5qXoGC.js.map +0 -1
- package/dist/typewriter.cjs.map +0 -1
- package/dist/typewriter.js.map +0 -1
- package/dist/typography-C_1gdM2I.js +0 -264
- package/dist/typography-C_1gdM2I.js.map +0 -1
- package/dist/typography-DGyjlLCE.cjs +0 -243
- package/dist/typography-DGyjlLCE.cjs.map +0 -1
- package/dist/utils-C38P63L6.cjs +0 -2
- package/dist/utils-C38P63L6.cjs.map +0 -1
- package/dist/utils-CYOVFxSx.js +0 -150
- package/dist/utils-CYOVFxSx.js.map +0 -1
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.js.map +0 -1
- package/types/src/animated-text/animated-text.d.ts +0 -30
- package/types/src/animated-text/index.d.ts +0 -1
- package/types/src/directives/height.d.ts +0 -20
|
@@ -1,458 +0,0 @@
|
|
|
1
|
-
import { css as D, html as h, noChange as k, render as $ } from "lit";
|
|
2
|
-
import { property as x, state as A, customElement as Y } from "lit/decorators.js";
|
|
3
|
-
import { when as E } from "lit/directives/when.js";
|
|
4
|
-
import { createRef as C, ref as j } from "lit/directives/ref.js";
|
|
5
|
-
import { fromEvent as f, Subject as S, switchMap as U, map as W, tap as v, takeUntil as O, filter as H } from "rxjs";
|
|
6
|
-
import { filter as q, tap as G, takeUntil as T, switchMap as Z, first as J, map as K } from "rxjs/operators";
|
|
7
|
-
import "lit/directives/class-map.js";
|
|
8
|
-
import { styleMap as w } from "lit/directives/style-map.js";
|
|
9
|
-
import { d as Q } from "./tailwind.mixin-Bp_PR6yc.js";
|
|
10
|
-
import { $ as V } from "./litElement.mixin-DHZXtvYq.js";
|
|
11
|
-
import { directive as F, PartType as X } from "lit/directive.js";
|
|
12
|
-
import { AsyncDirective as B } from "lit/async-directive.js";
|
|
13
|
-
var _ = Object.defineProperty, ee = Object.getOwnPropertyDescriptor, u = (e, t, i, s) => {
|
|
14
|
-
for (var a, n = s > 1 ? void 0 : s ? ee(t, i) : t, o = e.length - 1; o >= 0; o--) (a = e[o]) && (n = (s ? a(t, i, n) : a(n)) || n);
|
|
15
|
-
return s && n && _(t, i, n), n;
|
|
16
|
-
};
|
|
17
|
-
let m = class extends V(D`
|
|
18
|
-
:host {
|
|
19
|
-
display: contents;
|
|
20
|
-
}
|
|
21
|
-
`) {
|
|
22
|
-
constructor() {
|
|
23
|
-
super(...arguments), this.src = "", this.images = [], this.initialIndex = 0, this.open = !1, this.currentIndex = 0, this.isLoading = !1, this.swipeThreshold = 50, this.overlayRef = C(), this.contentRef = C(), this.imageRef = C(), this.handleClose = () => {
|
|
24
|
-
this.open = !1;
|
|
25
|
-
}, this.handlePrevious = () => {
|
|
26
|
-
this.isGalleryMode && this.images.length > 1 && (this.isLoading = !0, this.currentIndex = (this.currentIndex - 1 + this.images.length) % this.images.length, this.dispatchEvent(new CustomEvent("change", { detail: { index: this.currentIndex }, bubbles: !0, composed: !0 })));
|
|
27
|
-
}, this.handleNext = () => {
|
|
28
|
-
this.isGalleryMode && this.images.length > 1 && (this.isLoading = !0, this.currentIndex = (this.currentIndex + 1) % this.images.length, this.dispatchEvent(new CustomEvent("change", { detail: { index: this.currentIndex }, bubbles: !0, composed: !0 })));
|
|
29
|
-
}, this.handleImageLoad = () => {
|
|
30
|
-
this.isLoading = !1;
|
|
31
|
-
}, this.handleOverlayClick = (e) => {
|
|
32
|
-
e.target === e.currentTarget && this.handleClose();
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
get isGalleryMode() {
|
|
36
|
-
return this.images.length > 0;
|
|
37
|
-
}
|
|
38
|
-
get currentImageSrc() {
|
|
39
|
-
return this.isGalleryMode ? this.images[this.currentIndex] || "" : this.src;
|
|
40
|
-
}
|
|
41
|
-
connectedCallback() {
|
|
42
|
-
super.connectedCallback(), this.currentIndex = this.initialIndex;
|
|
43
|
-
}
|
|
44
|
-
updated(e) {
|
|
45
|
-
super.updated(e), e.has("open") && (this.open ? (document.body.style.overflow = "hidden", this.animateIn(), this.setupEventListeners()) : (document.body.style.overflow = "", this.animateOut())), e.has("initialIndex") && (this.currentIndex = this.initialIndex), e.has("currentIndex") && this.open && this.animateImageChange();
|
|
46
|
-
}
|
|
47
|
-
animateIn() {
|
|
48
|
-
const e = this.overlayRef.value, t = this.contentRef.value, i = this.imageRef.value;
|
|
49
|
-
e && (e.style.backgroundColor = "rgba(0, 0, 0, 0)", e.style.opacity = "0", e.animate([{ opacity: 0 }, { opacity: 1 }], { duration: 300, easing: "cubic-bezier(0.25, 1, 0.5, 1)", fill: "forwards" }), requestAnimationFrame(() => {
|
|
50
|
-
e.style.backgroundColor = "rgba(0, 0, 0, 0.95)";
|
|
51
|
-
})), t && t.animate([{ transform: "scale(0.95)", opacity: 0 }, { transform: "scale(1)", opacity: 1 }], { duration: 400, delay: 100, easing: "cubic-bezier(0.34, 1.56, 0.64, 1)", fill: "forwards" }), i && i.animate([{ opacity: 0, transform: "scale(0.98)" }, { opacity: 1, transform: "scale(1)" }], { duration: 350, delay: 150, easing: "cubic-bezier(0.25, 1, 0.5, 1)", fill: "forwards" });
|
|
52
|
-
}
|
|
53
|
-
animateOut() {
|
|
54
|
-
const e = this.overlayRef.value, t = this.contentRef.value, i = this.imageRef.value;
|
|
55
|
-
i && i.animate([{ transform: "scale(1)", opacity: 1 }, { transform: "scale(0.95)", opacity: 0 }], { duration: 200, easing: "ease-out", fill: "forwards" }), t && t.animate([{ transform: "scale(1)", opacity: 1 }, { transform: "scale(0.95)", opacity: 0 }], { duration: 250, easing: "ease-out", fill: "forwards" }), e && (e.animate([{ opacity: 1 }, { opacity: 0 }], { duration: 250, delay: 50, easing: "ease-out", fill: "forwards" }).onfinish = () => {
|
|
56
|
-
e.style.backgroundColor = "rgba(0, 0, 0, 0)", this.dispatchEvent(new CustomEvent("close", { bubbles: !0, composed: !0 }));
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
animateImageChange() {
|
|
60
|
-
const e = this.imageRef.value;
|
|
61
|
-
e && (e.animate([{ opacity: 1, transform: "scale(1)" }, { opacity: 0, transform: "scale(0.98)" }], { duration: 150, easing: "ease-out", fill: "forwards" }).onfinish = () => {
|
|
62
|
-
e.animate([{ opacity: 0, transform: "scale(0.98)" }, { opacity: 1, transform: "scale(1)" }], { duration: 200, easing: "cubic-bezier(0.25, 1, 0.5, 1)", fill: "forwards" });
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
setupEventListeners() {
|
|
66
|
-
if (f(document, "keydown").pipe(q(() => this.open), G((s) => {
|
|
67
|
-
switch (s.key) {
|
|
68
|
-
case "Escape":
|
|
69
|
-
this.handleClose();
|
|
70
|
-
break;
|
|
71
|
-
case "ArrowLeft":
|
|
72
|
-
this.handlePrevious();
|
|
73
|
-
break;
|
|
74
|
-
case "ArrowRight":
|
|
75
|
-
this.handleNext();
|
|
76
|
-
}
|
|
77
|
-
}), T(this.disconnecting)).subscribe(), !this.isGalleryMode || this.images.length <= 1) return;
|
|
78
|
-
const e = this.contentRef.value;
|
|
79
|
-
if (!e) return;
|
|
80
|
-
const t = f(e, "touchstart"), i = f(e, "touchend");
|
|
81
|
-
t.pipe(Z((s) => {
|
|
82
|
-
const a = s.touches[0].clientX;
|
|
83
|
-
return i.pipe(J(), K((n) => n.changedTouches[0].clientX - a));
|
|
84
|
-
}), q((s) => Math.abs(s) > this.swipeThreshold), G((s) => s > 0 ? this.handlePrevious() : this.handleNext()), T(this.disconnecting)).subscribe();
|
|
85
|
-
}
|
|
86
|
-
render() {
|
|
87
|
-
return this.open ? h`
|
|
88
|
-
<div
|
|
89
|
-
${j(this.overlayRef)}
|
|
90
|
-
class="fixed inset-0 z-9999 flex items-center justify-center backdrop-blur-sm"
|
|
91
|
-
@click=${this.handleOverlayClick}
|
|
92
|
-
>
|
|
93
|
-
<div
|
|
94
|
-
${j(this.contentRef)}
|
|
95
|
-
class="relative max-w-[90vw] max-h-[90vh]"
|
|
96
|
-
@click=${(e) => e.stopPropagation()}
|
|
97
|
-
>
|
|
98
|
-
<!-- Close Button -->
|
|
99
|
-
<button
|
|
100
|
-
class="absolute top-4 right-4 md:top-4 md:right-4 sm:top-2 sm:right-2 bg-white/15 backdrop-blur-md border border-white/20 text-white w-11 h-11 rounded-full flex items-center justify-center cursor-pointer z-10 transition-all duration-200 hover:bg-white/25 hover:scale-105 active:scale-95"
|
|
101
|
-
@click=${this.handleClose}
|
|
102
|
-
aria-label="Close lightbox"
|
|
103
|
-
title="Close (Esc)"
|
|
104
|
-
>
|
|
105
|
-
<schmancy-icon>close</schmancy-icon>
|
|
106
|
-
</button>
|
|
107
|
-
|
|
108
|
-
<!-- Touch Zones for Gallery Navigation -->
|
|
109
|
-
${E(this.isGalleryMode && this.images.length > 1, () => h`
|
|
110
|
-
<div
|
|
111
|
-
class="absolute top-0 bottom-0 left-0 w-1/3 cursor-pointer z-5"
|
|
112
|
-
@click=${this.handlePrevious}
|
|
113
|
-
></div>
|
|
114
|
-
<div
|
|
115
|
-
class="absolute top-0 bottom-0 right-0 w-1/3 cursor-pointer z-5"
|
|
116
|
-
@click=${this.handleNext}
|
|
117
|
-
></div>
|
|
118
|
-
`)}
|
|
119
|
-
|
|
120
|
-
<!-- Loading Spinner -->
|
|
121
|
-
${E(this.isLoading, () => h`
|
|
122
|
-
<div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2">
|
|
123
|
-
<schmancy-progress indeterminate></schmancy-progress>
|
|
124
|
-
</div>
|
|
125
|
-
`)}
|
|
126
|
-
|
|
127
|
-
<!-- Main Image -->
|
|
128
|
-
<img
|
|
129
|
-
${j(this.imageRef)}
|
|
130
|
-
class="max-w-[90vw] max-h-[90vh] object-contain rounded select-none touch-pinch-zoom ${this.isGalleryMode ? "cursor-default" : "cursor-pointer"}"
|
|
131
|
-
.src=${this.currentImageSrc}
|
|
132
|
-
alt="Full size image"
|
|
133
|
-
@load=${this.handleImageLoad}
|
|
134
|
-
@click=${() => this.isGalleryMode ? null : this.handleClose()}
|
|
135
|
-
/>
|
|
136
|
-
|
|
137
|
-
<!-- Navigation Controls (Gallery Mode Only) -->
|
|
138
|
-
${E(this.isGalleryMode && this.images.length > 1, () => h`
|
|
139
|
-
<div
|
|
140
|
-
class="absolute bottom-[-3.5rem] md:bottom-[-3.5rem] sm:bottom-[-3rem] left-1/2 -translate-x-1/2 flex items-center gap-4 z-10"
|
|
141
|
-
>
|
|
142
|
-
<button
|
|
143
|
-
class="bg-white/15 backdrop-blur-md border border-white/20 text-white w-10 h-10 rounded-full flex items-center justify-center cursor-pointer transition-all duration-200 hover:bg-white/25 hover:scale-105 active:scale-95"
|
|
144
|
-
@click=${this.handlePrevious}
|
|
145
|
-
aria-label="Previous image"
|
|
146
|
-
title="Previous (←)"
|
|
147
|
-
>
|
|
148
|
-
<schmancy-icon>arrow_back</schmancy-icon>
|
|
149
|
-
</button>
|
|
150
|
-
|
|
151
|
-
<div class="text-white text-base font-medium min-w-16 text-center" aria-live="polite">
|
|
152
|
-
${this.currentIndex + 1} / ${this.images.length}
|
|
153
|
-
</div>
|
|
154
|
-
|
|
155
|
-
<button
|
|
156
|
-
class="bg-white/15 backdrop-blur-md border border-white/20 text-white w-10 h-10 rounded-full flex items-center justify-center cursor-pointer transition-all duration-200 hover:bg-white/25 hover:scale-105 active:scale-95"
|
|
157
|
-
@click=${this.handleNext}
|
|
158
|
-
aria-label="Next image"
|
|
159
|
-
title="Next (→)"
|
|
160
|
-
>
|
|
161
|
-
<schmancy-icon>arrow_forward</schmancy-icon>
|
|
162
|
-
</button>
|
|
163
|
-
</div>
|
|
164
|
-
`)}
|
|
165
|
-
</div>
|
|
166
|
-
</div>
|
|
167
|
-
` : h``;
|
|
168
|
-
}
|
|
169
|
-
};
|
|
170
|
-
function P(e, t, i = "up", s = 0.3) {
|
|
171
|
-
const a = (e.x + t.x) / 2, n = (e.y + t.y) / 2, o = Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)), l = Math.min(o * s, 150);
|
|
172
|
-
return { x: a, y: i === "up" ? n - l : n + l };
|
|
173
|
-
}
|
|
174
|
-
u([x({ type: String })], m.prototype, "src", 2), u([x({ type: Array })], m.prototype, "images", 2), u([x({ type: Number })], m.prototype, "initialIndex", 2), u([x({ type: Boolean })], m.prototype, "open", 2), u([A()], m.prototype, "currentIndex", 2), u([A()], m.prototype, "isLoading", 2), m = u([Y("schmancy-lightbox")], m);
|
|
175
|
-
const te = F(class extends B {
|
|
176
|
-
constructor(e) {
|
|
177
|
-
if (super(e), this.hasAnimated = !1, e.type !== X.ELEMENT) throw new Error("flip directive can only be used on elements");
|
|
178
|
-
}
|
|
179
|
-
render(e) {
|
|
180
|
-
return k;
|
|
181
|
-
}
|
|
182
|
-
update(e, [t]) {
|
|
183
|
-
this.element = e.element;
|
|
184
|
-
const i = t?.sourceElement || t?.position;
|
|
185
|
-
return !this.hasAnimated && i && (this.hasAnimated = !0, this.animateIn(t)), k;
|
|
186
|
-
}
|
|
187
|
-
animateIn(e) {
|
|
188
|
-
if (!this.element || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
|
|
189
|
-
const t = e?.duration ?? 600, i = e?.scale !== !1, s = e?.blackbird !== !1, a = (n = e?.position, n ? "clientX" in n ? { x: n.clientX, y: n.clientY } : "touches" in n && n.touches.length ? { x: n.touches[0].clientX, y: n.touches[0].clientY } : "x" in n && "y" in n ? { x: n.x, y: n.y } : null : null);
|
|
190
|
-
var n;
|
|
191
|
-
const o = e?.sourceElement?.getBoundingClientRect(), l = () => {
|
|
192
|
-
const d = this.element.getBoundingClientRect(), r = { x: d.left + d.width / 2, y: d.top + d.height / 2 };
|
|
193
|
-
let c, p = { x: 0.1, y: 0.1 };
|
|
194
|
-
o ? (c = { x: o.left + o.width / 2, y: o.top + o.height / 2 }, i && (p = { x: o.width / d.width, y: o.height / d.height })) : c = a || { x: window.innerWidth / 2, y: window.innerHeight / 2 };
|
|
195
|
-
const L = c.x - r.x, I = c.y - r.y;
|
|
196
|
-
if (s && a && o) {
|
|
197
|
-
const y = { x: a.x - r.x, y: a.y - r.y }, b = P(c, a, "up", 0.4), M = P(a, r, "down", 0.3), z = { x: b.x - r.x, y: b.y - r.y }, R = { x: M.x - r.x, y: M.y - r.y }, N = 0.3;
|
|
198
|
-
this.element.animate([{ transform: `translate(${L}px, ${I}px) scale(${p.x}, ${p.y})`, opacity: 0.6, offset: 0 }, { transform: `translate(${z.x}px, ${z.y}px) scale(${0.7 * N})`, opacity: 0.8, offset: 0.25 }, { transform: `translate(${y.x}px, ${y.y}px) scale(${N})`, opacity: 0.9, offset: 0.5 }, { transform: `translate(${R.x}px, ${R.y}px) scale(0.6)`, opacity: 0.95, offset: 0.75 }, { transform: "translate(0, 0) scale(1)", opacity: 1, offset: 1 }], { duration: t, easing: "cubic-bezier(0.34, 1.2, 0.64, 1)", fill: "forwards" });
|
|
199
|
-
} else if (s && a) {
|
|
200
|
-
const y = P(a, r, "down", 0.35), b = { x: y.x - r.x, y: y.y - r.y };
|
|
201
|
-
this.element.animate([{ transform: `translate(${L}px, ${I}px) scale(0.1)`, opacity: 0, offset: 0 }, { transform: `translate(${b.x}px, ${b.y}px) scale(0.5)`, opacity: 0.8, offset: 0.5 }, { transform: "translate(0, 0) scale(1)", opacity: 1, offset: 1 }], { duration: t, easing: "cubic-bezier(0.34, 1.2, 0.64, 1)", fill: "forwards" });
|
|
202
|
-
} else this.element.animate([{ transform: `translate(${L}px, ${I}px) scale(${p.x}, ${p.y})`, opacity: 0 }, { transform: "translate(0, 0) scale(1, 1)", opacity: 1 }], { duration: t, easing: e?.easing ?? "cubic-bezier(0.34, 1.56, 0.64, 1)", fill: "forwards" });
|
|
203
|
-
};
|
|
204
|
-
this.element instanceof HTMLImageElement ? this.element.complete ? requestAnimationFrame(l) : this.element.onload = () => requestAnimationFrame(l) : requestAnimationFrame(l);
|
|
205
|
-
}
|
|
206
|
-
}), ie = F(class extends B {
|
|
207
|
-
constructor(e) {
|
|
208
|
-
if (super(e), this.currentIndex = 0, this.images = [], e.type !== X.ELEMENT) throw new Error("lightbox directive can only be used on elements");
|
|
209
|
-
}
|
|
210
|
-
render(e) {
|
|
211
|
-
return k;
|
|
212
|
-
}
|
|
213
|
-
update(e, [t]) {
|
|
214
|
-
return this.element = e.element, this.clickHandler || (this.clickHandler = (i) => {
|
|
215
|
-
if (i.preventDefault(), i.stopPropagation(), "clientX" in i) this.clickPosition = { x: i.clientX, y: i.clientY };
|
|
216
|
-
else if ("touches" in i && i.touches.length) {
|
|
217
|
-
const s = i.touches[0];
|
|
218
|
-
this.clickPosition = { x: s.clientX, y: s.clientY };
|
|
219
|
-
}
|
|
220
|
-
t?.images && t.images.length > 0 ? (this.images = t.images, this.currentIndex = t.index || 0) : (this.images = [this.element.src], this.currentIndex = 0), this.overlay = t?.overlay, this.open();
|
|
221
|
-
}, this.element.addEventListener("click", this.clickHandler), this.element.style.cursor = "pointer", this.element.classList.add("hover:opacity-80", "transition-opacity")), k;
|
|
222
|
-
}
|
|
223
|
-
open() {
|
|
224
|
-
this.overlayElement = document.createElement("div"), this.overlayElement.className = "fixed inset-0 flex items-center justify-center opacity-0 bg-black/95 backdrop-blur-sm", this.overlayElement.style.zIndex = "1000", $(this.renderLightbox(), this.overlayElement), document.body.appendChild(this.overlayElement), document.body.style.overflow = "hidden", requestAnimationFrame(() => {
|
|
225
|
-
this.overlayElement.animate([{ opacity: 0 }, { opacity: 1 }], { duration: 300, easing: "cubic-bezier(0.25, 1, 0.5, 1)", fill: "forwards" });
|
|
226
|
-
}), this.keyHandler = (e) => {
|
|
227
|
-
e.key === "Escape" && this.close(), e.key === "ArrowLeft" && this.images.length > 1 && this.prev(), e.key === "ArrowRight" && this.images.length > 1 && this.next();
|
|
228
|
-
}, document.addEventListener("keydown", this.keyHandler), this.overlayElement.addEventListener("click", (e) => {
|
|
229
|
-
e.target === this.overlayElement && this.close();
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
close() {
|
|
233
|
-
if (!this.overlayElement) return;
|
|
234
|
-
const e = this.overlayElement.querySelector("[data-lightbox-content]");
|
|
235
|
-
if (e && this.clickPosition) {
|
|
236
|
-
const t = e.getBoundingClientRect(), i = this.clickPosition.x - (t.left + t.width / 2), s = this.clickPosition.y - (t.top + t.height / 2), a = e.animate([{ transform: "translate(0, 0) scale(1)", opacity: 1 }, { transform: `translate(${i}px, ${s}px) scale(0.1)`, opacity: 0 }], { duration: 300, easing: "cubic-bezier(0.4, 0, 0.2, 1)", fill: "forwards" });
|
|
237
|
-
this.overlayElement.animate([{ opacity: 1 }, { opacity: 0 }], { duration: 250, easing: "ease-out", fill: "forwards" }), a.onfinish = () => {
|
|
238
|
-
this.overlayElement?.remove(), this.overlayElement = void 0, document.body.style.overflow = "";
|
|
239
|
-
};
|
|
240
|
-
} else
|
|
241
|
-
this.overlayElement.animate([{ opacity: 1 }, { opacity: 0 }], { duration: 250, easing: "ease-out", fill: "forwards" }).onfinish = () => {
|
|
242
|
-
this.overlayElement?.remove(), this.overlayElement = void 0, document.body.style.overflow = "";
|
|
243
|
-
};
|
|
244
|
-
this.keyHandler && (document.removeEventListener("keydown", this.keyHandler), this.keyHandler = void 0);
|
|
245
|
-
}
|
|
246
|
-
prev() {
|
|
247
|
-
this.currentIndex = (this.currentIndex - 1 + this.images.length) % this.images.length, this.updateImage();
|
|
248
|
-
}
|
|
249
|
-
next() {
|
|
250
|
-
this.currentIndex = (this.currentIndex + 1) % this.images.length, this.updateImage();
|
|
251
|
-
}
|
|
252
|
-
updateImage() {
|
|
253
|
-
this.overlayElement && $(this.renderLightbox(), this.overlayElement);
|
|
254
|
-
}
|
|
255
|
-
renderLightbox() {
|
|
256
|
-
const e = this.images[this.currentIndex], t = this.images.length > 1;
|
|
257
|
-
return h`
|
|
258
|
-
<div
|
|
259
|
-
data-lightbox-content
|
|
260
|
-
class="relative"
|
|
261
|
-
style=${w({ transformOrigin: "center center" })}
|
|
262
|
-
@click=${(i) => i.stopPropagation()}
|
|
263
|
-
>
|
|
264
|
-
<!-- Close button -->
|
|
265
|
-
<button
|
|
266
|
-
class="absolute top-2 right-2 z-10 w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center text-white transition-colors"
|
|
267
|
-
@click=${() => this.close()}
|
|
268
|
-
aria-label="Close"
|
|
269
|
-
>
|
|
270
|
-
<span class="text-2xl">×</span>
|
|
271
|
-
</button>
|
|
272
|
-
|
|
273
|
-
<!-- Image container with optional overlay -->
|
|
274
|
-
<div class="relative">
|
|
275
|
-
<img
|
|
276
|
-
src=${e}
|
|
277
|
-
${te({ sourceElement: this.element, position: this.clickPosition, duration: 600, scale: !0, blackbird: !0 })}
|
|
278
|
-
class="object-contain rounded-lg"
|
|
279
|
-
style="max-height: calc(100vh - 40px); max-width: 90vw;"
|
|
280
|
-
@click=${() => !t && this.close()}
|
|
281
|
-
/>
|
|
282
|
-
${this.overlay ? this.overlay : ""}
|
|
283
|
-
</div>
|
|
284
|
-
|
|
285
|
-
<!-- Gallery controls -->
|
|
286
|
-
${t ? h`
|
|
287
|
-
<div class="flex items-center justify-center gap-4 text-white mt-4">
|
|
288
|
-
<button
|
|
289
|
-
class="w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors"
|
|
290
|
-
@click=${() => this.prev()}
|
|
291
|
-
aria-label="Previous"
|
|
292
|
-
>
|
|
293
|
-
←
|
|
294
|
-
</button>
|
|
295
|
-
|
|
296
|
-
<div class="text-lg">${this.currentIndex + 1} / ${this.images.length}</div>
|
|
297
|
-
|
|
298
|
-
<button
|
|
299
|
-
class="w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors"
|
|
300
|
-
@click=${() => this.next()}
|
|
301
|
-
aria-label="Next"
|
|
302
|
-
>
|
|
303
|
-
→
|
|
304
|
-
</button>
|
|
305
|
-
</div>
|
|
306
|
-
` : ""}
|
|
307
|
-
</div>
|
|
308
|
-
`;
|
|
309
|
-
}
|
|
310
|
-
disconnected() {
|
|
311
|
-
this.element && this.clickHandler && this.element.removeEventListener("click", this.clickHandler), this.close();
|
|
312
|
-
}
|
|
313
|
-
});
|
|
314
|
-
class g {
|
|
315
|
-
constructor() {
|
|
316
|
-
this.pushSubject = new S(), this.dismissSubject = new S(), this.setupLightboxOpeningLogic(), this.setupLightboxDismissLogic();
|
|
317
|
-
}
|
|
318
|
-
static getInstance() {
|
|
319
|
-
return g.instance || (g.instance = new g()), g.instance;
|
|
320
|
-
}
|
|
321
|
-
setupLightboxOpeningLogic() {
|
|
322
|
-
this.pushSubject.pipe(U((t) => Q("schmancy-theme").pipe(W((i) => {
|
|
323
|
-
const s = i || document.body, a = document.createElement("div");
|
|
324
|
-
return a.className = "fixed inset-0 flex items-center justify-center opacity-0 bg-black/95 backdrop-blur-sm", a.style.zIndex = "1000", s.appendChild(a), document.body.style.overflow = "hidden", { overlay: a, config: t, container: s };
|
|
325
|
-
}))), v(({ overlay: t, config: i }) => {
|
|
326
|
-
let s = [], a = 0;
|
|
327
|
-
i.images && i.images.length > 0 ? (s = i.images, a = i.index || 0) : i.image && (s = [i.image], a = 0), this.activeLightbox = { element: t, config: i, currentIndex: a, images: s }, f(document, "keydown").pipe(O(this.dismissSubject), H(() => !!this.activeLightbox), v((n) => {
|
|
328
|
-
n.key === "Escape" && this.dismiss(), n.key === "ArrowLeft" && this.activeLightbox.images.length > 1 && this.navigatePrev(), n.key === "ArrowRight" && this.activeLightbox.images.length > 1 && this.navigateNext();
|
|
329
|
-
})).subscribe(), f(t, "click").pipe(O(this.dismissSubject), H((n) => n.target === t), v(() => this.dismiss())).subscribe(), i.component ? this.renderComponent(t, i) : this.renderLightbox(t, i, s, a), requestAnimationFrame(() => {
|
|
330
|
-
t.animate([{ opacity: 0 }, { opacity: 1 }], { duration: 300, easing: "cubic-bezier(0.25, 1, 0.5, 1)", fill: "forwards" });
|
|
331
|
-
});
|
|
332
|
-
})).subscribe();
|
|
333
|
-
}
|
|
334
|
-
setupLightboxDismissLogic() {
|
|
335
|
-
this.dismissSubject.pipe(v(() => {
|
|
336
|
-
if (!this.activeLightbox) return;
|
|
337
|
-
const { element: t } = this.activeLightbox;
|
|
338
|
-
t.animate([{ opacity: 1 }, { opacity: 0 }], { duration: 250, easing: "ease-out", fill: "forwards" }).onfinish = () => {
|
|
339
|
-
t.remove(), document.body.style.overflow = "";
|
|
340
|
-
}, this.activeLightbox = void 0;
|
|
341
|
-
})).subscribe();
|
|
342
|
-
}
|
|
343
|
-
push(t) {
|
|
344
|
-
this.activeLightbox && this.dismiss(), this.pushSubject.next(t);
|
|
345
|
-
}
|
|
346
|
-
dismiss() {
|
|
347
|
-
this.dismissSubject.next();
|
|
348
|
-
}
|
|
349
|
-
navigatePrev() {
|
|
350
|
-
if (!this.activeLightbox || this.activeLightbox.images.length <= 1) return;
|
|
351
|
-
const { images: t, config: i, element: s } = this.activeLightbox;
|
|
352
|
-
this.activeLightbox.currentIndex = (this.activeLightbox.currentIndex - 1 + t.length) % t.length, this.renderLightbox(s, i, t, this.activeLightbox.currentIndex);
|
|
353
|
-
}
|
|
354
|
-
navigateNext() {
|
|
355
|
-
if (!this.activeLightbox || this.activeLightbox.images.length <= 1) return;
|
|
356
|
-
const { images: t, config: i, element: s } = this.activeLightbox;
|
|
357
|
-
this.activeLightbox.currentIndex = (this.activeLightbox.currentIndex + 1) % t.length, this.renderLightbox(s, i, t, this.activeLightbox.currentIndex);
|
|
358
|
-
}
|
|
359
|
-
renderComponent(t, i) {
|
|
360
|
-
if (!i.component) return;
|
|
361
|
-
let s;
|
|
362
|
-
s = typeof i.component == "string" ? document.createElement(i.component) : new i.component(), i.props && Object.entries(i.props).forEach(([o, l]) => {
|
|
363
|
-
s[o] = l;
|
|
364
|
-
});
|
|
365
|
-
const a = h`
|
|
366
|
-
<div class="relative" @click=${(o) => o.stopPropagation()}>
|
|
367
|
-
<!-- Close button -->
|
|
368
|
-
<button
|
|
369
|
-
class="absolute -top-12 right-0 z-10 w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center text-white transition-colors"
|
|
370
|
-
@click=${() => this.dismiss()}
|
|
371
|
-
aria-label="Close"
|
|
372
|
-
>
|
|
373
|
-
<span class="text-2xl">×</span>
|
|
374
|
-
</button>
|
|
375
|
-
|
|
376
|
-
<!-- Component container -->
|
|
377
|
-
<div id="lightbox-component-container"></div>
|
|
378
|
-
</div>
|
|
379
|
-
`;
|
|
380
|
-
$(a, t);
|
|
381
|
-
const n = t.querySelector("#lightbox-component-container");
|
|
382
|
-
n && n.appendChild(s);
|
|
383
|
-
}
|
|
384
|
-
renderLightbox(t, i, s, a) {
|
|
385
|
-
const n = s[a], o = s.length > 1;
|
|
386
|
-
let l = null;
|
|
387
|
-
i.overlay && (typeof i.overlay == "string" ? l = document.createElement(i.overlay) : typeof i.overlay == "function" && (l = new i.overlay()), i.props && l && Object.entries(i.props).forEach(([r, c]) => {
|
|
388
|
-
l[r] = c;
|
|
389
|
-
}));
|
|
390
|
-
const d = h`
|
|
391
|
-
<div
|
|
392
|
-
class="relative"
|
|
393
|
-
style=${w({ maxWidth: "90vw", maxHeight: "90vh" })}
|
|
394
|
-
@click=${(r) => r.stopPropagation()}
|
|
395
|
-
>
|
|
396
|
-
<!-- Close button -->
|
|
397
|
-
<button
|
|
398
|
-
class="absolute top-4 right-4 z-10 w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center text-white transition-colors"
|
|
399
|
-
@click=${() => this.dismiss()}
|
|
400
|
-
aria-label="Close"
|
|
401
|
-
>
|
|
402
|
-
<span class="text-2xl">×</span>
|
|
403
|
-
</button>
|
|
404
|
-
|
|
405
|
-
<!-- Image container with optional overlay -->
|
|
406
|
-
<div class="relative" id="lightbox-image-container">
|
|
407
|
-
<img
|
|
408
|
-
src=${n}
|
|
409
|
-
class="max-w-full object-contain rounded-lg"
|
|
410
|
-
style=${w({ maxHeight: "85vh" })}
|
|
411
|
-
@click=${() => !o && this.dismiss()}
|
|
412
|
-
/>
|
|
413
|
-
</div>
|
|
414
|
-
|
|
415
|
-
<!-- Gallery controls -->
|
|
416
|
-
${o ? h`
|
|
417
|
-
<div
|
|
418
|
-
class="absolute left-1/2 -translate-x-1/2 flex items-center gap-4 text-white"
|
|
419
|
-
style=${w({ bottom: "-60px" })}
|
|
420
|
-
>
|
|
421
|
-
<button
|
|
422
|
-
class="w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors"
|
|
423
|
-
@click=${() => this.navigatePrev()}
|
|
424
|
-
aria-label="Previous"
|
|
425
|
-
>
|
|
426
|
-
←
|
|
427
|
-
</button>
|
|
428
|
-
|
|
429
|
-
<div class="text-lg">${a + 1} / ${s.length}</div>
|
|
430
|
-
|
|
431
|
-
<button
|
|
432
|
-
class="w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors"
|
|
433
|
-
@click=${() => this.navigateNext()}
|
|
434
|
-
aria-label="Next"
|
|
435
|
-
>
|
|
436
|
-
→
|
|
437
|
-
</button>
|
|
438
|
-
</div>
|
|
439
|
-
` : ""}
|
|
440
|
-
</div>
|
|
441
|
-
`;
|
|
442
|
-
if ($(d, t), l) {
|
|
443
|
-
const r = t.querySelector("#lightbox-image-container");
|
|
444
|
-
if (r) {
|
|
445
|
-
const c = r.querySelector("[data-lightbox-overlay]");
|
|
446
|
-
c && c.remove(), l.setAttribute("data-lightbox-overlay", ""), r.appendChild(l);
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
const pe = Object.assign((e) => ie(e), { push: (e) => g.getInstance().push(e), dismiss: () => g.getInstance().dismiss() });
|
|
452
|
-
export {
|
|
453
|
-
m as S,
|
|
454
|
-
pe as a,
|
|
455
|
-
te as f,
|
|
456
|
-
ie as l
|
|
457
|
-
};
|
|
458
|
-
//# sourceMappingURL=lightbox-service-DZMnb1eU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lightbox-service-DZMnb1eU.js","sources":["../src/lightbox/lightbox.ts","../src/lightbox/flip-directive.ts","../src/lightbox/lightbox.directive.ts","../src/lightbox/lightbox-service.ts"],"sourcesContent":["import { css, html, PropertyValues } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { ref, createRef, Ref } from 'lit/directives/ref.js'\nimport { fromEvent } from 'rxjs'\nimport { filter, takeUntil, tap, switchMap, map, first } from 'rxjs/operators'\nimport { $LitElement } from '@mixins/index'\n\n@customElement('schmancy-lightbox')\nexport class SchmancyLightbox extends $LitElement(css`\n\t:host {\n\t\tdisplay: contents;\n\t}\n`) {\n\t@property({ type: String }) src: string = ''\n\t@property({ type: Array }) images: string[] = []\n\t@property({ type: Number }) initialIndex: number = 0\n\t@property({ type: Boolean }) open: boolean = false\n\n\t@state() private currentIndex: number = 0\n\t@state() private isLoading: boolean = false\n\n\tprivate readonly swipeThreshold = 50\n\tprivate overlayRef: Ref<HTMLDivElement> = createRef()\n\tprivate contentRef: Ref<HTMLDivElement> = createRef()\n\tprivate imageRef: Ref<HTMLImageElement> = createRef()\n\n\tprivate get isGalleryMode(): boolean {\n\t\treturn this.images.length > 0\n\t}\n\n\tprivate get currentImageSrc(): string {\n\t\tif (this.isGalleryMode) {\n\t\t\treturn this.images[this.currentIndex] || ''\n\t\t}\n\t\treturn this.src\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.currentIndex = this.initialIndex\n\t}\n\n\tupdated(changedProperties: PropertyValues) {\n\t\tsuper.updated(changedProperties)\n\n\t\tif (changedProperties.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tdocument.body.style.overflow = 'hidden'\n\t\t\t\tthis.animateIn()\n\t\t\t\tthis.setupEventListeners()\n\t\t\t} else {\n\t\t\t\tdocument.body.style.overflow = ''\n\t\t\t\tthis.animateOut()\n\t\t\t}\n\t\t}\n\n\t\tif (changedProperties.has('initialIndex')) {\n\t\t\tthis.currentIndex = this.initialIndex\n\t\t}\n\n\t\tif (changedProperties.has('currentIndex') && this.open) {\n\t\t\tthis.animateImageChange()\n\t\t}\n\t}\n\n\tprivate animateIn() {\n\t\tconst overlay = this.overlayRef.value\n\t\tconst content = this.contentRef.value\n\t\tconst image = this.imageRef.value\n\n\t\tif (overlay) {\n\t\t\t// Set initial styles\n\t\t\toverlay.style.backgroundColor = 'rgba(0, 0, 0, 0)'\n\t\t\toverlay.style.opacity = '0'\n\n\t\t\t// Animate to visible state\n\t\t\toverlay.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 0 },\n\t\t\t\t\t{ opacity: 1 },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 300,\n\t\t\t\t\teasing: 'cubic-bezier(0.25, 1, 0.5, 1)',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\n\t\t\t// Manually set background color after a tick\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\toverlay.style.backgroundColor = 'rgba(0, 0, 0, 0.95)'\n\t\t\t})\n\t\t}\n\n\t\tif (content) {\n\t\t\tcontent.animate(\n\t\t\t\t[\n\t\t\t\t\t{ transform: 'scale(0.95)', opacity: 0 },\n\t\t\t\t\t{ transform: 'scale(1)', opacity: 1 },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 400,\n\t\t\t\t\tdelay: 100,\n\t\t\t\t\teasing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', // Spring effect\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\n\t\tif (image) {\n\t\t\timage.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 0, transform: 'scale(0.98)' },\n\t\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 350,\n\t\t\t\t\tdelay: 150,\n\t\t\t\t\teasing: 'cubic-bezier(0.25, 1, 0.5, 1)',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate animateOut() {\n\t\tconst overlay = this.overlayRef.value\n\t\tconst content = this.contentRef.value\n\t\tconst image = this.imageRef.value\n\n\t\tif (image) {\n\t\t\timage.animate(\n\t\t\t\t[\n\t\t\t\t\t{ transform: 'scale(1)', opacity: 1 },\n\t\t\t\t\t{ transform: 'scale(0.95)', opacity: 0 },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 200,\n\t\t\t\t\teasing: 'ease-out',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\n\t\tif (content) {\n\t\t\tcontent.animate(\n\t\t\t\t[\n\t\t\t\t\t{ transform: 'scale(1)', opacity: 1 },\n\t\t\t\t\t{ transform: 'scale(0.95)', opacity: 0 },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 250,\n\t\t\t\t\teasing: 'ease-out',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\n\t\tif (overlay) {\n\t\t\tconst animation = overlay.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1 },\n\t\t\t\t\t{ opacity: 0 },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 250,\n\t\t\t\t\tdelay: 50,\n\t\t\t\t\teasing: 'ease-out',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\n\t\t\tanimation.onfinish = () => {\n\t\t\t\t// Reset background color\n\t\t\t\toverlay.style.backgroundColor = 'rgba(0, 0, 0, 0)'\n\t\t\t\tthis.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }))\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate animateImageChange() {\n\t\tconst image = this.imageRef.value\n\t\tif (!image) return\n\n\t\t// Fade out\n\t\tconst fadeOut = image.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.98)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 150,\n\t\t\t\teasing: 'ease-out',\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\n\t\t// Fade in after fade out completes\n\t\tfadeOut.onfinish = () => {\n\t\t\timage.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 0, transform: 'scale(0.98)' },\n\t\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 200,\n\t\t\t\t\teasing: 'cubic-bezier(0.25, 1, 0.5, 1)',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate setupEventListeners() {\n\t\t// Keyboard navigation\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(() => this.open),\n\t\t\t\ttap(e => {\n\t\t\t\t\tswitch (e.key) {\n\t\t\t\t\t\tcase 'Escape':\n\t\t\t\t\t\t\tthis.handleClose()\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\t\t\tthis.handlePrevious()\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\t\t\tthis.handleNext()\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// Touch/swipe events for mobile\n\t\tif (!this.isGalleryMode || this.images.length <= 1) return\n\n\t\tconst content = this.contentRef.value\n\t\tif (!content) return\n\n\t\tconst touchStart$ = fromEvent<TouchEvent>(content, 'touchstart')\n\t\tconst touchEnd$ = fromEvent<TouchEvent>(content, 'touchend')\n\n\t\ttouchStart$\n\t\t\t.pipe(\n\t\t\t\tswitchMap(startEvent => {\n\t\t\t\t\tconst startX = startEvent.touches[0].clientX\n\t\t\t\t\treturn touchEnd$.pipe(\n\t\t\t\t\t\tfirst(),\n\t\t\t\t\t\tmap(endEvent => {\n\t\t\t\t\t\t\tconst endX = endEvent.changedTouches[0].clientX\n\t\t\t\t\t\t\treturn endX - startX\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\tfilter(distance => Math.abs(distance) > this.swipeThreshold),\n\t\t\t\ttap(distance => (distance > 0 ? this.handlePrevious() : this.handleNext())),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tprivate handleClose = () => {\n\t\tthis.open = false\n\t}\n\n\tprivate handlePrevious = () => {\n\t\tif (this.isGalleryMode && this.images.length > 1) {\n\t\t\tthis.isLoading = true\n\t\t\tthis.currentIndex = (this.currentIndex - 1 + this.images.length) % this.images.length\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { index: this.currentIndex },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate handleNext = () => {\n\t\tif (this.isGalleryMode && this.images.length > 1) {\n\t\t\tthis.isLoading = true\n\t\t\tthis.currentIndex = (this.currentIndex + 1) % this.images.length\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail: { index: this.currentIndex },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate handleImageLoad = () => {\n\t\tthis.isLoading = false\n\t}\n\n\tprivate handleOverlayClick = (e: Event) => {\n\t\t// Close when clicking the overlay (not the content)\n\t\tif (e.target === e.currentTarget) {\n\t\t\tthis.handleClose()\n\t\t}\n\t}\n\n\trender() {\n\t\tif (!this.open) return html``\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\t${ref(this.overlayRef)}\n\t\t\t\tclass=\"fixed inset-0 z-9999 flex items-center justify-center backdrop-blur-sm\"\n\t\t\t\t@click=${this.handleOverlayClick}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\t${ref(this.contentRef)}\n\t\t\t\t\tclass=\"relative max-w-[90vw] max-h-[90vh]\"\n\t\t\t\t\t@click=${(e: Event) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t<!-- Close Button -->\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"absolute top-4 right-4 md:top-4 md:right-4 sm:top-2 sm:right-2 bg-white/15 backdrop-blur-md border border-white/20 text-white w-11 h-11 rounded-full flex items-center justify-center cursor-pointer z-10 transition-all duration-200 hover:bg-white/25 hover:scale-105 active:scale-95\"\n\t\t\t\t\t\t@click=${this.handleClose}\n\t\t\t\t\t\taria-label=\"Close lightbox\"\n\t\t\t\t\t\ttitle=\"Close (Esc)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-icon>close</schmancy-icon>\n\t\t\t\t\t</button>\n\n\t\t\t\t\t<!-- Touch Zones for Gallery Navigation -->\n\t\t\t\t\t${when(\n\t\t\t\t\t\tthis.isGalleryMode && this.images.length > 1,\n\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"absolute top-0 bottom-0 left-0 w-1/3 cursor-pointer z-5\"\n\t\t\t\t\t\t\t\t@click=${this.handlePrevious}\n\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"absolute top-0 bottom-0 right-0 w-1/3 cursor-pointer z-5\"\n\t\t\t\t\t\t\t\t@click=${this.handleNext}\n\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t)}\n\n\t\t\t\t\t<!-- Loading Spinner -->\n\t\t\t\t\t${when(\n\t\t\t\t\t\tthis.isLoading,\n\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t<div class=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\">\n\t\t\t\t\t\t\t\t<schmancy-progress indeterminate></schmancy-progress>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t)}\n\n\t\t\t\t\t<!-- Main Image -->\n\t\t\t\t\t<img\n\t\t\t\t\t\t${ref(this.imageRef)}\n\t\t\t\t\t\tclass=\"max-w-[90vw] max-h-[90vh] object-contain rounded select-none touch-pinch-zoom ${this\n\t\t\t\t\t\t\t.isGalleryMode\n\t\t\t\t\t\t\t? 'cursor-default'\n\t\t\t\t\t\t\t: 'cursor-pointer'}\"\n\t\t\t\t\t\t.src=${this.currentImageSrc}\n\t\t\t\t\t\talt=\"Full size image\"\n\t\t\t\t\t\t@load=${this.handleImageLoad}\n\t\t\t\t\t\t@click=${() => (!this.isGalleryMode ? this.handleClose() : null)}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<!-- Navigation Controls (Gallery Mode Only) -->\n\t\t\t\t\t${when(\n\t\t\t\t\t\tthis.isGalleryMode && this.images.length > 1,\n\t\t\t\t\t\t() => html`\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"absolute bottom-[-3.5rem] md:bottom-[-3.5rem] sm:bottom-[-3rem] left-1/2 -translate-x-1/2 flex items-center gap-4 z-10\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclass=\"bg-white/15 backdrop-blur-md border border-white/20 text-white w-10 h-10 rounded-full flex items-center justify-center cursor-pointer transition-all duration-200 hover:bg-white/25 hover:scale-105 active:scale-95\"\n\t\t\t\t\t\t\t\t\t@click=${this.handlePrevious}\n\t\t\t\t\t\t\t\t\taria-label=\"Previous image\"\n\t\t\t\t\t\t\t\t\ttitle=\"Previous (←)\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<schmancy-icon>arrow_back</schmancy-icon>\n\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t<div class=\"text-white text-base font-medium min-w-16 text-center\" aria-live=\"polite\">\n\t\t\t\t\t\t\t\t\t${this.currentIndex + 1} / ${this.images.length}\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclass=\"bg-white/15 backdrop-blur-md border border-white/20 text-white w-10 h-10 rounded-full flex items-center justify-center cursor-pointer transition-all duration-200 hover:bg-white/25 hover:scale-105 active:scale-95\"\n\t\t\t\t\t\t\t\t\t@click=${this.handleNext}\n\t\t\t\t\t\t\t\t\taria-label=\"Next image\"\n\t\t\t\t\t\t\t\t\ttitle=\"Next (→)\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<schmancy-icon>arrow_forward</schmancy-icon>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-lightbox': SchmancyLightbox\n\t}\n}\n","import { directive, PartInfo, PartType, ElementPart } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { noChange } from 'lit'\n\nexport interface FlipOptions {\n\t/** Source element to animate from (uses element's bounding rect) */\n\tsourceElement?: HTMLElement\n\t/** Click position - can be MouseEvent, TouchEvent, or {x, y} coordinates */\n\tposition?: { x: number; y: number } | MouseEvent | TouchEvent\n\t/** Animation duration in ms (total for both stages) */\n\tduration?: number\n\t/** CSS easing function */\n\teasing?: string\n\t/** Whether to animate scale (default: true) */\n\tscale?: boolean\n\t/** Enable blackbird two-stage arc animation (default: true) */\n\tblackbird?: boolean\n}\n\n/** Extract x,y coordinates from various position inputs */\nfunction extractPosition(pos: FlipOptions['position']): { x: number; y: number } | null {\n\tif (!pos) return null\n\n\tif ('clientX' in pos) {\n\t\t// MouseEvent\n\t\treturn { x: pos.clientX, y: pos.clientY }\n\t} else if ('touches' in pos && pos.touches.length) {\n\t\t// TouchEvent\n\t\treturn { x: pos.touches[0].clientX, y: pos.touches[0].clientY }\n\t} else if ('x' in pos && 'y' in pos) {\n\t\t// Position object\n\t\treturn { x: pos.x, y: pos.y }\n\t}\n\n\treturn null\n}\n\n/**\n * Calculate arc control point for bird-like curved trajectory\n * Birds arc UP when taking off and arc DOWN when landing\n */\nfunction calculateArcPoint(\n\tstart: { x: number; y: number },\n\tend: { x: number; y: number },\n\tarcDirection: 'up' | 'down' = 'up',\n\tintensity: number = 0.3,\n): { x: number; y: number } {\n\tconst midX = (start.x + end.x) / 2\n\tconst midY = (start.y + end.y) / 2\n\tconst distance = Math.sqrt(Math.pow(end.x - start.x, 2) + Math.pow(end.y - start.y, 2))\n\n\t// Arc height proportional to distance, but capped\n\tconst arcHeight = Math.min(distance * intensity, 150)\n\n\treturn {\n\t\tx: midX,\n\t\ty: arcDirection === 'up' ? midY - arcHeight : midY + arcHeight,\n\t}\n}\n\nclass FlipDirective extends AsyncDirective {\n\tprivate element?: HTMLElement\n\tprivate hasAnimated = false\n\n\tconstructor(partInfo: PartInfo) {\n\t\tsuper(partInfo)\n\t\tif (partInfo.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('flip directive can only be used on elements')\n\t\t}\n\t}\n\n\trender(_options?: FlipOptions) {\n\t\treturn noChange\n\t}\n\n\tupdate(part: ElementPart, [options]: [FlipOptions?]) {\n\t\tthis.element = part.element as HTMLElement\n\n\t\t// Animate if we have either a source element or position\n\t\tconst hasSource = options?.sourceElement || options?.position\n\t\tif (!this.hasAnimated && hasSource) {\n\t\t\tthis.hasAnimated = true\n\t\t\tthis.animateIn(options)\n\t\t}\n\n\t\treturn noChange\n\t}\n\n\tprivate animateIn(options?: FlipOptions) {\n\t\tif (!this.element) return\n\n\t\t// Check reduced motion preference\n\t\tif (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return\n\n\t\tconst totalDuration = options?.duration ?? 600\n\t\tconst animateScale = options?.scale !== false\n\t\tconst useBlackbird = options?.blackbird !== false\n\n\t\t// Get positions\n\t\tconst clickPos = extractPosition(options?.position)\n\t\tconst sourceRect = options?.sourceElement?.getBoundingClientRect()\n\n\t\tconst animate = () => {\n\t\t\tconst targetRect = this.element!.getBoundingClientRect()\n\t\t\tconst targetCenter = {\n\t\t\t\tx: targetRect.left + targetRect.width / 2,\n\t\t\t\ty: targetRect.top + targetRect.height / 2,\n\t\t\t}\n\n\t\t\t// Determine source point\n\t\t\tlet sourceCenter: { x: number; y: number }\n\t\t\tlet sourceScale = { x: 0.1, y: 0.1 }\n\n\t\t\tif (sourceRect) {\n\t\t\t\tsourceCenter = {\n\t\t\t\t\tx: sourceRect.left + sourceRect.width / 2,\n\t\t\t\t\ty: sourceRect.top + sourceRect.height / 2,\n\t\t\t\t}\n\t\t\t\tif (animateScale) {\n\t\t\t\t\tsourceScale = {\n\t\t\t\t\t\tx: sourceRect.width / targetRect.width,\n\t\t\t\t\t\ty: sourceRect.height / targetRect.height,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (clickPos) {\n\t\t\t\tsourceCenter = clickPos\n\t\t\t} else {\n\t\t\t\tsourceCenter = { x: window.innerWidth / 2, y: window.innerHeight / 2 }\n\t\t\t}\n\n\t\t\t// Calculate deltas from target (where element is) to source (where we start)\n\t\t\tconst sourceDelta = {\n\t\t\t\tx: sourceCenter.x - targetCenter.x,\n\t\t\t\ty: sourceCenter.y - targetCenter.y,\n\t\t\t}\n\n\t\t\tif (useBlackbird && clickPos && sourceRect) {\n\t\t\t\t// TWO-STAGE BLACKBIRD ANIMATION\n\t\t\t\t// Stage 1: Source element → Click position (takeoff arc - UP)\n\t\t\t\t// Stage 2: Click position → Final destination (landing arc - DOWN)\n\n\t\t\t\tconst clickDelta = {\n\t\t\t\t\tx: clickPos.x - targetCenter.x,\n\t\t\t\t\ty: clickPos.y - targetCenter.y,\n\t\t\t\t}\n\n\t\t\t\t// Calculate arc control points\n\t\t\t\tconst takeoffArc = calculateArcPoint(sourceCenter, clickPos, 'up', 0.4)\n\t\t\t\tconst landingArc = calculateArcPoint(clickPos, targetCenter, 'down', 0.3)\n\n\t\t\t\t// Arc deltas relative to target\n\t\t\t\tconst takeoffArcDelta = {\n\t\t\t\t\tx: takeoffArc.x - targetCenter.x,\n\t\t\t\t\ty: takeoffArc.y - targetCenter.y,\n\t\t\t\t}\n\t\t\t\tconst landingArcDelta = {\n\t\t\t\t\tx: landingArc.x - targetCenter.x,\n\t\t\t\t\ty: landingArc.y - targetCenter.y,\n\t\t\t\t}\n\n\t\t\t\t// Intermediate scale at click position\n\t\t\t\tconst midScale = 0.3\n\n\t\t\t\t// Create keyframes for two-stage arc animation\n\t\t\t\t// 0% → 25% → 50% → 75% → 100%\n\t\t\t\t// Source → Takeoff Arc → Click → Landing Arc → Final\n\t\t\t\tthis.element!.animate(\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// 0% - Start at source element\n\t\t\t\t\t\t\ttransform: `translate(${sourceDelta.x}px, ${sourceDelta.y}px) scale(${sourceScale.x}, ${sourceScale.y})`,\n\t\t\t\t\t\t\topacity: 0.6,\n\t\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// 25% - Peak of takeoff arc (bird lifts up)\n\t\t\t\t\t\t\ttransform: `translate(${takeoffArcDelta.x}px, ${takeoffArcDelta.y}px) scale(${midScale * 0.7})`,\n\t\t\t\t\t\t\topacity: 0.8,\n\t\t\t\t\t\t\toffset: 0.25,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// 50% - At click position (transition point)\n\t\t\t\t\t\t\ttransform: `translate(${clickDelta.x}px, ${clickDelta.y}px) scale(${midScale})`,\n\t\t\t\t\t\t\topacity: 0.9,\n\t\t\t\t\t\t\toffset: 0.5,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// 75% - Landing arc (bird descends toward target)\n\t\t\t\t\t\t\ttransform: `translate(${landingArcDelta.x}px, ${landingArcDelta.y}px) scale(0.6)`,\n\t\t\t\t\t\t\topacity: 0.95,\n\t\t\t\t\t\t\toffset: 0.75,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// 100% - Final position\n\t\t\t\t\t\t\ttransform: 'translate(0, 0) scale(1)',\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\toffset: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t{\n\t\t\t\t\t\tduration: totalDuration,\n\t\t\t\t\t\teasing: 'cubic-bezier(0.34, 1.2, 0.64, 1)', // Slight overshoot for organic feel\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t} else if (useBlackbird && clickPos) {\n\t\t\t\t// SINGLE-STAGE with arc (click position to final)\n\t\t\t\tconst arcPoint = calculateArcPoint(clickPos, targetCenter, 'down', 0.35)\n\t\t\t\tconst arcDelta = {\n\t\t\t\t\tx: arcPoint.x - targetCenter.x,\n\t\t\t\t\ty: arcPoint.y - targetCenter.y,\n\t\t\t\t}\n\n\t\t\t\tthis.element!.animate(\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttransform: `translate(${sourceDelta.x}px, ${sourceDelta.y}px) scale(0.1)`,\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttransform: `translate(${arcDelta.x}px, ${arcDelta.y}px) scale(0.5)`,\n\t\t\t\t\t\t\topacity: 0.8,\n\t\t\t\t\t\t\toffset: 0.5,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttransform: 'translate(0, 0) scale(1)',\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\toffset: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t{\n\t\t\t\t\t\tduration: totalDuration,\n\t\t\t\t\t\teasing: 'cubic-bezier(0.34, 1.2, 0.64, 1)',\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\t// SIMPLE animation (fallback)\n\t\t\t\tthis.element!.animate(\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttransform: `translate(${sourceDelta.x}px, ${sourceDelta.y}px) scale(${sourceScale.x}, ${sourceScale.y})`,\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ transform: 'translate(0, 0) scale(1, 1)', opacity: 1 },\n\t\t\t\t\t],\n\t\t\t\t\t{\n\t\t\t\t\t\tduration: totalDuration,\n\t\t\t\t\t\teasing: options?.easing ?? 'cubic-bezier(0.34, 1.56, 0.64, 1)',\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\t// Handle image loading\n\t\tif (this.element instanceof HTMLImageElement) {\n\t\t\tif (this.element.complete) {\n\t\t\t\trequestAnimationFrame(animate)\n\t\t\t} else {\n\t\t\t\tthis.element.onload = () => requestAnimationFrame(animate)\n\t\t\t}\n\t\t} else {\n\t\t\trequestAnimationFrame(animate)\n\t\t}\n\t}\n}\n\nexport const flip = directive(FlipDirective)\n","import { directive, PartInfo, PartType, ElementPart } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { noChange, TemplateResult } from 'lit'\nimport { html, render } from 'lit'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { flip } from './flip-directive.js'\n\nexport interface LightboxOptions {\n\timages?: string[]\n\tindex?: number\n\toverlay?: TemplateResult\n}\n\nclass LightboxDirective extends AsyncDirective {\n\tprivate element?: HTMLImageElement\n\tprivate clickHandler?: EventListener\n\tprivate keyHandler?: EventListener\n\tprivate overlayElement?: HTMLDivElement\n\tprivate currentIndex = 0\n\tprivate images: string[] = []\n\tprivate overlay?: TemplateResult\n\tprivate clickPosition?: { x: number; y: number }\n\n\tconstructor(partInfo: PartInfo) {\n\t\tsuper(partInfo)\n\t\tif (partInfo.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('lightbox directive can only be used on elements')\n\t\t}\n\t}\n\n\trender(_options?: LightboxOptions) {\n\t\treturn noChange\n\t}\n\n\tupdate(part: ElementPart, [options]: [LightboxOptions?]) {\n\t\tthis.element = part.element as HTMLImageElement\n\n\t\t// Setup click handler\n\t\tif (!this.clickHandler) {\n\t\t\tthis.clickHandler = (e: Event) => {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopPropagation()\n\n\t\t\t\t// Capture click position from MouseEvent or TouchEvent\n\t\t\t\tif ('clientX' in e) {\n\t\t\t\t\tthis.clickPosition = { x: (e as MouseEvent).clientX, y: (e as MouseEvent).clientY }\n\t\t\t\t} else if ('touches' in e && (e as TouchEvent).touches.length) {\n\t\t\t\t\tconst touch = (e as TouchEvent).touches[0]\n\t\t\t\t\tthis.clickPosition = { x: touch.clientX, y: touch.clientY }\n\t\t\t\t}\n\n\t\t\t\tif (options?.images && options.images.length > 0) {\n\t\t\t\t\tthis.images = options.images\n\t\t\t\t\tthis.currentIndex = options.index || 0\n\t\t\t\t} else {\n\t\t\t\t\tthis.images = [this.element!.src]\n\t\t\t\t\tthis.currentIndex = 0\n\t\t\t\t}\n\t\t\t\tthis.overlay = options?.overlay\n\n\t\t\t\tthis.open()\n\t\t\t}\n\n\t\t\tthis.element.addEventListener('click', this.clickHandler)\n\t\t\tthis.element.style.cursor = 'pointer'\n\t\t\tthis.element.classList.add('hover:opacity-80', 'transition-opacity')\n\t\t}\n\n\t\treturn noChange\n\t}\n\n\tprivate open() {\n\t\t// Create overlay container with flex centering\n\t\tthis.overlayElement = document.createElement('div')\n\t\tthis.overlayElement.className = 'fixed inset-0 flex items-center justify-center opacity-0 bg-black/95 backdrop-blur-sm'\n\t\tthis.overlayElement.style.zIndex = '1000'\n\n\t\t// Render lightbox content using Lit\n\t\trender(this.renderLightbox(), this.overlayElement)\n\n\t\t// Add to body\n\t\tdocument.body.appendChild(this.overlayElement)\n\t\tdocument.body.style.overflow = 'hidden'\n\n\t\t// Animate in overlay\n\t\trequestAnimationFrame(() => {\n\t\t\tthis.overlayElement!.animate([{ opacity: 0 }, { opacity: 1 }], {\n\t\t\t\tduration: 300,\n\t\t\t\teasing: 'cubic-bezier(0.25, 1, 0.5, 1)',\n\t\t\t\tfill: 'forwards',\n\t\t\t})\n\t\t})\n\n\t\t// Setup keyboard\n\t\tthis.keyHandler = (e: KeyboardEvent) => {\n\t\t\tif (e.key === 'Escape') this.close()\n\t\t\tif (e.key === 'ArrowLeft' && this.images.length > 1) this.prev()\n\t\t\tif (e.key === 'ArrowRight' && this.images.length > 1) this.next()\n\t\t}\n\t\tdocument.addEventListener('keydown', this.keyHandler)\n\n\t\t// Click overlay to close\n\t\tthis.overlayElement.addEventListener('click', e => {\n\t\t\tif (e.target === this.overlayElement) this.close()\n\t\t})\n\t}\n\n\tprivate close() {\n\t\tif (!this.overlayElement) return\n\n\t\tconst contentContainer = this.overlayElement.querySelector('[data-lightbox-content]') as HTMLElement\n\n\t\t// Animate back to click position\n\t\tif (contentContainer && this.clickPosition) {\n\t\t\tconst rect = contentContainer.getBoundingClientRect()\n\n\t\t\t// Animate container shrinking toward click point\n\t\t\tconst deltaX = this.clickPosition.x - (rect.left + rect.width / 2)\n\t\t\tconst deltaY = this.clickPosition.y - (rect.top + rect.height / 2)\n\n\t\t\tconst containerAnim = contentContainer.animate(\n\t\t\t\t[\n\t\t\t\t\t{ transform: 'translate(0, 0) scale(1)', opacity: 1 },\n\t\t\t\t\t{ transform: `translate(${deltaX}px, ${deltaY}px) scale(0.1)`, opacity: 0 },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 300,\n\t\t\t\t\teasing: 'cubic-bezier(0.4, 0, 0.2, 1)',\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\n\t\t\tthis.overlayElement.animate([{ opacity: 1 }, { opacity: 0 }], {\n\t\t\t\tduration: 250,\n\t\t\t\teasing: 'ease-out',\n\t\t\t\tfill: 'forwards',\n\t\t\t})\n\n\t\t\tcontainerAnim.onfinish = () => {\n\t\t\t\tthis.overlayElement?.remove()\n\t\t\t\tthis.overlayElement = undefined\n\t\t\t\tdocument.body.style.overflow = ''\n\t\t\t}\n\t\t} else {\n\t\t\t// Fallback to simple fade\n\t\t\tconst animation = this.overlayElement.animate([{ opacity: 1 }, { opacity: 0 }], {\n\t\t\t\tduration: 250,\n\t\t\t\teasing: 'ease-out',\n\t\t\t\tfill: 'forwards',\n\t\t\t})\n\n\t\t\tanimation.onfinish = () => {\n\t\t\t\tthis.overlayElement?.remove()\n\t\t\t\tthis.overlayElement = undefined\n\t\t\t\tdocument.body.style.overflow = ''\n\t\t\t}\n\t\t}\n\n\t\tif (this.keyHandler) {\n\t\t\tdocument.removeEventListener('keydown', this.keyHandler)\n\t\t\tthis.keyHandler = undefined\n\t\t}\n\t}\n\n\tprivate prev() {\n\t\tthis.currentIndex = (this.currentIndex - 1 + this.images.length) % this.images.length\n\t\tthis.updateImage()\n\t}\n\n\tprivate next() {\n\t\tthis.currentIndex = (this.currentIndex + 1) % this.images.length\n\t\tthis.updateImage()\n\t}\n\n\tprivate updateImage() {\n\t\tif (!this.overlayElement) return\n\t\trender(this.renderLightbox(), this.overlayElement)\n\t}\n\n\tprivate renderLightbox() {\n\t\tconst currentSrc = this.images[this.currentIndex]\n\t\tconst isGallery = this.images.length > 1\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tdata-lightbox-content\n\t\t\t\tclass=\"relative\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\ttransformOrigin: 'center center',\n\t\t\t\t})}\n\t\t\t\t@click=${(e: Event) => e.stopPropagation()}\n\t\t\t>\n\t\t\t\t<!-- Close button -->\n\t\t\t\t<button\n\t\t\t\t\tclass=\"absolute top-2 right-2 z-10 w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center text-white transition-colors\"\n\t\t\t\t\t@click=${() => this.close()}\n\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"text-2xl\">×</span>\n\t\t\t\t</button>\n\n\t\t\t\t<!-- Image container with optional overlay -->\n\t\t\t\t<div class=\"relative\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=${currentSrc}\n\t\t\t\t\t\t${flip({\n\t\t\t\t\t\t\tsourceElement: this.element,\n\t\t\t\t\t\t\tposition: this.clickPosition,\n\t\t\t\t\t\t\tduration: 600,\n\t\t\t\t\t\t\tscale: true,\n\t\t\t\t\t\t\tblackbird: true,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclass=\"object-contain rounded-lg\"\n\t\t\t\t\t\tstyle=\"max-height: calc(100vh - 40px); max-width: 90vw;\"\n\t\t\t\t\t\t@click=${() => !isGallery && this.close()}\n\t\t\t\t\t/>\n\t\t\t\t\t${this.overlay ? this.overlay : ''}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Gallery controls -->\n\t\t\t\t${isGallery\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<div class=\"flex items-center justify-center gap-4 text-white mt-4\">\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclass=\"w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors\"\n\t\t\t\t\t\t\t\t\t@click=${() => this.prev()}\n\t\t\t\t\t\t\t\t\taria-label=\"Previous\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t←\n\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t<div class=\"text-lg\">${this.currentIndex + 1} / ${this.images.length}</div>\n\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclass=\"w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors\"\n\t\t\t\t\t\t\t\t\t@click=${() => this.next()}\n\t\t\t\t\t\t\t\t\taria-label=\"Next\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t→\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\t\t\t</div>\n\t\t`\n\t}\n\n\tdisconnected() {\n\t\tif (this.element && this.clickHandler) {\n\t\t\tthis.element.removeEventListener('click', this.clickHandler)\n\t\t}\n\t\tthis.close()\n\t}\n}\n\nexport const lightbox = directive(LightboxDirective)\n","import { filter, fromEvent, map, Subject, switchMap, takeUntil, tap } from 'rxjs'\nimport { html, render } from 'lit'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { ComponentType } from '../area/router.types'\nimport { discoverComponent } from '@mixins/discovery.service'\nimport { lightbox as lightboxDirective, type LightboxOptions } from './lightbox.directive'\n\nexport type LightboxConfig = {\n\t// Image mode\n\timage?: string\n\timages?: string[]\n\tindex?: number\n\toverlay?: ComponentType\n\n\t// Component-only mode (no image background)\n\tcomponent?: ComponentType\n\n\tprops?: Record<string, unknown>\n}\n\n\n/**\n * Lightbox service for centralized lightbox management.\n * Follows the same patterns as DialogService.\n */\nclass LightboxService {\n\tprivate static instance: LightboxService\n\n\t// Subject for lightbox opening requests\n\tprivate pushSubject = new Subject<LightboxConfig>()\n\n\t// Subject for lightbox dismissal requests\n\tprivate dismissSubject = new Subject<void>()\n\n\t// Track active lightbox\n\tprivate activeLightbox?: {\n\t\telement: HTMLDivElement\n\t\tconfig: LightboxConfig\n\t\tcurrentIndex: number\n\t\timages: string[]\n\t}\n\n\tprivate constructor() {\n\t\tthis.setupLightboxOpeningLogic()\n\t\tthis.setupLightboxDismissLogic()\n\t}\n\n\t/**\n\t * Get the singleton instance\n\t */\n\tpublic static getInstance(): LightboxService {\n\t\tif (!LightboxService.instance) {\n\t\t\tLightboxService.instance = new LightboxService()\n\t\t}\n\t\treturn LightboxService.instance\n\t}\n\n\t/**\n\t * Sets up the main lightbox opening logic using RxJS pipes\n\t */\n\tprivate setupLightboxOpeningLogic() {\n\t\tthis.pushSubject\n\t\t\t.pipe(\n\t\t\t\tswitchMap(config => {\n\t\t\t\t\t// Use discoverComponent to find schmancy-theme (same pattern as sheet.service.ts)\n\t\t\t\t\treturn discoverComponent<HTMLElement>('schmancy-theme').pipe(\n\t\t\t\t\t\tmap(theme => {\n\t\t\t\t\t\t\t// Determine container - use theme or fallback to body\n\t\t\t\t\t\t\tconst container = theme || document.body\n\n\t\t\t\t\t\t\t// Create overlay element\n\t\t\t\t\t\t\tconst overlay = document.createElement('div')\n\t\t\t\t\t\t\toverlay.className = 'fixed inset-0 flex items-center justify-center opacity-0 bg-black/95 backdrop-blur-sm'\n\t\t\t\t\t\t\toverlay.style.zIndex = '1000'\n\n\t\t\t\t\t\t\tcontainer.appendChild(overlay)\n\t\t\t\t\t\t\tdocument.body.style.overflow = 'hidden'\n\n\t\t\t\t\t\t\treturn { overlay, config, container }\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\ttap(({ overlay, config }) => {\n\t\t\t\t\t// Setup images array\n\t\t\t\t\tlet images: string[] = []\n\t\t\t\t\tlet currentIndex = 0\n\n\t\t\t\t\tif (config.images && config.images.length > 0) {\n\t\t\t\t\t\timages = config.images\n\t\t\t\t\t\tcurrentIndex = config.index || 0\n\t\t\t\t\t} else if (config.image) {\n\t\t\t\t\t\timages = [config.image]\n\t\t\t\t\t\tcurrentIndex = 0\n\t\t\t\t\t}\n\n\t\t\t\t\t// Store active lightbox state\n\t\t\t\t\tthis.activeLightbox = {\n\t\t\t\t\t\telement: overlay,\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tcurrentIndex,\n\t\t\t\t\t\timages,\n\t\t\t\t\t}\n\n\t\t\t\t\t// Keyboard handling via RxJS\n\t\t\t\t\tfromEvent<KeyboardEvent>(document, 'keydown').pipe(\n\t\t\t\t\t\ttakeUntil(this.dismissSubject),\n\t\t\t\t\t\tfilter(() => !!this.activeLightbox),\n\t\t\t\t\t\ttap(e => {\n\t\t\t\t\t\t\tif (e.key === 'Escape') this.dismiss()\n\t\t\t\t\t\t\tif (e.key === 'ArrowLeft' && this.activeLightbox!.images.length > 1) this.navigatePrev()\n\t\t\t\t\t\t\tif (e.key === 'ArrowRight' && this.activeLightbox!.images.length > 1) this.navigateNext()\n\t\t\t\t\t\t})\n\t\t\t\t\t).subscribe()\n\n\t\t\t\t\t// Click overlay to close via RxJS\n\t\t\t\t\tfromEvent<MouseEvent>(overlay, 'click').pipe(\n\t\t\t\t\t\ttakeUntil(this.dismissSubject),\n\t\t\t\t\t\tfilter(e => e.target === overlay),\n\t\t\t\t\t\ttap(() => this.dismiss())\n\t\t\t\t\t).subscribe()\n\n\t\t\t\t\t// Render content\n\t\t\t\t\tif (config.component) {\n\t\t\t\t\t\tthis.renderComponent(overlay, config)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.renderLightbox(overlay, config, images, currentIndex)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Animate in\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\toverlay.animate([{ opacity: 0 }, { opacity: 1 }], {\n\t\t\t\t\t\t\tduration: 300,\n\t\t\t\t\t\t\teasing: 'cubic-bezier(0.25, 1, 0.5, 1)',\n\t\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Sets up the lightbox dismissal logic\n\t */\n\tprivate setupLightboxDismissLogic() {\n\t\tthis.dismissSubject\n\t\t\t.pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (!this.activeLightbox) return\n\n\t\t\t\t\tconst { element } = this.activeLightbox\n\n\t\t\t\t\t// Animate out\n\t\t\t\t\tconst animation = element.animate([{ opacity: 1 }, { opacity: 0 }], {\n\t\t\t\t\t\tduration: 250,\n\t\t\t\t\t\teasing: 'ease-out',\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t})\n\n\t\t\t\t\tanimation.onfinish = () => {\n\t\t\t\t\t\telement.remove()\n\t\t\t\t\t\tdocument.body.style.overflow = ''\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.activeLightbox = undefined\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Push/open a lightbox\n\t */\n\tpublic push(config: LightboxConfig): void {\n\t\t// Close any existing lightbox first\n\t\tif (this.activeLightbox) {\n\t\t\tthis.dismiss()\n\t\t}\n\t\tthis.pushSubject.next(config)\n\t}\n\n\t/**\n\t * Dismiss the lightbox\n\t */\n\tpublic dismiss(): void {\n\t\tthis.dismissSubject.next()\n\t}\n\n\t/**\n\t * Navigate to previous image\n\t */\n\tprivate navigatePrev(): void {\n\t\tif (!this.activeLightbox || this.activeLightbox.images.length <= 1) return\n\n\t\tconst { images, config, element } = this.activeLightbox\n\t\tthis.activeLightbox.currentIndex = (this.activeLightbox.currentIndex - 1 + images.length) % images.length\n\t\tthis.renderLightbox(element, config, images, this.activeLightbox.currentIndex)\n\t}\n\n\t/**\n\t * Navigate to next image\n\t */\n\tprivate navigateNext(): void {\n\t\tif (!this.activeLightbox || this.activeLightbox.images.length <= 1) return\n\n\t\tconst { images, config, element } = this.activeLightbox\n\t\tthis.activeLightbox.currentIndex = (this.activeLightbox.currentIndex + 1) % images.length\n\t\tthis.renderLightbox(element, config, images, this.activeLightbox.currentIndex)\n\t}\n\n\t/**\n\t * Render component-only mode (no image background)\n\t */\n\tprivate renderComponent(overlay: HTMLDivElement, config: LightboxConfig): void {\n\t\tif (!config.component) return\n\n\t\t// Create the component\n\t\tlet component: HTMLElement\n\t\tif (typeof config.component === 'string') {\n\t\t\tcomponent = document.createElement(config.component)\n\t\t} else {\n\t\t\tcomponent = new (config.component as CustomElementConstructor)()\n\t\t}\n\n\t\t// Set props\n\t\tif (config.props) {\n\t\t\tObject.entries(config.props).forEach(([key, value]) => {\n\t\t\t\t;(component as unknown as Record<string, unknown>)[key] = value\n\t\t\t})\n\t\t}\n\n\t\t// Create wrapper with close button\n\t\tconst template = html`\n\t\t\t<div class=\"relative\" @click=${(e: Event) => e.stopPropagation()}>\n\t\t\t\t<!-- Close button -->\n\t\t\t\t<button\n\t\t\t\t\tclass=\"absolute -top-12 right-0 z-10 w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center text-white transition-colors\"\n\t\t\t\t\t@click=${() => this.dismiss()}\n\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"text-2xl\">×</span>\n\t\t\t\t</button>\n\n\t\t\t\t<!-- Component container -->\n\t\t\t\t<div id=\"lightbox-component-container\"></div>\n\t\t\t</div>\n\t\t`\n\n\t\trender(template, overlay)\n\n\t\t// Append component after render\n\t\tconst container = overlay.querySelector('#lightbox-component-container')\n\t\tif (container) {\n\t\t\tcontainer.appendChild(component)\n\t\t}\n\t}\n\n\t/**\n\t * Render image lightbox\n\t */\n\tprivate renderLightbox(overlay: HTMLDivElement, config: LightboxConfig, images: string[], currentIndex: number): void {\n\t\tconst currentSrc = images[currentIndex]\n\t\tconst isGallery = images.length > 1\n\n\t\t// Create overlay component if specified\n\t\tlet overlayComponent: HTMLElement | null = null\n\t\tif (config.overlay) {\n\t\t\tif (typeof config.overlay === 'string') {\n\t\t\t\toverlayComponent = document.createElement(config.overlay)\n\t\t\t} else if (typeof config.overlay === 'function') {\n\t\t\t\toverlayComponent = new (config.overlay as CustomElementConstructor)()\n\t\t\t}\n\n\t\t\t// Set props on the component\n\t\t\tif (config.props && overlayComponent) {\n\t\t\t\tObject.entries(config.props).forEach(([key, value]) => {\n\t\t\t\t\t;(overlayComponent as unknown as Record<string, unknown>)[key] = value\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tconst template = html`\n\t\t\t<div\n\t\t\t\tclass=\"relative\"\n\t\t\t\tstyle=${styleMap({ maxWidth: '90vw', maxHeight: '90vh' })}\n\t\t\t\t@click=${(e: Event) => e.stopPropagation()}\n\t\t\t>\n\t\t\t\t<!-- Close button -->\n\t\t\t\t<button\n\t\t\t\t\tclass=\"absolute top-4 right-4 z-10 w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center text-white transition-colors\"\n\t\t\t\t\t@click=${() => this.dismiss()}\n\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t>\n\t\t\t\t\t<span class=\"text-2xl\">×</span>\n\t\t\t\t</button>\n\n\t\t\t\t<!-- Image container with optional overlay -->\n\t\t\t\t<div class=\"relative\" id=\"lightbox-image-container\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=${currentSrc}\n\t\t\t\t\t\tclass=\"max-w-full object-contain rounded-lg\"\n\t\t\t\t\t\tstyle=${styleMap({ maxHeight: '85vh' })}\n\t\t\t\t\t\t@click=${() => !isGallery && this.dismiss()}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Gallery controls -->\n\t\t\t\t${isGallery\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"absolute left-1/2 -translate-x-1/2 flex items-center gap-4 text-white\"\n\t\t\t\t\t\t\t\tstyle=${styleMap({ bottom: '-60px' })}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclass=\"w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors\"\n\t\t\t\t\t\t\t\t\t@click=${() => this.navigatePrev()}\n\t\t\t\t\t\t\t\t\taria-label=\"Previous\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t←\n\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t<div class=\"text-lg\">${currentIndex + 1} / ${images.length}</div>\n\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclass=\"w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors\"\n\t\t\t\t\t\t\t\t\t@click=${() => this.navigateNext()}\n\t\t\t\t\t\t\t\t\taria-label=\"Next\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t→\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\t\t\t</div>\n\t\t`\n\n\t\trender(template, overlay)\n\n\t\t// Append overlay component to image container after render\n\t\tif (overlayComponent) {\n\t\t\tconst container = overlay.querySelector('#lightbox-image-container')\n\t\t\tif (container) {\n\t\t\t\t// Remove any existing overlay component\n\t\t\t\tconst existing = container.querySelector('[data-lightbox-overlay]')\n\t\t\t\tif (existing) existing.remove()\n\n\t\t\t\toverlayComponent.setAttribute('data-lightbox-overlay', '')\n\t\t\t\tcontainer.appendChild(overlayComponent)\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Unified lightbox type - works as both directive and service\n */\nexport type LightboxAPI = {\n\t(options?: LightboxOptions): ReturnType<typeof lightboxDirective>\n\tpush: (config: LightboxConfig) => void\n\tdismiss: () => void\n}\n\n/**\n * Unified lightbox export - works as both directive and service:\n * - Directive: ${lightbox()} or ${lightbox({ overlay: html`...` })}\n * - Service: lightbox.push({ image, overlay: 'component-name', props })\n */\nexport const lightbox: LightboxAPI = Object.assign(\n\t// Callable as directive (backward compatible)\n\t(options?: LightboxOptions) => lightboxDirective(options),\n\t// Also has service methods\n\t{\n\t\tpush: (config: LightboxConfig) => LightboxService.getInstance().push(config),\n\t\tdismiss: () => LightboxService.getInstance().dismiss(),\n\t},\n)\n"],"names":["SchmancyLightbox","$LitElement","css","constructor","super","arguments","this","src","images","initialIndex","open","currentIndex","isLoading","swipeThreshold","overlayRef","createRef","contentRef","imageRef","handleClose","handlePrevious","isGalleryMode","length","dispatchEvent","CustomEvent","detail","index","bubbles","composed","handleNext","handleImageLoad","handleOverlayClick","e","target","currentTarget","currentImageSrc","connectedCallback","changedProperties","updated","has","document","body","style","overflow","animateIn","setupEventListeners","animateOut","animateImageChange","overlay","value","content","image","backgroundColor","opacity","animate","duration","easing","fill","requestAnimationFrame","transform","delay","onfinish","fromEvent","pipe","filter","tap","key","takeUntil","disconnecting","subscribe","touchStart$","touchEnd$","switchMap","startEvent","startX","touches","clientX","first","map","endEvent","changedTouches","distance","Math","abs","render","html","ref","stopPropagation","when","calculateArcPoint","start","end","arcDirection","intensity","midX","x","midY","y","sqrt","pow","arcHeight","min","__decorateClass","property","type","String","prototype","Array","Number","Boolean","state","customElement","flip","directive","AsyncDirective","partInfo","hasAnimated","PartType","ELEMENT","Error","_options","noChange","part","options","element","hasSource","sourceElement","position","window","matchMedia","matches","totalDuration","animateScale","scale","useBlackbird","blackbird","clickPos","pos","clientY","sourceRect","getBoundingClientRect","targetRect","targetCenter","left","width","top","height","sourceCenter","sourceScale","innerWidth","innerHeight","sourceDelta","clickDelta","takeoffArc","landingArc","takeoffArcDelta","landingArcDelta","midScale","offset","arcPoint","arcDelta","HTMLImageElement","complete","onload","lightbox","clickHandler","preventDefault","clickPosition","touch","addEventListener","cursor","classList","add","overlayElement","createElement","className","zIndex","renderLightbox","appendChild","keyHandler","close","prev","next","contentContainer","querySelector","rect","deltaX","deltaY","containerAnim","remove","removeEventListener","updateImage","currentSrc","isGallery","styleMap","transformOrigin","LightboxService","pushSubject","Subject","dismissSubject","setupLightboxOpeningLogic","setupLightboxDismissLogic","getInstance","instance","config","discoverComponent","theme","container","activeLightbox","dismiss","navigatePrev","navigateNext","component","renderComponent","props","Object","entries","forEach","template","overlayComponent","maxWidth","maxHeight","bottom","existing","setAttribute","assign","lightboxDirective","push"],"mappings":"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"}
|
package/dist/lightbox.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lightbox.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/lightbox.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lightbox.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|