@mhmo91/schmancy 0.9.28 → 0.10.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/custom-elements.json +1005 -2215
- package/dist/active-host-CcIa2tmW.cjs +1 -0
- package/dist/active-host-CcIa2tmW.cjs.map +1 -0
- package/dist/active-host-CvNYoprt.js +57 -0
- package/dist/active-host-CvNYoprt.js.map +1 -0
- package/dist/agent/{flow-CvG1fLW5.js.map → flow-CaPi2G8y.js.map} +1 -1
- package/dist/agent/{rolldown-runtime-BIIoCavz.js → rolldown-runtime-DsMetpgY.js} +2 -9
- package/dist/agent/schmancy.agent.js +12678 -7791
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +265 -1453
- package/dist/agent/{vendor-highlight-Dow87ZL_.js → vendor-highlight-CHJZQQB7.js} +85 -90
- package/dist/agent/{vendor-highlight-Dow87ZL_.js.map → vendor-highlight-CHJZQQB7.js.map} +1 -1
- package/dist/agent/{vendor-jsqr-Bl4iAtKC.js → vendor-jsqr-r7GNh4P3.js} +1 -1
- package/dist/agent/{vendor-jsqr-Bl4iAtKC.js.map → vendor-jsqr-r7GNh4P3.js.map} +1 -1
- package/dist/agent/{vendor-material-color-DcL7ZPxx.js.map → vendor-material-color-Be96dpGE.js.map} +1 -1
- package/dist/{animation-hXFClrIn.js.map → animation-BK-8BwY8.js.map} +1 -1
- package/dist/{animation-CQRdLgzX.cjs.map → animation-CO_Csq84.cjs.map} +1 -1
- package/dist/{area-BGBCMC79.js → area-DHVANBbr.js} +20 -15
- package/dist/area-DHVANBbr.js.map +1 -0
- package/dist/area-ZupIezvU.cjs +12 -0
- package/dist/area-ZupIezvU.cjs.map +1 -0
- package/dist/area.cjs +1 -1
- package/dist/area.js +2 -2
- package/dist/{audio-Dvr-RBzE.cjs → audio-CluX8Qpq.cjs} +1 -1
- package/dist/{audio-Dvr-RBzE.cjs.map → audio-CluX8Qpq.cjs.map} +1 -1
- package/dist/{audio-ql6nvY0y.js → audio-DcXphulJ.js} +1 -1
- package/dist/{audio-ql6nvY0y.js.map → audio-DcXphulJ.js.map} +1 -1
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/autocomplete-Bn525CTp.cjs +115 -0
- package/dist/autocomplete-Bn525CTp.cjs.map +1 -0
- package/dist/{autocomplete-C2P0Soht.js → autocomplete-pHvsyfbH.js} +29 -26
- package/dist/autocomplete-pHvsyfbH.js.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatar.cjs +7 -0
- package/dist/avatar.cjs.map +1 -0
- package/dist/avatar.js +87 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/boat-IyEtsNI4.cjs +80 -0
- package/dist/boat-IyEtsNI4.cjs.map +1 -0
- package/dist/{boat-DXZ0k7oa.js → boat-_Yv3M6YM.js} +43 -54
- package/dist/boat-_Yv3M6YM.js.map +1 -0
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +4 -4
- package/dist/breadcrumb.cjs.map +1 -1
- package/dist/breadcrumb.js +16 -11
- package/dist/breadcrumb.js.map +1 -1
- package/dist/{busy-DGYhpTnO.cjs → busy-CjM39APN.cjs} +4 -4
- package/dist/busy-CjM39APN.cjs.map +1 -0
- package/dist/{busy-iRjq6Nvd.js → busy-Ck2IXJ4r.js} +14 -9
- package/dist/busy-Ck2IXJ4r.js.map +1 -0
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +24 -24
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +42 -37
- package/dist/button.js.map +1 -1
- package/dist/{card-DjYnCckw.cjs → card-DIxDuuth.cjs} +6 -6
- package/dist/card-DIxDuuth.cjs.map +1 -0
- package/dist/{card-wUTjx0EC.js → card-DUWZmMHc.js} +41 -30
- package/dist/card-DUWZmMHc.js.map +1 -0
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/charts.cjs +5 -5
- package/dist/charts.cjs.map +1 -1
- package/dist/charts.js +21 -16
- package/dist/charts.js.map +1 -1
- package/dist/checkbox-CGdFXuWQ.cjs +39 -0
- package/dist/checkbox-CGdFXuWQ.cjs.map +1 -0
- package/dist/{checkbox-VBSenxgb.js → checkbox-DPS1mWG-.js} +86 -82
- package/dist/checkbox-DPS1mWG-.js.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-BDS9lkPa.js → chips-BnnXQSA-.js} +146 -136
- package/dist/chips-BnnXQSA-.js.map +1 -0
- package/dist/{chips-D6ptH5re.cjs → chips-UoFbwmlG.cjs} +19 -19
- package/dist/chips-UoFbwmlG.cjs.map +1 -0
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/{code-highlight-BzRmBZzz.cjs → code-highlight-CMilN0B8.cjs} +15 -15
- package/dist/code-highlight-CMilN0B8.cjs.map +1 -0
- package/dist/{code-highlight-Bi91XHJN.js → code-highlight-kFUJ1Eet.js} +37 -40
- package/dist/code-highlight-kFUJ1Eet.js.map +1 -0
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/connectivity.cjs +2 -2
- package/dist/connectivity.cjs.map +1 -1
- package/dist/connectivity.js +10 -7
- package/dist/connectivity.js.map +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +2 -2
- package/dist/context-Bdu1xt0W.js +3 -0
- package/dist/{context-BerzpUhI.js.map → context-Bdu1xt0W.js.map} +1 -1
- package/dist/context-daN5G6HS.cjs +1 -0
- package/dist/{context-C6dHUHhi.cjs.map → context-daN5G6HS.cjs.map} +1 -1
- package/dist/{cursor-glow-BydlDInj.js → cursor-glow-Ah7VXSj7.js} +1 -1
- package/dist/{cursor-glow-BydlDInj.js.map → cursor-glow-Ah7VXSj7.js.map} +1 -1
- package/dist/{cursor-glow-Duw9jHmh.cjs → cursor-glow-Bulq-38P.cjs} +1 -1
- package/dist/{cursor-glow-Duw9jHmh.cjs.map → cursor-glow-Bulq-38P.cjs.map} +1 -1
- package/dist/date-range-BIyrzTRZ.cjs +131 -0
- package/dist/date-range-BIyrzTRZ.cjs.map +1 -0
- package/dist/{date-range-ClTMg1AB.js → date-range-DOstCIg8.js} +16 -17
- package/dist/date-range-DOstCIg8.js.map +1 -0
- package/dist/date-range-inline-4P7zqeVe.cjs +43 -0
- package/dist/{date-range-inline-B9Dp2z6C.cjs.map → date-range-inline-4P7zqeVe.cjs.map} +1 -1
- package/dist/{date-range-inline-CpKG6qt2.js → date-range-inline-BVycTWLb.js} +5 -5
- package/dist/{date-range-inline-CpKG6qt2.js.map → date-range-inline-BVycTWLb.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/delay.cjs +9 -1
- package/dist/delay.cjs.map +1 -0
- package/dist/delay.js +77 -2
- package/dist/delay.js.map +1 -0
- package/dist/{details-Cz9ok9si.cjs → details-BJBbZOO6.cjs} +9 -9
- package/dist/details-BJBbZOO6.cjs.map +1 -0
- package/dist/{details-CPjlqQD4.js → details-DPc5GxPa.js} +19 -18
- package/dist/details-DPc5GxPa.js.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-service-DH-tjPuE.js → dialog-service-DI9PPy4H.js} +2 -2
- package/dist/dialog-service-DI9PPy4H.js.map +1 -0
- package/dist/{dialog-service-CzDO08Gy.cjs → dialog-service-DJd5L0f5.cjs} +1 -1
- package/dist/dialog-service-DJd5L0f5.cjs.map +1 -0
- package/dist/dialog.cjs +2 -2
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.js +13 -14
- package/dist/dialog.js.map +1 -1
- package/dist/directives.cjs +2 -11
- package/dist/directives.cjs.map +1 -1
- package/dist/directives.js +141 -227
- package/dist/directives.js.map +1 -1
- package/dist/discovery.cjs +1 -1
- package/dist/discovery.cjs.map +1 -1
- package/dist/discovery.js +1 -1
- package/dist/discovery.js.map +1 -1
- package/dist/{divider-ghgyw5CU.js → divider-BvJsmSPH.js} +11 -9
- package/dist/divider-BvJsmSPH.js.map +1 -0
- package/dist/{divider-CILo3_vi.cjs → divider-DPT3XnG5.cjs} +3 -3
- package/dist/divider-DPT3XnG5.cjs.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +4 -4
- package/dist/dropdown.cjs.map +1 -1
- package/dist/dropdown.js +29 -28
- package/dist/dropdown.js.map +1 -1
- package/dist/{expand-CbjBr_Ds.js → expand-BMzocdtj.js} +24 -20
- package/dist/expand-BMzocdtj.js.map +1 -0
- package/dist/expand-CTqBWVXo.cjs +141 -0
- package/dist/expand-CTqBWVXo.cjs.map +1 -0
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{extra-DK9MQtPJ.js → extra-BeHlUhzv.js} +19 -14
- package/dist/extra-BeHlUhzv.js.map +1 -0
- package/dist/{extra-BZeZOMBI.cjs → extra-h_cuxRII.cjs} +6 -6
- package/dist/extra-h_cuxRII.cjs.map +1 -0
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{float-BfCvGeY9.js → float-CTc1xxqH.js} +2 -2
- package/dist/{float-BfCvGeY9.js.map → float-CTc1xxqH.js.map} +1 -1
- package/dist/float-CwVBs11k.cjs +1 -0
- package/dist/{float-CuZ8LOgB.cjs.map → float-CwVBs11k.cjs.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-rCZqoAoK.js → form-BtwOBMZ9.js} +1 -1
- package/dist/form-BtwOBMZ9.js.map +1 -0
- package/dist/{form-wI58M85H.cjs → form-CSJp687X.cjs} +1 -1
- package/dist/form-CSJp687X.cjs.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/handover/claude-design-brief.md +19 -54
- package/dist/handover/claude-design-setup.md +57 -0
- package/dist/{hashContent-B2IntJQf.js.map → hashContent-1ARKIsx9.js.map} +1 -1
- package/dist/{hashContent-CahnEuut.cjs.map → hashContent-Bp5S6T4U.cjs.map} +1 -1
- package/dist/{icons-Drq4kKy2.js → icons-BbCVrcas.js} +27 -24
- package/dist/icons-BbCVrcas.js.map +1 -0
- package/dist/icons-qEQW4pjM.cjs +52 -0
- package/dist/icons-qEQW4pjM.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-BmyHW8km.js → iframe-BJfDIEJf.js} +17 -11
- package/dist/iframe-BJfDIEJf.js.map +1 -0
- package/dist/iframe-D6HTruav.cjs +24 -0
- package/dist/iframe-D6HTruav.cjs.map +1 -0
- package/dist/iframe.cjs +1 -1
- package/dist/iframe.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +77 -77
- package/dist/{input-Bc3bVISm.js → input-LTK3cctF.js} +34 -34
- package/dist/input-LTK3cctF.js.map +1 -0
- package/dist/input-U26axtcs.cjs +51 -0
- package/dist/input-U26axtcs.cjs.map +1 -0
- package/dist/{input-chip-DN-cwf11.cjs → input-chip-CADXt0X5.cjs} +2 -2
- package/dist/input-chip-CADXt0X5.cjs.map +1 -0
- package/dist/{input-chip-BQrjpjaQ.js → input-chip-Ch-aCs3c.js} +7 -4
- package/dist/input-chip-Ch-aCs3c.js.map +1 -0
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.cjs.map +1 -1
- package/dist/json.js +7 -5
- package/dist/json.js.map +1 -1
- package/dist/kbd.cjs +2 -2
- package/dist/kbd.cjs.map +1 -1
- package/dist/kbd.js +9 -7
- package/dist/kbd.js.map +1 -1
- package/dist/{layout-fjM1DWlF.js → layout-C4xmnU4n.js} +1 -1
- package/dist/{layout-fjM1DWlF.js.map → layout-C4xmnU4n.js.map} +1 -1
- package/dist/{layout-CTfRXQoz.cjs → layout-Dmh6fxh0.cjs} +1 -1
- package/dist/{layout-CTfRXQoz.cjs.map → layout-Dmh6fxh0.cjs.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -3
- package/dist/{lazy-D6R5N5v4.js.map → lazy-B0ia54tT.js.map} +1 -1
- package/dist/{lazy-BDNnH_r7.cjs.map → lazy-Dq9mRRjT.cjs.map} +1 -1
- package/dist/lightbox-DbYUSfVl.cjs +202 -0
- package/dist/lightbox-DbYUSfVl.cjs.map +1 -0
- package/dist/{lightbox-CY52Z_ig.js → lightbox-DqG2z3Cn.js} +13 -12
- package/dist/lightbox-DqG2z3Cn.js.map +1 -0
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/list-CLX4sSAw.cjs +40 -0
- package/dist/list-CLX4sSAw.cjs.map +1 -0
- package/dist/{list-D7wUxu1C.js → list-D6-_E5ZD.js} +26 -21
- package/dist/list-D6-_E5ZD.js.map +1 -0
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{magnetic-CVXEkYTA.cjs → magnetic-BH0TsofV.cjs} +1 -1
- package/dist/{magnetic-CVXEkYTA.cjs.map → magnetic-BH0TsofV.cjs.map} +1 -1
- package/dist/{magnetic-BhXebqF3.js → magnetic-BZGFxAWG.js} +2 -2
- package/dist/{magnetic-BhXebqF3.js.map → magnetic-BZGFxAWG.js.map} +1 -1
- package/dist/{mailbox-DLiBGJhY.cjs → mailbox-Ct6iYe-4.cjs} +64 -66
- package/dist/mailbox-Ct6iYe-4.cjs.map +1 -0
- package/dist/{mailbox--EN-JhjV.js → mailbox-DsPII8HR.js} +137 -126
- package/dist/mailbox-DsPII8HR.js.map +1 -0
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-B0S_q3ma.js → map-Dhy3ta9v.js} +11 -9
- package/dist/map-Dhy3ta9v.js.map +1 -0
- package/dist/map-WXeVkx2K.cjs +80 -0
- package/dist/map-WXeVkx2K.cjs.map +1 -0
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{menu-COeFpb6n.js → menu-Bhd3EapX.js} +15 -10
- package/dist/menu-Bhd3EapX.js.map +1 -0
- package/dist/{menu-3edZGQ1x.cjs → menu-Cg2aaDjs.cjs} +5 -5
- package/dist/menu-Cg2aaDjs.cjs.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins-CcIWET41.js +627 -0
- package/dist/mixins-CcIWET41.js.map +1 -0
- package/dist/mixins-De3xfjrm.cjs +298 -0
- package/dist/mixins-De3xfjrm.cjs.map +1 -0
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +2 -87
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +2 -2
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/navigation-rail.cjs +3 -3
- package/dist/navigation-rail.cjs.map +1 -1
- package/dist/navigation-rail.js +15 -16
- package/dist/navigation-rail.js.map +1 -1
- package/dist/{notification-CC-TFN5v.js → notification-CVLqQ8c_.js} +40 -38
- package/dist/notification-CVLqQ8c_.js.map +1 -0
- package/dist/notification-D_PQjBSf.cjs +23 -0
- package/dist/notification-D_PQjBSf.cjs.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/option-DDU_goh1.cjs +43 -0
- package/dist/option-DDU_goh1.cjs.map +1 -0
- package/dist/{option-BwAF4nAw.js → option-rm4HebVs.js} +9 -7
- package/dist/option-rm4HebVs.js.map +1 -0
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-stack-7bs4ZNnh.cjs → overlay-stack-BprhAE9a.cjs} +1 -1
- package/dist/{overlay-stack-7bs4ZNnh.cjs.map → overlay-stack-BprhAE9a.cjs.map} +1 -1
- package/dist/{overlay-stack-DXPYHPhk.js → overlay-stack-CAQno0CK.js} +1 -1
- package/dist/{overlay-stack-DXPYHPhk.js.map → overlay-stack-CAQno0CK.js.map} +1 -1
- package/dist/overlay.cjs +43 -45
- package/dist/overlay.cjs.map +1 -1
- package/dist/overlay.js +684 -268
- package/dist/overlay.js.map +1 -1
- package/dist/page.cjs +3 -3
- package/dist/page.cjs.map +1 -1
- package/dist/page.js +15 -13
- package/dist/page.js.map +1 -1
- package/dist/{components-DZgJWHdZ.js → payment-card-form-C0dHYZIv.js} +21 -22
- package/dist/{components-DZgJWHdZ.js.map → payment-card-form-C0dHYZIv.js.map} +1 -1
- package/dist/payment-card-form-DNvmZxs4.cjs +73 -0
- package/dist/{components-DkmEgyAc.cjs.map → payment-card-form-DNvmZxs4.cjs.map} +1 -1
- package/dist/payment-card-form.cjs +1 -0
- package/dist/payment-card-form.js +2 -0
- package/dist/{progress-Bk_Q1Shy.js → progress-BRerM5Bn.js} +16 -13
- package/dist/progress-BRerM5Bn.js.map +1 -0
- package/dist/{progress-Yz6EMNSu.cjs → progress-U3LQkpM2.cjs} +3 -3
- package/dist/progress-U3LQkpM2.cjs.map +1 -0
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/qr-scanner.cjs +5 -5
- package/dist/qr-scanner.cjs.map +1 -1
- package/dist/qr-scanner.js +14 -15
- package/dist/qr-scanner.js.map +1 -1
- package/dist/{radio-group-BcdcjLNC.js → radio-group-BZ2WoOXJ.js} +14 -12
- package/dist/radio-group-BZ2WoOXJ.js.map +1 -0
- package/dist/radio-group-D7mm-yvJ.cjs +40 -0
- package/dist/radio-group-D7mm-yvJ.cjs.map +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +2 -2
- package/dist/range.cjs.map +1 -1
- package/dist/range.js +9 -7
- package/dist/range.js.map +1 -1
- package/dist/{reduced-motion-BZTLqAyl.js.map → reduced-motion-D-L12p7G.js.map} +1 -1
- package/dist/{reduced-motion-9RjNnhIg.cjs.map → reduced-motion-Ds-HjMzn.cjs.map} +1 -1
- package/dist/{rxjs-utils-DJbZRjp3.cjs.map → rxjs-utils-Csnks202.cjs.map} +1 -1
- package/dist/{rxjs-utils-CKTnEKUH.js.map → rxjs-utils-d-ivVN84.js.map} +1 -1
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/scroll-DJTjNIT_.cjs +26 -0
- package/dist/scroll-DJTjNIT_.cjs.map +1 -0
- package/dist/{scroll-DXQv0ejL.js → scroll-qL-HkMdP.js} +9 -7
- package/dist/scroll-qL-HkMdP.js.map +1 -0
- package/dist/search-BLCRsxIC.cjs +1 -0
- package/dist/{search-CwMav5QB.cjs.map → search-BLCRsxIC.cjs.map} +1 -1
- package/dist/{search-CvUZRLF1.js → search-BTz7-Rev.js} +1 -1
- package/dist/{search-CvUZRLF1.js.map → search-BTz7-Rev.js.map} +1 -1
- package/dist/{select-BV4lK2zy.cjs → select-BvA7v-gL.cjs} +6 -6
- package/dist/select-BvA7v-gL.cjs.map +1 -0
- package/dist/{select-DKyGWDsG.js → select-CnPXUeSf.js} +23 -20
- package/dist/select-CnPXUeSf.js.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-C3TLKItO.js → sheet-BRL07BB4.js} +22 -20
- package/dist/sheet-BRL07BB4.js.map +1 -0
- package/dist/sheet-BYQJAHQn.cjs +35 -0
- package/dist/sheet-BYQJAHQn.cjs.map +1 -0
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/sheet.service-B25bsrYG.cjs +1 -0
- package/dist/{sheet.service-RcDBwHmv.cjs.map → sheet.service-B25bsrYG.cjs.map} +1 -1
- package/dist/{sheet.service-Dlv20Zfc.js → sheet.service-SPQ8oLCi.js} +3 -3
- package/dist/{sheet.service-Dlv20Zfc.js.map → sheet.service-SPQ8oLCi.js.map} +1 -1
- package/dist/skeleton.cjs +2 -2
- package/dist/skeleton.cjs.map +1 -1
- package/dist/skeleton.js +9 -7
- package/dist/skeleton.js.map +1 -1
- package/dist/skills/INDEX.md +1 -1
- package/dist/skills/SKILL.md +17 -5
- package/dist/skills/mixins.md +78 -20
- package/dist/skills/schmancy/INDEX.md +1 -1
- package/dist/skills/schmancy/SKILL.md +17 -5
- package/dist/skills/schmancy/mixins.md +78 -20
- package/dist/skills/schmancy/state.md +501 -0
- package/dist/skills/schmancy/theme.md +15 -0
- package/dist/skills/schmancy/timeline-tile.md +95 -0
- package/dist/skills/state.md +501 -0
- package/dist/skills/theme.md +15 -0
- package/dist/skills/timeline-tile.md +95 -0
- package/dist/slider.cjs +5 -5
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +18 -13
- package/dist/slider.js.map +1 -1
- package/dist/sound.service-BGs6m0Cm.cjs +1 -0
- package/dist/sound.service-BGs6m0Cm.cjs.map +1 -0
- package/dist/{sound.service-DWZe6swU.js → sound.service-kKfsN0m-.js} +3 -3
- package/dist/sound.service-kKfsN0m-.js.map +1 -0
- package/dist/splash-screen-BDt4PInk.cjs +41 -0
- package/dist/splash-screen-BDt4PInk.cjs.map +1 -0
- package/dist/{splash-screen-DbI5RgBf.js → splash-screen-C8JCqX5L.js} +12 -9
- package/dist/splash-screen-C8JCqX5L.js.map +1 -0
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/src-CpRNClhg.cjs +263 -0
- package/dist/src-CpRNClhg.cjs.map +1 -0
- package/dist/{src-00DfxCJq.js → src-CqdnWGgr.js} +299 -351
- package/dist/src-CqdnWGgr.js.map +1 -0
- package/dist/state-BusMG6sM.js +868 -0
- package/dist/state-BusMG6sM.js.map +1 -0
- package/dist/state-DNdCPITt.cjs +1 -0
- package/dist/state-DNdCPITt.cjs.map +1 -0
- package/dist/state.cjs +1 -0
- package/dist/state.js +3 -0
- package/dist/steps.cjs +10 -10
- package/dist/steps.cjs.map +1 -1
- package/dist/steps.js +29 -24
- package/dist/steps.js.map +1 -1
- package/dist/surface-C8jQy8Ym.js +24 -0
- package/dist/surface-C8jQy8Ym.js.map +1 -0
- package/dist/surface-Du2Y4vXd.cjs +7 -0
- package/dist/surface-Du2Y4vXd.cjs.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +2 -2
- package/dist/switch.cjs.map +1 -1
- package/dist/switch.js +7 -5
- package/dist/switch.js.map +1 -1
- package/dist/table.cjs +72 -1
- package/dist/table.cjs.map +1 -0
- package/dist/table.js +174 -2
- package/dist/table.js.map +1 -0
- package/dist/tabs-0RfeCa00.cjs +31 -0
- package/dist/tabs-0RfeCa00.cjs.map +1 -0
- package/dist/{tabs-Ce55RbwF.js → tabs-Cyahh9Q6.js} +22 -22
- package/dist/tabs-Cyahh9Q6.js.map +1 -0
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +2 -2
- package/dist/{textarea-DjN1D9u0.js → textarea-CXCcTVnf.js} +30 -28
- package/dist/textarea-CXCcTVnf.js.map +1 -0
- package/dist/textarea-jqRrLxmo.cjs +39 -0
- package/dist/textarea-jqRrLxmo.cjs.map +1 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-pbxlt72h.js → theme-2KZW2Rfs.js} +45 -41
- package/dist/{theme-pbxlt72h.js.map → theme-2KZW2Rfs.js.map} +1 -1
- package/dist/theme-Hjz9sCN-.cjs +181 -0
- package/dist/{theme-B-IJ2r7Q.cjs.map → theme-Hjz9sCN-.cjs.map} +1 -1
- package/dist/{theme-button-CEMeAUOL.js → theme-button-9uF1eoHz.js} +3 -4
- package/dist/theme-button-9uF1eoHz.js.map +1 -0
- package/dist/theme-button-C7QIbke1.cjs +8 -0
- package/dist/theme-button-C7QIbke1.cjs.map +1 -0
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.events-NuihzD_p.js.map → theme.events-Cv7N4Toe.js.map} +1 -1
- package/dist/{theme.events-DakXxZeP.cjs.map → theme.events-DM4H5F2d.cjs.map} +1 -1
- package/dist/{theme.interface-DTwkuAKJ.cjs.map → theme.interface-D9l33b-M.cjs.map} +1 -1
- package/dist/{theme.interface-Buged9Cg.js.map → theme.interface-DnVNre4O.js.map} +1 -1
- package/dist/theme.js +5 -5
- package/dist/theme.service-BrUbGoeQ.cjs +1 -0
- package/dist/theme.service-BrUbGoeQ.cjs.map +1 -0
- package/dist/{theme.service-cOfPrtfe.js → theme.service-CmbOGMA8.js} +4 -4
- package/dist/theme.service-CmbOGMA8.js.map +1 -0
- package/dist/timeline.cjs +277 -0
- package/dist/timeline.cjs.map +1 -0
- package/dist/timeline.js +326 -0
- package/dist/timeline.js.map +1 -0
- package/dist/tree.cjs +2 -2
- package/dist/tree.cjs.map +1 -1
- package/dist/tree.js +15 -13
- package/dist/tree.js.map +1 -1
- package/dist/typewriter.cjs +10 -123
- package/dist/typewriter.cjs.map +1 -1
- package/dist/typewriter.js +90 -212
- package/dist/typewriter.js.map +1 -1
- package/dist/typography.cjs +3 -3
- package/dist/typography.cjs.map +1 -1
- package/dist/typography.js +18 -112
- package/dist/typography.js.map +1 -1
- package/dist/utils-Cr-YO4Np.cjs +1 -0
- package/dist/utils-Cr-YO4Np.cjs.map +1 -0
- package/dist/{utils-Bp2jhyZc.js → utils-hp-DnFf5.js} +16 -6
- package/dist/utils-hp-DnFf5.js.map +1 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +4 -5
- package/dist/visually-hidden.cjs +2 -2
- package/dist/visually-hidden.cjs.map +1 -1
- package/dist/visually-hidden.js +7 -5
- package/dist/visually-hidden.js.map +1 -1
- package/dist/{window-CrjZdf7Y.js → window-C7yY9yp5.js} +28 -30
- package/dist/window-C7yY9yp5.js.map +1 -0
- package/dist/window-DtUOWiAj.cjs +59 -0
- package/dist/window-DtUOWiAj.cjs.map +1 -0
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +15 -4
- package/plugins/vite-plugin-schmancy-auto-import.ts +143 -0
- package/plugins/vite-plugin-schmancy-manifest.ts +438 -0
- package/skills/schmancy/INDEX.md +1 -1
- package/skills/schmancy/SKILL.md +17 -5
- package/skills/schmancy/mixins.md +78 -20
- package/skills/schmancy/state.md +501 -0
- package/skills/schmancy/theme.md +15 -0
- package/skills/schmancy/timeline-tile.md +95 -0
- package/src/agent/agent-bundle.test.ts +71 -54
- package/src/agent/agent-entry.ts +5 -21
- package/src/agent/helpers.ts +159 -0
- package/src/agent/schmancy-skill.ts +71 -0
- package/src/agent/virtual-manifest.d.ts +1 -12
- package/src/area/area.component.ts +7 -19
- package/src/area/area.service.test.ts +4 -5
- package/src/area/area.service.ts +4 -3
- package/src/area/route.component.ts +17 -4
- package/src/area/utils.ts +3 -2
- package/src/audio/emotional-sounds.ts +0 -2
- package/src/audio/sound.service.ts +7 -13
- package/src/autocomplete/autocomplete.ts +18 -21
- package/src/{avatar.ts → avatar/avatar.ts} +2 -2
- package/src/avatar/index.ts +1 -0
- package/src/badge/badge.ts +4 -3
- package/src/boat/boat.ts +28 -36
- package/src/breadcrumb/breadcrumb.ts +11 -19
- package/src/busy/busy.ts +4 -3
- package/src/busy/spinner.ts +4 -3
- package/src/button/button.ts +6 -11
- package/src/button/icon-button.ts +8 -12
- package/src/card/actions.ts +4 -12
- package/src/card/card.ts +5 -23
- package/src/card/content.ts +4 -12
- package/src/card/media.ts +4 -9
- package/src/charts/area-chart.ts +7 -4
- package/src/charts/pills.ts +6 -4
- package/src/checkbox/checkbox.test.ts +2 -2
- package/src/checkbox/checkbox.ts +3 -9
- package/src/chips/assist-chip.ts +6 -14
- package/src/chips/chips.ts +7 -21
- package/src/chips/filter-chip.ts +4 -3
- package/src/chips/input-chip.ts +10 -9
- package/src/chips/suggestion-chip.ts +10 -12
- package/src/code-highlight/code-highlight.ts +28 -59
- package/src/code-highlight/code-preview.ts +11 -9
- package/src/connectivity/connectivity-status.ts +4 -3
- package/src/content-drawer/drawer.ts +5 -3
- package/src/content-drawer/main.ts +5 -3
- package/src/content-drawer/sheet.ts +6 -4
- package/src/date-range/date-range-dialog.ts +2 -2
- package/src/date-range/date-range.ts +3 -2
- package/src/delay/delay.ts +2 -2
- package/src/details/details.ts +4 -17
- package/src/dialog/dialog-service.ts +2 -0
- package/src/dialog/dialog.component.ts +9 -9
- package/src/directives/drag.ts +1 -9
- package/src/directives/index.ts +0 -1
- package/src/discovery/discovery.service.ts +1 -1
- package/src/divider/divider.ts +5 -14
- package/src/dropdown/dropdown-component.ts +5 -16
- package/src/dropdown/dropdown-content.ts +7 -14
- package/src/expand/expand-root.component.ts +5 -15
- package/src/expand/expand.component.ts +4 -17
- package/src/extra/countries/countries.ts +5 -13
- package/src/extra/timezone/timezone.ts +7 -12
- package/src/form/form.test.ts +2 -2
- package/src/form/form.ts +2 -9
- package/src/icons/icon.ts +4 -3
- package/src/iframe/iframe.ts +13 -4
- package/src/index.ts +3 -3
- package/src/input/input.ts +6 -13
- package/src/json/json.ts +4 -3
- package/src/kbd/kbd.ts +4 -3
- package/src/layout/index.ts +1 -5
- package/src/layout/scroll/scroll.ts +5 -8
- package/src/lightbox/flip-directive.ts +1 -1
- package/src/lightbox/lightbox.ts +5 -14
- package/src/list/list-item.ts +4 -13
- package/src/list/list.ts +12 -10
- package/src/mailbox/email-editor.ts +17 -11
- package/src/mailbox/email-layout-selector.ts +2 -2
- package/src/mailbox/email-recipients.ts +13 -8
- package/src/mailbox/email-template-picker.ts +6 -5
- package/src/mailbox/email-viewer.ts +5 -3
- package/src/mailbox/mailbox.ts +6 -5
- package/src/map/map.ts +8 -6
- package/src/menu/menu-item.ts +5 -16
- package/src/menu/menu.ts +27 -13
- package/src/nav-drawer/appbar.ts +4 -14
- package/src/nav-drawer/content.ts +5 -14
- package/src/nav-drawer/drawer.ts +5 -18
- package/src/nav-drawer/navbar.ts +3 -17
- package/src/navigation-bar/navigation-bar-item.ts +8 -6
- package/src/navigation-bar/navigation-bar.ts +19 -19
- package/src/navigation-rail/navigation-rail-item.ts +9 -5
- package/src/navigation-rail/navigation-rail.ts +10 -14
- package/src/notification/notification-service.ts +0 -2
- package/src/notification/notification.ts +6 -3
- package/src/option/option.ts +4 -3
- package/src/overlay/overlay.animations.ts +183 -37
- package/src/overlay/overlay.component.ts +397 -190
- package/src/overlay/overlay.confirm-body.ts +21 -7
- package/src/overlay/overlay.gestures.ts +72 -36
- package/src/overlay/overlay.layout.ts +103 -1
- package/src/overlay/overlay.positioning.ts +301 -0
- package/src/overlay/overlay.service.ts +81 -3
- package/src/overlay/overlay.stack.ts +8 -10
- package/src/overlay/overlay.types.ts +83 -5
- package/src/page/page.ts +16 -11
- package/src/payment-card-form/index.ts +1 -0
- package/src/{components/form-elements → payment-card-form}/payment-card-form.ts +23 -23
- package/src/progress/progress.ts +5 -3
- package/src/qr-scanner/qr-scanner.ts +7 -30
- package/src/radio-group/radio-button.ts +3 -13
- package/src/radio-group/radio-group.ts +5 -22
- package/src/range/range.ts +4 -3
- package/src/rxjs-utils/waitForElements.ts +1 -1
- package/src/rxjs-utils/waitForElementsAll.ts +1 -1
- package/src/select/select.ts +10 -18
- package/src/sheet/hook.ts +1 -1
- package/src/sheet/sheet.ts +5 -20
- package/src/skeleton/skeleton.ts +4 -3
- package/src/slider/slide.ts +5 -3
- package/src/slider/slider.ts +5 -3
- package/src/splash-screen/splash-screen.ts +5 -3
- package/src/state/CLAUDE.md +161 -0
- package/src/state/MIGRATION.md +258 -0
- package/src/state/SCOPING.md +134 -0
- package/src/state/active-host.ts +190 -0
- package/src/state/index.ts +877 -0
- package/src/state/persist.ts +208 -0
- package/src/state/schmancy-context.ts +130 -0
- package/src/state/state.test-d.ts +227 -0
- package/src/state/state.test.ts +868 -0
- package/src/steps/schmancy-step.ts +5 -3
- package/src/steps/schmancy-steps-container.ts +5 -3
- package/src/surface/surface.ts +14 -9
- package/src/switch/switch.test.ts +2 -2
- package/src/switch/switch.ts +8 -10
- package/src/table/row.ts +7 -4
- package/src/table/table.ts +17 -14
- package/src/tabs/index.ts +0 -2
- package/src/tabs/tab.ts +2 -2
- package/src/tabs/tabs-group.ts +7 -4
- package/src/teleport/teleport.component.ts +5 -3
- package/src/textarea/textarea.ts +6 -12
- package/src/theme/theme-audio-player.ts +7 -5
- package/src/theme/theme-controller.ts +2 -2
- package/src/theme/theme.component.ts +22 -15
- package/src/theme/theme.service.ts +6 -7
- package/src/theme/theme.style.css +1 -0
- package/src/theme-button/theme-button.ts +2 -2
- package/src/timeline/index.ts +1 -0
- package/src/timeline/timeline-tile.ts +431 -0
- package/src/tree/tree.ts +4 -16
- package/src/typewriter/index.ts +1 -1
- package/src/typography/typography.ts +5 -98
- package/src/utils/intersection.ts +5 -1
- package/src/utils/overlay-stack.ts +1 -1
- package/src/utils/search.ts +2 -2
- package/src/visually-hidden/visually-hidden.ts +4 -3
- package/src/window/window-position.ts +3 -6
- package/src/window/window.ts +9 -7
- package/types/mixins/SchmancyElement.d.ts +49 -0
- package/types/mixins/formField.mixin.d.ts +4 -2
- package/types/mixins/index.d.ts +1 -0
- package/types/mixins/litElement.mixin.d.ts +11 -0
- package/types/src/agent/agent-entry.d.ts +2 -19
- package/types/src/agent/helpers.d.ts +0 -27
- package/types/src/agent/schmancy-skill.d.ts +3 -5
- package/types/src/area/area.component.d.ts +3 -17
- package/types/src/area/route.component.d.ts +14 -4
- package/types/src/audio/emotional-sounds.d.ts +0 -1
- package/types/src/audio/sound.service.d.ts +1 -1
- package/types/src/autocomplete/autocomplete.d.ts +4 -15
- package/types/src/{avatar.d.ts → avatar/avatar.d.ts} +2 -3
- package/types/src/avatar/index.d.ts +1 -0
- package/types/src/badge/badge.d.ts +3 -3
- package/types/src/boat/boat.d.ts +3 -2
- package/types/src/breadcrumb/breadcrumb.d.ts +9 -19
- package/types/src/busy/busy.d.ts +3 -3
- package/types/src/busy/spinner.d.ts +3 -3
- package/types/src/button/button.d.ts +4 -10
- package/types/src/button/icon-button.d.ts +5 -11
- package/types/src/card/actions.d.ts +3 -12
- package/types/src/card/card.d.ts +4 -24
- package/types/src/card/content.d.ts +3 -12
- package/types/src/card/media.d.ts +3 -9
- package/types/src/charts/area-chart.d.ts +3 -3
- package/types/src/charts/pills.d.ts +3 -3
- package/types/src/checkbox/checkbox.d.ts +3 -10
- package/types/src/chips/assist-chip.d.ts +5 -15
- package/types/src/chips/chips.d.ts +3 -17
- package/types/src/chips/filter-chip.d.ts +3 -3
- package/types/src/chips/input-chip.d.ts +9 -10
- package/types/src/chips/suggestion-chip.d.ts +9 -13
- package/types/src/code-highlight/code-highlight.d.ts +4 -11
- package/types/src/code-highlight/code-preview.d.ts +3 -3
- package/types/src/connectivity/connectivity-status.d.ts +3 -3
- package/types/src/content-drawer/drawer.d.ts +4 -4
- package/types/src/content-drawer/main.d.ts +3 -3
- package/types/src/content-drawer/sheet.d.ts +4 -4
- package/types/src/date-range/date-range-dialog.d.ts +2 -3
- package/types/src/date-range/date-range.d.ts +2 -3
- package/types/src/delay/delay.d.ts +2 -3
- package/types/src/details/details.d.ts +3 -14
- package/types/src/dialog/dialog.component.d.ts +9 -9
- package/types/src/directives/drag.d.ts +1 -3
- package/types/src/directives/index.d.ts +0 -1
- package/types/src/divider/divider.d.ts +3 -14
- package/types/src/dropdown/dropdown-component.d.ts +4 -17
- package/types/src/dropdown/dropdown-content.d.ts +6 -14
- package/types/src/expand/expand-root.component.d.ts +4 -14
- package/types/src/expand/expand.component.d.ts +3 -17
- package/types/src/extra/countries/countries.d.ts +3 -13
- package/types/src/extra/timezone/timezone.d.ts +4 -11
- package/types/src/form/form.d.ts +2 -9
- package/types/src/icons/icon.d.ts +3 -3
- package/types/src/iframe/iframe.d.ts +5 -3
- package/types/src/index.d.ts +3 -3
- package/types/src/input/input.d.ts +4 -11
- package/types/src/json/json.d.ts +3 -3
- package/types/src/kbd/kbd.d.ts +3 -3
- package/types/src/layout/index.d.ts +0 -4
- package/types/src/layout/scroll/scroll.d.ts +4 -8
- package/types/src/lightbox/lightbox.d.ts +3 -14
- package/types/src/list/list-item.d.ts +3 -13
- package/types/src/list/list.d.ts +11 -10
- package/types/src/mailbox/email-editor.d.ts +3 -3
- package/types/src/mailbox/email-layout-selector.d.ts +2 -3
- package/types/src/mailbox/email-recipients.d.ts +7 -3
- package/types/src/mailbox/email-template-picker.d.ts +4 -4
- package/types/src/mailbox/email-viewer.d.ts +3 -3
- package/types/src/mailbox/mailbox.d.ts +4 -4
- package/types/src/map/map.d.ts +4 -3
- package/types/src/menu/menu-item.d.ts +3 -16
- package/types/src/menu/menu.d.ts +25 -13
- package/types/src/nav-drawer/appbar.d.ts +3 -14
- package/types/src/nav-drawer/content.d.ts +3 -14
- package/types/src/nav-drawer/drawer.d.ts +3 -18
- package/types/src/nav-drawer/navbar.d.ts +3 -18
- package/types/src/navigation-bar/navigation-bar-item.d.ts +7 -6
- package/types/src/navigation-bar/navigation-bar.d.ts +13 -7
- package/types/src/navigation-rail/navigation-rail-item.d.ts +9 -6
- package/types/src/navigation-rail/navigation-rail.d.ts +10 -15
- package/types/src/notification/notification-service.d.ts +0 -1
- package/types/src/notification/notification.d.ts +3 -3
- package/types/src/option/option.d.ts +3 -3
- package/types/src/overlay/overlay.animations.d.ts +54 -6
- package/types/src/overlay/overlay.component.d.ts +39 -15
- package/types/src/overlay/overlay.confirm-body.d.ts +4 -4
- package/types/src/overlay/overlay.gestures.d.ts +26 -17
- package/types/src/overlay/overlay.layout.d.ts +27 -1
- package/types/src/overlay/overlay.positioning.d.ts +87 -0
- package/types/src/overlay/overlay.stack.d.ts +0 -2
- package/types/src/overlay/overlay.types.d.ts +59 -5
- package/types/src/page/page.d.ts +14 -11
- package/types/src/{components/form-elements → payment-card-form}/payment-card-form.d.ts +2 -3
- package/types/src/progress/progress.d.ts +3 -3
- package/types/src/qr-scanner/qr-scanner.d.ts +3 -3
- package/types/src/radio-group/radio-button.d.ts +3 -12
- package/types/src/radio-group/radio-group.d.ts +4 -20
- package/types/src/range/range.d.ts +3 -3
- package/types/src/rxjs-utils/waitForElements.d.ts +1 -1
- package/types/src/rxjs-utils/waitForElementsAll.d.ts +1 -1
- package/types/src/select/select.d.ts +4 -15
- package/types/src/sheet/sheet.d.ts +3 -20
- package/types/src/skeleton/skeleton.d.ts +3 -3
- package/types/src/slider/slide.d.ts +3 -2
- package/types/src/slider/slider.d.ts +3 -3
- package/types/src/splash-screen/splash-screen.d.ts +3 -3
- package/types/src/state/active-host.d.ts +23 -0
- package/types/src/state/index.d.ts +145 -0
- package/types/src/state/persist.d.ts +14 -0
- package/types/src/state/schmancy-context.d.ts +32 -0
- package/types/src/state/state.test-d.d.ts +131 -0
- package/types/src/state/state.test.d.ts +1 -0
- package/types/src/steps/schmancy-step.d.ts +3 -3
- package/types/src/steps/schmancy-steps-container.d.ts +3 -3
- package/types/src/surface/surface.d.ts +13 -5
- package/types/src/switch/switch.d.ts +7 -11
- package/types/src/table/row.d.ts +2 -3
- package/types/src/table/table.d.ts +4 -11
- package/types/src/tabs/index.d.ts +0 -2
- package/types/src/tabs/tab.d.ts +2 -3
- package/types/src/tabs/tabs-group.d.ts +3 -3
- package/types/src/teleport/teleport.component.d.ts +3 -3
- package/types/src/textarea/textarea.d.ts +5 -12
- package/types/src/theme/theme-audio-player.d.ts +3 -3
- package/types/src/theme/theme-controller.d.ts +2 -2
- package/types/src/theme/theme.component.d.ts +18 -13
- package/types/src/theme-button/theme-button.d.ts +2 -3
- package/types/src/timeline/index.d.ts +1 -0
- package/types/src/timeline/timeline-tile.d.ts +44 -0
- package/types/src/tree/tree.d.ts +3 -16
- package/types/src/typewriter/index.d.ts +1 -1
- package/types/src/typography/typography.d.ts +3 -36
- package/types/src/visually-hidden/visually-hidden.d.ts +3 -3
- package/types/src/window/window.d.ts +3 -3
- package/dist/agent/index.es-Dymj8REP.js +0 -489
- package/dist/agent/index.es-Dymj8REP.js.map +0 -1
- package/dist/area-BGBCMC79.js.map +0 -1
- package/dist/area-D7l9KR2N.cjs +0 -12
- package/dist/area-D7l9KR2N.cjs.map +0 -1
- package/dist/autocomplete-BPD5uraA.cjs +0 -115
- package/dist/autocomplete-BPD5uraA.cjs.map +0 -1
- package/dist/autocomplete-C2P0Soht.js.map +0 -1
- package/dist/boat-BkIO-0No.cjs +0 -80
- package/dist/boat-BkIO-0No.cjs.map +0 -1
- package/dist/boat-DXZ0k7oa.js.map +0 -1
- package/dist/busy-DGYhpTnO.cjs.map +0 -1
- package/dist/busy-iRjq6Nvd.js.map +0 -1
- package/dist/card-DjYnCckw.cjs.map +0 -1
- package/dist/card-wUTjx0EC.js.map +0 -1
- package/dist/checkbox-CiYEtw9F.cjs +0 -39
- package/dist/checkbox-CiYEtw9F.cjs.map +0 -1
- package/dist/checkbox-VBSenxgb.js.map +0 -1
- package/dist/chips-BDS9lkPa.js.map +0 -1
- package/dist/chips-D6ptH5re.cjs.map +0 -1
- package/dist/code-highlight-Bi91XHJN.js.map +0 -1
- package/dist/code-highlight-BzRmBZzz.cjs.map +0 -1
- package/dist/components-DkmEgyAc.cjs +0 -73
- package/dist/components.cjs +0 -1
- package/dist/components.js +0 -2
- package/dist/context-BerzpUhI.js +0 -3
- package/dist/context-C6dHUHhi.cjs +0 -1
- package/dist/date-range-BmFxTXiU.cjs +0 -131
- package/dist/date-range-BmFxTXiU.cjs.map +0 -1
- package/dist/date-range-ClTMg1AB.js.map +0 -1
- package/dist/date-range-inline-B9Dp2z6C.cjs +0 -43
- package/dist/delay-BHODnTg-.cjs +0 -9
- package/dist/delay-BHODnTg-.cjs.map +0 -1
- package/dist/delay-Dlk0A3he.js +0 -347
- package/dist/delay-Dlk0A3he.js.map +0 -1
- package/dist/details-CPjlqQD4.js.map +0 -1
- package/dist/details-Cz9ok9si.cjs.map +0 -1
- package/dist/dialog-service-CzDO08Gy.cjs.map +0 -1
- package/dist/dialog-service-DH-tjPuE.js.map +0 -1
- package/dist/divider-CILo3_vi.cjs.map +0 -1
- package/dist/divider-ghgyw5CU.js.map +0 -1
- package/dist/expand-CbjBr_Ds.js.map +0 -1
- package/dist/expand-r3OrSoDk.cjs +0 -141
- package/dist/expand-r3OrSoDk.cjs.map +0 -1
- package/dist/extra-BZeZOMBI.cjs.map +0 -1
- package/dist/extra-DK9MQtPJ.js.map +0 -1
- package/dist/float-CuZ8LOgB.cjs +0 -1
- package/dist/flow-BPDtbhLe.js +0 -386
- package/dist/flow-BPDtbhLe.js.map +0 -1
- package/dist/flow-Dn9AZktE.cjs +0 -1
- package/dist/flow-Dn9AZktE.cjs.map +0 -1
- package/dist/form-rCZqoAoK.js.map +0 -1
- package/dist/form-wI58M85H.cjs.map +0 -1
- package/dist/handover/agent-runtime-v2-loopback.md +0 -71
- package/dist/handover/claude-design-v2-paste.md +0 -42
- package/dist/icons-Drq4kKy2.js.map +0 -1
- package/dist/icons-DtdhaZdc.cjs +0 -52
- package/dist/icons-DtdhaZdc.cjs.map +0 -1
- package/dist/iframe-BkwwWIbQ.cjs +0 -24
- package/dist/iframe-BkwwWIbQ.cjs.map +0 -1
- package/dist/iframe-BmyHW8km.js.map +0 -1
- package/dist/index.es-BgmFX1JM.cjs +0 -1
- package/dist/index.es-BgmFX1JM.cjs.map +0 -1
- package/dist/index.es-CLyb_o3Y.js +0 -489
- package/dist/index.es-CLyb_o3Y.js.map +0 -1
- package/dist/input-BGNZlfL8.cjs +0 -51
- package/dist/input-BGNZlfL8.cjs.map +0 -1
- package/dist/input-Bc3bVISm.js.map +0 -1
- package/dist/input-chip-BQrjpjaQ.js.map +0 -1
- package/dist/input-chip-DN-cwf11.cjs.map +0 -1
- package/dist/intersection-BrXp4YTO.js +0 -12
- package/dist/intersection-BrXp4YTO.js.map +0 -1
- package/dist/intersection-DqBqnpgh.cjs +0 -1
- package/dist/intersection-DqBqnpgh.cjs.map +0 -1
- package/dist/layout-7eyMBmZk.cjs +0 -17
- package/dist/layout-7eyMBmZk.cjs.map +0 -1
- package/dist/layout-Ox6nJkzC.js +0 -268
- package/dist/layout-Ox6nJkzC.js.map +0 -1
- package/dist/lightbox-CY52Z_ig.js.map +0 -1
- package/dist/lightbox-H8Uq3AXy.cjs +0 -202
- package/dist/lightbox-H8Uq3AXy.cjs.map +0 -1
- package/dist/list-BGjVo6zb.cjs +0 -40
- package/dist/list-BGjVo6zb.cjs.map +0 -1
- package/dist/list-D7wUxu1C.js.map +0 -1
- package/dist/litElement.mixin-CszkJuNl.js +0 -12
- package/dist/litElement.mixin-CszkJuNl.js.map +0 -1
- package/dist/litElement.mixin-qh5-IIUq.cjs +0 -1
- package/dist/litElement.mixin-qh5-IIUq.cjs.map +0 -1
- package/dist/mailbox--EN-JhjV.js.map +0 -1
- package/dist/mailbox-DLiBGJhY.cjs.map +0 -1
- package/dist/map-B0S_q3ma.js.map +0 -1
- package/dist/map-EDQN0I6e.cjs +0 -80
- package/dist/map-EDQN0I6e.cjs.map +0 -1
- package/dist/menu-3edZGQ1x.cjs.map +0 -1
- package/dist/menu-COeFpb6n.js.map +0 -1
- package/dist/metric.cjs +0 -69
- package/dist/metric.cjs.map +0 -1
- package/dist/metric.js +0 -93
- package/dist/metric.js.map +0 -1
- package/dist/mixins.cjs.map +0 -1
- package/dist/mixins.js.map +0 -1
- package/dist/notification-CC-TFN5v.js.map +0 -1
- package/dist/notification-P4c-kFdH.cjs +0 -23
- package/dist/notification-P4c-kFdH.cjs.map +0 -1
- package/dist/option-BwAF4nAw.js.map +0 -1
- package/dist/option-Cu0ertuF.cjs +0 -43
- package/dist/option-Cu0ertuF.cjs.map +0 -1
- package/dist/progress-Bk_Q1Shy.js.map +0 -1
- package/dist/progress-Yz6EMNSu.cjs.map +0 -1
- package/dist/provide-CYgj58u_.cjs +0 -1
- package/dist/provide-CYgj58u_.cjs.map +0 -1
- package/dist/provide-ydIskwf2.js +0 -107
- package/dist/provide-ydIskwf2.js.map +0 -1
- package/dist/radio-group-BcdcjLNC.js.map +0 -1
- package/dist/radio-group-BpBz5tRA.cjs +0 -40
- package/dist/radio-group-BpBz5tRA.cjs.map +0 -1
- package/dist/scroll-DXQv0ejL.js.map +0 -1
- package/dist/scroll-DbZMTv0K.cjs +0 -26
- package/dist/scroll-DbZMTv0K.cjs.map +0 -1
- package/dist/search-CwMav5QB.cjs +0 -1
- package/dist/select-BV4lK2zy.cjs.map +0 -1
- package/dist/select-DKyGWDsG.js.map +0 -1
- package/dist/sheet-BAI_jH1t.cjs +0 -35
- package/dist/sheet-BAI_jH1t.cjs.map +0 -1
- package/dist/sheet-C3TLKItO.js.map +0 -1
- package/dist/sheet.service-RcDBwHmv.cjs +0 -1
- package/dist/skills/schmancy/store.md +0 -126
- package/dist/skills/store.md +0 -126
- package/dist/sound.service-BEN6Xjy_.cjs +0 -1
- package/dist/sound.service-BEN6Xjy_.cjs.map +0 -1
- package/dist/sound.service-DWZe6swU.js.map +0 -1
- package/dist/splash-screen-DbI5RgBf.js.map +0 -1
- package/dist/splash-screen-DoHRTHi8.cjs +0 -41
- package/dist/splash-screen-DoHRTHi8.cjs.map +0 -1
- package/dist/src-00DfxCJq.js.map +0 -1
- package/dist/src-C_JjQovE.cjs +0 -269
- package/dist/src-C_JjQovE.cjs.map +0 -1
- package/dist/store-CjFHCSDb.cjs +0 -1
- package/dist/store-CjFHCSDb.cjs.map +0 -1
- package/dist/store-CjzZDQt8.js +0 -1654
- package/dist/store-CjzZDQt8.js.map +0 -1
- package/dist/store.cjs +0 -1
- package/dist/store.js +0 -2
- package/dist/surface-D-GWBcsh.cjs +0 -7
- package/dist/surface-D-GWBcsh.cjs.map +0 -1
- package/dist/surface-D23JtxYP.js +0 -22
- package/dist/surface-D23JtxYP.js.map +0 -1
- package/dist/surface.mixin-DqMwoddO.js +0 -320
- package/dist/surface.mixin-DqMwoddO.js.map +0 -1
- package/dist/surface.mixin-DxOi-xo0.cjs +0 -297
- package/dist/surface.mixin-DxOi-xo0.cjs.map +0 -1
- package/dist/table-C7b73kdg.cjs +0 -63
- package/dist/table-C7b73kdg.cjs.map +0 -1
- package/dist/table-CTrhV9-k.js +0 -631
- package/dist/table-CTrhV9-k.js.map +0 -1
- package/dist/tabs-Ce55RbwF.js.map +0 -1
- package/dist/tabs-DAzB8O7w.cjs +0 -31
- package/dist/tabs-DAzB8O7w.cjs.map +0 -1
- package/dist/tailwind.mixin-DRI1oTYQ.cjs +0 -2
- package/dist/tailwind.mixin-DRI1oTYQ.cjs.map +0 -1
- package/dist/tailwind.mixin-mdQR3BEO.js +0 -219
- package/dist/tailwind.mixin-mdQR3BEO.js.map +0 -1
- package/dist/textarea-DjN1D9u0.js.map +0 -1
- package/dist/textarea-PuHxBvJA.cjs +0 -39
- package/dist/textarea-PuHxBvJA.cjs.map +0 -1
- package/dist/theme-B-IJ2r7Q.cjs +0 -181
- package/dist/theme-button-BSbYmS4p.cjs +0 -8
- package/dist/theme-button-BSbYmS4p.cjs.map +0 -1
- package/dist/theme-button-CEMeAUOL.js.map +0 -1
- package/dist/theme.service-DxJPUGlu.cjs +0 -1
- package/dist/theme.service-DxJPUGlu.cjs.map +0 -1
- package/dist/theme.service-cOfPrtfe.js.map +0 -1
- package/dist/tslib.es6-Cnt75pb6.cjs +0 -1
- package/dist/tslib.es6-Cnt75pb6.cjs.map +0 -1
- package/dist/tslib.es6-DMzzJKHV.js +0 -7
- package/dist/tslib.es6-DMzzJKHV.js.map +0 -1
- package/dist/utils-Bp2jhyZc.js.map +0 -1
- package/dist/utils-CBPQvxNW.cjs +0 -1
- package/dist/utils-CBPQvxNW.cjs.map +0 -1
- package/dist/window-CrjZdf7Y.js.map +0 -1
- package/dist/window-DTUARSrU.cjs +0 -59
- package/dist/window-DTUARSrU.cjs.map +0 -1
- package/skills/schmancy/store.md +0 -126
- package/src/components/form-elements/index.ts +0 -1
- package/src/components/index.ts +0 -1
- package/src/layout/flex/flex.scss +0 -4
- package/src/layout/flex/flex.ts +0 -74
- package/src/layout/flex/index.ts +0 -1
- package/src/layout/grid/.readme +0 -79
- package/src/layout/grid/grid.scss +0 -5
- package/src/layout/grid/grid.ts +0 -121
- package/src/layout/grid/index.ts +0 -1
- package/src/layout/layout.ts +0 -122
- package/src/layout/v2/flex.ts +0 -243
- package/src/layout/v2/index.ts +0 -1
- package/src/metric/index.ts +0 -1
- package/src/metric/metric.ts +0 -127
- package/src/store/context-array.ts +0 -358
- package/src/store/context-collection.ts +0 -218
- package/src/store/context-create.ts +0 -284
- package/src/store/context-object.ts +0 -298
- package/src/store/filter-directive.ts +0 -614
- package/src/store/index.ts +0 -10
- package/src/store/selector-hook.ts +0 -259
- package/src/store/selectors.ts +0 -289
- package/src/store/storage-manager.ts +0 -269
- package/src/store/store.class.ts +0 -239
- package/src/store/types.ts +0 -327
- package/src/tabs/tabs-compatibility.ts +0 -20
- package/src/typewriter/typewriter.ts +0 -410
- package/types/src/agent/index.d.ts +0 -1
- package/types/src/area/route.test.d.ts +0 -20
- package/types/src/button/button.test.d.ts +0 -1
- package/types/src/chips/chip.d.ts +0 -3
- package/types/src/components/index.d.ts +0 -1
- package/types/src/content-drawer/$sheet.d.ts +0 -14
- package/types/src/dialog/dailog.d.ts +0 -116
- package/types/src/dialog/dialog-content.d.ts +0 -17
- package/types/src/directives/guard.d.ts +0 -1
- package/types/src/directives/visibility.d.ts +0 -11
- package/types/src/form/form-v2.d.ts +0 -22
- package/types/src/input/input-v2.d.ts +0 -250
- package/types/src/layout/flex/flex.d.ts +0 -26
- package/types/src/layout/flex/index.d.ts +0 -1
- package/types/src/layout/grid/grid.d.ts +0 -39
- package/types/src/layout/grid/index.d.ts +0 -1
- package/types/src/layout/layout.d.ts +0 -59
- package/types/src/layout/v2/flex.d.ts +0 -65
- package/types/src/layout/v2/grid.d.ts +0 -51
- package/types/src/layout/v2/index.d.ts +0 -1
- package/types/src/lightbox/flip.directive.d.ts +0 -22
- package/types/src/metric/index.d.ts +0 -1
- package/types/src/metric/metric.d.ts +0 -39
- package/types/src/notification/outlet.d.ts +0 -10
- package/types/src/sheet/header.d.ts +0 -10
- package/types/src/store/context-array.d.ts +0 -83
- package/types/src/store/context-collection.d.ts +0 -74
- package/types/src/store/context-create.d.ts +0 -43
- package/types/src/store/context-object.d.ts +0 -46
- package/types/src/store/filter-directive.d.ts +0 -116
- package/types/src/store/immer-integration.d.ts +0 -54
- package/types/src/store/index.d.ts +0 -10
- package/types/src/store/selector-hook.d.ts +0 -46
- package/types/src/store/selectors.d.ts +0 -90
- package/types/src/store/storage-manager.d.ts +0 -48
- package/types/src/store/store.class.d.ts +0 -73
- package/types/src/store/types.d.ts +0 -241
- package/types/src/tabs/tabs-compatibility.d.ts +0 -13
- package/types/src/theme/theme.elevation.d.ts +0 -131
- package/types/src/theme/theme.motion.d.ts +0 -198
- package/types/src/theme/theme.shape.d.ts +0 -144
- package/types/src/theme/theme.state.d.ts +0 -546
- package/types/src/theme/theme.typography.d.ts +0 -74
- package/types/src/tooltip/tooltip.d.ts +0 -33
- package/types/src/typewriter/typewriter.d.ts +0 -94
- /package/dist/agent/{flow-CvG1fLW5.js → flow-CaPi2G8y.js} +0 -0
- /package/dist/agent/{vendor-material-color-DcL7ZPxx.js → vendor-material-color-Be96dpGE.js} +0 -0
- /package/dist/{animation-hXFClrIn.js → animation-BK-8BwY8.js} +0 -0
- /package/dist/{animation-CQRdLgzX.cjs → animation-CO_Csq84.cjs} +0 -0
- /package/dist/{decorate-D_utPUsC.js → decorate-23nYs4Le.js} +0 -0
- /package/dist/{decorate-F9CuyeHg.cjs → decorate-DpFmy0nm.cjs} +0 -0
- /package/dist/{hashContent-B2IntJQf.js → hashContent-1ARKIsx9.js} +0 -0
- /package/dist/{hashContent-CahnEuut.cjs → hashContent-Bp5S6T4U.cjs} +0 -0
- /package/dist/{lazy-D6R5N5v4.js → lazy-B0ia54tT.js} +0 -0
- /package/dist/{lazy-BDNnH_r7.cjs → lazy-Dq9mRRjT.cjs} +0 -0
- /package/dist/{reduced-motion-BZTLqAyl.js → reduced-motion-D-L12p7G.js} +0 -0
- /package/dist/{reduced-motion-9RjNnhIg.cjs → reduced-motion-Ds-HjMzn.cjs} +0 -0
- /package/dist/{rxjs-utils-DJbZRjp3.cjs → rxjs-utils-Csnks202.cjs} +0 -0
- /package/dist/{rxjs-utils-CKTnEKUH.js → rxjs-utils-d-ivVN84.js} +0 -0
- /package/dist/{theme.events-NuihzD_p.js → theme.events-Cv7N4Toe.js} +0 -0
- /package/dist/{theme.events-DakXxZeP.cjs → theme.events-DM4H5F2d.cjs} +0 -0
- /package/dist/{theme.interface-DTwkuAKJ.cjs → theme.interface-D9l33b-M.cjs} +0 -0
- /package/dist/{theme.interface-Buged9Cg.js → theme.interface-DnVNre4O.js} +0 -0
- /package/src/{directives/typewriter.ts → typewriter/typewriter.directive.ts} +0 -0
- /package/types/src/{components/form-elements → payment-card-form}/index.d.ts +0 -0
- /package/types/src/{directives/typewriter.d.ts → typewriter/typewriter.directive.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"src-C_JjQovE.cjs","names":[],"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' | 'surface'\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\tsurface: {\n\t\t\t\tbg: this.outlined ? 'transparent' : SchmancyTheme.sys.color.surface.high,\n\t\t\t\ttext: SchmancyTheme.sys.color.surface.on,\n\t\t\t\tborder: this.outlined ? SchmancyTheme.sys.color.outline : 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=\"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 { BehaviorSubject, Subject, concatMap, delay, of, tap } 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\tprivate pushCounter = 0\n\tprivate isDismissing$ = new BehaviorSubject<boolean>(false)\n\n\tconstructor() {\n\t\t// Use concatMap to queue commands and process them sequentially\n\t\tthis.$drawer.pipe(\n\t\t\tconcatMap(command => {\n\t\t\t\tswitch (command.action) {\n\t\t\t\t\tcase 'dismiss':\n\t\t\t\t\t\treturn of(command).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\tthis.isDismissing$.next(true)\n\t\t\t\t\t\t\t\tthis.dispatchToggleEvent(command.ref, 'close')\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t// Wait for dismiss animation (250ms from sheet.ts)\n\t\t\t\t\t\t\tdelay(300),\n\t\t\t\t\t\t\ttap(() => this.isDismissing$.next(false))\n\t\t\t\t\t\t)\n\t\t\t\t\tcase 'render':\n\t\t\t\t\t\treturn of(command).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\tthis.dispatchToggleEvent(command.ref, 'open')\n\t\t\t\t\t\t\t\tthis.dispatchRenderEvent(command.ref, command.component, command.title)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\tcase 'push':\n\t\t\t\t\t\treturn of(command).pipe(\n\t\t\t\t\t\t\ttap(() => this.handlePush(command.ref, command.component, command.state, command.params, command.props))\n\t\t\t\t\t\t)\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn of(null)\n\t\t\t\t}\n\t\t\t})\n\t\t).subscribe()\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// Auto-increment counter to make every push unique\n\t\t// Area router uses distinctUntilChanged on component+state+params+props\n\t\t// Without this, pushing same component with same props gets silently blocked\n\t\tconst enhancedState = {\n\t\t\t...state,\n\t\t\t_drawerPushId: ++this.pushCounter\n\t\t}\n\n\t\tthis.dispatchToggleEvent(ref, 'open')\n\t\tthis.dispatchRenderEvent(ref, component, undefined, enhancedState, params, props)\n\t}\n\n\t/**\n\t * Push a component to the content drawer\n\t * Every push is guaranteed to render (auto-incremented unique ID prevents deduplication)\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\n/**\n * Content-drawer service. Mounts any element inside the right-hand content\n * drawer of a `<schmancy-content-drawer>` layout.\n *\n * @service\n * @summary Imperative content-drawer (right-side navigation panel).\n * @method render({ component, ...options }) - Mount an element in the drawer.\n * @method close() - Close the drawer.\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: 250,\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: 250,\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\t\"block h-full w-full\": 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 class=\"h-full w-full\" 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 * Top app bar region inside schmancy-nav-drawer — the horizontal strip above the content area that typically holds the page title, hamburger trigger, and contextual actions.\n *\n * @element schmancy-nav-drawer-appbar\n * @summary Always nested inside schmancy-nav-drawer. Holds the page-level title + top-right actions. On mobile, the drawer's hamburger button renders inside this region.\n * @example\n * <schmancy-nav-drawer-appbar>\n * <schmancy-typography type=\"title\" token=\"lg\">Dashboard</schmancy-typography>\n * <schmancy-icon-button slot=\"trailing\" aria-label=\"Notifications\">\n * <schmancy-icon>notifications</schmancy-icon>\n * </schmancy-icon-button>\n * </schmancy-nav-drawer-appbar>\n * @platform header - Styled horizontal bar. Degrades to a plain header element if the tag never registers.\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/**\n * Main content region inside schmancy-nav-drawer — typically hosts the router outlet or the page's body content.\n *\n * @element schmancy-nav-drawer-content\n * @summary Always nested inside schmancy-nav-drawer. Scrollable by default; propagates scroll events up so the drawer can collapse app-bar on scroll.\n * @example\n * <schmancy-nav-drawer-content>\n * <schmancy-area name=\"main\"></schmancy-area>\n * </schmancy-nav-drawer-content>\n * @platform main scroll - Scrollable `<main>`. Degrades to a plain scrollable div if the tag never registers.\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 * Responsive navigation drawer — a left sidebar that becomes a hamburger-triggered modal overlay on narrow viewports. Composes schmancy-nav-drawer-navbar (the nav rail), schmancy-nav-drawer-appbar (the top bar), and schmancy-nav-drawer-content (the main region).\n *\n * @element schmancy-nav-drawer\n * @summary The app-shell layout primitive. Wrap your whole app in this when you want \"persistent sidebar on desktop, drawer on mobile\" behavior. Mode auto-switches at the breakpoint.\n * @example\n * <schmancy-nav-drawer>\n * <schmancy-nav-drawer-navbar>\n * <!-- nav items, typically schmancy-list-item links -->\n * </schmancy-nav-drawer-navbar>\n * <schmancy-nav-drawer-appbar>App title</schmancy-nav-drawer-appbar>\n * <schmancy-nav-drawer-content>\n * <!-- router outlet / page content -->\n * </schmancy-nav-drawer-content>\n * </schmancy-nav-drawer>\n * @platform div - Flex layout with viewport-width mode switching. Degrades to a stack of plain divs if the tag never registers.\n * @slot - The content slot\n * @fires schmancy-drawer-state - When the drawer open/close state changes on mobile.\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/**\n * Sidebar region inside schmancy-nav-drawer — the persistent-on-desktop / modal-on-mobile nav rail.\n *\n * @element schmancy-nav-drawer-navbar\n * @summary Always nested inside schmancy-nav-drawer. On desktop: pinned left sidebar. On mobile: modal overlay triggered by the hamburger button in schmancy-nav-drawer-appbar.\n * @example\n * <schmancy-nav-drawer-navbar>\n * <schmancy-list>\n * <schmancy-list-item href=\"/dashboard\">Dashboard</schmancy-list-item>\n * <schmancy-list-item href=\"/settings\">Settings</schmancy-list-item>\n * </schmancy-list>\n * </schmancy-nav-drawer-navbar>\n * @platform nav - Sidebar `<nav>` with responsive open/close behavior. Degrades to a plain sidebar div if the tag never registers.\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.containerLowest,\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 * Single destination inside schmancy-navigation-bar — an icon + optional label representing one primary app destination.\n *\n * @element schmancy-navigation-bar-item\n * @summary Always nested inside schmancy-navigation-bar. Use `icon` attr for a Material Symbols glyph or slot=icon for custom content.\n * @platform button click - Styled navigation target. Degrades to a plain `<button>` if the tag never registers.\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-containerHigh': !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-containerHighest': !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, Subject } from 'rxjs'\nimport { takeUntil, throttleTime, tap, pairwise, map, filter } from 'rxjs/operators'\nimport type { SchmancyNavigationBarItem } from './navigation-bar-item'\nimport { theme } from '../theme/theme.service'\n\n/** Height of the navigation bar in pixels */\nconst NAV_BAR_HEIGHT = 80\n\n/** Mobile breakpoint - matches md: in Tailwind (max-width for mobile) */\nconst MOBILE_BREAKPOINT = '(max-width: 767px)'\n\n/**\n * Bottom navigation bar — Material Design 3 horizontal nav for mobile primary destinations (3–7 items). Auto-hides in fullscreen mode.\n *\n * @element schmancy-navigation-bar\n * @summary Use for mobile primary navigation (home, search, favorites, settings). For persistent desktop nav, prefer schmancy-navigation-rail or schmancy-nav-drawer. Consumer is responsible for fixed-bottom positioning via class.\n * @platform nav - Styled horizontal nav with schmancy-navigation-bar-item children. Degrades to a plain flex container if the tag never registers.\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\t/**\n\t * Media query for mobile detection\n\t */\n\tprivate mobileMediaQuery: MediaQueryList | null = null\n\n\t/**\n\t * Subject to track visibility state changes\n\t */\n\tprivate visibility$ = new Subject<boolean>()\n\n\t/**\n\t * Check if on mobile viewport\n\t */\n\tprivate isMobileViewport(): boolean {\n\t\treturn this.mobileMediaQuery?.matches ?? false\n\t}\n\n\t/**\n\t * Update bottom offset for schmancy-page/fullHeight consumers\n\t */\n\tprivate updateBottomOffset() {\n\t\tconst shouldSetOffset = !this.isFullscreen && this.isMobileViewport()\n\t\ttheme.setBottomOffset(shouldSetOffset ? NAV_BAR_HEIGHT : 0)\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Set up mobile media query\n\t\tthis.mobileMediaQuery = window.matchMedia(MOBILE_BREAKPOINT)\n\n\t\t// Listen to viewport changes\n\t\tfromEvent<MediaQueryListEvent>(this.mobileMediaQuery, 'change').pipe(\n\t\t\ttap(() => this.updateBottomOffset()),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Subscribe to fullscreen observable\n\t\ttheme.fullscreen$.pipe(\n\t\t\ttap(isFullscreen => {\n\t\t\t\tthis.isFullscreen = isFullscreen\n\t\t\t\tthis.visibility$.next(!this.isFullscreen && !this.isHiddenByScroll)\n\t\t\t\tthis.updateBottomOffset()\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\n\t\t// Initial offset update\n\t\tthis.updateBottomOffset()\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// 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\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Clear offset when nav bar is removed\n\t\ttheme.setBottomOffset(0)\n\t\tthis.mobileMediaQuery = null\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\t\t\t\tconst previousHiddenState = this.isHiddenByScroll\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\t// Update visibility if scroll state changed\n\t\t\t\tif (previousHiddenState !== this.isHiddenByScroll) {\n\t\t\t\t\tthis.visibility$.next(!this.isHiddenByScroll && !this.isFullscreen)\n\t\t\t\t}\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\t// Update visibility since we're now visible\n\t\t\t\tthis.visibility$.next(!this.isFullscreen)\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"],"mappings":"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A,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
|
package/dist/store-CjFHCSDb.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require(`./chunk-CncqDLb2.cjs`);let e=require(`rxjs`),t=require(`rxjs/operators`),n=require(`lit/decorators.js`);var r=Symbol.for(`immer-nothing`),i=Symbol.for(`immer-draftable`),a=Symbol.for(`immer-state`),o=process.env.NODE_ENV===`production`?[]:[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},`This object has been frozen and should not be mutated`,function(e){return`Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? `+e},`An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.`,`Immer forbids circular references`,"The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},`Object.defineProperty() cannot be used on an Immer draft`,`Object.setPrototypeOf() cannot be used on an Immer draft`,`Immer only supports deleting array indices`,`Immer only supports setting array indices and the 'length' property`,function(e){return`'original' expects a draft, got: ${e}`}];function s(e,...t){if(process.env.NODE_ENV!==`production`){let n=o[e],r=w(n)?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var c=Object,l=c.getPrototypeOf,u=`constructor`,d=`prototype`,ee=`configurable`,f=`enumerable`,p=`writable`,m=`value`,h=e=>!!e&&!!e[a];function g(e){return!!e&&(re(e)||b(e)||!!e[i]||!!e[u]?.[i]||x(e)||S(e))}var te=c[d][u].toString(),ne=new WeakMap;function re(e){if(!e||!C(e))return!1;let t=l(e);if(t===null||t===c[d])return!0;let n=c.hasOwnProperty.call(t,u)&&t[u];if(n===Object)return!0;if(!w(n))return!1;let r=ne.get(n);return r===void 0&&(r=Function.toString.call(n),ne.set(n,r)),r===te}function _(e,t,n=!0){v(e)===0?(n?Reflect.ownKeys(e):c.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function v(e){let t=e[a];return t?t.type_:b(e)?1:x(e)?2:S(e)?3:0}var ie=(e,t,n=v(e))=>n===2?e.has(t):c[d].hasOwnProperty.call(e,t),ae=(e,t,n=v(e))=>n===2?e.get(t):e[t],y=(e,t,n,r=v(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n},b=Array.isArray,x=e=>e instanceof Map,S=e=>e instanceof Set,C=e=>typeof e==`object`,w=e=>typeof e==`function`,oe=e=>typeof e==`boolean`,T=e=>e.copy_||e.base_,se=e=>{let t=(e=>C(e)?e?.[a]:null)(e);return t?t.copy_??t.base_:e},ce=e=>e.modified_?e.copy_:e.base_;function le(e,t){if(x(e))return new Map(e);if(S(e))return new Set(e);if(b(e))return Array[d].slice.call(e);let n=re(e);if(!0===t||t===`class_only`&&!n){let t=c.getOwnPropertyDescriptors(e);delete t[a];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];!1===a[p]&&(a[p]=!0,a[ee]=!0),(a.get||a.set)&&(t[i]={[ee]:!0,[p]:!0,[f]:a[f],[m]:e[i]})}return c.create(l(e),t)}{let t=l(e);if(t!==null&&n)return{...e};let r=c.create(t);return c.assign(r,e)}}function ue(e,t=!1){return fe(e)||h(e)||!g(e)||(v(e)>1&&c.defineProperties(e,{set:de,add:de,clear:de,delete:de}),c.freeze(e),t&&_(e,(e,t)=>{ue(t,!0)},!1)),e}var de={[m]:function(){s(2)}};function fe(e){return e===null||!C(e)||c.isFrozen(e)}var E=`MapSet`,pe=`Patches`,me=`ArrayMethods`,D={};function O(e){let t=D[e];return t||s(0,e),t}var k,he=e=>!!D[e],A=()=>k;function ge(e,t){t&&(e.patchPlugin_=O(pe),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function _e(e){ve(e),e.drafts_.forEach(be),e.drafts_=null}function ve(e){e===k&&(k=e.parent_)}var ye=e=>k={drafts_:[],parent_:k,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:he(E)?O(E):void 0,arrayMethodsPlugin_:he(me)?O(me):void 0};function be(e){let t=e[a];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function xe(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[a].modified_&&(_e(t),s(4)),g(e)&&(e=Se(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[a].base_,e,t)}else e=Se(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ue(t,n)}(t,e,!0),_e(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===r?void 0:e}function Se(e,t){if(fe(t))return t;let n=t[a];if(!n)return M(t,e.handledSet_,e);if(!j(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);Ee(n,e)}return n.copy_}function Ce(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var j=(e,t)=>e.scope_===t,we=[];function Te(e,t,n,r){let i=T(e),a=e.type_;if(r!==void 0&&ae(i,r,a)===t)return void y(i,r,n,a);if(!e.draftLocations_){let t=e.draftLocations_=new Map;_(i,(e,n)=>{if(h(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??we;for(let e of o)y(i,e,n,a)}function Ee(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}Ce(e)}}function De(e,t,n){let{scope_:r}=e;if(h(n)){let i=n[a];j(i,r)&&i.callbacks_.push(function(){I(e),Te(e,n,ce(i),t)})}else g(n)&&e.callbacks_.push(function(){let i=T(e);e.type_===3?i.has(n)&&M(n,r.handledSet_,r):ae(i,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&M(ae(e.copy_,t,e.type_),r.handledSet_,r)})}function M(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||h(e)||t.has(e)||!g(e)||fe(e)||(t.add(e),_(e,(r,i)=>{if(h(i)){let t=i[a];j(t,n)&&(y(e,r,ce(t),e.type_),Ce(t))}else g(i)&&M(i,t,n)})),e}var N={get(e,t){if(t===a)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=T(e);if(!ie(i,t,e.type_))return function(e,t,n){let r=ke(t,n);return r?m in r?r[m]:r.get?.call(e.draft_):void 0}(e,i,t);let o=i[t];if(e.finalized_||!g(o)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){let t=+e;return Number.isInteger(t)&&String(t)===e}(t))return o;if(o===Oe(e.base_,t)){I(e);let n=e.type_===1?+t:t,r=L(e.scope_,o,e,n);return e.copy_[n]=r}return o},has:(e,t)=>t in T(e),ownKeys:e=>Reflect.ownKeys(T(e)),set(e,t,n){let r=ke(T(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=Oe(T(e),t),s=r?.[a];if(s&&s.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(((i=n)===(o=r)?i!==0||1/i==1/o:i!=i&&o!=o)&&(n!==void 0||ie(e.base_,t,e.type_)))return!0;I(e),F(e)}var i,o;return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),De(e,t,n)),!0},deleteProperty:(e,t)=>(I(e),Oe(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),F(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){let n=T(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[p]:!0,[ee]:e.type_!==1||t!==`length`,[f]:r[f],[m]:n[t]}},defineProperty(){s(11)},getPrototypeOf:e=>l(e.base_),setPrototypeOf(){s(12)}},P={};for(let e in N){let t=N[e];P[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function Oe(e,t){let n=e[a];return(n?T(n):e)[t]}function ke(e,t){if(!(t in e))return;let n=l(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=l(n)}}function F(e){e.modified_||(e.modified_=!0,e.parent_&&F(e.parent_))}function I(e){e.copy_||=(e.assigned_=new Map,le(e.base_,e.scope_.immer_.useStrictShallowCopy_))}P.deleteProperty=function(e,t){return process.env.NODE_ENV!==`production`&&isNaN(parseInt(t))&&s(13),P.set.call(this,e,t,void 0)},P.set=function(e,t,n){return process.env.NODE_ENV!==`production`&&t!==`length`&&isNaN(parseInt(t))&&s(14),N.set.call(this,e[0],t,n,e[0])};function L(e,t,n,r){let[i,a]=x(t)?O(E).proxyMap_(t,n):S(t)?O(E).proxySet_(t,n):function(e,t){let n=b(e),r={type_:+!!n,scope_:t?t.scope_:A(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=N;n&&(i=[r],a=P);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}(t,n);return(n?.scope_??A()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?function(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!j(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=ce(i);Te(e,i.draft_??i,a,n),Ee(i,r)})}(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function Ae(e){if(!g(e)||fe(e))return e;let t=e[a],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=le(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=le(e,!0);return _(n,(e,t)=>{y(n,e,Ae(t))},r),t&&(t.finalized_=!1),n}var R=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(w(e)&&!w(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}let i;if(w(t)||s(6),n===void 0||w(n)||s(7),g(e)){let r=ye(this),a=L(r,e,void 0),o=!0;try{i=t(a),o=!1}finally{o?_e(r):ve(r)}return ge(r,n),xe(i,r)}if(!e||!C(e)){if(i=t(e),i===void 0&&(i=e),i===r&&(i=void 0),this.autoFreeze_&&ue(i,!0),n){let t=[],r=[];O(pe).generateReplacementPatches_(e,i,{patches_:t,inversePatches_:r}),n(t,r)}return i}s(1,e)},this.produceWithPatches=(e,t)=>{if(w(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},oe(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),oe(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),oe(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){g(e)||s(8),h(e)&&(e=function(e){return h(e)||s(10,e),Ae(e)}(e));let t=ye(this),n=L(t,e,void 0);return n[a].isManual_=!0,ve(t),n}finishDraft(e,t){let n=e&&e[a];n&&n.isManual_||s(9);let{scope_:r}=n;return ge(r,t),xe(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=O(pe).applyPatches_;return h(e)?r(e,t):this.produce(e,e=>r(e,t))}}().produce,z=class e extends Error{constructor(t,n,r){super(t),this.name=`StoreError`,this.cause=n,this.context=r,this.timestamp=new Date,Error.captureStackTrace&&Error.captureStackTrace(this,e)}toJSON(){return{name:this.name,message:this.message,cause:this.cause,context:this.context,timestamp:this.timestamp.toISOString(),stack:this.stack}}};function je(e,t){return t instanceof Map?{q:`Map`,entries:Array.from(t.entries())}:t instanceof Set?{q:`Set`,values:Array.from(t.values())}:t}function Me(e,t){if(t&&typeof t==`object`&&`q`in t){let e=t;if(e.q===`Map`)return Array.isArray(e.entries)&&e.entries.every(e=>Array.isArray(e)&&e.length===2)?new Map(e.entries):t;if(e.q===`Set`)return Array.isArray(e.values)?new Set(e.values):t}return t}var Ne=class{constructor(){this.data=null}async load(){return this.data}async save(e){this.data=e}async clear(){this.data=null}},Pe=class{constructor(e){this.key=e}async load(){try{let e=localStorage.getItem(this.key);return e?JSON.parse(e,Me):null}catch{return null}}async save(e){try{localStorage.setItem(this.key,JSON.stringify(e,je))}catch(e){throw new z(`Failed to save to localStorage (${this.key})`,e)}}async clear(){localStorage.removeItem(this.key)}},Fe=class{constructor(e){this.key=e}async load(){try{let e=sessionStorage.getItem(this.key);return e?JSON.parse(e,Me):null}catch{return null}}async save(e){try{sessionStorage.setItem(this.key,JSON.stringify(e,je))}catch(e){throw new z(`Failed to save to sessionStorage (${this.key})`,e)}}async clear(){sessionStorage.removeItem(this.key)}},Ie=class e{static{this.DB_NAME=`StoreDB`}static{this.STORE_NAME=`states`}static{this.DB_VERSION=1}constructor(e){this.key=e}openDB(){return new Promise((t,n)=>{let r=indexedDB.open(e.DB_NAME,e.DB_VERSION);r.onupgradeneeded=()=>{let t=r.result;t.objectStoreNames.contains(e.STORE_NAME)||t.createObjectStore(e.STORE_NAME)},r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}async load(){try{let t=await this.openDB();return new Promise((n,r)=>{let i=t.transaction(e.STORE_NAME,`readonly`).objectStore(e.STORE_NAME).get(this.key);i.onsuccess=()=>{t.close(),n(i.result||null)},i.onerror=()=>{t.close(),r(i.error)}})}catch{return null}}async save(t){try{let n=await this.openDB();return new Promise((r,i)=>{let a=n.transaction(e.STORE_NAME,`readwrite`).objectStore(e.STORE_NAME).put(t,this.key);a.onsuccess=()=>{n.close(),r()},a.onerror=()=>{n.close(),i(a.error)}})}catch(e){throw new z(`Failed to save to IndexedDB (${this.key})`,e)}}async clear(){try{let t=await this.openDB();return new Promise((n,r)=>{let i=t.transaction(e.STORE_NAME,`readwrite`).objectStore(e.STORE_NAME).delete(this.key);i.onsuccess=()=>{t.close(),n()},i.onerror=()=>{t.close(),r(i.error)}})}catch(e){throw new z(`Failed to clear from IndexedDB (${this.key})`,e)}}};function Le(e,t){switch(e){case`local`:return new Pe(t);case`session`:return new Fe(t);case`indexeddb`:return new Ie(t);default:return new Ne}}(function(){class e extends Map{constructor(e,t){super(),this[a]={type_:2,parent_:t,scope_:t?t.scope_:A(),modified_:!1,finalized_:!1,copy_:void 0,assigned_:void 0,base_:e,draft_:this,isManual_:!1,revoked_:!1,callbacks_:[]}}get size(){return T(this[a]).size}has(e){return T(this[a]).has(e)}set(e,n){let r=this[a];return i(r),T(r).has(e)&&T(r).get(e)===n||(t(r),F(r),r.assigned_.set(e,!0),r.copy_.set(e,n),r.assigned_.set(e,!0),De(r,e,n)),this}delete(e){if(!this.has(e))return!1;let n=this[a];return i(n),t(n),F(n),n.base_.has(e)?n.assigned_.set(e,!1):n.assigned_.delete(e),n.copy_.delete(e),!0}clear(){let e=this[a];i(e),T(e).size&&(t(e),F(e),e.assigned_=new Map,_(e.base_,t=>{e.assigned_.set(t,!1)}),e.copy_.clear())}forEach(e,t){let n=this[a];T(n).forEach((n,r,i)=>{e.call(t,this.get(r),r,this)})}get(e){let n=this[a];i(n);let r=T(n).get(e);if(n.finalized_||!g(r)||r!==n.base_.get(e))return r;let o=L(n.scope_,r,n,e);return t(n),n.copy_.set(e,o),o}keys(){return T(this[a]).keys()}values(){let e=this.keys();return{[Symbol.iterator]:()=>this.values(),next:()=>{let t=e.next();return t.done?t:{done:!1,value:this.get(t.value)}}}}entries(){let e=this.keys();return{[Symbol.iterator]:()=>this.entries(),next:()=>{let t=e.next();if(t.done)return t;let n=this.get(t.value);return{done:!1,value:[t.value,n]}}}}[Symbol.iterator](){return this.entries()}}function t(e){e.copy_||=(e.assigned_=new Map,new Map(e.base_))}class n extends Set{constructor(e,t){super(),this[a]={type_:3,parent_:t,scope_:t?t.scope_:A(),modified_:!1,finalized_:!1,copy_:void 0,base_:e,draft_:this,drafts_:new Map,revoked_:!1,isManual_:!1,assigned_:void 0,callbacks_:[]}}get size(){return T(this[a]).size}has(e){let t=this[a];return i(t),t.copy_?!!t.copy_.has(e)||!(!t.drafts_.has(e)||!t.copy_.has(t.drafts_.get(e))):t.base_.has(e)}add(e){let t=this[a];return i(t),this.has(e)||(r(t),F(t),t.copy_.add(e),De(t,e,e)),this}delete(e){if(!this.has(e))return!1;let t=this[a];return i(t),r(t),F(t),t.copy_.delete(e)||!!t.drafts_.has(e)&&t.copy_.delete(t.drafts_.get(e))}clear(){let e=this[a];i(e),T(e).size&&(r(e),F(e),e.copy_.clear())}values(){let e=this[a];return i(e),r(e),e.copy_.values()}entries(){let e=this[a];return i(e),r(e),e.copy_.entries()}keys(){return this.values()}[Symbol.iterator](){return this.values()}forEach(e,t){let n=this.values(),r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}}function r(e){e.copy_||(e.copy_=new Set,e.base_.forEach(t=>{if(g(t)){let n=L(e.scope_,t,e,t);e.drafts_.set(t,n),e.copy_.add(n)}else e.copy_.add(t)}))}function i(e){e.revoked_&&s(3,JSON.stringify(T(e)))}var o;D[o=E]||(D[o]={proxyMap_:function(t,n){let r=new e(t,n);return[r,r[a]]},proxySet_:function(e,t){let r=new n(e,t);return[r,r[a]]},fixSetContents:function(e){if(e.type_===3&&e.copy_){let t=new Set(e.copy_);e.copy_.clear(),t.forEach(t=>{e.copy_.add(se(t))})}}})})();var B=class{get ready(){return this._ready}set ready(e){this._ready=e,this.updateState(this.$.value)}get value(){return this.$.getValue()}constructor(t,n,r){let a;this.storageType=t,this.key=n,this[i]=!0,this._ready=!1,this._destroy$=new e.Subject,this.error$=new e.BehaviorSubject(null),a=r instanceof Map?new Map(r):Array.isArray(r)?[...r]:r&&typeof r==`object`?{...r}:r;try{this.defaultValue=this.isImmerDraftable(a)?R(a,e=>e):a}catch{this.defaultValue=a}this.$=new e.BehaviorSubject(this.defaultValue),this.storage=Le(t,n),t===`memory`?this._ready=!0:this.initializeFromStorage()}isImmerDraftable(e){return typeof e==`object`&&!!e&&(Array.isArray(e)||e instanceof Map||e instanceof Set||Object.getPrototypeOf(e)===Object.prototype||!0===e[i])}destroy(){this._destroy$.next(),this._destroy$.complete(),this.$.complete(),this.error$.complete()}replace(e){try{let t=this.isImmerDraftable(e)?R(e,e=>e):e;this.updateState(t)}catch(t){let n=new z(`Error replacing state in ${this.key}`,t);this.error$.next(n),this.updateState(e)}}updateState(e){try{let t;t=this.isImmerDraftable(e)?R(e,e=>e):e,this.$.next(t),this.storageType!==`memory`&&this.persistToStorage(t).catch(e=>{let t=new z(`Error saving to ${this.storageType} storage for ${this.key}`,e);this.error$.next(t)})}catch(t){let n=new z(`Error updating state in ${this.key}`,t);this.error$.next(n),this.$.next(e)}}async initializeFromStorage(){try{let e=await this.storage.load();if(e){let t=this.processStoredValue(e);try{let e=this.isImmerDraftable(t)?R(t,e=>e):t;this.updateState(e)}catch{this.updateState(t)}}this._ready=!0}catch(e){let t=new z(`Error loading from ${this.storageType} storage for ${this.key}`,e);this.error$.next(t),this._ready=!0}}processStoredValue(e){return e}async persistToStorage(e){return this.storage.save(e)}},Re=class t extends B{static{this.type=`array`}static{this.instances=new Map}static getInstance(e,n,r=[]){let i=`${e}:${n}`;return this.instances.has(i)||this.instances.set(i,new t(e,n,r)),this.instances.get(i)}constructor(e,t,n=[]){super(e,t,n),e!==`memory`&&this.setupPersistence()}setupPersistence(){this.$.pipe((0,e.throttleTime)(100,void 0,{leading:!0,trailing:!0})).subscribe(e=>{this.storage.save(e).catch(e=>{let t=new z(`Error saving to ${this.storageType} storage for ${this.key}`,e);this.error$.next(t)})})}push(...e){try{let t=R(this.value,t=>{t.push(...e.map(e=>e))});this.updateState(t),this.error$.next(null)}catch(e){let t=new z(`Error pushing items in ${this.key}`,e);this.error$.next(t)}}pop(){try{let e=this.value.length>0?this.value[this.value.length-1]:void 0,t=R(this.value,e=>{e.pop()});return this.updateState(t),this.error$.next(null),e}catch(e){let t=new z(`Error popping item from ${this.key}`,e);this.error$.next(t);return}}unshift(...e){try{let t=R(this.value,t=>{t.unshift(...e.map(e=>e))});this.updateState(t),this.error$.next(null)}catch(e){let t=new z(`Error unshifting items in ${this.key}`,e);this.error$.next(t)}}shift(){try{let e=this.value.length>0?this.value[0]:void 0,t=R(this.value,e=>{e.shift()});return this.updateState(t),this.error$.next(null),e}catch(e){let t=new z(`Error shifting item from ${this.key}`,e);this.error$.next(t);return}}set(e,t){try{let n=R(this.value,n=>{if(!(e>=0&&e<n.length))throw Error(`Index ${e} out of bounds (length: ${n.length})`);n[e]=t});this.updateState(n),this.error$.next(null)}catch(t){let n=new z(`Error setting item at index ${e} in ${this.key}`,t);this.error$.next(n)}}get(e){return this.value[e]}splice(e,t,...n){try{let r=[...this.value].splice(e,t??0,...n),i=R(this.value,r=>{r.splice(e,t??0,...n.map(e=>e))});return this.updateState(i),this.error$.next(null),r}catch(e){let t=new z(`Error splicing items in ${this.key}`,e);return this.error$.next(t),[]}}remove(e,t){try{let n=t||((e,t)=>e===t),r=this.value.findIndex(t=>n(t,e));if(r!==-1){let e=R(this.value,e=>{e.splice(r,1)});return this.updateState(e),this.error$.next(null),!0}return this.error$.next(null),!1}catch(e){let t=new z(`Error removing item in ${this.key}`,e);return this.error$.next(t),!1}}replace(e){try{let t=R(e,e=>e);this.updateState(t),this.error$.next(null)}catch(e){let t=new z(`Error replacing array in ${this.key}`,e);this.error$.next(t)}}filter(e){try{let t=this.value.filter(e),n=R(this.value,e=>{e.length=0,e.push(...t.map(e=>e))});this.updateState(n),this.error$.next(null)}catch(e){let t=new z(`Error filtering array in ${this.key}`,e);this.error$.next(t)}}map(e){return this.value.map(e)}sort(e){try{let t=[...this.value].sort(e),n=R(this.value,e=>{e.length=0,e.push(...t.map(e=>e))});this.updateState(n),this.error$.next(null)}catch(e){let t=new z(`Error sorting array in ${this.key}`,e);this.error$.next(t)}}update(e,t){try{let n=R(this.value,n=>{if(!(e>=0&&e<n.length))throw Error(`Index ${e} out of bounds (length: ${n.length})`);t(n[e])});this.updateState(n),this.error$.next(null)}catch(t){let n=new z(`Error updating item at index ${e} in ${this.key}`,t);this.error$.next(n)}}clear(){this.updateState([])}setupDevTools(){typeof window<`u`&&(window.__STORES__=window.__STORES__||{},window.__STORES__[this.key]={getState:()=>this.value,push:this.push.bind(this),pop:this.pop.bind(this),unshift:this.unshift.bind(this),shift:this.shift.bind(this),set:this.set.bind(this),get:this.get.bind(this),splice:this.splice.bind(this),remove:this.remove.bind(this),replace:this.replace.bind(this),filter:this.filter.bind(this),map:this.map.bind(this),sort:this.sort.bind(this),update:this.update.bind(this),clear:this.clear.bind(this),subscribe:e=>{let t=this.$.subscribe(e);return()=>t.unsubscribe()}})}},ze=class t extends B{static{this.type=`collection`}static{this.instances=new Map}static getInstance(e,n,r){let i=`${e}:${n}`;return this.instances.has(i)||this.instances.set(i,new t(e,n,r)),this.instances.get(i)}set(e,t){try{let n=R(this.value,n=>{if(typeof e==`string`){if(t===void 0)throw Error(`Value is required when setting a single key`);n.set(e,t)}else if(e instanceof Map)Array.from(e.entries()).forEach(([e,t])=>{n.set(e,t)});else{if(typeof e!=`object`||!e)throw Error(`Invalid input: expected string key with value, Map, or object`);Object.entries(e).forEach(([e,t])=>{n.set(e,t)})}});this.updateState(n),this.error$.next(null)}catch(e){let t=new z(`Error setting values in ${this.key}`,e);this.error$.next(t)}}merge(e){this.set(e)}delete(e){try{let t=R(this.value,t=>{t.delete(e)});this.updateState(t),this.error$.next(null)}catch(t){let n=new z(`Error deleting key ${e} from ${this.key}`,t);this.error$.next(n)}}clear(){this.updateState(new Map)}batchUpdate(e){try{let t=R(this.value,t=>{Object.entries(e).forEach(([e,n])=>{t.set(e,n)})});this.updateState(t),this.error$.next(null)}catch(e){let t=new z(`Error batch updating in ${this.key}`,e);this.error$.next(t)}}update(e,t){try{let n=R(this.value,n=>{let r=n.get(e);r!==void 0&&t(r)});this.updateState(n),this.error$.next(null)}catch(t){let n=new z(`Error updating item ${e} in ${this.key}`,t);this.error$.next(n)}}constructor(e,t,n){super(e,t,n),e!==`memory`&&this.setupPersistence()}setupPersistence(){this.$.pipe((0,e.throttleTime)(100,void 0,{leading:!0,trailing:!0})).subscribe(e=>{this.storage.save(e).catch(e=>{let t=new z(`Error saving to ${this.storageType} storage for ${this.key}`,e);this.error$.next(t)})})}setupDevTools(){typeof window<`u`&&(window.__STORES__=window.__STORES__||{},window.__STORES__[this.key]={getState:()=>this.value,set:this.set.bind(this),merge:this.merge.bind(this),delete:this.delete.bind(this),clear:this.clear.bind(this),batchUpdate:this.batchUpdate.bind(this),update:this.update.bind(this),subscribe:e=>{let t=this.$.subscribe(e);return()=>t.unsubscribe()}})}},Be=class e extends B{constructor(...e){super(...e),this[i]=!0}static{this.type=`object`}static{this.instances=new Map}static getInstance(t,n,r){let i=`${t}:${n}`;return this.instances.has(i)||this.instances.set(i,new e(t,n,r)),this.instances.get(i)}set(e,t=!0){try{if(!this.isImmerDraftable(this.value)){let n=t?{...this.value,...e}:e;this.updateState(n),this.error$.next(null);return}let n=R(this.value,n=>{if(t){if(e==null)return;try{Object.assign(n,e)}catch{Object.keys(e).forEach(t=>{n[t]=e[t]})}}else try{return e}catch{return e}});this.updateState(n),this.error$.next(null)}catch(n){let r=new z(`Error updating store: ${this.key}`,n,{value:e,merge:t});this.error$.next(r);try{let n=t?{...this.value,...e}:e;this.updateState(n)}catch{}}}clear(){try{if(this.isImmerDraftable(this.defaultValue)){let e=R(this.defaultValue,e=>e);this.set(e,!1)}else this.set(this.defaultValue,!1)}catch(e){let t=new z(`Error clearing store: ${this.key}`,e);this.error$.next(t),this.updateState(this.defaultValue)}}delete(e){try{if(!this.isImmerDraftable(this.value)){let t={...this.value};delete t[e],this.updateState(t);return}let t=R(this.value,t=>{delete t[e]});this.updateState(t)}catch(t){let n=new z(`Error deleting key ${String(e)} from store: ${this.key}`,t);this.error$.next(n);try{let t={...this.value};delete t[e],this.updateState(t)}catch{}}}setPath(e,t){try{if(!e)return;if(!this.isImmerDraftable(this.value)){let n=e.split(`.`),r={...this.value},i=r;for(let e=0;e<n.length-1;e++){let t=n[e];i[t]===void 0?i[t]={}:typeof i[t]==`object`&&i[t]!==null||(i[t]={}),i=i[t]}i[n[n.length-1]]=t,this.updateState(r);return}let n=R(this.value,n=>{let r=e.split(`.`),i=n;for(let e=0;e<r.length-1;e++){let t=r[e];i[t]===void 0?i[t]={}:typeof i[t]==`object`&&i[t]!==null||(i[t]={}),i=i[t]}let a=r[r.length-1];try{i[a]=t}catch{i[a]=t}});this.updateState(n),this.error$.next(null)}catch(n){let r=new z(`Error setting path ${e} in ${this.key}`,n);this.error$.next(r);try{let n=e.split(`.`),r={...this.value},i=r;for(let e=0;e<n.length-1;e++){let t=n[e];i[t]===void 0?i[t]={}:typeof i[t]==`object`&&i[t]!==null||(i[t]={}),i=i[t]}i[n[n.length-1]]=t,this.updateState(r)}catch{}}}processStoredValue(e){try{return this.isImmerDraftable(this.defaultValue)&&this.isImmerDraftable(e)?R(this.defaultValue,t=>{Object.assign(t,e)}):{...this.defaultValue,...e}}catch{return e}}setupDevTools(){typeof window<`u`&&(window.__STORES__=window.__STORES__||{},window.__STORES__[this.key]={getState:()=>this.value,set:this.set.bind(this),delete:this.delete.bind(this),clear:this.clear.bind(this),setPath:this.setPath.bind(this),subscribe:e=>{let t=this.$.subscribe(e);return()=>t.unsubscribe()}})}isImmerDraftable(e){return typeof e==`object`&&!!e&&(super.isImmerDraftable(e)||!0===e[i])}};function Ve(e,t,n){try{t===`indexeddb`&&(t=`local`),((i=e)===null||typeof i!=`object`||Array.isArray(i)||i instanceof Map||i instanceof Set||i instanceof Date||i instanceof RegExp||Object.getPrototypeOf(i)!==Object.prototype)&&(e={...e});let a=Be.getInstance(t,n,e);return typeof(r=a.value)==`object`&&r!==null&&Object.keys(r).length===0&&a.set({...e}),a}catch{return Be.getInstance(`memory`,`${n}-fallback`,e)}var r,i}function He(e,t,n){try{let r=Re.getInstance(t,n,e);return r.value.length||r.replace([...e]),r}catch{return Re.getInstance(`memory`,`${n}-fallback`,[...e])}}function Ue(e,t,n){try{return e??=n.includes(`collection`)||n.includes(`map`)?new Map:n.includes(`array`)||n.includes(`list`)?[]:{},e instanceof Map?function(e,t,n){try{let r=ze.getInstance(t,n,e);return r.value.size||r.replace(new Map(e)),r}catch{return ze.getInstance(`memory`,`${n}-fallback`,new Map(e))}}(e,t,n):function(e){return Array.isArray(e)}(e)?He(e,t,n):Ve(typeof e==`object`?e:{value:e},t,n)}catch{return Ve(typeof e==`object`&&e?{...e}:{value:e},`memory`,`emergency-fallback-${n}`)}}function We(e=[],t,n=`local`){try{return Ue(e,n,t)}catch{return He(e,`memory`,`${t}-fallback`)}}function Ge(e=[],t=`test-array`){try{return Ue(e,`memory`,t)}catch{return He(e,`memory`,`${t}-emergency-fallback`)}}var Ke=(e,t)=>{if(!t)return e;let n=t.split(`.`),r=e;for(let e of n){if(r==null)return;r=r[e]}return r},qe=e=>{if(!e||e.length<2)return[];let t=[];for(let n=0;n<e.length-1;n++)t.push(e.substring(n,n+2).toLowerCase());return t},Je=(e,t)=>{if(!e||!t)return 0;let n=e.toLowerCase().trim(),r=t.toLowerCase().trim();if(n===r)return 1;let i=+!!n.includes(r),a=((e,t)=>{if(!e)return!0;if(!t)return!1;let n=0,r=0;for(;n<e.length&&r<t.length;)e[n].toLowerCase()===t[r].toLowerCase()&&n++,r++;return n===e.length})(r,n)?.8:0,o=((e,t)=>{if(!e)return!0;if(!t)return!1;let n=e=>e.toLowerCase().split(``).reduce((e,t)=>(e[t]=(e[t]||0)+1,e),{}),r=n(e),i=n(t);return Object.keys(r).every(e=>(i[e]||0)>=r[e])})(r,n)?.7:0,s=((e,t)=>{if(!e||!t||e.length<2||t.length<2)return 0;let n=qe(e),r=qe(t);if(n.length===0||r.length===0)return 0;let i=0,a=Array(r.length).fill(!1);for(let e of n)for(let t=0;t<r.length;t++)if(!a[t]&&r[t]===e){i++,a[t]=!0;break}return 2*i/(n.length+r.length)})(n,r),c=Math.max(n.length,r.length),l=c?1-((e,t)=>{if(e===t)return 0;let n=Array(t.length+1).fill(null).map((e,t)=>[t]);for(let t=0;t<=e.length;t++)n[0][t]=t;for(let r=1;r<=t.length;r++)for(let i=1;i<=e.length;i++)t.charAt(r-1)===e.charAt(i-1)?n[r][i]=n[r-1][i-1]:n[r][i]=Math.min(n[r-1][i]+1,n[r][i-1]+1,n[r-1][i-1]+1);return n[t.length][e.length]})(n,r)/c:0;return Math.max(i,a,o,s,l)},Ye=e=>e==null?``:String(e);function Xe(e,t,n=.3){let r,i,a,o=!1;if(Array.isArray(t))[r,i,a,o=!1]=t;else{if(Array.isArray(t.key))return t.key.map(r=>Xe(e,{...t,key:r},n)).reduce((e,t)=>t.valid&&t.score>e.score?t:e,{valid:!1,score:0});r=t.key,i=t.operator,a=t.value,o=t.strict||!1}if(!o&&(a===``||a==null||V(a)&&a.length===0))return{valid:!0,score:1};let s=Ke(e,r);if(o){if(i===`any`){if(typeof s!=`string`||typeof a!=`string`)return{valid:!1,score:0};let e=Je(s,a);return{valid:e>=n,score:e>=n?e:0}}{let e=tt(i,s,a);return{valid:e,score:+!!e}}}if(i===`any`){if(typeof s!=`string`||typeof a!=`string`)return{valid:!1,score:0};let e=Je(s,a);return e<n?{valid:!1,score:0}:{valid:!0,score:e}}{let e=tt(i,s,a);return{valid:e,score:+!!e}}}function Ze(e,t=[],n=.3){if(!t.length)return Array.from(e.values());let r=[];for(let[i,a]of e.entries()){let e=0,i=0,o=!0;for(let r of t){let t=Xe(a,r,n);if(!t.valid){o=!1;break}e+=t.score,i++}o&&r.push({item:a,score:i>0?e/i:1})}return r.sort((e,t)=>t.score-e.score),r.map(e=>e.item)}function Qe(e,t=[],n=.3){let r=new Map;return e.forEach((e,t)=>r.set(String(t),e)),Ze(r,t,n)}function V(e){return Array.isArray(e)}function H(e){return typeof e==`string`}function U(e){return typeof e==`number`&&!isNaN(e)}function W(e){return e instanceof Date&&!isNaN(e.getTime())}function $e(e){return typeof e==`object`&&!!e&&Symbol.iterator in Object(e)&&typeof e[Symbol.iterator]==`function`}function G(e){return e instanceof Map}function K(e){return e instanceof Set}function et(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function q(e){return e==null}function tt(e,t,n){if(q(t)&&q(n))return!0;if(q(t)||q(n))return e===`==`?t===n:e===`!=`&&t!==n;switch(e){case`==`:return t===n;case`!=`:return t!==n;case`>`:return U(t)&&U(n)?t>n:W(t)&&W(n)?t.getTime()>n.getTime():!(!H(t)||!H(n))&&t.localeCompare(n)>0;case`<`:return U(t)&&U(n)?t<n:W(t)&&W(n)?t.getTime()<n.getTime():!(!H(t)||!H(n))&&t.localeCompare(n)<0;case`>=`:return U(t)&&U(n)?t>=n:W(t)&&W(n)?t.getTime()>=n.getTime():!(!H(t)||!H(n))&&t.localeCompare(n)>=0;case`<=`:return U(t)&&U(n)?t<=n:W(t)&&W(n)?t.getTime()<=n.getTime():!(!H(t)||!H(n))&&t.localeCompare(n)<=0;case`includes`:return H(t)?t.toLowerCase().includes(Ye(n).toLowerCase()):V(t)?t.includes(n):K(t)?t.has(n):!!G(t)&&Array.from(t.values()).includes(n);case`notIncludes`:return H(t)?!t.toLowerCase().includes(Ye(n).toLowerCase()):V(t)?!t.includes(n):K(t)?!t.has(n):!G(t)||!Array.from(t.values()).includes(n);case`startsWith`:return!(!H(t)||!H(n))&&t.toLowerCase().startsWith(n.toLowerCase());case`endsWith`:return!(!H(t)||!H(n))&&t.toLowerCase().endsWith(n.toLowerCase());case`in`:return V(n)?n.includes(t):K(n)?n.has(t):!!G(n)&&(n.has(t)||Array.from(n.values()).includes(t));case`notIn`:return V(n)?!n.includes(t):K(n)?!n.has(t):!G(n)||!n.has(t)&&!Array.from(n.values()).includes(t);default:return!1}}var nt=Ze,rt=Qe;function J(e,t){if(e===t)return!0;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!J(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(typeof e==`object`&&e&&typeof t==`object`&&t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!J(e[r],t[r]))return!1;return!0}return!1}function it(t,n){return t.$.pipe((0,e.map)(n),(0,e.distinctUntilChanged)(J),(0,e.shareReplay)(1))}function Y(t,n){return t.$.pipe((0,e.map)(n),(0,e.distinctUntilChanged)(J),(0,e.shareReplay)(1))}function at(e){return Y(e,e=>Array.from(e.values()))}function ot(e,t){return Y(e,e=>e.get(t))}function st(e){return Y(e,e=>Array.from(e.keys()))}function ct(e){return Y(e,e=>Array.from(e.entries()))}function lt(e,t){return Y(e,e=>Array.from(e.values()).sort(t))}function ut(e,t){return Y(e,e=>{for(let[n,r]of e.entries())if(t(r,n))return r})}function dt(e,t){return Y(e,e=>Array.from(e.entries()).filter(([e,n])=>t(n,e)).map(([e,t])=>t))}function ft(e,t){return Y(e,e=>Array.from(e.entries()).map(([e,n])=>t(n,e)))}function pt(e,t){return Y(e,e=>t?Array.from(e.entries()).filter(([e,n])=>t(n,e)).length:e.size)}function mt(t,n){return t.$.pipe((0,e.map)(n),(0,e.distinctUntilChanged)(J),(0,e.share)({resetOnRefCountZero:!0,resetOnError:!1,resetOnComplete:!1}))}function ht(t,n,r){let i=r(...t.map((e,t)=>n[t](e.value))),a={$:new e.BehaviorSubject(i),error$:new e.BehaviorSubject(null),ready:!0,defaultValue:i,get value(){return this.$.getValue()},set(e,t){},clear(){this.$.next(this.defaultValue)},replace(e){},delete(e){},destroy(){this.$.complete(),this.error$.complete()}},o=(0,e.combineLatest)(t.map((e,t)=>e.$)).subscribe({next:e=>{try{let t=r(...e.map((e,t)=>n[t](e)));a.$.next(t)}catch(e){let t=new z(`Error in compound selector`,e);a.error$.next(t)}},error:e=>{let t=new z(`Error in store subscription`,e);a.error$.next(t)}}),s=a.destroy;return a.destroy=function(){o.unsubscribe(),s.call(this)},a}var X=Symbol(`selectorCleanup`),Z=Symbol(`selectorSubscriptions`),Q=Symbol(`selectorInitialized`),$=Symbol(`connectedCallbackCalled`);function gt(r,i=e=>e,a={required:!0}){return function(o,s,c){(0,n.property)({attribute:!1,type:Object})(o,s);let l=o.connectedCallback,u=o.disconnectedCallback;o.connectedCallback=function(){var n;(n=this)[X]&&!n[X].closed||(n[X]=new e.Subject),n[Z]||(n[Z]=new Map),n[Q]||(n[Q]=new Set);let o=function(e){return`set`in e&&typeof e.set==`function`&&e.value instanceof Map}(r)?Y(r,i):it(r,i);a.required||this[$]||(l?.call(this),this[$]=!0),this[Z].has(s)&&(this[Z].get(s)?.unsubscribe(),this[Z].delete(s)),a.debug;let c=o.pipe((0,t.takeUntil)(this[X])).subscribe({next:e=>{let t=a.deepClone?structuredClone(e):e;a.debug,a.updateOnly||(this[s]=t),this.requestUpdate?.(),a.required&&!this[Q].has(s)&&t!==void 0&&(this[Q].add(s),this[$]||(a.debug,l?.call(this),this[$]=!0))},error:e=>{this.isConnected&&setTimeout(()=>{this.isConnected&&(a.debug,this.connectedCallback?.())},1e3)}});this[Z].set(s,c)},o.disconnectedCallback=function(){var e;u?.call(this),a.debug,(e=this)[X]&&(e[X].next(),e[X].complete(),e[X]=void 0),e[Z]&&(e[Z].forEach(e=>e.unsubscribe()),e[Z].clear(),e[Z]=void 0),e[Q]&&(e[Q].clear(),e[Q]=void 0),e[$]=void 0}}}function _t(e,t,n={required:!0}){return function(r,i,a){gt(e,function(e){let n=t(this);return n?e.get(n):void 0},n)(r,i)}}Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return rt}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return ht}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return ot}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return it}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return _t}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return dt}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return gt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return at}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return Ne}});
|