@mhmo91/schmancy 0.8.4 → 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"avatar-rLCF6MSI.js","sources":["../src/badge/badge.ts","../src/content-drawer/drawer.service.ts","../src/content-drawer/context.ts","../src/content-drawer/drawer.ts","../src/content-drawer/main.ts","../src/content-drawer/sheet.ts","../src/nav-drawer/$navbar.ts","../src/nav-drawer/appbar.ts","../src/nav-drawer/content.ts","../src/nav-drawer/context.ts","../src/nav-drawer/drawer.ts","../src/nav-drawer/navbar.ts","../src/navigation-bar/navigation-bar-item.ts","../src/navigation-bar/navigation-bar.ts","../src/teleport/teleport.service.ts","../src/teleport/watcher.ts","../src/teleport/teleport.component.ts","../src/avatar.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { SchmancyTheme } from '..'\n\n/**\n * Badge color types for predefined styles\n */\nexport type BadgeColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'neutral'\n\n/**\n * Badge size variants\n */\nexport type BadgeSize = 'xs' | 'sm' | 'md' | 'lg'\n\n/**\n * Badge shape variants\n */\nexport type BadgeShape = 'rounded' | 'pill' | 'square'\n\n/**\n * @element sch-badge\n * A versatile badge component for status indicators, labels, and counts\n *\n * @slot - The content of the badge (text or HTML)\n * @slot icon - Optional icon to display before the content\n *\n * @csspart badge - The badge element container\n * @csspart content - The content container\n * @csspart icon - The icon container\n */\n@customElement('schmancy-badge')\nexport class SchmancyBadgeV2 extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-flex;\n\t\twidth: fit-content;\n\t}\n\n\t/* Enhanced pulse animation for better attention-getting */\n\t@keyframes elegant-pulse {\n\t\t0%, 100% {\n\t\t\topacity: 1;\n\t\t}\n\t\t50% {\n\t\t\topacity: 0.85;\n\t\t}\n\t}\n\n\t.animate-pulse {\n\t\tanimation: elegant-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n\t}\n`) {\n\t/**\n\t * The color variant of the badge\n\t * @attr\n\t */\n\t@property({ type: String, reflect: true })\n\tcolor: BadgeColor = 'primary'\n\n\t/**\n\t * The size of the badge\n\t * @attr\n\t */\n\t@property({ type: String, reflect: true })\n\tsize: BadgeSize = 'md'\n\n\t/**\n\t * The shape of the badge\n\t * @attr\n\t */\n\t@property({ type: String, reflect: true })\n\tshape: BadgeShape = 'pill'\n\n\t/**\n\t * Whether the badge has an outlined style\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\toutlined = false\n\n\t/**\n\t * Custom icon name to display (if no icon slot is provided)\n\t * @attr\n\t */\n\t@property({ type: String })\n\ticon = ''\n\n\t/**\n\t * Whether to make the badge pulse to draw attention\n\t * @attr\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpulse = false\n\n\t/**\n\t * Convert the size to appropriate Tailwind classes for the badge container\n\t * Using harmonious padding ratios based on golden ratio principles\n\t * Refined for more elegant proportions\n\t */\n\tprivate getSizeClasses(): string {\n\t\tswitch (this.size) {\n\t\t\tcase 'xs':\n\t\t\t\treturn 'text-xs py-0.75 px-1.5 gap-0.5 leading-none'\n\t\t\tcase 'sm':\n\t\t\t\treturn 'text-xs py-1.5 px-2.5 gap-0.5 tracking-wide leading-none'\n\t\t\tcase 'lg':\n\t\t\t\treturn 'text-base py-2 px-4 gap-1 tracking-wide'\n\t\t\tcase 'md':\n\t\t\tdefault:\n\t\t\t\treturn 'text-sm py-1.5 px-3 gap-0.5'\n\t\t}\n\t}\n\n\t/**\n\t * Get shape classes based on selected shape\n\t */\n\tprivate getShapeClasses(): string {\n\t\tswitch (this.shape) {\n\t\t\tcase 'square':\n\t\t\t\treturn 'rounded'\n\t\t\tcase 'rounded':\n\t\t\t\treturn 'rounded-md'\n\t\t\tcase 'pill':\n\t\t\tdefault:\n\t\t\t\treturn 'rounded-full'\n\t\t}\n\t}\n\n\t/**\n\t * Get icon size based on badge size with harmonious proportions\n\t * Using golden ratio-inspired proportions relative to text size\n\t */\n\tprivate getIconSize(): string {\n\t\tswitch (this.size) {\n\t\t\tcase 'xs':\n\t\t\t\treturn '11px' // Approximately 0.9 × text size (12px × 0.9)\n\t\t\tcase 'sm':\n\t\t\t\treturn '13px' // Approximately 1.1 × text size (12px × 1.1)\n\t\t\tcase 'lg':\n\t\t\t\treturn '18px' // Approximately 1.1 × text size (16px × 1.1)\n\t\t\tcase 'md':\n\t\t\tdefault:\n\t\t\t\treturn '15px' // Approximately 1.1 × text size (14px × 1.1)\n\t\t}\n\t}\n\n\t/**\n\t * Get additional styling for specific sizes\n\t */\n\tprivate getExoticStyles(): Record<string, string> {\n\t\tconst styles: Record<string, string> = {}\n\n\t\tif (this.size === 'lg') {\n\t\t\tstyles.letterSpacing = '0.03em'\n\t\t\tstyles.fontWeight = '500'\n\t\t}\n\n\t\tif (this.size === 'sm') {\n\t\t\tstyles.letterSpacing = '0.02em'\n\t\t}\n\n\t\treturn styles\n\t}\n\n\t/**\n\t * Get background and text colors based on selected color variant\n\t * Enhanced for more elegant color combinations with refined contrasts\n\t */\n\tprivate getColorStyles() {\n\t\tconst colors: Record<BadgeColor, { bg: string; text: string; border?: string }> = {\n\t\t\tprimary: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.primary.container} 92%, ${SchmancyTheme.sys.color.primary.default} 8%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.primary.default : SchmancyTheme.sys.color.primary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.primary.default} 90%, ${SchmancyTheme.sys.color.surface.highest} 10%)` : undefined,\n\t\t\t},\n\t\t\tsecondary: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.secondary.container} 95%, ${SchmancyTheme.sys.color.secondary.default} 5%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.secondary.default : SchmancyTheme.sys.color.secondary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.secondary.default} 85%, ${SchmancyTheme.sys.color.surface.highest} 15%)` : undefined,\n\t\t\t},\n\t\t\ttertiary: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.container} 94%, ${SchmancyTheme.sys.color.tertiary.default} 6%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.tertiary.default : SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.default} 88%, ${SchmancyTheme.sys.color.surface.highest} 12%)` : undefined,\n\t\t\t},\n\t\t\tsuccess: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.success.container} 90%, ${SchmancyTheme.sys.color.success.default} 10%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.success.default : SchmancyTheme.sys.color.success.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.success.default} 85%, ${SchmancyTheme.sys.color.surface.bright} 15%)` : undefined,\n\t\t\t},\n\t\t\twarning: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.container} 85%, ${SchmancyTheme.sys.color.tertiary.default} 15%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.tertiary.default : SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.default} 90%, ${SchmancyTheme.sys.color.surface.highest} 10%)` : undefined,\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.error.container} 92%, ${SchmancyTheme.sys.color.error.default} 8%)`,\n\t\t\t\ttext: this.outlined ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.error.onContainer,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.error.default} 88%, ${SchmancyTheme.sys.color.surface.bright} 12%)` : undefined,\n\t\t\t},\n\t\t\tneutral: {\n\t\t\t\tbg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.surface.high} 95%, ${SchmancyTheme.sys.color.outline} 5%)`,\n\t\t\t\ttext: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.surface.on} 95%, ${SchmancyTheme.sys.color.surface.default} 5%)` : SchmancyTheme.sys.color.surface.on,\n\t\t\t\tborder: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.outline} 85%, ${SchmancyTheme.sys.color.surface.highest} 15%)` : undefined,\n\t\t\t},\n\t\t}\n\n\t\treturn colors[this.color]\n\t}\n\n\trender() {\n\t\tconst sizeClasses = this.getSizeClasses()\n\t\tconst shapeClasses = this.getShapeClasses()\n\t\tconst colorStyles = this.getColorStyles()\n\t\tconst iconSize = this.getIconSize()\n\t\tconst exoticStyles = this.getExoticStyles()\n\n\t\tconst badgeClasses = {\n\t\t\t'inline-flex items-center justify-center font-medium': true,\n\t\t\t'transition-all duration-200 ease-in-out': true,\n\t\t\t[sizeClasses]: true,\n\t\t\t[shapeClasses]: true,\n\t\t\t'animate-pulse': this.pulse,\n\t\t\t'border border-solid': this.outlined,\n\t\t\t'shadow-sm': !this.outlined && this.size === 'sm',\n\t\t\t'shadow': !this.outlined && this.size === 'md',\n\t\t\t'shadow-md': !this.outlined && this.size === 'lg',\n\t\t\t'hover:brightness-95 hover:-translate-y-px': this.outlined,\n\t\t\t'hover:brightness-[0.98]': !this.outlined,\n\t\t}\n\n\t\t// Refined styles for a more elegant look (only CSS that can't be done with Tailwind)\n\t\tconst styles = {\n\t\t\tborderColor: colorStyles.border,\n\t\t\tbackdropFilter: this.outlined ? 'blur(4px)' : undefined,\n\t\t\tboxShadow: this.size === 'lg' && !this.outlined ? '0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.1)' : undefined,\n\t\t\t...exoticStyles,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tpart=\"badge\"\n\t\t\t\tclass=\"${this.classMap(badgeClasses)}\"\n\t\t\t\tstyle=\"${this.styleMap(styles)}\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: colorStyles.bg,\n\t\t\t\t\tcolor: colorStyles.text,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<!-- Icon slot or named icon -->\n\t\t\t\t<slot name=\"icon\">\n\t\t\t\t\t${this.icon\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<div part=\"icon\" class=\"flex-shrink-0 flex items-center justify-center leading-none\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon .size=${iconSize} class=\"flex items-center justify-center\">${this.icon}</schmancy-icon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t: ''}\n\t\t\t\t</slot>\n\n\t\t\t\t<!-- Content with proper spacing from icon -->\n\t\t\t\t<div part=\"content\" class=\"flex items-center leading-none tracking-[0.01em] ${this.icon ? 'ml-[0.38em]' : ''}\">\n\t\t\t\t\t<slot></slot>\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'sch-badge': SchmancyBadgeV2,\n\t\t'schmancy-badge': SchmancyBadgeV2\n\t}\n}\n\n\n// Register the component with the legacy tag name for backward compatibility\n@customElement('sch-badge')\nexport class ScBadgeV2 extends SchmancyBadgeV2 {}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { Subject } from 'rxjs'\nimport { ComponentType } from '../area/router.types'\n\n// type DrawerAction = 'dismiss' | 'render' | 'push'\ntype TRef = Element | Window\ntype TRenderRequest = ComponentType\nexport type TRenderCustomEvent = CustomEvent<{\n\tcomponent: TRenderRequest\n\ttitle?: string\n\tstate?: Record<string, unknown>\n\tparams?: Record<string, unknown>\n\tprops?: Record<string, unknown>\n}>\n\nexport type DrawerPushOptions = {\n\tcomponent: ComponentType\n\tstate?: Record<string, unknown>\n\tparams?: Record<string, unknown>\n\tprops?: Record<string, unknown>\n}\n\ntype DrawerCommand =\n\t| { action: 'dismiss'; ref: TRef }\n\t| { action: 'render'; ref: TRef; component: TRenderRequest; title?: string }\n\t| { action: 'push'; ref: TRef; component: ComponentType; state?: Record<string, unknown>; params?: Record<string, unknown>; props?: Record<string, unknown> }\n\nclass DrawerService {\n\tprivate $drawer = new Subject<DrawerCommand>()\n\n\tconstructor() {\n\t\tthis.$drawer.pipe().subscribe(command => {\n\t\t\tswitch (command.action) {\n\t\t\t\tcase 'dismiss':\n\t\t\t\t\tthis.dispatchToggleEvent(command.ref, 'close')\n\t\t\t\t\tbreak\n\t\t\t\tcase 'render':\n\t\t\t\t\tthis.dispatchToggleEvent(command.ref, 'open')\n\t\t\t\t\tthis.dispatchRenderEvent(command.ref, command.component, command.title)\n\t\t\t\t\tbreak\n\t\t\t\tcase 'push':\n\t\t\t\t\tthis.handlePush(command.ref, command.component, command.state, command.params, command.props)\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate dispatchToggleEvent(ref: TRef, state: 'open' | 'close') {\n\t\tref.dispatchEvent(\n\t\t\tnew CustomEvent(SchmancyEvents.ContentDrawerToggle, {\n\t\t\t\tdetail: { state },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprivate dispatchRenderEvent(\n\t\tref: TRef,\n\t\tcomponent: TRenderRequest,\n\t\ttitle?: string,\n\t\tstate?: Record<string, unknown>,\n\t\tparams?: Record<string, unknown>,\n\t\tprops?: Record<string, unknown>\n\t) {\n\t\tref.dispatchEvent(\n\t\t\tnew CustomEvent('schmancy-content-drawer-render', {\n\t\t\t\tdetail: { component, title, state, params, props },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tdimiss(ref: TRef) {\n\t\tthis.$drawer.next({\n\t\t\taction: 'dismiss',\n\t\t\tref: ref,\n\t\t})\n\t}\n\n\trender(ref: TRef, component: TRenderRequest, title?: string) {\n\t\tref.dispatchEvent(new CustomEvent('custom-event'))\n\t\tthis.$drawer.next({\n\t\t\taction: 'render',\n\t\t\tref: ref,\n\t\t\tcomponent: component,\n\t\t\ttitle,\n\t\t})\n\t}\n\n\tprivate handlePush(\n\t\tref: TRef,\n\t\tcomponent: ComponentType,\n\t\tstate?: Record<string, unknown>,\n\t\tparams?: Record<string, unknown>,\n\t\tprops?: Record<string, unknown>\n\t) {\n\t\t// Simply pass through to drawer component - it will call area.push() which handles all component resolution\n\t\tthis.dispatchToggleEvent(ref, 'open')\n\t\tthis.dispatchRenderEvent(ref, component, undefined, state, params, props)\n\t}\n\n\t/**\n\t * Push a component to the content drawer\n\t * @param options - Component configuration object with optional state/params/props\n\t * @example\n\t * schmancyContentDrawer.push({\n\t * component: myComponent,\n\t * props: { id: '123' }\n\t * })\n\t */\n\tpush(options: DrawerPushOptions): void {\n\t\tthis.$drawer.next({\n\t\t\taction: 'push',\n\t\t\tref: window,\n\t\t\t...options,\n\t\t})\n\t}\n}\n\nexport const schmancyContentDrawer = new DrawerService()","import { createContext } from '@lit/context'\nexport type TSchmancyContentDrawerSheetMode = 'push' | 'overlay'\nexport const SchmancyContentDrawerSheetMode = createContext<TSchmancyContentDrawerSheetMode>('push')\n\nexport type TSchmancyContentDrawerSheetState = 'open' | 'close'\nexport const SchmancyContentDrawerSheetState = createContext<TSchmancyContentDrawerSheetState>('close')\n\nexport const SchmancyContentDrawerID = createContext<string>(Math.floor(Math.random() * Date.now()).toString())\nexport const SchmancyContentDrawerMaxHeight = createContext<string>('100%')\nexport const SchmancyContentDrawerMinWidth = createContext<{\n\tmain: number\n\tsheet: number\n}>({})\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, merge, startWith, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, TRenderCustomEvent, area, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n/**\n * @element schmancy-content-drawer\n * @slot appbar - The appbar slot\n * @slot - The content slot\n */\n@customElement('schmancy-content-drawer')\nexport class SchmancyContentDrawer extends $LitElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t/**\n\t * The minimum width of the sheet\n\t * @attr\tminWidth\n\t * @type {number}\n\t * @memberof SchmancyContentDrawer\n\t */\n\n\t@provide({ context: SchmancyContentDrawerMinWidth })\n\tminWidth: typeof SchmancyContentDrawerMinWidth.__context__ = {\n\t\tmain: 360,\n\t\tsheet: 576,\n\t}\n\n\t/**\n\t * The state of the sheet\n\t * @attr open\n\t * @type {TSchmancyContentDrawerSheetState}\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetState })\n\t@property()\n\topen: TSchmancyContentDrawerSheetState\n\n\t/**\n\t * The mode of the sheet\n\t * @type {TSchmancyContentDrawerSheetMode}\n\t * @memberof SchmancyContentDrawer\n\t * @protected\n\t */\n\t@provide({ context: SchmancyContentDrawerSheetMode })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@provide({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID = Math.floor(Math.random() * Date.now()).toString()\n\n\t@provide({ context: SchmancyContentDrawerMaxHeight })\n\tmaxHeight = '100%'\n\n\t@queryAssignedElements({ flatten: true })\n\tassignedElements!: HTMLElement[]\n\n\tfirstUpdated(): void {\n\t\tthis.setupResizeListener()\n\t\tthis.setupToggleListener()\n\t\tthis.setupRenderListener()\n\t}\n\n\tprivate setupResizeListener() {\n\t\tmerge(\n\t\t\tfromEvent<CustomEvent>(window, 'resize'),\n\t\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerResize)\n\t\t)\n\t\t\t.pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tdebounceTime(100),\n\t\t\t\tmap(() => this.clientWidth || window.innerWidth),\n\t\t\t\tmap(width => width >= this.minWidth.main + this.minWidth.sheet),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(() => this.updateMaxHeight()),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(isLargeScreen => this.updateMode(isLargeScreen))\n\t}\n\n\tprivate setupToggleListener() {\n\t\tfromEvent<CustomEvent>(window, SchmancyEvents.ContentDrawerToggle)\n\t\t\t.pipe(\n\t\t\t\ttap(event => event.stopPropagation()),\n\t\t\t\tmap(event => event.detail.state),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\tthis.open = state\n\t\t\t})\n\t}\n\n\tprivate setupRenderListener() {\n\t\tfromEvent<TRenderCustomEvent>(window, 'schmancy-content-drawer-render')\n\t\t\t.pipe(\n\t\t\t\ttap(event => event.stopPropagation()),\n\t\t\t\tmap(event => event.detail),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(detail => this.handleRender(detail))\n\t}\n\n\tprivate updateMaxHeight() {\n\t\tthis.maxHeight = `${window.innerHeight - this.getOffsetTop(this)}px`\n\t\tthis.style.setProperty('max-height', this.maxHeight)\n\t}\n\n\tprivate updateMode(isLargeScreen: boolean) {\n\t\tif (isLargeScreen) {\n\t\t\tthis.mode = 'push'\n\t\t\tthis.open = 'open'\n\t\t} else {\n\t\t\tthis.mode = 'overlay'\n\t\t\tthis.open = 'close'\n\t\t}\n\t}\n\n\tprivate handleRender(detail: TRenderCustomEvent['detail']) {\n\t\tif (this.mode === 'push') {\n\t\t\tarea.push({\n\t\t\t\tarea: this.schmancyContentDrawerID,\n\t\t\t\tcomponent: detail.component,\n\t\t\t\thistoryStrategy: 'silent',\n\t\t\t\tstate: detail.state,\n\t\t\t\tparams: detail.params,\n\t\t\t\tprops: detail.props,\n\t\t\t})\n\t\t} else if (this.mode === 'overlay') {\n\t\t\tsheet.open({\n\t\t\t\tcomponent: detail.component,\n\t\t\t\tuid: this.schmancyContentDrawerID,\n\t\t\t\tprops: detail.props,\n\t\t\t})\n\t\t}\n\t}\n\n\tgetOffsetTop(element: HTMLElement | null) {\n\t\tlet offsetTop = 0\n\t\twhile (element) {\n\t\t\toffsetTop += element.offsetTop\n\t\t\telement = element.offsetParent as HTMLElement | null\n\t\t}\n\t\treturn offsetTop\n\t}\n\n\tprotected render() {\n\t\tif (!this.mode || !this.open) return nothing\n\n\t\tconst gridClasses = [\n\t\t\t'grid h-full',\n\t\t\t'grid-flow-col auto-cols-max',\n\t\t\t'grid-rows-[1fr]',\n\t\t\t'justify-items-stretch items-stretch',\n\t\t\tthis.mode === 'overlay' ? 'grid-cols-[1fr]' : 'grid-cols-[auto_1fr]'\n\t\t].join(' ')\n\n\t\treturn html`\n\t\t\t<div class=${gridClasses}>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer': SchmancyContentDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { PropertyValueMap, css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyEvents } from '..'\nimport {\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetMode,\n} from './context'\nimport { when } from 'lit/directives/when.js'\n\n@customElement('schmancy-content-drawer-main')\nexport class SchmancyContentDrawerMain extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth: number\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight: string\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) this.drawerMinWidth.main = this.minWidth\n\t\telse this.minWidth = this.drawerMinWidth.main\n\t}\n\n\tprotected update(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\t\tsuper.update(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\tthis.drawerMinWidth.main = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t}\n\t}\n\n\trender() {\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\tconst gridClasses = [\n\t\t\t'grid h-full relative overflow-scroll',\n\t\t\t'grid-flow-col auto-cols-max',\n\t\t\t'grid-rows-[1fr]',\n\t\t\t'items-stretch justify-items-stretch',\n\t\t\tthis.mode === 'push' ? 'grid-cols-[auto_1fr]' : 'grid-cols-[1fr]'\n\t\t].join(' ')\n\n\t\treturn html`\n\t\t\t<section class=\"relative inset-0 h-full\">\n\t\t\t\t<div class=${gridClasses}>\n\t\t\t\t\t<section style=${this.styleMap(styles)}>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</section>\n\t\t\t\t</div>\n\t\t\t\t${when(\n\t\t\t\t\tthis.mode === 'push',\n\t\t\t\t\t() => html` <schmancy-divider class=\"absolute right-0 top-0\" orientation=\"vertical\"></schmancy-divider>`,\n\t\t\t\t)}\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-main': SchmancyContentDrawerMain\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { from, merge, Observable, of, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents, sheet } from '..'\nimport {\n\tSchmancyContentDrawerID,\n\tSchmancyContentDrawerMaxHeight,\n\tSchmancyContentDrawerMinWidth,\n\tSchmancyContentDrawerSheetMode,\n\tSchmancyContentDrawerSheetState,\n\tTSchmancyContentDrawerSheetMode,\n\tTSchmancyContentDrawerSheetState,\n} from './context'\n\n// --- 1) Removed the custom animate import\n// import { animate } from '@packages/anime-beta-master'\n\n@customElement('schmancy-content-drawer-sheet')\nexport class SchmancyContentDrawerSheet extends $LitElement(css`\n\t:host {\n\t\toverflow: scroll;\n\t}\n`) {\n\t@property({ type: Number })\n\tminWidth\n\n\t@consume({ context: SchmancyContentDrawerSheetMode, subscribe: true })\n\t@state()\n\tmode: TSchmancyContentDrawerSheetMode\n\n\t@consume({ context: SchmancyContentDrawerSheetState, subscribe: true })\n\t@state()\n\tstate: TSchmancyContentDrawerSheetState\n\n\t@consume({ context: SchmancyContentDrawerID })\n\tschmancyContentDrawerID\n\n\t@query('#sheet') sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true, slot: undefined }) defaultSlot!: HTMLElement[]\n\n\t@consume({ context: SchmancyContentDrawerMinWidth, subscribe: true })\n\tdrawerMinWidth: typeof SchmancyContentDrawerMinWidth.__context__\n\n\t@consume({ context: SchmancyContentDrawerMaxHeight, subscribe: true })\n\t@state()\n\tmaxHeight\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tif (this.minWidth) {\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t} else {\n\t\t\tthis.minWidth = this.drawerMinWidth.sheet\n\t\t}\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('minWidth') && this.minWidth) {\n\t\t\t// If the 'minWidth' property changed\n\t\t\tthis.drawerMinWidth.sheet = this.minWidth\n\t\t\tthis.dispatchEvent(new CustomEvent(SchmancyEvents.ContentDrawerResize, { bubbles: true, composed: true }))\n\t\t} else if (changedProperties.has('state') || changedProperties.has('mode')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\t// Overlay open logic if needed\n\t\t\t\t\t// this.open()\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tsheet.dismiss(this.schmancyContentDrawerID)\n\t\t\t\tif (this.state === 'close') {\n\t\t\t\t\tthis.closeAll()\n\t\t\t\t} else if (this.state === 'open') {\n\t\t\t\t\tthis.open()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Open the sheet by sliding it into view.\n\t */\n\topen() {\n\t\t// \"onBegin\" logic from the old `animate(...)`\n\t\tif (this.mode === 'overlay') {\n\t\t\tthis.sheet.style.position = 'fixed'\n\t\t} else {\n\t\t\tthis.sheet.style.position = 'relative'\n\t\t}\n\t\tthis.sheet.style.display = 'block'\n\n\t\t// --- 2) Use native Web Animations API ---\n\t\tthis.sheet.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'translateX(100%)' },\n\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 500,\n\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t},\n\t\t)\n\t\t// No return is needed if you don't rely on the result\n\t}\n\n\t/**\n\t * Close everything (modal sheet + the sheet itself).\n\t */\n\tcloseAll() {\n\t\t// Merge them into a single subscription,\n\t\t// so that everything closes in parallel.\n\t\tmerge(from(this.closeModalSheet()), from(this.closeSheet())).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\t/**\n\t * Dismiss the \"modal sheet.\"\n\t * This just returns an Observable that completes immediately.\n\t */\n\tcloseModalSheet() {\n\t\treturn of(true).pipe(tap(() => sheet.dismiss(this.schmancyContentDrawerID)))\n\t}\n\n\t/**\n\t * Slide the sheet out of view + hide it.\n\t * Return an Observable so we can merge it with other close operations.\n\t */\n\tcloseSheet() {\n\t\t// --- 2) Use native Web Animations API and wrap in an Observable ---\n\t\treturn new Observable<void>(observer => {\n\t\t\tconst animation = this.sheet.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(0%)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateX(100%)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 500,\n\t\t\t\t\teasing: 'cubic-bezier(0.5, 0.01, 0.25, 1)',\n\t\t\t\t},\n\t\t\t)\n\n\t\t\tanimation.onfinish = () => {\n\t\t\t\t// \"onComplete\" logic\n\t\t\t\tthis.sheet.style.display = 'none'\n\t\t\t\tobserver.next()\n\t\t\t\tobserver.complete()\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render() {\n\t\tconst sheetClasses = {\n\t\t\tblock: this.mode === 'push',\n\t\t\t'absolute z-50': this.mode === 'overlay',\n\t\t\t'opacity-1': this.mode === 'overlay' && this.state === 'open',\n\t\t}\n\n\t\tconst styles = {\n\t\t\tminWidth: `${this.minWidth}px`,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<section id=\"sheet\" class=\"${this.classMap(sheetClasses)}\" style=${this.styleMap(styles)}>\n\t\t\t\t<schmancy-area name=\"${this.schmancyContentDrawerID}\">\n\t\t\t\t\t<slot name=\"placeholder\"></slot>\n\t\t\t\t</schmancy-area>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-content-drawer-sheet': SchmancyContentDrawerSheet\n\t}\n}\n","import { SchmancyEvents } from '@schmancy/types/events'\nimport { debounceTime, Subject } from 'rxjs'\n\nclass Drawer {\n\tprivate $drawer = new Subject<{\n\t\tself: HTMLElement\n\t\tstate: boolean\n\t}>()\n\tconstructor() {\n\t\tthis.$drawer.pipe(debounceTime(10)).subscribe(data => {\n\t\t\tif (data.state) {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'open',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\tstate: 'close',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t})\n\t}\n\topen(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: true,\n\t\t})\n\t}\n\tclose(self?: HTMLElement) {\n\t\tthis.$drawer.next({\n\t\t\tself,\n\t\t\tstate: false,\n\t\t})\n\t}\n}\n\nexport const schmancyNavDrawer = new Drawer()\nconst $drawer = schmancyNavDrawer\n\nexport { $drawer }\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-nav-drawer-appbar\n * @slot - The default slot\n */\n@customElement('schmancy-nav-drawer-appbar')\nexport class SchmancyDrawerAppbar extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\tmin-width: 0;\n\t}\n`) {\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-appbar': SchmancyDrawerAppbar\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-nav-drawer-content')\nexport class SchmancyNavigationDrawerContent extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\toverflow-y: auto;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'scroll')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\tthis.parentElement.dispatchEvent(new CustomEvent('scroll', { detail: e, bubbles: true, composed: true }))\n\t\t\t})\n\t}\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-content': SchmancyNavigationDrawerContent\n\t}\n}\n","import { createContext } from '@lit/context'\nexport type TSchmancyDrawerNavbarMode = 'push' | 'overlay' | undefined\nexport const SchmancyDrawerNavbarMode = createContext<TSchmancyDrawerNavbarMode>('push')\n\nexport type TSchmancyDrawerNavbarState = 'open' | 'close' | undefined\nexport const SchmancyDrawerNavbarState = createContext<TSchmancyDrawerNavbarState>('close')\n","import { provide } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, takeUntil, tap } from 'rxjs'\nimport { SchmancyEvents } from '..'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n/**\n * @element schmancy-nav-drawer\n * @slot - The content slot\n */\n@customElement('schmancy-nav-drawer')\nexport class SchmancyNavigationDrawer extends $LitElement(css`\n\t:host {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: auto 1fr;\n\t\tgrid-template-rows: 1fr;\n\t\tflex-grow: 1;\n\t\theight: 100%;\n\t\toverflow: hidden;\n\t\t/* Initially hide the component until it's ready */\n\t\tvisibility: hidden;\n\t}\n\n\t:host([data-ready]) {\n\t\tvisibility: visible;\n\t}\n\n\t:host([fullscreen]) {\n\t\tgrid-template-columns: 1fr;\n\t}\n`) {\n\t@property({ type: Boolean, reflect: true })\n\tfullscreen: boolean = false\n\n\t/**\n\t * The breakpoint for the sidebar based on Tailwind CSS breakpoints.\n\t * Accepts: \"sm\", \"md\", \"lg\", or \"xl\".\n\t */\n\t@property({ type: String, attribute: 'breakpoint' })\n\tbreakpoint: 'sm' | 'md' | 'lg' | 'xl' = 'md'\n\n\tprivate static BREAKPOINTS: Record<'sm' | 'md' | 'lg' | 'xl', number> = {\n\t\tsm: 640,\n\t\tmd: 768,\n\t\tlg: 1024,\n\t\txl: 1280,\n\t}\n\n\t@provide({ context: SchmancyDrawerNavbarMode })\n\t@state()\n\tmode: TSchmancyDrawerNavbarMode\n\n\t@provide({ context: SchmancyDrawerNavbarState })\n\t@property()\n\topen: TSchmancyDrawerNavbarState\n\n\tfirstUpdated() {\n\t\tthis.updateState(window.innerWidth)\n\t\tthis.setAttribute('data-ready', '')\n\n\t\tfromEvent(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tmap(event => (event.target as Window).innerWidth),\n\t\t\t\tmap(width => width >= SchmancyNavigationDrawer.BREAKPOINTS[this.breakpoint]),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\tdebounceTime(100),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(isLargeScreen => {\n\t\t\t\tif (isLargeScreen) {\n\t\t\t\t\tthis.mode = 'push'\n\t\t\t\t\tthis.open = 'open'\n\t\t\t\t} else {\n\t\t\t\t\tthis.mode = 'overlay'\n\t\t\t\t\tthis.open = 'close'\n\t\t\t\t}\n\t\t\t})\n\n\t\tfromEvent(window, 'fullscreen').pipe(\n\t\t\ttap((event: Event) => {\n\t\t\t\tconst customEvent = event as CustomEvent\n\t\t\t\tthis.fullscreen = customEvent.detail\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\tfromEvent(window, SchmancyEvents.NavDrawer_toggle)\n\t\t\t.pipe(\n\t\t\t\ttap((event: CustomEvent) => {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap((event: CustomEvent) => event.detail.state),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tdebounceTime(10),\n\t\t\t)\n\t\t\t.subscribe(state => {\n\t\t\t\t// Handle 'toggle' state\n\t\t\t\tif (state === 'toggle') {\n\t\t\t\t\tstate = this.open === 'open' ? 'close' : 'open'\n\t\t\t\t}\n\t\t\t\tif (this.mode === 'push' && state === 'close') return\n\t\t\t\tthis.open = state\n\t\t\t})\n\t}\n\n\tprivate updateState(width: number) {\n\t\tconst isLargeScreen = width >= SchmancyNavigationDrawer.BREAKPOINTS[this.breakpoint]\n\t\tthis.mode = isLargeScreen ? 'push' : 'overlay'\n\t\tthis.open = isLargeScreen ? 'open' : 'close'\n\t}\n\n\tprotected render() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer': SchmancyNavigationDrawer\n\t}\n}\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { SchmancyEvents, SchmancyTheme, color } from '..'\nimport {\n\tSchmancyDrawerNavbarMode,\n\tSchmancyDrawerNavbarState,\n\tTSchmancyDrawerNavbarMode,\n\tTSchmancyDrawerNavbarState,\n} from './context'\n\n// Animation configuration constants.\nconst ANIMATION_EASING = 'cubic-bezier(0.5, 0.01, 0.25, 1)'\nconst OVERLAY_ANIM_DURATION_OPEN = 200\nconst OVERLAY_ANIM_DURATION_CLOSE = 150\nconst NAV_ANIM_DURATION = 200\n\n@customElement('schmancy-nav-drawer-navbar')\nexport class SchmancyNavigationDrawerSidebar extends $LitElement() {\n\t// Consume context values. Renamed from \"state\" to \"drawerState\" to avoid confusion.\n\t@consume({ context: SchmancyDrawerNavbarMode, subscribe: true })\n\t@state()\n\tmode!: TSchmancyDrawerNavbarMode\n\n\t@consume({ context: SchmancyDrawerNavbarState, subscribe: true })\n\t@state()\n\tdrawerState!: TSchmancyDrawerNavbarState\n\n\t@query('#overlay') overlay!: HTMLElement\n\t@query('nav') nav!: HTMLElement\n\n\t@property({ type: String }) width = '220px'\n\t@state() private _initialized = false\n\n\t/**\n\t * firstUpdated()\n\t * Set initial styles based on the current mode and consumed state.\n\t */\n\tfirstUpdated() {\n\t\tif (this.mode === 'overlay') {\n\t\t\tif (this.drawerState === 'close') {\n\t\t\t\tthis.nav.style.transform = 'translateX(-100%)'\n\t\t\t\tthis.overlay.style.display = 'none'\n\t\t\t} else if (this.drawerState === 'open') {\n\t\t\t\tthis.nav.style.transform = 'translateX(0)'\n\t\t\t\tthis.overlay.style.display = 'block'\n\t\t\t\tthis.overlay.style.opacity = '0.4'\n\t\t\t}\n\t\t} else if (this.mode === 'push') {\n\t\t\t// In push mode, the nav is always visible and the overlay hidden.\n\t\t\tthis.nav.style.transform = 'translateX(0)'\n\t\t\tthis.overlay.style.display = 'none'\n\t\t}\n\t\tthis._initialized = true\n\t}\n\n\t/**\n\t * updated()\n\t * Trigger animations when either the consumed mode or state changes.\n\t */\n\tupdated(changedProperties: Map<string, any>) {\n\t\tif (!this._initialized) return\n\n\t\tif (changedProperties.has('drawerState') || changedProperties.has('mode')) {\n\t\t\tif (this.mode === 'overlay') {\n\t\t\t\tif (this.drawerState === 'open') {\n\t\t\t\t\t// Animate only if the nav isn’t already open.\n\t\t\t\t\tif (this.nav.style.transform !== 'translateX(0)') {\n\t\t\t\t\t\tthis.openOverlay()\n\t\t\t\t\t\tthis.showNavDrawer()\n\t\t\t\t\t}\n\t\t\t\t} else if (this.drawerState === 'close') {\n\t\t\t\t\tif (this.nav.style.transform !== 'translateX(-100%)') {\n\t\t\t\t\t\tthis.hideNavDrawer()\n\t\t\t\t\t\tthis.closeOverlay()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (this.mode === 'push') {\n\t\t\t\tif (this.nav.style.transform !== 'translateX(0)') {\n\t\t\t\t\tthis.showNavDrawer()\n\t\t\t\t}\n\t\t\t\tif (this.overlay.style.display !== 'none') {\n\t\t\t\t\tthis.closeOverlay()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Animate the overlay to fade in.\n\t */\n\topenOverlay() {\n\t\tthis.overlay.style.display = 'block'\n\t\tthis.overlay.animate([{ opacity: 0 }, { opacity: 0.4 }], {\n\t\t\tduration: OVERLAY_ANIM_DURATION_OPEN,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t}\n\n\t/**\n\t * Animate the overlay to fade out, then hide it.\n\t */\n\tcloseOverlay() {\n\t\tconst animation = this.overlay.animate([{ opacity: 0.4 }, { opacity: 0 }], {\n\t\t\tduration: OVERLAY_ANIM_DURATION_CLOSE,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.overlay.style.display = 'none'\n\t\t}\n\t}\n\tshowNavDrawer() {\n\t\t// Use computed style if needed, but here we directly update inline style after animation.\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(-100%)' }, { transform: 'translateX(0)' }], {\n\t\t\tduration: NAV_ANIM_DURATION,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.nav.style.transform = 'translateX(0)'\n\t\t}\n\t}\n\n\thideNavDrawer() {\n\t\tconst animation = this.nav.animate([{ transform: 'translateX(0)' }, { transform: 'translateX(-100%)' }], {\n\t\t\tduration: NAV_ANIM_DURATION,\n\t\t\teasing: ANIMATION_EASING,\n\t\t\tfill: 'forwards',\n\t\t})\n\t\tanimation.onfinish = () => {\n\t\t\tthis.nav.style.transform = 'translateX(-100%)'\n\t\t}\n\t}\n\n\t/**\n\t * Handle overlay click events by dispatching a custom event\n\t * to close the navigation drawer.\n\t */\n\tprivate handleOverlayClick() {\n\t\twindow.dispatchEvent(\n\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\tdetail: { state: 'close' },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprotected render() {\n\t\tconst sidebarClasses = {\n\t\t\t'max-w-[360px] w-fit h-full overflow-auto': true,\n\t\t\tblock: this.mode === 'push',\n\t\t\t'fixed inset-0 z-50': this.mode === 'overlay',\n\t\t}\n\t\tconst overlayClass = {\n\t\t\t'fixed inset-0 z-49 hidden': true,\n\t\t}\n\t\tconst styleMap = {\n\t\t\twidth: this.width,\n\t\t}\n\n\t\treturn html`\n\t\t\t<nav\n\t\t\t\tstyle=${this.styleMap(styleMap)}\n\t\t\t\tclass=\"${this.classMap({ ...sidebarClasses })}\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</nav>\n\t\t\t<div\n\t\t\t\tid=\"overlay\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.scrim,\n\t\t\t\t})}\n\t\t\t\t@click=${this.handleOverlayClick}\n\t\t\t\tclass=\"${this.classMap({ ...overlayClass })}\"\n\t\t\t></div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-nav-drawer-navbar': SchmancyNavigationDrawerSidebar\n\t}\n}\n","import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { color } from '@schmancy/directives'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyTheme } from '..'\nimport { BehaviorSubject, fromEvent, merge, timer } from 'rxjs'\nimport { takeUntil, tap, filter } from 'rxjs/operators'\n\n/**\n * `<schmancy-navigation-bar-item>` component\n *\n * Individual navigation item for use within a navigation bar.\n * Represents a single destination with an icon and optional label following Material Design 3 specifications.\n *\n * @element schmancy-navigation-bar-item\n * @slot icon - Slot for custom icon content\n * @slot - Default slot for custom content\n *\n * @fires bar-item-click - When the item is clicked\n * @fires focus - When the item receives focus\n * @fires blur - When the item loses focus\n *\n * @example\n * <schmancy-navigation-bar-item icon=\"home\" label=\"Home\" active></schmancy-navigation-bar-item>\n *\n * @example\n * <schmancy-navigation-bar-item label=\"Custom\">\n * <span slot=\"icon\">🏠</span>\n * </schmancy-navigation-bar-item>\n */\n@customElement('schmancy-navigation-bar-item')\nexport class SchmancyNavigationBarItem extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tflex: 1;\n\t\tmin-width: 48px;\n\t\tmax-width: 168px;\n\t\tuser-select: none;\n\t\t-webkit-tap-highlight-color: transparent;\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t}\n\n\tbutton {\n\t\tfont-family: inherit;\n\t\tborder: none;\n\t\tbackground: none;\n\t\twidth: 100%;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\ttext-align: center;\n\t\tcolor: inherit;\n\t}\n\n\tbutton:focus {\n\t\toutline: none;\n\t}\n\n\tbutton:focus-visible {\n\t\toutline: 2px solid var(--focus-color);\n\t\toutline-offset: 2px;\n\t\tborder-radius: 8px;\n\t}\n\n\t/* Ripple animation */\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t.ripple-effect {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tbackground-color: currentColor;\n\t\topacity: 0.25;\n\t\tanimation: ripple 0.6s ease-out;\n\t\tpointer-events: none;\n\t}\n`) {\n\t/**\n\t * Icon name for the navigation item (Material Symbols Outlined)\n\t */\n\t@property({ type: String })\n\ticon = ''\n\n\t/**\n\t * Label text for the navigation item\n\t */\n\t@property({ type: String })\n\tlabel = ''\n\n\t/**\n\t * Badge content (can be a number or short text)\n\t */\n\t@property({ type: String })\n\tbadge = ''\n\n\t/**\n\t * Observable for active state\n\t */\n\tprivate active$ = new BehaviorSubject<boolean>(false)\n\n\t/**\n\t * Whether this item is currently active/selected\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tget active() { return this.active$.value }\n\tset active(value: boolean) { this.active$.next(value) }\n\n\t/**\n\t * Whether this item is disabled\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled = false\n\n\t/**\n\t * Whether to hide labels (controlled by parent navigation bar)\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\thideLabels = false\n\n\t/**\n\t * Track ripple effects\n\t */\n\t@state()\n\tprivate ripples: { x: number; y: number; id: number }[] = []\n\n\t/**\n\t * Add ripple effect (immediate, no debounce)\n\t */\n\tprivate addRippleEffect = (event: MouseEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Find the icon indicator div for ripple positioning\n\t\tconst indicatorDiv = this.shadowRoot?.querySelector('.w-16.h-8')\n\t\tif (indicatorDiv) {\n\t\t\tconst rect = indicatorDiv.getBoundingClientRect()\n\t\t\tconst ripple = {\n\t\t\t\tx: event.clientX - rect.left,\n\t\t\t\ty: event.clientY - rect.top,\n\t\t\t\tid: Date.now()\n\t\t\t}\n\t\t\tthis.ripples = [...this.ripples, ripple]\n\n\t\t\t// Remove ripple after animation\n\t\t\ttimer(600).pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== ripple.id)\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t).subscribe()\n\t\t}\n\t}\n\n\t/**\n\t * Handle click events with RxJS\n\t */\n\tprivate handleClick = (event: MouseEvent) => {\n\t\tif (this.disabled) {\n\t\t\tevent.preventDefault()\n\t\t\tevent.stopPropagation()\n\t\t\treturn\n\t\t}\n\n\t\t// Add ripple immediately\n\t\tthis.addRippleEffect(event)\n\n\t\t// Navigation event is handled in connectedCallback\n\t}\n\n\t/**\n\t * Handle keyboard events for accessibility (non-Enter/Space keys)\n\t */\n\tprivate handleKeyDown = (event: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Enter and Space are handled by the RxJS stream\n\t\tif (event.key === 'Enter' || event.key === ' ') {\n\t\t\tevent.preventDefault()\n\t\t\t// Keyboard activation is handled in connectedCallback\n\t\t}\n\t}\n\n\t/**\n\t * Method called by parent to set active state\n\t */\n\tsetActive(isActive: boolean) {\n\t\tthis.active = isActive\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Subscribe to active state changes\n\t\tthis.active$.pipe(\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe(() => {\n\t\t\tthis.requestUpdate()\n\t\t})\n\n\t\t// Set up navigation event stream\n\t\tthis.setupNavigationStream()\n\t}\n\n\t/**\n\t * Set up RxJS stream for navigation events\n\t */\n\tprivate setupNavigationStream() {\n\t\tconst button = this.shadowRoot?.querySelector('button')\n\t\tif (!button) return\n\n\t\t// Create click stream\n\t\tconst click$ = fromEvent<MouseEvent>(button, 'click').pipe(\n\t\t\tfilter(() => !this.disabled)\n\t\t)\n\n\t\t// Create keyboard activation stream (Enter/Space)\n\t\tconst keyActivation$ = fromEvent<KeyboardEvent>(button, 'keydown').pipe(\n\t\t\tfilter(() => !this.disabled),\n\t\t\tfilter(event => event.key === 'Enter' || event.key === ' '),\n\t\t\ttap(event => event.preventDefault())\n\t\t)\n\n\t\t// Merge click and keyboard streams for instant navigation\n\t\tmerge(click$, keyActivation$).pipe(\n\t\t\ttap(() => {\n\t\t\t\t// Dispatch navigation event\n\t\t\t\tthis.dispatchEvent(new CustomEvent('bar-item-click', {\n\t\t\t\t\tdetail: {\n\t\t\t\t\t\ticon: this.icon,\n\t\t\t\t\t\tlabel: this.label,\n\t\t\t\t\t\tactive: this.active\n\t\t\t\t\t},\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\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\t/**\n\t * Format badge content for display\n\t */\n\tprivate formatBadge(badge: string): string {\n\t\t// Convert to number if possible\n\t\tconst num = Number(badge)\n\t\tif (!isNaN(num)) {\n\t\t\t// Show 99+ for large numbers\n\t\t\treturn num > 99 ? '99+' : String(num)\n\t\t}\n\t\t// For text badges, limit to 3 characters\n\t\treturn badge.slice(0, 3)\n\t}\n\n\tprotected firstUpdated() {\n\t\t// Set up navigation stream after first render when button is available\n\t\tthis.setupNavigationStream()\n\t}\n\n\tprotected render() {\n\t\tconst hasSlotContent = this.querySelector('[slot]') || (this.textContent?.trim() && !this.label)\n\t\tconst badgeText = this.badge ? this.formatBadge(this.badge) : ''\n\t\tconst showBadgeText = badgeText && badgeText !== '0'\n\n\t\t// Check for custom icon slot content\n\t\tconst hasCustomIcon = this.querySelector('[slot=\"icon\"]')\n\n\t\t// Main container classes - now the clickable area\n\t\tconst containerClasses = {\n\t\t\t'relative flex flex-col items-center justify-center': true,\n\t\t\t'flex-1 min-w-[48px] max-w-[168px]': true, // Fill available space\n\t\t\t'py-2 px-1 cursor-pointer': !this.disabled,\n\t\t\t'transition-all duration-200': true,\n\t\t\t'hover:bg-surface-container-high': !this.disabled && !this.active,\n\t\t\t'cursor-not-allowed opacity-38': this.disabled,\n\t\t\t'outline-none': true,\n\t\t\t'focus-visible:outline-2 focus-visible:outline-offset-2': true\n\t\t}\n\n\t\t// Icon indicator - just visual, not clickable\n\t\tconst indicatorClasses = {\n\t\t\t'w-16 h-8 rounded-2xl': true,\n\t\t\t'flex items-center justify-center': true,\n\t\t\t'transition-all duration-200': true,\n\t\t\t'bg-secondary-container': this.active,\n\t\t\t'group-hover:bg-surface-container-highest': !this.active && !this.disabled,\n\t\t\t'relative overflow-hidden': true\n\t\t}\n\n\t\tconst labelClasses = {\n\t\t\t'text-xs font-medium leading-4 mt-1': true,\n\t\t\t'text-center max-w-full': true,\n\t\t\t'overflow-hidden text-ellipsis whitespace-nowrap': true,\n\t\t\t'transition-all duration-200': true\n\t\t}\n\n\t\tconst badgeClasses = {\n\t\t\t'absolute top-0 right-3': true,\n\t\t\t'min-w-[6px] h-1.5': !showBadgeText,\n\t\t\t'min-w-[16px] h-4': showBadgeText,\n\t\t\t'rounded-full': !showBadgeText,\n\t\t\t'rounded-lg': showBadgeText,\n\t\t\t'flex items-center justify-center': showBadgeText,\n\t\t\t'px-1': showBadgeText,\n\t\t\t'transition-all duration-200': true,\n\t\t\t'z-10': true\n\t\t}\n\n\t\t// Determine colors\n\t\tconst containerColors = this.active\n\t\t\t? {\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.secondary.onContainer\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.onVariant\n\t\t\t }\n\n\t\t// Set CSS variables for focus state\n\t\tconst styleVars = {\n\t\t\t'--focus-color': SchmancyTheme.sys.color.primary.default\n\t\t}\n\n\t\treturn html`\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=${this.classMap(containerClasses)}\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\taria-pressed=${this.active}\n\t\t\t\taria-label=${this.label || 'Navigation item'}\n\t\t\t\tstyle=${this.styleMap({\n\t\t\t\t\t...styleVars,\n\t\t\t\t\t'outline-color': 'var(--focus-color)'\n\t\t\t\t})}\n\t\t\t\t${color(containerColors)}\n\t\t\t>\n\t\t\t\t<!-- Icon with indicator background -->\n\t\t\t\t<div class=${this.classMap(indicatorClasses)}>\n\t\t\t\t\t<!-- Ripple effects -->\n\t\t\t\t\t${this.ripples.map(\n\t\t\t\t\t\tripple => html`\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclass=\"ripple-effect\"\n\t\t\t\t\t\t\t\tstyle=${this.styleMap({\n\t\t\t\t\t\t\t\t\tleft: `${ripple.x}px`,\n\t\t\t\t\t\t\t\t\ttop: `${ripple.y}px`,\n\t\t\t\t\t\t\t\t\ttransform: 'translate(-50%, -50%)'\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t`\n\t\t\t\t\t)}\n\n\t\t\t\t\t${hasCustomIcon\n\t\t\t\t\t\t? html`<slot name=\"icon\"></slot>`\n\t\t\t\t\t\t: this.icon\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<schmancy-icon\n\t\t\t\t\t\t\t\t\t\t.fill=${this.active ? 1 : 0}\n\t\t\t\t\t\t\t\t\t\tclass=\"relative z-10 flex items-center justify-center transition-all duration-200\"\n\t\t\t\t\t\t\t\t\t\tstyle=\"--schmancy-icon-size: 24px;\"\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t${this.icon}\n\t\t\t\t\t\t\t\t\t</schmancy-icon>\n\t\t\t\t\t\t\t `\n\t\t\t\t\t\t\t: hasSlotContent\n\t\t\t\t\t\t\t\t? html`<slot></slot>`\n\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Label below icon -->\n\t\t\t\t${!this.hideLabels && this.label ? html`\n\t\t\t\t\t<span class=${this.classMap(labelClasses)}>${this.label}</span>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Badge -->\n\t\t\t\t${showBadgeText ? html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=${this.classMap(badgeClasses)}\n\t\t\t\t\t\taria-label=\"${badgeText} notifications\"\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.error.default,\n\t\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.error.on\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"text-[10px] font-medium leading-none\">${badgeText}</span>\n\t\t\t\t\t</span>\n\t\t\t\t` : this.badge ? html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=${this.classMap(badgeClasses)}\n\t\t\t\t\t\taria-label=\"Has notifications\"\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.error.default\n\t\t\t\t\t\t})}\n\t\t\t\t\t></span>\n\t\t\t\t` : ''}\n\t\t\t</button>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-navigation-bar-item': SchmancyNavigationBarItem\n\t}\n}","import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { color } from '@schmancy/directives'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SchmancyEvents, SchmancyTheme } from '..'\nimport { BehaviorSubject, fromEvent } from 'rxjs'\nimport { takeUntil, throttleTime, tap, pairwise, map, filter } from 'rxjs/operators'\nimport type { SchmancyNavigationBarItem } from './navigation-bar-item'\n\n/**\n * `<schmancy-navigation-bar>` component\n *\n * A horizontal navigation component following Material Design 3 specifications.\n * Navigation bars provide access to between 3-7 primary destinations.\n * Automatically hides in fullscreen mode when triggered via schmancyTheme.next({ fullscreen: true }).\n *\n * **IMPORTANT**: This component includes `z-10` by default (consistent with navigation-rail).\n * The consumer is responsible for positioning the navigation bar in their layout.\n * For typical bottom-fixed positioning, add: `class=\"fixed bottom-0 left-0 right-0\"`.\n *\n * @element schmancy-navigation-bar\n * @slot - Default slot for navigation bar items\n *\n * @fires navigation-change - When an item is selected\n *\n * @example\n * <!-- Fixed at bottom (typical usage) -->\n * <schmancy-navigation-bar activeIndex=\"0\" class=\"fixed bottom-0 left-0 right-0\">\n * <schmancy-navigation-bar-item icon=\"home\" label=\"Home\"></schmancy-navigation-bar-item>\n * <schmancy-navigation-bar-item icon=\"search\" label=\"Search\"></schmancy-navigation-bar-item>\n * <schmancy-navigation-bar-item icon=\"favorite\" label=\"Favorites\"></schmancy-navigation-bar-item>\n * <schmancy-navigation-bar-item icon=\"settings\" label=\"Settings\"></schmancy-navigation-bar-item>\n * </schmancy-navigation-bar>\n *\n * @example\n * <!-- Within a container (demo/mockup usage) -->\n * <div class=\"flex flex-col h-screen\">\n * <main class=\"flex-1\">Content</main>\n * <schmancy-navigation-bar activeIndex=\"0\">\n * <schmancy-navigation-bar-item icon=\"home\" label=\"Home\"></schmancy-navigation-bar-item>\n * </schmancy-navigation-bar>\n * </div>\n */\n@customElement('schmancy-navigation-bar')\nexport class SchmancyNavigationBar extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\ttransition: transform 0.3s ease-in-out;\n\t}\n\n\t:host([hide-on-scroll]) {\n\t\ttransition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t/* Support 3-7 items with equal distribution */\n\t::slotted(schmancy-navigation-bar-item) {\n\t\tflex: 1;\n\t\tmax-width: 168px; /* Prevent items from being too wide */\n\t}\n\n\t/* Accessibility focus indicators */\n\t:host(:focus-within) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary);\n\t\toutline-offset: -2px;\n\t}\n`) {\n\t/**\n\t * Observable for active index state\n\t */\n\tprivate activeIndex$ = new BehaviorSubject<number>(-1)\n\n\t/**\n\t * Currently active item index\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\tget activeIndex() { return this.activeIndex$.value }\n\tset activeIndex(value: number) { this.activeIndex$.next(value) }\n\n\t/**\n\t * Hide labels and show only icons\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\thideLabels = false\n\n\t/**\n\t * Elevation level for the navigation bar\n\t * @default 2\n\t */\n\t@property({ type: Number, reflect: true })\n\televation = 2\n\n\t/**\n\t * Hide navigation bar on scroll down, show on scroll up\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\thideOnScroll = false\n\n\n\t/**\n\t * Current focused item index for keyboard navigation\n\t */\n\t@state()\n\tprivate focusedIndex = -1\n\n\t/**\n\t * Whether the navigation bar is hidden due to scrolling\n\t */\n\t@state()\n\tprivate isHiddenByScroll = false\n\n\t/**\n\t * Whether the navigation bar is hidden due to fullscreen mode\n\t */\n\t@state()\n\tprivate isFullscreen = false\n\n\t/**\n\t * Get all navigation bar items from the slot\n\t */\n\tprivate getItems(): SchmancyNavigationBarItem[] {\n\t\tconst slot = this.shadowRoot?.querySelector('slot') as HTMLSlotElement | null\n\t\tif (!slot) return []\n\t\treturn slot.assignedElements({ flatten: true })\n\t\t\t.filter((el): el is SchmancyNavigationBarItem =>\n\t\t\t\tel.tagName.toLowerCase() === 'schmancy-navigation-bar-item'\n\t\t\t)\n\t}\n\n\t/**\n\t * Minimum scroll threshold before triggering hide/show\n\t */\n\tprivate readonly SCROLL_THRESHOLD = 10\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Listen to bar-item-click events using RxJS\n\t\tfromEvent(this, 'bar-item-click').pipe(\n\t\t\ttap((event: Event) => this.handleItemClick(event as CustomEvent)),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Listen to keydown events using RxJS\n\t\tfromEvent(this, 'keydown').pipe(\n\t\t\ttap((event: Event) => this.handleKeyDown(event as KeyboardEvent)),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Subscribe to active index changes\n\t\tthis.activeIndex$.pipe(\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe(index => {\n\t\t\tthis.updateActiveStates(index)\n\t\t})\n\n\t\t// Listen to fullscreen events\n\t\tfromEvent(window, 'fullscreen').pipe(\n\t\t\ttap((event: Event) => {\n\t\t\t\tconst customEvent = event as CustomEvent\n\t\t\t\tthis.isFullscreen = customEvent.detail\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Set up scroll listener if hideOnScroll is enabled\n\t\tif (this.hideOnScroll) {\n\t\t\tthis.setupScrollListener()\n\t\t}\n\n\t\tthis.updateItems()\n\t}\n\n\t/**\n\t * Set up RxJS-based scroll listener\n\t */\n\tprivate setupScrollListener() {\n\t\t// Create scroll observable\n\t\tfromEvent(window, 'scroll').pipe(\n\t\t\tthrottleTime(100), // Throttle for performance\n\t\t\tmap(() => window.scrollY),\n\t\t\tpairwise(), // Get pairs of [previous, current] scroll positions\n\t\t\tfilter(([prev, curr]) => Math.abs(curr - prev) > this.SCROLL_THRESHOLD), // Only react if scrolled enough\n\t\t\ttap(([prev, curr]) => {\n\t\t\t\tconst scrollingDown = curr > prev\n\t\t\t\tconst scrollingUp = curr < prev\n\n\t\t\t\t// Hide when scrolling down, show when scrolling up\n\t\t\t\tif (scrollingDown && !this.isHiddenByScroll) {\n\t\t\t\t\tthis.isHiddenByScroll = true\n\t\t\t\t} else if (scrollingUp && this.isHiddenByScroll) {\n\t\t\t\t\tthis.isHiddenByScroll = false\n\t\t\t\t}\n\n\t\t\t\t// Always show when near top\n\t\t\t\tif (curr <= this.SCROLL_THRESHOLD) {\n\t\t\t\t\tthis.isHiddenByScroll = false\n\t\t\t\t}\n\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\n\t/**\n\t * Handle item click events\n\t */\n\tprivate handleItemClick = (event: CustomEvent) => {\n\t\tconst items = this.getItems()\n\t\tconst clickedItem = event.target as HTMLElement\n\t\tconst index = items.indexOf(clickedItem as any)\n\n\t\tif (index === -1) return\n\n\t\t// Clicking the already-active item toggles the sidebar\n\t\tif (this.activeIndex === index) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent(SchmancyEvents.NavDrawer_toggle, {\n\t\t\t\t\tdetail: { state: 'toggle' },\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\treturn\n\t\t}\n\n\t\tconst oldIndex = this.activeIndex\n\t\t// Setting activeIndex will trigger the BehaviorSubject\n\t\tthis.activeIndex = index\n\n\t\t// Emit navigation change event\n\t\tthis.dispatchEvent(new CustomEvent('navigation-change', {\n\t\t\tdetail: {\n\t\t\t\toldIndex,\n\t\t\t\tnewIndex: index,\n\t\t\t\titem: clickedItem\n\t\t\t},\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\t/**\n\t * Handle keyboard navigation\n\t */\n\tprivate handleKeyDown = (event: KeyboardEvent) => {\n\t\tconst items = this.getItems()\n\t\tconst currentIndex = this.focusedIndex === -1 ? this.activeIndex : this.focusedIndex\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (currentIndex > 0) {\n\t\t\t\t\tthis.focusItem(currentIndex - 1)\n\t\t\t\t}\n\t\t\t\tbreak\n\n\t\t\tcase 'ArrowRight':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (currentIndex < items.length - 1) {\n\t\t\t\t\tthis.focusItem(currentIndex + 1)\n\t\t\t\t}\n\t\t\t\tbreak\n\n\t\t\tcase 'Home':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.focusItem(0)\n\t\t\t\tbreak\n\n\t\t\tcase 'End':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.focusItem(items.length - 1)\n\t\t\t\tbreak\n\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\tevent.preventDefault()\n\t\t\t\tif (this.focusedIndex !== -1) {\n\t\t\t\t\tconst item = items[this.focusedIndex] as any\n\t\t\t\t\titem?.click()\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\t/**\n\t * Focus a specific item by index\n\t */\n\tprivate focusItem(index: number) {\n\t\tconst items = this.getItems()\n\t\tif (items[index]) {\n\t\t\tthis.focusedIndex = index\n\t\t\t;(items[index] as HTMLElement).focus()\n\t\t}\n\t}\n\n\t/**\n\t * Update the list of navigation items\n\t */\n\tprivate updateItems() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (slot) {\n\t\t\tconst handleSlotChange = () => {\n\t\t\t\t// Update active states when slot content changes\n\t\t\t\tthis.updateActiveStates(this.activeIndex)\n\t\t\t}\n\t\t\tslot.addEventListener('slotchange', handleSlotChange)\n\t\t\thandleSlotChange() // Initial update\n\t\t}\n\t}\n\n\n\t/**\n\t * Add a boat item to the navigation bar\n\t * @param config Configuration for the boat item\n\t * @returns The created or existing navigation bar item element\n\t */\n\tpublic addBoatItem(config: { id: string; title: string; icon?: string }) {\n\t\t// Check if item already exists\n\t\tconst existingItem = this.querySelector(`[value=\"${config.id}\"]`) as HTMLElement\n\t\tif (existingItem) {\n\t\t\t// Item already exists, just return it\n\t\t\treturn existingItem\n\t\t}\n\n\t\t// Create new item\n\t\tconst item = document.createElement('schmancy-navigation-bar-item')\n\t\titem.setAttribute('value', config.id)\n\t\titem.innerHTML = `\n\t\t\t<schmancy-icon>${config.icon || 'widgets'}</schmancy-icon>\n\t\t\t<span>${config.title}</span>\n\t\t`\n\t\tthis.appendChild(item)\n\t\treturn item\n\t}\n\n\t/**\n\t * Update active states on all items\n\t */\n\tprivate updateActiveStates(activeIndex: number) {\n\t\tconst items = this.getItems()\n\t\titems.forEach((item, index) => {\n\t\t\tconst navItem = item as any\n\t\t\t// Use setActive method to trigger item's reactive update\n\t\t\tif (navItem.setActive) {\n\t\t\t\tnavItem.setActive(index === activeIndex)\n\t\t\t} else {\n\t\t\t\t// Fallback for backward compatibility\n\t\t\t\tnavItem.active = index === activeIndex\n\t\t\t}\n\t\t\tnavItem.hideLabels = this.hideLabels\n\t\t\t// Set tabindex for accessibility\n\t\t\t;(item as HTMLElement).tabIndex = index === activeIndex ? 0 : -1\n\t\t})\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\n\t\tif (changedProperties.has('hideLabels')) {\n\t\t\t// Only update hide labels, active state is handled by the BehaviorSubject\n\t\t\tthis.updateActiveStates(this.activeIndex)\n\t\t}\n\n\t\tif (changedProperties.has('hideOnScroll')) {\n\t\t\tif (this.hideOnScroll && !changedProperties.get('hideOnScroll')) {\n\t\t\t\t// hideOnScroll was just enabled\n\t\t\t\tthis.setupScrollListener()\n\t\t\t} else if (!this.hideOnScroll) {\n\t\t\t\t// hideOnScroll was disabled, reset hidden state\n\t\t\t\tthis.isHiddenByScroll = false\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected render() {\n\t\t// Determine if the bar should be visually hidden\n\t\tconst isVisuallyHidden = this.isFullscreen || this.isHiddenByScroll\n\n\t\tconst containerClasses = {\n\t\t\t'h-20': true, // 80px height\n\t\t\t'flex items-center justify-around': true,\n\t\t\t'px-2 py-3 box-border': true,\n\t\t\t'transition-all duration-300 ease-in-out': true,\n\t\t\t'z-10': true, // Consistent with navigation-rail z-index\n\t\t\t// Elevation shadows\n\t\t\t'shadow-none': this.elevation === 0,\n\t\t\t'shadow-sm': this.elevation === 1,\n\t\t\t'shadow-md': this.elevation === 2,\n\t\t\t'shadow-lg': this.elevation === 3,\n\t\t\t'shadow-xl': this.elevation === 4,\n\t\t\t'shadow-2xl': this.elevation === 5,\n\t\t}\n\n\t\t// Apply transform for hide/show animation\n\t\tconst transformStyle = isVisuallyHidden ? 'translateY(100%)' : 'translateY(0)'\n\n\t\treturn html`\n\t\t\t<nav\n\t\t\t\tclass=${this.classMap(containerClasses)}\n\t\t\t\trole=\"navigation\"\n\t\t\t\taria-label=\"Main navigation\"\n\t\t\t\taria-hidden=${isVisuallyHidden}\n\t\t\t\tstyle=\"transform: ${transformStyle};\"\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</nav>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-navigation-bar': SchmancyNavigationBar\n\t}\n}","import { bufferTime, concatMap, filter, fromEvent, map, of, Subject, take, tap, timeout, zip } from 'rxjs'\nimport { SchmancyTeleportation } from './teleport.component'\n\nexport type WhereAreYouRickyEvent = CustomEvent<{\n\tid: string\n\tcallerID: number\n}>\n\nexport const WhereAreYouRicky = 'whereAreYouRicky'\n\nexport type HereMortyEvent = CustomEvent<{\n\tcomponent: SchmancyTeleportation\n}>\n\nexport type FLIP_REQUEST = {\n\tfrom: {\n\t\trect: DOMRect\n\t\telement?: HTMLElement\n\t}\n\tto: {\n\t\trect: DOMRect\n\t\telement: HTMLElement\n\t}\n\tstagger?: number\n\thost: HTMLElement\n}\nexport const HereMorty = 'hereMorty'\n\nclass Teleportation {\n\tactiveTeleportations = new Map<string, DOMRect>()\n\tflipRequests = new Subject<FLIP_REQUEST>()\n\n\tconstructor() {\n\t\tthis.flipRequests\n\t\t\t.pipe(\n\t\t\t\tbufferTime(1),\n\t\t\t\tmap(requests =>\n\t\t\t\t\trequests.map(({ from, to, host }, i) => ({\n\t\t\t\t\t\tfrom,\n\t\t\t\t\t\tto,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\ti,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t\tconcatMap(requests => zip(requests.map(request => of(this.flip(request))))),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tfind = (component: SchmancyTeleportation) => {\n\t\treturn zip([\n\t\t\tfromEvent<HereMortyEvent>(window, HereMorty).pipe(\n\t\t\t\tfilter(\n\t\t\t\t\te =>\n\t\t\t\t\t\t!!e.detail.component.uuid &&\n\t\t\t\t\t\t!!component.id &&\n\t\t\t\t\t\te.detail.component.id === component.id &&\n\t\t\t\t\t\te.detail.component.uuid !== component.uuid,\n\t\t\t\t),\n\t\t\t\tmap(e => e.detail.component),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\tof(component).pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<WhereAreYouRickyEvent['detail']>(WhereAreYouRicky, {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tid: component.id,\n\t\t\t\t\t\t\t\tcallerID: component.uuid,\n\t\t\t\t\t\t\t},\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]).pipe(\n\t\t\tmap(([component]) => component),\n\t\t\ttimeout(0),\n\t\t)\n\t}\n\n\tflip = (request: {\n\t\tfrom: {\n\t\t\trect: DOMRect\n\t\t}\n\t\tto: {\n\t\t\telement: HTMLElement\n\t\t\trect: DOMRect\n\t\t}\n\t\thost: HTMLElement\n\t\ti: number\n\t}) => {\n\t\tconst { from, to } = request\n\n\t\t// Prepare the element for animation\n\t\tconst originalZIndex = to.element.style.zIndex\n\t\tto.element.style.transformOrigin = 'top left'\n\t\tto.element.style.setProperty('visibility', 'visible')\n\t\tto.element.style.zIndex = '1000'\n\n\t\t// \"onBegin\" logic goes here (since Web Animations doesn't have onBegin).\n\t\t// If you had more logic, place it here:\n\n\t\t// Calculate starting and ending transforms\n\t\tconst startX = from.rect.left - to.rect.left\n\t\tconst startY = from.rect.top - to.rect.top\n\t\tconst startScaleX = from.rect.width / to.rect.width\n\t\tconst startScaleY = from.rect.height / to.rect.height\n\n\t\t// Create keyframes\n\t\tconst keyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: `translate(${startX}px, ${startY}px) scale(${startScaleX}, ${startScaleY})`,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'translate(0, 0) scale(1, 1)',\n\t\t\t},\n\t\t]\n\n\t\t// Use native Web Animations API\n\t\tconst animation = to.element.animate(keyframes, {\n\t\t\tduration: 250,\n\t\t\tdelay: 10, // if desired\n\t\t\t// Approximate 'inOutQuad' via a cubic-bezier easing.\n\t\t\t// You can adjust these values to taste, or use a standard one:\n\t\t\teasing: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)',\n\t\t\t// or simply 'ease-in-out'\n\t\t})\n\n\t\t// \"onComplete\" logic goes here\n\t\tanimation.onfinish = () => {\n\t\t\tto.element.style.zIndex = originalZIndex\n\t\t\tto.element.style.transformOrigin = ''\n\t\t\t// If you have additional cleanup, place it here\n\t\t}\n\t}\n}\n\nexport const teleport = new Teleportation()\nexport default teleport\n","import { Observable, interval } from 'rxjs'\nimport { distinctUntilChanged, map, take } from 'rxjs/operators'\n\n// Function to monitor element's bounding client rect\nexport function watchElementRect(element: Element): Observable<DOMRectReadOnly> {\n\treturn interval(50).pipe(\n\t\t// startWith(true),\n\t\tmap(() => element.getBoundingClientRect()),\n\t\tdistinctUntilChanged(\n\t\t\t(prev, curr) =>\n\t\t\t\tprev.width === curr.width &&\n\t\t\t\tprev.height === curr.height &&\n\t\t\t\tprev.top === curr.top &&\n\t\t\t\tprev.right === curr.right &&\n\t\t\t\tprev.bottom === curr.bottom &&\n\t\t\t\tprev.left === curr.left,\n\t\t),\n\t\ttake(1),\n\t)\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { filter, fromEvent, merge, of, takeUntil, tap, throwIfEmpty } from 'rxjs'\nimport { FINDING_MORTIES, FINDING_MORTIES_EVENT, HERE_RICKY, HERE_RICKY_EVENT } from '..'\nimport {\n\tHereMorty,\n\tHereMortyEvent,\n\tWhereAreYouRicky,\n\tWhereAreYouRickyEvent,\n\tdefault as teleport,\n\tdefault as teleportationService,\n} from './teleport.service'\nimport { watchElementRect } from './watcher'\nimport { $LitElement } from '@mixins/index'\n@customElement('schmancy-teleport')\nexport class SchmancyTeleportation extends $LitElement(css``) {\n\t/**\n\t * @attr {string} uuid - The component tag to teleport\n\t * @readonly\n\t */\n\t@property({ type: Number, reflect: true }) uuid = Math.floor(Math.random() * Date.now())\n\n\t/**\n\t * @attr {string} id - The component tag to teleport\n\t * @required\n\t */\n\t@property({ type: String }) id!: string\n\n\t@property({ type: Number }) delay = 0\n\n\tdebugging = import.meta.env.DEV ? true : false\n\n\tget _slottedChildren() {\n\t\tconst slot = this.shadowRoot.querySelector('slot')\n\t\treturn slot.assignedElements({ flatten: true })\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (this.id === undefined) throw new Error('id is required')\n\t\tsuper.connectedCallback()\n\t\tmerge(\n\t\t\tfromEvent<FINDING_MORTIES_EVENT>(window, FINDING_MORTIES).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\tnew CustomEvent<HERE_RICKY_EVENT['detail']>(HERE_RICKY, {\n\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t}),\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\tfromEvent<WhereAreYouRickyEvent>(window, WhereAreYouRicky).pipe(\n\t\t\t\ttap({\n\t\t\t\t\tnext: e => {\n\t\t\t\t\t\tif (e.detail.id === this.id && this.uuid && e.detail.callerID !== this.uuid) {\n\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent<HereMortyEvent['detail']>(HereMorty, {\n\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\tcomponent: this,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t)\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)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\tasync firstUpdated() {\n\t\tof(teleportationService.activeTeleportations.get(this.id))\n\t\t\t.pipe(\n\t\t\t\tfilter(a => !!a),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\tthrowIfEmpty(),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: domRect => {\n\t\t\t\t\tconsole.count('teleport')\n\t\t\t\t\tthis.style.setProperty('visibility', 'hidden')\n\t\t\t\t\t// teleport.flipRequests.next({ from: component, to: this, stagger: 0 })\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t\tteleport.flipRequests.next({\n\t\t\t\t\t\t\t\t\tfrom: {\n\t\t\t\t\t\t\t\t\t\trect: domRect,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tto: {\n\t\t\t\t\t\t\t\t\t\trect: e,\n\t\t\t\t\t\t\t\t\t\telement: this._slottedChildren[0] as HTMLElement,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thost: this,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\terror: () => {\n\t\t\t\t\tthis.style.setProperty('visibility', 'visible')\n\t\t\t\t\twatchElementRect(this)\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\tnext: e => {\n\t\t\t\t\t\t\t\tteleportationService.activeTeleportations.set(this.id, e)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tcomplete: () => {},\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-teleport': SchmancyTeleportation\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\n\n/**\n * M3 avatar sizes: 20dp → 24dp → 32dp → 40dp → 48dp → 64dp\n * - xxs: Ultra-compact (20px) - for menu cards\n * - xs: 24px - M3 compact\n * - sm: 32px - M3 small\n * - md: 40px - M3 medium (default)\n * - lg: 48px - M3 large\n * - xl: 64px - M3 extra large\n */\nexport type AvatarSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'\nexport type AvatarColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'error' | 'neutral'\nexport type AvatarShape = 'circle' | 'square'\nexport type AvatarStatus = 'online' | 'offline' | 'busy' | 'away' | 'none'\n\n/**\n * A customizable avatar component that displays initials or an icon\n * Designed to match the Schmancy design system\n *\n * @element schmancy-avatar\n *\n * @property {string} initials - Text initials to display (limited to 2 characters)\n * @property {string} src - URL of an image to display\n * @property {string} icon - Name of an icon to display\n * @property {AvatarSize} size - Size of the avatar (xs, sm, md, lg, xl)\n * @property {AvatarColor} color - Color theme of the avatar\n * @property {AvatarShape} shape - Shape of the avatar (circle or square)\n * @property {boolean} bordered - Whether to add a border around the avatar\n * @property {AvatarStatus} status - Optional status indicator to display\n *\n * @example\n * <schmancy-avatar\n * initials=\"JD\"\n * size=\"md\"\n * color=\"primary\"\n * ></schmancy-avatar>\n */\n@customElement('schmancy-avatar')\nexport class SchmancyAvatar extends $LitElement() {\n\t@property({ type: String }) initials: string = ''\n\t@property({ type: String }) src: string = ''\n\t@property({ type: String }) icon: string = ''\n\t@property({ type: String }) size: AvatarSize = 'md'\n\t@property({ type: String }) color: AvatarColor = 'primary'\n\t@property({ type: String }) shape: AvatarShape = 'circle'\n\t@property({ type: Boolean }) bordered: boolean = false\n\t@property({ type: String }) status: AvatarStatus = 'none'\n\n\trender() {\n\t\t// Determine content to display (image, initials, or icon)\n\t\tlet content\n\t\tif (this.src) {\n\t\t\tcontent = html`<img class=\"w-full h-full object-cover\" src=\"${this.src}\" alt=\"Avatar\" />`\n\t\t} else if (this.initials) {\n\t\t\tcontent = html`<span class=\"text-center font-medium\">${this.initials.substring(0, 2).toUpperCase()}</span>`\n\t\t} else if (this.icon) {\n\t\t\tcontent = html`<schmancy-icon>${this.icon}</schmancy-icon>`\n\t\t} else {\n\t\t\tcontent = html`<schmancy-icon>person</schmancy-icon>`\n\t\t}\n\n\t\t// Size classes - M3 aligned: 20dp → 24dp → 32dp → 40dp → 48dp → 64dp\n\t\tconst sizeClasses = {\n\t\t\txxs: 'w-5 h-5 text-[8px]', // 20px - Ultra-compact\n\t\t\txs: 'w-6 h-6 text-xs', // 24px - M3 compact\n\t\t\tsm: 'w-8 h-8 text-sm', // 32px - M3 small\n\t\t\tmd: 'w-10 h-10 text-base', // 40px - M3 medium (default)\n\t\t\tlg: 'w-12 h-12 text-lg', // 48px - M3 large\n\t\t\txl: 'w-16 h-16 text-xl', // 64px - M3 extra large\n\t\t}\n\n\t\t// Shape classes\n\t\tconst shapeClasses = {\n\t\t\tcircle: 'rounded-full',\n\t\t\tsquare: 'rounded-md',\n\t\t}\n\n\t\t// Combine classes\n\t\tconst avatarClasses = {\n\t\t\t'relative flex items-center justify-center overflow-hidden': true,\n\t\t\t[sizeClasses[this.size]]: true,\n\t\t\t[shapeClasses[this.shape]]: true,\n\t\t\t'border-2 border-surface-container': this.bordered,\n\t\t}\n\n\t\t// Get theme colors\n\t\tconst colorAttrs = this.getColorAttributes()\n\n\t\treturn html`\n\t\t\t<div class=\"${this.classMap(avatarClasses)}\" ${colorAttrs}>\n\t\t\t\t${content} ${this.status !== 'none' ? this.renderStatusIndicator() : ''}\n\t\t\t</div>\n\t\t`\n\t}\n\n\tprivate getColorAttributes() {\n\t\tconst colorMap = {\n\t\t\tprimary: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.primary.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.primary.onContainer,\n\t\t\t},\n\t\t\tsecondary: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.secondary.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.secondary.onContainer,\n\t\t\t},\n\t\t\ttertiary: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.tertiary.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t},\n\t\t\tsuccess: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.success.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.success.onContainer,\n\t\t\t},\n\t\t\terror: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.error.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.error.onContainer,\n\t\t\t},\n\t\t\tneutral: {\n\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.container,\n\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t},\n\t\t}\n\n\t\treturn color(colorMap[this.color])\n\t}\n\n\tprivate renderStatusIndicator() {\n\t\tconst statusColors = {\n\t\t\tonline: SchmancyTheme.sys.color.success.default,\n\t\t\toffline: SchmancyTheme.sys.color.surface.onVariant,\n\t\t\tbusy: SchmancyTheme.sys.color.error.default,\n\t\t\taway: SchmancyTheme.sys.color.tertiary.default,\n\t\t}\n\n\t\tconst sizeMap = {\n\t\t\txxs: 'w-1 h-1',\n\t\t\txs: 'w-1.5 h-1.5',\n\t\t\tsm: 'w-2 h-2',\n\t\t\tmd: 'w-2.5 h-2.5',\n\t\t\tlg: 'w-3 h-3',\n\t\t\txl: 'w-4 h-4',\n\t\t}\n\n\t\tconst statusClasses = {\n\t\t\t'absolute bottom-0 right-0 rounded-full border-2 border-surface-default': true,\n\t\t\t[sizeMap[this.size]]: true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"${this.classMap(statusClasses)}\" style=\"background-color: ${statusColors[this.status]};\"></div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-avatar': SchmancyAvatar\n\t}\n}\n"],"names":["SchmancyBadgeV2","TailwindElement","css","constructor","super","arguments","this","color","size","shape","outlined","icon","pulse","getSizeClasses","getShapeClasses","getIconSize","getExoticStyles","styles","letterSpacing","fontWeight","getColorStyles","primary","bg","SchmancyTheme","sys","container","default","text","onContainer","border","surface","highest","secondary","tertiary","success","bright","warning","error","neutral","high","outline","on","render","sizeClasses","shapeClasses","colorStyles","iconSize","exoticStyles","badgeClasses","shadow","borderColor","backdropFilter","boxShadow","html","classMap","styleMap","bgColor","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement","ScBadgeV2","schmancyContentDrawer","$drawer","Subject","pipe","subscribe","command","action","dispatchToggleEvent","ref","dispatchRenderEvent","component","title","handlePush","state","params","props","dispatchEvent","CustomEvent","SchmancyEvents","ContentDrawerToggle","detail","bubbles","composed","next","options","window","SchmancyContentDrawerSheetMode","createContext","SchmancyContentDrawerSheetState","SchmancyContentDrawerID","Math","floor","random","Date","now","toString","SchmancyContentDrawerMaxHeight","SchmancyContentDrawerMinWidth","SchmancyContentDrawer","$LitElement","minWidth","main","sheet","schmancyContentDrawerID","maxHeight","firstUpdated","setupResizeListener","setupToggleListener","setupRenderListener","merge","fromEvent","ContentDrawerResize","startWith","debounceTime","map","clientWidth","innerWidth","width","distinctUntilChanged","tap","updateMaxHeight","takeUntil","disconnecting","isLargeScreen","updateMode","event","stopPropagation","open","handleRender","innerHeight","getOffsetTop","style","setProperty","mode","area","push","historyStrategy","uid","element","offsetTop","offsetParent","nothing","gridClasses","join","provide","context","queryAssignedElements","flatten","SchmancyContentDrawerMain","connectedCallback","drawerMinWidth","changedProperties","update","has","when","Number","consume","SchmancyContentDrawerSheet","updated","closeAll","dismiss","position","display","animate","opacity","transform","duration","easing","from","closeModalSheet","closeSheet","of","Observable","observer","onfinish","complete","sheetClasses","block","query","slot","schmancyNavDrawer","data","NavDrawer_toggle","self","SchmancyDrawerAppbar","SchmancyNavigationDrawerContent","e","parentElement","SchmancyDrawerNavbarMode","SchmancyDrawerNavbarState","SchmancyNavigationDrawer","fullscreen","breakpoint","updateState","setAttribute","target","BREAKPOINTS","customEvent","sm","md","lg","xl","attribute","ANIMATION_EASING","SchmancyNavigationDrawerSidebar","_initialized","drawerState","nav","overlay","openOverlay","showNavDrawer","hideNavDrawer","closeOverlay","fill","handleOverlayClick","sidebarClasses","scrim","SchmancyNavigationBarItem","label","badge","active$","BehaviorSubject","disabled","hideLabels","ripples","addRippleEffect","indicatorDiv","shadowRoot","querySelector","rect","getBoundingClientRect","ripple","x","clientX","left","y","clientY","top","id","timer","filter","r","handleClick","preventDefault","handleKeyDown","key","value","isActive","active","requestUpdate","setupNavigationStream","button","click$","keyActivation$","num","isNaN","slice","hasSlotContent","textContent","trim","badgeText","formatBadge","showBadgeText","hasCustomIcon","containerClasses","indicatorClasses","containerColors","onVariant","styleVars","SchmancyNavigationBar","activeIndex$","elevation","hideOnScroll","focusedIndex","isHiddenByScroll","isFullscreen","SCROLL_THRESHOLD","handleItemClick","items","getItems","clickedItem","index","indexOf","activeIndex","oldIndex","newIndex","item","currentIndex","focusItem","length","click","assignedElements","el","tagName","toLowerCase","updateActiveStates","setupScrollListener","updateItems","throttleTime","scrollY","pairwise","prev","curr","abs","scrollingUp","focus","handleSlotChange","addEventListener","config","existingItem","document","createElement","innerHTML","appendChild","forEach","navItem","setActive","tabIndex","get","isVisuallyHidden","transformStyle","WhereAreYouRicky","HereMorty","teleport","activeTeleportations","Map","flipRequests","find","zip","uuid","take","callerID","timeout","flip","request","to","originalZIndex","zIndex","transformOrigin","keyframes","height","delay","bufferTime","requests","host","i","concatMap","watchElementRect","interval","right","bottom","SchmancyTeleportation","debugging","_slottedChildren","Error","FINDING_MORTIES","HERE_RICKY","teleportationService","a","throwIfEmpty","domRect","set","SchmancyAvatar","initials","src","bordered","status","content","substring","toUpperCase","avatarClasses","xxs","xs","circle","square","colorAttrs","getColorAttributes","renderStatusIndicator","colorMap","statusColors","online","offline","busy","away","statusClasses"],"mappings":"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"}
|
package/dist/badge.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"badge.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/badge.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/boat-Ckt9v__d.js
DELETED
|
@@ -1,301 +0,0 @@
|
|
|
1
|
-
import { fromEvent as m, interval as P, race as A, merge as M } from "rxjs";
|
|
2
|
-
import { takeUntil as y, filter as R, tap as w, startWith as D, take as z, map as x, switchMap as Y, finalize as I } from "rxjs/operators";
|
|
3
|
-
import "lit/directives/class-map.js";
|
|
4
|
-
import "lit/directives/style-map.js";
|
|
5
|
-
import { property as b, state as f, customElement as W } from "lit/decorators.js";
|
|
6
|
-
import "./tailwind.mixin-Bp_PR6yc.js";
|
|
7
|
-
import { $ as X } from "./litElement.mixin-DHZXtvYq.js";
|
|
8
|
-
import { css as _, html as u } from "lit";
|
|
9
|
-
import { createRef as C, ref as v } from "lit/directives/ref.js";
|
|
10
|
-
import { cache as F } from "lit/directives/cache.js";
|
|
11
|
-
var B = Object.defineProperty, E = Object.getOwnPropertyDescriptor, l = (t, i, s, n) => {
|
|
12
|
-
for (var e, a = n > 1 ? void 0 : n ? E(i, s) : i, o = t.length - 1; o >= 0; o--) (e = t[o]) && (a = (n ? e(i, s, a) : e(a)) || a);
|
|
13
|
-
return n && a && B(i, s, a), a;
|
|
14
|
-
};
|
|
15
|
-
let d = class extends X(_`
|
|
16
|
-
:host {
|
|
17
|
-
display: contents;
|
|
18
|
-
position: relative;
|
|
19
|
-
z-index: 1000;
|
|
20
|
-
}
|
|
21
|
-
`) {
|
|
22
|
-
constructor() {
|
|
23
|
-
super(...arguments), this.id = "default", this.containerRef = C(), this.contentRef = C(), this.iconRef = C(), this.headerRef = C(), this.ANIMATION_CONFIG = { durations: { expand: 350, minimize: 250, hide: 200, content: 300 }, easing: { emphasized: "cubic-bezier(0.2, 0.0, 0, 1.0)", decelerate: "cubic-bezier(0.05, 0.7, 0.1, 1.0)", accelerate: "cubic-bezier(0.3, 0.0, 0.8, 0.15)", standard: "cubic-bezier(0.4, 0.0, 0.2, 1)" }, shadows: { fab: "0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)", fabLowered: "0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12)", expanded: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)" } }, this.currentState = "minimized", this.isContentVisible = !1, this.isAnimating = !1, this.isLowered = !1, this.isDragging = !1, this.position = { x: 16, y: 16 }, this.anchor = "bottom-right";
|
|
24
|
-
}
|
|
25
|
-
get state() {
|
|
26
|
-
return this.currentState;
|
|
27
|
-
}
|
|
28
|
-
set state(t) {
|
|
29
|
-
this.isAnimating || t === this.currentState || this.animateToState(t);
|
|
30
|
-
}
|
|
31
|
-
get lowered() {
|
|
32
|
-
return this.isLowered;
|
|
33
|
-
}
|
|
34
|
-
set lowered(t) {
|
|
35
|
-
this.isLowered = t, this.requestUpdate();
|
|
36
|
-
}
|
|
37
|
-
connectedCallback() {
|
|
38
|
-
super.connectedCallback(), typeof window < "u" && (m(window, "resize").pipe(y(this.disconnecting)).subscribe(() => {
|
|
39
|
-
this.currentState === "expanded" && this.updateExpandedWidth();
|
|
40
|
-
const t = this.containerRef.value;
|
|
41
|
-
if (t) {
|
|
42
|
-
const i = t.getBoundingClientRect();
|
|
43
|
-
if (i.width > 0 && i.height > 0) {
|
|
44
|
-
const s = window.innerWidth, n = window.innerHeight, e = this.anchor.includes("right") ? s - this.position.x - i.width : this.position.x, a = this.anchor.includes("bottom") ? n - this.position.y - i.height : this.position.y;
|
|
45
|
-
let o = !1, h = e, r = a;
|
|
46
|
-
e < 0 && (h = 16, o = !0), e + i.width > s && (h = s - i.width - 16, o = !0), a < 0 && (r = 16, o = !0), a + i.height > n && (r = n - i.height - 16, o = !0), o && (this.position.x = this.anchor.includes("right") ? s - h - i.width : h, this.position.y = this.anchor.includes("bottom") ? n - r - i.height : r, this.position.x = Math.max(0, this.position.x), this.position.y = Math.max(0, this.position.y), this.updateContainerPosition(), this.savePosition());
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}), m(window, "keydown").pipe(R((t) => t.key === "Escape" && this.currentState !== "hidden"), w((t) => t.preventDefault()), y(this.disconnecting)).subscribe(() => {
|
|
50
|
-
this.currentState === "expanded" ? this.toggleState() : this.close();
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
async animateToState(t) {
|
|
54
|
-
if (this.isAnimating || t === this.currentState) return;
|
|
55
|
-
const i = this.currentState;
|
|
56
|
-
this.isAnimating = !0;
|
|
57
|
-
try {
|
|
58
|
-
await this.performTransition(i, t), this.currentState = t, this.isContentVisible = t === "expanded", this.dispatchEvent(new CustomEvent("toggle", { detail: t, bubbles: !0, composed: !0 }));
|
|
59
|
-
} catch {
|
|
60
|
-
this.currentState = t, this.isContentVisible = t === "expanded";
|
|
61
|
-
} finally {
|
|
62
|
-
this.isAnimating = !1;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async performTransition(t, i) {
|
|
66
|
-
if (this.currentAnimation?.cancel(), !this.containerRef.value) return;
|
|
67
|
-
i === "expanded" && (this.isContentVisible = !0, await this.updateComplete);
|
|
68
|
-
const s = this.createAnimations(t, i);
|
|
69
|
-
if (s.container) if (this.currentAnimation = s.container, await s.container.finished, s.content && await s.content.finished, i !== "expanded") this.isContentVisible = !1;
|
|
70
|
-
else {
|
|
71
|
-
const n = this.containerRef.value;
|
|
72
|
-
if (n) {
|
|
73
|
-
const e = n.getBoundingClientRect();
|
|
74
|
-
if (e.width > 0 && e.height > 0) {
|
|
75
|
-
const a = window.innerWidth, o = window.innerHeight, h = this.anchor.includes("right") ? a - this.position.x - e.width : this.position.x, r = this.anchor.includes("bottom") ? o - this.position.y - e.height : this.position.y;
|
|
76
|
-
let p = !1, g = h, c = r;
|
|
77
|
-
h < 0 && (g = 16, p = !0), h + e.width > a && (g = a - e.width - 16, p = !0), r < 0 && (c = 16, p = !0), r + e.height > o && (c = o - e.height - 16, p = !0), p && (this.position.x = this.anchor.includes("right") ? a - g - e.width : g, this.position.y = this.anchor.includes("bottom") ? o - c - e.height : c, this.position.x = Math.max(0, this.position.x), this.position.y = Math.max(0, this.position.y), this.updateContainerPosition(), this.savePosition());
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
createAnimations(t, i) {
|
|
83
|
-
const s = this.containerRef.value, n = this.contentRef.value, e = this.iconRef.value, a = {};
|
|
84
|
-
if (!s) return a;
|
|
85
|
-
const o = this.ANIMATION_CONFIG, h = this.getStyleForState(t), r = this.getStyleForState(i);
|
|
86
|
-
if (a.container = i === "expanded" ? s.animate([h, r], { duration: o.durations.expand, easing: o.easing.decelerate, fill: "forwards" }) : s.animate([h, r], { duration: i === "hidden" ? o.durations.hide : o.durations.minimize, easing: o.easing.accelerate, fill: "forwards" }), n && t === "expanded" && i === "minimized" ? a.content = n.animate([{ opacity: 1, transform: "translateY(0)" }, { opacity: 0, transform: "translateY(-8px)" }], { duration: 150, easing: o.easing.standard, fill: "forwards" }) : n && i === "expanded" && n.animate([{ opacity: 0, transform: "translateY(8px)" }, { opacity: 1, transform: "translateY(0)" }], { duration: o.durations.content, easing: o.easing.standard, fill: "forwards" }), e) {
|
|
87
|
-
const p = i === "expanded";
|
|
88
|
-
(p || t === "expanded" && i === "minimized") && e.animate([{ transform: p ? "rotate(0deg)" : "rotate(180deg)" }, { transform: p ? "rotate(180deg)" : "rotate(0deg)" }], { duration: 250, easing: o.easing.emphasized, fill: "forwards" });
|
|
89
|
-
}
|
|
90
|
-
return a;
|
|
91
|
-
}
|
|
92
|
-
getStyleForState(t) {
|
|
93
|
-
const { shadows: i } = this.ANIMATION_CONFIG, s = { maxWidth: "fit", maxHeight: "auto", borderRadius: "16px" };
|
|
94
|
-
return { hidden: { ...s, opacity: "0", pointerEvents: "none", boxShadow: "none", backdropFilter: "none" }, minimized: { ...s, opacity: "1", pointerEvents: "auto", boxShadow: this.isLowered ? i.fabLowered : i.fab, backdropFilter: "none" }, expanded: { opacity: "1", pointerEvents: "auto", width: this.getResponsiveWidth(), maxWidth: "100%", maxHeight: "80vh", boxShadow: i.expanded, borderRadius: "8px 8px 0 0", backdropFilter: "blur(12px)" } }[t];
|
|
95
|
-
}
|
|
96
|
-
getResponsiveWidth() {
|
|
97
|
-
if (typeof window > "u") return "40vw";
|
|
98
|
-
const t = window.innerWidth;
|
|
99
|
-
return t < 768 ? "calc(100vw - 32px)" : t < 1024 ? "70vw" : t < 1280 ? "60vw" : "40vw";
|
|
100
|
-
}
|
|
101
|
-
updateExpandedWidth() {
|
|
102
|
-
const t = this.containerRef.value;
|
|
103
|
-
t && this.currentState === "expanded" && (t.style.width = this.getResponsiveWidth());
|
|
104
|
-
}
|
|
105
|
-
firstUpdated() {
|
|
106
|
-
this.applyInitialStyles(), this.updateContainerPosition();
|
|
107
|
-
const t = this.containerRef.value;
|
|
108
|
-
t && P(10).pipe(D(!0), R(() => {
|
|
109
|
-
const i = t.getBoundingClientRect();
|
|
110
|
-
return i.width > 0 && i.height > 0;
|
|
111
|
-
}), z(1), y(this.disconnecting)).subscribe(() => {
|
|
112
|
-
const i = t.getBoundingClientRect(), s = window.innerWidth, n = window.innerHeight, e = this.anchor.includes("right") ? s - this.position.x - i.width : this.position.x, a = this.anchor.includes("bottom") ? n - this.position.y - i.height : this.position.y;
|
|
113
|
-
let o = !1, h = e, r = a;
|
|
114
|
-
e < 0 && (h = 16, o = !0), e + i.width > s && (h = s - i.width - 16, o = !0), a < 0 && (r = 16, o = !0), a + i.height > n && (r = n - i.height - 16, o = !0), o && (this.position.x = this.anchor.includes("right") ? s - h - i.width : h, this.position.y = this.anchor.includes("bottom") ? n - r - i.height : r, this.position.x = Math.max(0, this.position.x), this.position.y = Math.max(0, this.position.y), this.updateContainerPosition(), this.savePosition());
|
|
115
|
-
}), this.setupDragPipeline(), this.querySelector('[slot="header"]') && !this.icon && this.label;
|
|
116
|
-
}
|
|
117
|
-
applyInitialStyles() {
|
|
118
|
-
const t = this.containerRef.value, i = this.contentRef.value, s = this.iconRef.value;
|
|
119
|
-
if (t) {
|
|
120
|
-
const n = this.getStyleForState(this.currentState);
|
|
121
|
-
Object.assign(t.style, n), "webkitBackdropFilter" in t.style && (t.style.webkitBackdropFilter = n.backdropFilter);
|
|
122
|
-
}
|
|
123
|
-
i && (i.style.opacity = this.isContentVisible ? "1" : "0"), s && this.currentState === "expanded" && (s.style.transform = "rotate(180deg)");
|
|
124
|
-
}
|
|
125
|
-
toggleState() {
|
|
126
|
-
const t = this.currentState === "minimized" ? "expanded" : "minimized";
|
|
127
|
-
this.animateToState(t);
|
|
128
|
-
}
|
|
129
|
-
close() {
|
|
130
|
-
this.animateToState("hidden");
|
|
131
|
-
}
|
|
132
|
-
closeAndAddToNav() {
|
|
133
|
-
A(this.discover("schmancy-navigation-rail"), this.discover("schmancy-navigation-bar"), this.discover("schmancy-nav-drawer"), this.discover("app-navigation-rail"), this.discover("app-navigation-bar"), this.discover("app-nav-drawer")).pipe(z(1), w((t) => {
|
|
134
|
-
if (t && typeof t.addBoatItem == "function") {
|
|
135
|
-
const i = this.icon || this.querySelector('[slot="header"]')?.querySelector("schmancy-icon")?.textContent?.trim() || "widgets", s = this.label || (() => {
|
|
136
|
-
let a = this.querySelector('[slot="header"]')?.textContent?.trim() || "Boat";
|
|
137
|
-
return a.includes(i) && (a = a.replace(i, "").trim()), a || this.id;
|
|
138
|
-
})(), n = t.addBoatItem({ id: `boat-${this.id}`, title: s, icon: i });
|
|
139
|
-
if (n) {
|
|
140
|
-
const e = this.containerRef.value;
|
|
141
|
-
e ? e.animate([{ opacity: 1 }, { opacity: 0 }], { duration: 150, easing: "ease-out", fill: "forwards" }).finished.then(() => {
|
|
142
|
-
this.currentState = "hidden", this.isContentVisible = !1;
|
|
143
|
-
}) : (this.currentState = "hidden", this.isContentVisible = !1), m(n, "click").pipe(w(() => this.state = "expanded"), y(this.disconnecting)).subscribe();
|
|
144
|
-
}
|
|
145
|
-
} else this.close();
|
|
146
|
-
})).subscribe();
|
|
147
|
-
}
|
|
148
|
-
calculateDragPosition(t, i, s, n, e) {
|
|
149
|
-
const a = t - s, o = i - n, h = window.innerWidth, r = window.innerHeight, p = Math.max(0, Math.min(a, h - e.width)), g = Math.max(0, Math.min(o, r - e.height)), c = this.anchor.includes("right") ? h - (p + e.width) : p, S = this.anchor.includes("bottom") ? r - (g + e.height) : g;
|
|
150
|
-
return { x: Math.max(0, c), y: Math.max(0, S) };
|
|
151
|
-
}
|
|
152
|
-
savePosition() {
|
|
153
|
-
if (typeof window > "u") return;
|
|
154
|
-
const t = { x: this.position.x, y: this.position.y, anchor: this.anchor }, i = `schmancy-boat-${this.id}`;
|
|
155
|
-
localStorage.setItem(i, JSON.stringify(t));
|
|
156
|
-
}
|
|
157
|
-
setupDragPipeline() {
|
|
158
|
-
if (typeof window > "u") return;
|
|
159
|
-
const t = this.headerRef.value, i = this.containerRef.value;
|
|
160
|
-
if (!t || !i) return;
|
|
161
|
-
let s = !1;
|
|
162
|
-
M(m(t, "mousedown").pipe(R((n) => n.button === 0), w((n) => {
|
|
163
|
-
n.preventDefault(), n.stopPropagation();
|
|
164
|
-
}), x((n) => ({ clientX: n.clientX, clientY: n.clientY, type: "mouse" }))), m(t, "touchstart").pipe(x((n) => ({ clientX: n.touches[0].clientX, clientY: n.touches[0].clientY, type: "touch" })))).pipe(x(({ clientX: n, clientY: e, type: a }) => {
|
|
165
|
-
const o = i.getBoundingClientRect();
|
|
166
|
-
return s = !1, { startX: n, startY: e, offsetX: n - o.left, offsetY: e - o.top, initialRect: o, type: a };
|
|
167
|
-
})).pipe(Y(({ startX: n, startY: e, offsetX: a, offsetY: o, initialRect: h, type: r }) => {
|
|
168
|
-
const p = r === "mouse" ? m(window, "mousemove").pipe(x((c) => ({ clientX: c.clientX, clientY: c.clientY }))) : m(window, "touchmove").pipe(x((c) => ({ clientX: c.touches[0].clientX, clientY: c.touches[0].clientY }))), g = m(window, r === "mouse" ? "mouseup" : "touchend");
|
|
169
|
-
return p.pipe(x(({ clientX: c, clientY: S }) => {
|
|
170
|
-
const $ = c - n, k = S - e;
|
|
171
|
-
return Math.sqrt($ * $ + k * k) > 5 && !s && (s = !0, this.isDragging = !0), s ? this.calculateDragPosition(c, S, a, o, h) : null;
|
|
172
|
-
}), R((c) => c !== null), w((c) => {
|
|
173
|
-
c && (this.position = c, this.updateContainerPosition());
|
|
174
|
-
}), y(g));
|
|
175
|
-
}), I(() => {
|
|
176
|
-
s ? (this.updateAnchor(), this.savePosition()) : this.toggleState(), this.isDragging = !1, s = !1;
|
|
177
|
-
}), y(this.disconnecting)).subscribe();
|
|
178
|
-
}
|
|
179
|
-
updateContainerPosition() {
|
|
180
|
-
const t = this.containerRef.value;
|
|
181
|
-
t && (t.style.removeProperty("left"), t.style.removeProperty("right"), t.style.removeProperty("top"), t.style.removeProperty("bottom"), this.anchor.includes("right") ? t.style.right = `${this.position.x}px` : t.style.left = `${this.position.x}px`, this.anchor.includes("bottom") ? t.style.bottom = `${this.position.y}px` : t.style.top = `${this.position.y}px`);
|
|
182
|
-
}
|
|
183
|
-
updateAnchor() {
|
|
184
|
-
if (typeof window > "u") return;
|
|
185
|
-
const t = this.containerRef.value;
|
|
186
|
-
if (!t) return;
|
|
187
|
-
const i = t.getBoundingClientRect(), s = window.innerWidth, n = window.innerHeight, e = i.left > s / 2, a = i.top > n / 2, o = `${a ? "bottom" : "top"}-${e ? "right" : "left"}`;
|
|
188
|
-
o !== this.anchor && (this.position.x = e ? s - i.right : i.left, this.position.y = a ? n - i.bottom : i.top, this.anchor = o);
|
|
189
|
-
}
|
|
190
|
-
disconnectedCallback() {
|
|
191
|
-
super.disconnectedCallback(), this.currentAnimation?.cancel();
|
|
192
|
-
}
|
|
193
|
-
render() {
|
|
194
|
-
const t = this.currentState === "minimized" ? this.isLowered ? "1" : "3" : "4", i = this.currentState === "minimized", s = this.anchor.includes("bottom") ? this.anchor.includes("right") ? "bottom right" : "bottom left" : this.anchor.includes("right") ? "top right" : "top left", n = { fixed: !0, "overflow-y-auto": !0, flex: !0, "flex-col": !0, "select-none": !0, "will-change-transform": !0, "[contain:layout_style]": !0, "[transform:translate3d(0,0,0)]": !0, "[backface-visibility:hidden]": !0, "transition-shadow": !0, "opacity-95": this.isDragging, "shadow-[0_24px_48px_-8px_rgba(0,0,0,0.2),0_12px_24px_-4px_rgba(0,0,0,0.12)]": this.isDragging };
|
|
195
|
-
return u`
|
|
196
|
-
<div
|
|
197
|
-
class=${this.classMap(n)}
|
|
198
|
-
style="transform-origin: ${s}"
|
|
199
|
-
${v(this.containerRef)}
|
|
200
|
-
>
|
|
201
|
-
<!-- Header section -->
|
|
202
|
-
<section class="sticky top-0 z-100">
|
|
203
|
-
<schmancy-surface
|
|
204
|
-
elevation="${t}"
|
|
205
|
-
rounded="${i ? "none" : "top"}"
|
|
206
|
-
type="containerHigh"
|
|
207
|
-
>
|
|
208
|
-
<div
|
|
209
|
-
class="group sticky top-0 px-3 py-2 flex items-center justify-between gap-3 ${this.isDragging ? "cursor-grabbing" : "cursor-move"}"
|
|
210
|
-
${v(this.headerRef)}
|
|
211
|
-
title="Drag to move, double-click to toggle"
|
|
212
|
-
@dblclick=${(e) => {
|
|
213
|
-
e.preventDefault(), e.stopPropagation(), this.toggleState();
|
|
214
|
-
}}
|
|
215
|
-
>
|
|
216
|
-
<!-- Drag handle indicator -->
|
|
217
|
-
<div
|
|
218
|
-
class="flex items-center text-surface-onVariant opacity-40 transition-opacity duration-200 group-hover:opacity-100"
|
|
219
|
-
>
|
|
220
|
-
<schmancy-icon style="font-size: 20px">drag_indicator</schmancy-icon>
|
|
221
|
-
</div>
|
|
222
|
-
|
|
223
|
-
<!-- Header content - use properties if provided, else fallback to slot -->
|
|
224
|
-
<div
|
|
225
|
-
class="flex-1 min-w-fit items-center flex justify-start ${i ? "cursor-pointer" : ""}"
|
|
226
|
-
|
|
227
|
-
@dblclick=${(e) => {
|
|
228
|
-
i && (e.preventDefault(), e.stopPropagation(), this.state = "expanded");
|
|
229
|
-
}}
|
|
230
|
-
title="${i ? "Click to expand" : ""}"
|
|
231
|
-
>
|
|
232
|
-
${this.icon || this.label ? u`
|
|
233
|
-
<div
|
|
234
|
-
class="flex gap-2 items-center">
|
|
235
|
-
${this.icon ? u`<schmancy-icon>${this.icon}</schmancy-icon>` : ""}
|
|
236
|
-
${this.label ? u`<schmancy-typography type="title" token="md">${this.label}</schmancy-typography>` : ""}
|
|
237
|
-
${this.badge !== void 0 && this.badge !== null && this.badge !== "" ? u`<schmancy-badge>${this.badge}</schmancy-badge>` : ""}
|
|
238
|
-
</div>
|
|
239
|
-
` : u`<slot name="header"></slot>`}
|
|
240
|
-
</div>
|
|
241
|
-
|
|
242
|
-
<!-- Control buttons -->
|
|
243
|
-
<div class="flex items-center gap-1 shrink-0">
|
|
244
|
-
${i ? u`
|
|
245
|
-
<!-- Expand button (when minimized) -->
|
|
246
|
-
<schmancy-icon-button
|
|
247
|
-
size="sm"
|
|
248
|
-
variant="text"
|
|
249
|
-
@click=${(e) => {
|
|
250
|
-
e.stopPropagation(), this.state = "expanded";
|
|
251
|
-
}}
|
|
252
|
-
title="Expand"
|
|
253
|
-
${v(this.iconRef)}
|
|
254
|
-
>
|
|
255
|
-
fullscreen
|
|
256
|
-
</schmancy-icon-button>
|
|
257
|
-
` : u`
|
|
258
|
-
<!-- Minimize button (when expanded) -->
|
|
259
|
-
<schmancy-icon-button
|
|
260
|
-
size="sm"
|
|
261
|
-
variant="filled tonal"
|
|
262
|
-
@click=${(e) => {
|
|
263
|
-
e.stopPropagation(), this.state = "minimized";
|
|
264
|
-
}}
|
|
265
|
-
title="Minimize"
|
|
266
|
-
${v(this.iconRef)}
|
|
267
|
-
>
|
|
268
|
-
close_fullscreen
|
|
269
|
-
</schmancy-icon-button>
|
|
270
|
-
`}
|
|
271
|
-
|
|
272
|
-
<!-- Close button -->
|
|
273
|
-
<schmancy-icon-button
|
|
274
|
-
size="sm"
|
|
275
|
-
@click=${(e) => {
|
|
276
|
-
e.stopPropagation(), this.closeAndAddToNav();
|
|
277
|
-
}}
|
|
278
|
-
title="Close and add to navigation"
|
|
279
|
-
>
|
|
280
|
-
remove
|
|
281
|
-
</schmancy-icon-button>
|
|
282
|
-
</div>
|
|
283
|
-
</div>
|
|
284
|
-
</schmancy-surface>
|
|
285
|
-
</section>
|
|
286
|
-
|
|
287
|
-
<!-- Content section -->
|
|
288
|
-
${F(this.isContentVisible ? u`
|
|
289
|
-
<schmancy-surface type="containerHigh" class="flex-1" ${v(this.contentRef)}>
|
|
290
|
-
<slot></slot>
|
|
291
|
-
</schmancy-surface>
|
|
292
|
-
` : u``)}
|
|
293
|
-
</div>
|
|
294
|
-
`;
|
|
295
|
-
}
|
|
296
|
-
};
|
|
297
|
-
l([b({ type: String, reflect: !0 })], d.prototype, "state", 1), l([b({ type: String })], d.prototype, "id", 2), l([b({ type: Boolean, reflect: !0 })], d.prototype, "lowered", 1), l([b({ type: String })], d.prototype, "icon", 2), l([b({ type: String })], d.prototype, "label", 2), l([b()], d.prototype, "badge", 2), l([f()], d.prototype, "currentState", 2), l([f()], d.prototype, "isContentVisible", 2), l([f()], d.prototype, "isAnimating", 2), l([f()], d.prototype, "isLowered", 2), l([f()], d.prototype, "isDragging", 2), l([f()], d.prototype, "position", 2), l([f()], d.prototype, "anchor", 2), d = l([W("schmancy-boat")], d);
|
|
298
|
-
export {
|
|
299
|
-
d as S
|
|
300
|
-
};
|
|
301
|
-
//# sourceMappingURL=boat-Ckt9v__d.js.map
|