@mhmo91/schmancy 0.9.9 → 0.9.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{area-D9b9dHQr.cjs → area-BafkBc1f.cjs} +1 -1
- package/dist/{area-D9b9dHQr.cjs.map → area-BafkBc1f.cjs.map} +1 -1
- package/dist/{area-BARjKpE9.js → area-D03HRn1L.js} +1 -1
- package/dist/{area-BARjKpE9.js.map → area-D03HRn1L.js.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-AI2CCJmK.cjs → autocomplete-BeLg4A3T.cjs} +1 -1
- package/dist/{autocomplete-AI2CCJmK.cjs.map → autocomplete-BeLg4A3T.cjs.map} +1 -1
- package/dist/{autocomplete-DOimwVMP.js → autocomplete-BotVnTfP.js} +2 -2
- package/dist/{autocomplete-DOimwVMP.js.map → autocomplete-BotVnTfP.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-Bk4u-LzT.cjs → boat-4hSLFsGy.cjs} +1 -1
- package/dist/{boat-Bk4u-LzT.cjs.map → boat-4hSLFsGy.cjs.map} +1 -1
- package/dist/{boat-DrghVeWK.js → boat-C1wGdoaF.js} +1 -1
- package/dist/{boat-DrghVeWK.js.map → boat-C1wGdoaF.js.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +1 -1
- package/dist/breadcrumb.js +1 -1
- package/dist/{busy-c_q_F8O0.cjs → busy-C0qP0TiL.cjs} +1 -1
- package/dist/{busy-c_q_F8O0.cjs.map → busy-C0qP0TiL.cjs.map} +1 -1
- package/dist/{busy-BmFfwyz_.js → busy-D74-XaFn.js} +1 -1
- package/dist/{busy-BmFfwyz_.js.map → busy-D74-XaFn.js.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/{card-BADJHUMA.js → card-C8Ns2mRo.js} +1 -1
- package/dist/{card-BADJHUMA.js.map → card-C8Ns2mRo.js.map} +1 -1
- package/dist/{card-C_E944_Z.cjs → card-DUq_MsxC.cjs} +1 -1
- package/dist/{card-C_E944_Z.cjs.map → card-DUq_MsxC.cjs.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/charts.cjs +1 -1
- package/dist/charts.js +1 -1
- package/dist/{checkbox-D7rvCrGk.js → checkbox-D18r6c0V.js} +1 -1
- package/dist/{checkbox-D7rvCrGk.js.map → checkbox-D18r6c0V.js.map} +1 -1
- package/dist/{checkbox-ZqDoCagB.cjs → checkbox-qPH_5Viu.cjs} +1 -1
- package/dist/{checkbox-ZqDoCagB.cjs.map → checkbox-qPH_5Viu.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-vdzIsesI.js → chips-0rKPqQt8.js} +3 -3
- package/dist/{chips-vdzIsesI.js.map → chips-0rKPqQt8.js.map} +1 -1
- package/dist/{chips-Cux635Qs.cjs → chips-BI_kt5BS.cjs} +1 -1
- package/dist/{chips-Cux635Qs.cjs.map → chips-BI_kt5BS.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/{code-highlight-D6yruol6.js → code-highlight-ClzG4FL4.js} +1 -1
- package/dist/{code-highlight-D6yruol6.js.map → code-highlight-ClzG4FL4.js.map} +1 -1
- package/dist/{code-highlight-C9lKek2p.cjs → code-highlight-DGInmDAW.cjs} +1 -1
- package/dist/{code-highlight-C9lKek2p.cjs.map → code-highlight-DGInmDAW.cjs.map} +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{components-ByRyEzz5.cjs → components-7hOtFi_q.cjs} +1 -1
- package/dist/{components-ByRyEzz5.cjs.map → components-7hOtFi_q.cjs.map} +1 -1
- package/dist/{components-DSvPKR9Q.js → components-RbvrLE3U.js} +1 -1
- package/dist/{components-DSvPKR9Q.js.map → components-RbvrLE3U.js.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/connectivity.cjs +1 -1
- package/dist/connectivity.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-DJsavigf.cjs → date-range-B0kW9np7.cjs} +1 -1
- package/dist/{date-range-DJsavigf.cjs.map → date-range-B0kW9np7.cjs.map} +1 -1
- package/dist/{date-range-tEX2Jx2j.js → date-range-CfIIPIA_.js} +2 -2
- package/dist/{date-range-tEX2Jx2j.js.map → date-range-CfIIPIA_.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-CZw37zps.js → delay-CPoyWZuQ.js} +3 -3
- package/dist/{delay-CZw37zps.js.map → delay-CPoyWZuQ.js.map} +1 -1
- package/dist/{delay-BvVdfhAR.cjs → delay-k_HiVnhP.cjs} +1 -1
- package/dist/{delay-BvVdfhAR.cjs.map → delay-k_HiVnhP.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-D7VTnLOh.js → details-BU5kx0Jh.js} +1 -1
- package/dist/{details-D7VTnLOh.js.map → details-BU5kx0Jh.js.map} +1 -1
- package/dist/{details-Bhz8_whd.cjs → details-CQIbCUY0.cjs} +1 -1
- package/dist/{details-Bhz8_whd.cjs.map → details-CQIbCUY0.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-zS232JDr.js → divider-D9borfuG.js} +1 -1
- package/dist/{divider-zS232JDr.js.map → divider-D9borfuG.js.map} +1 -1
- package/dist/{divider-S0bHwCCS.cjs → divider-IX9sp29l.cjs} +1 -1
- package/dist/{divider-S0bHwCCS.cjs.map → divider-IX9sp29l.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +2 -2
- package/dist/{expand-BXt9SqAF.js → expand-Dw9tbuFG.js} +2 -2
- package/dist/{expand-BXt9SqAF.js.map → expand-Dw9tbuFG.js.map} +1 -1
- package/dist/{expand-Dr7TFXpl.cjs → expand-dIrDcH9Y.cjs} +1 -1
- package/dist/{expand-Dr7TFXpl.cjs.map → expand-dIrDcH9Y.cjs.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{extra-BmZTXAp0.cjs → extra-BFpPepJn.cjs} +1 -1
- package/dist/{extra-BmZTXAp0.cjs.map → extra-BFpPepJn.cjs.map} +1 -1
- package/dist/{extra-COYhsOyZ.js → extra-D3sZLtFY.js} +1 -1
- package/dist/{extra-COYhsOyZ.js.map → extra-D3sZLtFY.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{float-DCXafWh6.js → float-BKd4pilD.js} +1 -1
- package/dist/{float-DCXafWh6.js.map → float-BKd4pilD.js.map} +1 -1
- package/dist/{float-CSRW-Rrd.cjs → float-CJ3SuEcG.cjs} +1 -1
- package/dist/{float-CSRW-Rrd.cjs.map → float-CJ3SuEcG.cjs.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{icons-DPUeLS_Y.cjs → icons-1AkKNd7O.cjs} +1 -1
- package/dist/{icons-DPUeLS_Y.cjs.map → icons-1AkKNd7O.cjs.map} +1 -1
- package/dist/{icons-BbaI9Zf-.js → icons-DqIVrIIK.js} +1 -1
- package/dist/{icons-BbaI9Zf-.js.map → icons-DqIVrIIK.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-Ct50FYXq.cjs → iframe-CtDetaw3.cjs} +1 -1
- package/dist/{iframe-Ct50FYXq.cjs.map → iframe-CtDetaw3.cjs.map} +1 -1
- package/dist/{iframe-CEDOvkql.js → iframe-D4R1Rq7G.js} +1 -1
- package/dist/{iframe-CEDOvkql.js.map → iframe-D4R1Rq7G.js.map} +1 -1
- package/dist/iframe.cjs +1 -1
- package/dist/iframe.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +31 -31
- package/dist/{input-chip-CI4__N8w.js → input-chip-B4uw64rQ.js} +1 -1
- package/dist/{input-chip-CI4__N8w.js.map → input-chip-B4uw64rQ.js.map} +1 -1
- package/dist/{input-chip-BhjGVpc3.cjs → input-chip-DY9IEbQj.cjs} +1 -1
- package/dist/{input-chip-BhjGVpc3.cjs.map → input-chip-DY9IEbQj.cjs.map} +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.js +2 -2
- package/dist/kbd.cjs +1 -1
- package/dist/kbd.js +1 -1
- package/dist/{layout-D7xOqMkJ.cjs → layout-B1gXjlIO.cjs} +1 -1
- package/dist/{layout-D7xOqMkJ.cjs.map → layout-B1gXjlIO.cjs.map} +1 -1
- package/dist/{layout-uAQpJN31.js → layout-Dh0qW7XU.js} +2 -2
- package/dist/{layout-uAQpJN31.js.map → layout-Dh0qW7XU.js.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/{lightbox-C0OEHns9.js → lightbox-BM_Bpk_l.js} +2 -2
- package/dist/{lightbox-C0OEHns9.js.map → lightbox-BM_Bpk_l.js.map} +1 -1
- package/dist/{lightbox-cXRnvHMN.cjs → lightbox-BUuGltX9.cjs} +1 -1
- package/dist/{lightbox-cXRnvHMN.cjs.map → lightbox-BUuGltX9.cjs.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-CmJ5h35b.cjs → list-C1GMiAi_.cjs} +1 -1
- package/dist/{list-CmJ5h35b.cjs.map → list-C1GMiAi_.cjs.map} +1 -1
- package/dist/{list-d1mHar5p.js → list-DrF_av2K.js} +2 -2
- package/dist/{list-d1mHar5p.js.map → list-DrF_av2K.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-CncaUoxz.js → litElement.mixin-D6ZHgGZv.js} +1 -1
- package/dist/{litElement.mixin-CncaUoxz.js.map → litElement.mixin-D6ZHgGZv.js.map} +1 -1
- package/dist/{litElement.mixin-Bj2q1yPw.cjs → litElement.mixin-De5SG5z7.cjs} +1 -1
- package/dist/{litElement.mixin-Bj2q1yPw.cjs.map → litElement.mixin-De5SG5z7.cjs.map} +1 -1
- package/dist/{mailbox-C4-E93be.js → mailbox-BjB502y9.js} +4 -4
- package/dist/{mailbox-C4-E93be.js.map → mailbox-BjB502y9.js.map} +1 -1
- package/dist/{mailbox-BmChskZc.cjs → mailbox-D0iXsqyx.cjs} +1 -1
- package/dist/{mailbox-BmChskZc.cjs.map → mailbox-D0iXsqyx.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-DHyYLhvy.js → map-BZTxFRVH.js} +1 -1
- package/dist/{map-DHyYLhvy.js.map → map-BZTxFRVH.js.map} +1 -1
- package/dist/{map-DYEvlNl0.cjs → map-uRYJeifl.cjs} +1 -1
- package/dist/{map-DYEvlNl0.cjs.map → map-uRYJeifl.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{menu-DFDBADp4.js → menu-BamT46lt.js} +1 -1
- package/dist/{menu-DFDBADp4.js.map → menu-BamT46lt.js.map} +1 -1
- package/dist/{menu-BlPTI6H9.cjs → menu-CXFa_bk4.cjs} +1 -1
- package/dist/{menu-BlPTI6H9.cjs.map → menu-CXFa_bk4.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +2 -2
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-DGpv8g2H.js → notification-COgjQodt.js} +2 -2
- package/dist/{notification-DGpv8g2H.js.map → notification-COgjQodt.js.map} +1 -1
- package/dist/{notification-DKVWYhqs.cjs → notification-Xid-o7gi.cjs} +1 -1
- package/dist/{notification-DKVWYhqs.cjs.map → notification-Xid-o7gi.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-LtSDy2xf.cjs → option-CNWUeHW3.cjs} +1 -1
- package/dist/{option-LtSDy2xf.cjs.map → option-CNWUeHW3.cjs.map} +1 -1
- package/dist/{option-BD2eh458.js → option-DdYe_l1A.js} +1 -1
- package/dist/{option-BD2eh458.js.map → option-DdYe_l1A.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/page.cjs +1 -1
- package/dist/page.js +2 -2
- package/dist/{progress-B5ChDPbB.cjs → progress-Bw-VD6wH.cjs} +1 -1
- package/dist/{progress-B5ChDPbB.cjs.map → progress-Bw-VD6wH.cjs.map} +1 -1
- package/dist/{progress-CE1Pk2hi.js → progress-OQvbUkDs.js} +1 -1
- package/dist/{progress-CE1Pk2hi.js.map → progress-OQvbUkDs.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{provide-jn1Fj1vv.js → provide-C4L6R1lo.js} +1 -1
- package/dist/{provide-jn1Fj1vv.js.map → provide-C4L6R1lo.js.map} +1 -1
- package/dist/{provide-BZ9lq_Be.cjs → provide-Dsoh3FdP.cjs} +1 -1
- package/dist/{provide-BZ9lq_Be.cjs.map → provide-Dsoh3FdP.cjs.map} +1 -1
- package/dist/qr-scanner.cjs +1 -1
- package/dist/qr-scanner.js +1 -1
- package/dist/{radio-group-Cd9pZ2MR.cjs → radio-group-D5t8f2Ob.cjs} +1 -1
- package/dist/{radio-group-Cd9pZ2MR.cjs.map → radio-group-D5t8f2Ob.cjs.map} +1 -1
- package/dist/{radio-group-CyRHgIF3.js → radio-group-DI1JXW5r.js} +1 -1
- package/dist/{radio-group-CyRHgIF3.js.map → radio-group-DI1JXW5r.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +1 -1
- package/dist/range.js +1 -1
- package/dist/{scroll-C_iNOi7E.cjs → scroll-BG5qMncw.cjs} +1 -1
- package/dist/{scroll-C_iNOi7E.cjs.map → scroll-BG5qMncw.cjs.map} +1 -1
- package/dist/{scroll-DoliwpRu.js → scroll-Dym-6yPI.js} +1 -1
- package/dist/{scroll-DoliwpRu.js.map → scroll-Dym-6yPI.js.map} +1 -1
- package/dist/{select-CWWuZ2iJ.cjs → select-B1nN5Ac4.cjs} +1 -1
- package/dist/{select-CWWuZ2iJ.cjs.map → select-B1nN5Ac4.cjs.map} +1 -1
- package/dist/{select-_vHPXi30.js → select-C3L3imJM.js} +1 -1
- package/dist/{select-_vHPXi30.js.map → select-C3L3imJM.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-i1KtxGIj.js → sheet-BS9WlMaj.js} +3 -3
- package/dist/{sheet-i1KtxGIj.js.map → sheet-BS9WlMaj.js.map} +1 -1
- package/dist/{sheet-r0oEYIdi.cjs → sheet-BZRMpyXt.cjs} +1 -1
- package/dist/{sheet-r0oEYIdi.cjs.map → sheet-BZRMpyXt.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-DUO5_kmI.js → sheet.service-DQWkiYEe.js} +1 -1
- package/dist/{sheet.service-DUO5_kmI.js.map → sheet.service-DQWkiYEe.js.map} +1 -1
- package/dist/{sheet.service-Cr13Oo6G.cjs → sheet.service-l9jTUaot.cjs} +1 -1
- package/dist/{sheet.service-Cr13Oo6G.cjs.map → sheet.service-l9jTUaot.cjs.map} +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.js +1 -1
- package/dist/skills/INDEX.md +1 -1
- package/dist/skills/SKILL.md +1 -1
- package/dist/skills/schmancy/INDEX.md +1 -1
- package/dist/skills/schmancy/SKILL.md +1 -1
- package/dist/skills/schmancy/surface.md +14 -0
- package/dist/skills/schmancy/theme.md +83 -5
- package/dist/skills/surface.md +14 -0
- package/dist/skills/theme.md +83 -5
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{splash-screen-CquyPP1C.cjs → splash-screen-DuFJ0gbD.cjs} +1 -1
- package/dist/{splash-screen-CquyPP1C.cjs.map → splash-screen-DuFJ0gbD.cjs.map} +1 -1
- package/dist/{splash-screen-CvucPkpD.js → splash-screen-M-v_jiLs.js} +1 -1
- package/dist/{splash-screen-CvucPkpD.js.map → splash-screen-M-v_jiLs.js.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-Bemk2C2P.cjs → src-Ba-S6DFW.cjs} +1 -1
- package/dist/{src-Bemk2C2P.cjs.map → src-Ba-S6DFW.cjs.map} +1 -1
- package/dist/{src-f5a3W9Mj.js → src-CbR3znbw.js} +40 -40
- package/dist/{src-f5a3W9Mj.js.map → src-CbR3znbw.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +3 -3
- package/dist/{surface-CDufon40.cjs → surface-PECoCLgx.cjs} +1 -1
- package/dist/{surface-CDufon40.cjs.map → surface-PECoCLgx.cjs.map} +1 -1
- package/dist/{surface-CkEYJCae.js → surface-kM2aYH4g.js} +2 -2
- package/dist/{surface-CkEYJCae.js.map → surface-kM2aYH4g.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +1 -1
- package/dist/switch.js +1 -1
- package/dist/{table-DWc1mkpj.cjs → table-CENjXiu-.cjs} +1 -1
- package/dist/{table-DWc1mkpj.cjs.map → table-CENjXiu-.cjs.map} +1 -1
- package/dist/{table-P6VGG7NK.js → table-DrMgc8Aw.js} +1 -1
- package/dist/{table-P6VGG7NK.js.map → table-DrMgc8Aw.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-CjGjGrqY.js → tabs-BvFiM0y-.js} +2 -2
- package/dist/{tabs-CjGjGrqY.js.map → tabs-BvFiM0y-.js.map} +1 -1
- package/dist/{tabs-DGJEKuhC.cjs → tabs-CRA9FMNl.cjs} +1 -1
- package/dist/{tabs-DGJEKuhC.cjs.map → tabs-CRA9FMNl.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-Bug3G6K6.cjs +2 -0
- package/dist/{tailwind.mixin-Cpa-VnnX.cjs.map → tailwind.mixin-Bug3G6K6.cjs.map} +1 -1
- package/dist/tailwind.mixin-ywtUNG2c.js +219 -0
- package/dist/{tailwind.mixin-DufHBjmb.js.map → tailwind.mixin-ywtUNG2c.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-jmTOXrzl.cjs → textarea-CfwGEIvf.cjs} +1 -1
- package/dist/{textarea-jmTOXrzl.cjs.map → textarea-CfwGEIvf.cjs.map} +1 -1
- package/dist/{textarea-DZT_Ofp5.js → textarea-DD5gxIsG.js} +1 -1
- package/dist/{textarea-DZT_Ofp5.js.map → textarea-DD5gxIsG.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-CCKqaksQ.cjs → theme-BiM_CUpn.cjs} +1 -1
- package/dist/{theme-CCKqaksQ.cjs.map → theme-BiM_CUpn.cjs.map} +1 -1
- package/dist/{theme-CEc32pAv.js → theme-DNJmVFXF.js} +3 -3
- package/dist/{theme-CEc32pAv.js.map → theme-DNJmVFXF.js.map} +1 -1
- package/dist/{theme-button-dOiAvdKU.js → theme-button-19T3SFrv.js} +1 -1
- package/dist/{theme-button-dOiAvdKU.js.map → theme-button-19T3SFrv.js.map} +1 -1
- package/dist/{theme-button-BsJcv-Zv.cjs → theme-button-BwJs6N4k.cjs} +1 -1
- package/dist/{theme-button-BsJcv-Zv.cjs.map → theme-button-BwJs6N4k.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +2 -2
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-ByIL2Mh-.cjs → typewriter-BH7nsW7R.cjs} +1 -1
- package/dist/{typewriter-ByIL2Mh-.cjs.map → typewriter-BH7nsW7R.cjs.map} +1 -1
- package/dist/{typewriter-vOQ3bDLb.js → typewriter-Z-8bbwOh.js} +3 -3
- package/dist/{typewriter-vOQ3bDLb.js.map → typewriter-Z-8bbwOh.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/visually-hidden.cjs +1 -1
- package/dist/visually-hidden.js +1 -1
- package/dist/{window-WnAihpsA.js → window-Du_ougyw.js} +1 -1
- package/dist/{window-WnAihpsA.js.map → window-Du_ougyw.js.map} +1 -1
- package/dist/{window-BS7ZQjgH.cjs → window-NDXXyj5v.cjs} +1 -1
- package/dist/{window-BS7ZQjgH.cjs.map → window-NDXXyj5v.cjs.map} +1 -1
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +1 -1
- package/skills/schmancy/INDEX.md +1 -1
- package/skills/schmancy/SKILL.md +1 -1
- package/skills/schmancy/surface.md +14 -0
- package/skills/schmancy/theme.md +83 -5
- package/dist/tailwind.mixin-Cpa-VnnX.cjs +0 -2
- package/dist/tailwind.mixin-DufHBjmb.js +0 -219
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet.service-
|
|
1
|
+
{"version":3,"file":"sheet.service-DQWkiYEe.js","names":[],"sources":["../src/sheet/sheet.service.ts"],"sourcesContent":["import {\n\tdelay,\n\tfromEvent,\n\tmap,\n\tof,\n\tSubject,\n\tswitchMap,\n\ttake,\n\ttap,\n} from 'rxjs'\nimport { $sounds } from '../audio'\nimport { ComponentType } from '../area/router.types'\nimport { discoverComponent } from '@mixins/discovery.service'\nimport { overlayStack } from '../utils/overlay-stack'\nimport SchmancySheet from './sheet'\n\nexport enum SchmancySheetPosition {\n\tSide = 'side',\n\tBottom = 'bottom',\n}\n\nexport type SheetConfig = {\n\tcomponent: ComponentType\n\tuid?: string\n\tposition?: SchmancySheetPosition\n\tpersist?: boolean\n\tclose?: () => void\n\tlock?: boolean // Controls both ESC and overlay click dismissal\n\tonBeforeOpen?: (component: HTMLElement) => void\n\tonAfterOpen?: (component: HTMLElement) => void\n\tprops?: Record<string, unknown> // Properties to pass to the component\n}\n\n// Keep old name for backward compatibility\ntype BottomSheeetTarget = SheetConfig\n\n// Function to determine the position based on screen size\nconst getPosition = (): SchmancySheetPosition => {\n\treturn window.innerWidth >= 768 ? SchmancySheetPosition.Side : SchmancySheetPosition.Bottom // Adjust 768 as needed for your breakpoint\n}\n\nclass BottomSheetService {\n\tbottomSheet = new Subject<BottomSheeetTarget>()\n\t// Track currently open sheets\n\tprivate activeSheets = new Set<string>()\n\t// To track if we've set up the popstate listener\n\tprivate popStateListenerActive = false\n\n\tconstructor() {\n\t\tthis.setupSheetOpeningLogic()\n\t\tthis.setupPopStateListener()\n\t}\n\n\t/**\n\t * Sets up the main sheet opening logic\n\t */\n\tprivate setupSheetOpeningLogic() {\n\t\tthis.bottomSheet\n\t\t\t.pipe(\n\t\t\t\tswitchMap(target => {\n\t\t\t\t\tconst uid = target.uid ?? `sheet-${Date.now()}`\n\n\t\t\t\t\t// Discover existing sheet with this uid\n\t\t\t\t\treturn discoverComponent<SchmancySheet>('schmancy-sheet').pipe(\n\t\t\t\t\t\tmap(existingSheet => {\n\t\t\t\t\t\t\t// Check if discovered sheet matches our uid\n\t\t\t\t\t\t\tconst sheet = existingSheet?.getAttribute('uid') === uid ? existingSheet : null\n\t\t\t\t\t\t\treturn { target, existingSheet: sheet, uid }\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\tswitchMap(({ target, existingSheet, uid }) => {\n\t\t\t\t\t// Discover theme container if creating new sheet\n\t\t\t\t\tif (existingSheet) {\n\t\t\t\t\t\treturn of({ target, sheet: existingSheet, uid })\n\t\t\t\t\t}\n\n\t\t\t\t\treturn discoverComponent<HTMLElement>('schmancy-theme').pipe(\n\t\t\t\t\t\tmap(theme => {\n\t\t\t\t\t\t\t// Determine container - use theme or fallback to body\n\t\t\t\t\t\t\tconst targetContainer = theme || document.body\n\n\t\t\t\t\t\t\t// Create new sheet\n\t\t\t\t\t\t\tconst sheet = document.createElement('schmancy-sheet')\n\t\t\t\t\t\t\tsheet.setAttribute('uid', uid)\n\t\t\t\t\t\t\ttargetContainer.appendChild(sheet)\n\n\t\t\t\t\t\t\treturn { target, sheet: sheet as SchmancySheet, uid }\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\ttap(({ target, sheet }) => {\n\t\t\t\t\t// Configure sheet attributes\n\t\t\t\t\tif (target.lock) sheet.setAttribute('lock', 'true')\n\n\t\t\t\t\tconst position = target.position || getPosition()\n\t\t\t\t\tsheet.setAttribute('position', position)\n\n\t\t\t\t\tif (target.persist) sheet.setAttribute('persist', String(target.persist))\n\n\t\t\t\t\t// Set dynamic z-index for proper stacking with dialogs\n\t\t\t\t\tsheet.style.setProperty('--schmancy-overlay-z', String(overlayStack.getNextZIndex()))\n\n\t\t\t\t\tdocument.body.style.overflow = 'hidden' // lock the scroll of the host\n\t\t\t\t}),\n\t\t\t\tdelay(20),\n\t\t\t\ttap(({ target, uid }) => {\n\t\t\t\t\t// Dispatch render event - area router handles duplicate prevention\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent('schmancy-sheet-render', {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tcomponent: target.component,\n\t\t\t\t\t\t\t\tuid,\n\t\t\t\t\t\t\t\tprops: target.props\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\tdelay(1),\n\t\t\t\ttap(({ sheet, uid }) => {\n\t\t\t\t\tsheet.setAttribute('open', 'true')\n\t\t\t\t\t$sounds.play('curious')\n\n\t\t\t\t\t// Add to active sheets tracking\n\t\t\t\t\tthis.activeSheets.add(uid)\n\n\t\t\t\t\t// Set up close event listener\n\t\t\t\t\tfromEvent<CustomEvent>(sheet, 'close')\n\t\t\t\t\t\t.pipe(take(1), delay(300))\n\t\t\t\t\t\t.subscribe(() => {\n\t\t\t\t\t\t\t// Remove from active sheets tracking\n\t\t\t\t\t\t\tthis.activeSheets.delete(uid)\n\t\t\t\t\t\t\toverlayStack.release()\n\n\t\t\t\t\t\t\t// Only keep sheet if persist is explicitly set to a truthy value\n\t\t\t\t\t\t\tconst persistAttr = sheet.getAttribute('persist')\n\t\t\t\t\t\t\tconst shouldRemove = !persistAttr || persistAttr === 'false'\n\n\t\t\t\t\t\t\tif (shouldRemove) {\n\t\t\t\t\t\t\t\tsheet.remove()\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdocument.body.style.overflow = 'auto' // unlock the scroll of the host\n\t\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Sets up the popstate listener to handle browser back button\n\t */\n\tprivate setupPopStateListener() {\n\t\tif (this.popStateListenerActive) return\n\n\t\tfromEvent<PopStateEvent>(window, 'popstate').subscribe(event => {\n\t\t\t// If we have active sheets, close the most recently opened one\n\t\t\tif (this.activeSheets.size > 0) {\n\t\t\t\t// Get the last sheet (Set maintains insertion order)\n\t\t\t\tconst lastSheet = Array.from(this.activeSheets).pop()\n\t\t\t\tif (lastSheet) {\n\t\t\t\t\tthis.dismiss(lastSheet)\n\n\t\t\t\t\t// Prevent default navigation behavior by pushing a new state\n\t\t\t\t\t// This effectively cancels out the back navigation\n\t\t\t\t\tif (event.state && event.state.schmancySheet) {\n\t\t\t\t\t\thistory.pushState({}, '', window.location.href)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tthis.popStateListenerActive = true\n\t}\n\n\t/**\n\t * Dismiss a sheet by uid, or dismiss the most recently opened sheet if no uid provided\n\t */\n\tdismiss(uid?: string) {\n\t\tif (!uid && this.activeSheets.size > 0) {\n\t\t\t// Get the last sheet opened (Set maintains insertion order)\n\t\t\tconst sheetsArray = Array.from(this.activeSheets)\n\t\t\tuid = sheetsArray[sheetsArray.length - 1]\n\t\t}\n\n\t\tif (uid) {\n\t\t\t$sounds.play('atEase')\n\t\t\twindow.dispatchEvent(\n\t\t\t\tnew CustomEvent('schmancy-sheet-dismiss', {\n\t\t\t\t\tdetail: { uid },\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\tthis.activeSheets.delete(uid)\n\t\t}\n\t}\n\n\t/**\n\t * Open a sheet with the given target configuration\n\t * @deprecated Use `push` instead for consistency with area router API\n\t */\n\topen(target: BottomSheeetTarget) {\n\t\tthis.bottomSheet.next(target)\n\t}\n\n\t/**\n\t * Push a component to the sheet (recommended method)\n\t * Follows the same API pattern as area.push for consistency\n\t */\n\tpush(target: BottomSheeetTarget) {\n\t\tthis.bottomSheet.next(target)\n\t}\n\n\t/**\n\t * Check if a sheet is currently open by uid\n\t */\n\tisOpen(uid: string): boolean {\n\t\treturn this.activeSheets.has(uid)\n\t}\n\n\t/**\n\t * Close all open sheets\n\t */\n\tcloseAll() {\n\t\t// Copy the set to avoid modification during iteration\n\t\tArray.from(this.activeSheets).forEach(uid => {\n\t\t\tthis.dismiss(uid)\n\t\t})\n\t}\n\n}\nexport const sheet = new BottomSheetService()\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-
|
|
1
|
+
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Bug3G6K6.cjs`),t=require(`./audio-DUVz7Ars.cjs`),n=require(`./overlay-stack-CEYGD9T1.cjs`);let r=require(`rxjs`);var i=function(e){return e.Side=`side`,e.Bottom=`bottom`,e}({}),a=new class{constructor(){this.bottomSheet=new r.Subject,this.activeSheets=new Set,this.popStateListenerActive=!1,this.setupSheetOpeningLogic(),this.setupPopStateListener()}setupSheetOpeningLogic(){this.bottomSheet.pipe((0,r.switchMap)(t=>{let n=t.uid??`sheet-${Date.now()}`;return e.p(`schmancy-sheet`).pipe((0,r.map)(e=>({target:t,existingSheet:e?.getAttribute(`uid`)===n?e:null,uid:n})))}),(0,r.switchMap)(({target:t,existingSheet:n,uid:i})=>n?(0,r.of)({target:t,sheet:n,uid:i}):e.p(`schmancy-theme`).pipe((0,r.map)(e=>{let n=e||document.body,r=document.createElement(`schmancy-sheet`);return r.setAttribute(`uid`,i),n.appendChild(r),{target:t,sheet:r,uid:i}}))),(0,r.tap)(({target:e,sheet:t})=>{e.lock&&t.setAttribute(`lock`,`true`);let r=e.position||(window.innerWidth>=768?i.Side:i.Bottom);t.setAttribute(`position`,r),e.persist&&t.setAttribute(`persist`,String(e.persist)),t.style.setProperty(`--schmancy-overlay-z`,String(n.t.getNextZIndex())),document.body.style.overflow=`hidden`}),(0,r.delay)(20),(0,r.tap)(({target:e,uid:t})=>{window.dispatchEvent(new CustomEvent(`schmancy-sheet-render`,{detail:{component:e.component,uid:t,props:e.props},bubbles:!0,composed:!0}))}),(0,r.delay)(1),(0,r.tap)(({sheet:e,uid:i})=>{e.setAttribute(`open`,`true`),t.t.play(`curious`),this.activeSheets.add(i),(0,r.fromEvent)(e,`close`).pipe((0,r.take)(1),(0,r.delay)(300)).subscribe(()=>{this.activeSheets.delete(i),n.t.release();let t=e.getAttribute(`persist`);t&&t!==`false`||e.remove(),document.body.style.overflow=`auto`})})).subscribe()}setupPopStateListener(){this.popStateListenerActive||=((0,r.fromEvent)(window,`popstate`).subscribe(e=>{if(this.activeSheets.size>0){let t=Array.from(this.activeSheets).pop();t&&(this.dismiss(t),e.state&&e.state.schmancySheet&&history.pushState({},``,window.location.href))}}),!0)}dismiss(e){if(!e&&this.activeSheets.size>0){let t=Array.from(this.activeSheets);e=t[t.length-1]}e&&(t.t.play(`atEase`),window.dispatchEvent(new CustomEvent(`schmancy-sheet-dismiss`,{detail:{uid:e},bubbles:!0,composed:!0})),this.activeSheets.delete(e))}open(e){this.bottomSheet.next(e)}push(e){this.bottomSheet.next(e)}isOpen(e){return this.activeSheets.has(e)}closeAll(){Array.from(this.activeSheets).forEach(e=>{this.dismiss(e)})}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet.service-Cr13Oo6G.cjs","names":[],"sources":["../src/sheet/sheet.service.ts"],"sourcesContent":["import {\n\tdelay,\n\tfromEvent,\n\tmap,\n\tof,\n\tSubject,\n\tswitchMap,\n\ttake,\n\ttap,\n} from 'rxjs'\nimport { $sounds } from '../audio'\nimport { ComponentType } from '../area/router.types'\nimport { discoverComponent } from '@mixins/discovery.service'\nimport { overlayStack } from '../utils/overlay-stack'\nimport SchmancySheet from './sheet'\n\nexport enum SchmancySheetPosition {\n\tSide = 'side',\n\tBottom = 'bottom',\n}\n\nexport type SheetConfig = {\n\tcomponent: ComponentType\n\tuid?: string\n\tposition?: SchmancySheetPosition\n\tpersist?: boolean\n\tclose?: () => void\n\tlock?: boolean // Controls both ESC and overlay click dismissal\n\tonBeforeOpen?: (component: HTMLElement) => void\n\tonAfterOpen?: (component: HTMLElement) => void\n\tprops?: Record<string, unknown> // Properties to pass to the component\n}\n\n// Keep old name for backward compatibility\ntype BottomSheeetTarget = SheetConfig\n\n// Function to determine the position based on screen size\nconst getPosition = (): SchmancySheetPosition => {\n\treturn window.innerWidth >= 768 ? SchmancySheetPosition.Side : SchmancySheetPosition.Bottom // Adjust 768 as needed for your breakpoint\n}\n\nclass BottomSheetService {\n\tbottomSheet = new Subject<BottomSheeetTarget>()\n\t// Track currently open sheets\n\tprivate activeSheets = new Set<string>()\n\t// To track if we've set up the popstate listener\n\tprivate popStateListenerActive = false\n\n\tconstructor() {\n\t\tthis.setupSheetOpeningLogic()\n\t\tthis.setupPopStateListener()\n\t}\n\n\t/**\n\t * Sets up the main sheet opening logic\n\t */\n\tprivate setupSheetOpeningLogic() {\n\t\tthis.bottomSheet\n\t\t\t.pipe(\n\t\t\t\tswitchMap(target => {\n\t\t\t\t\tconst uid = target.uid ?? `sheet-${Date.now()}`\n\n\t\t\t\t\t// Discover existing sheet with this uid\n\t\t\t\t\treturn discoverComponent<SchmancySheet>('schmancy-sheet').pipe(\n\t\t\t\t\t\tmap(existingSheet => {\n\t\t\t\t\t\t\t// Check if discovered sheet matches our uid\n\t\t\t\t\t\t\tconst sheet = existingSheet?.getAttribute('uid') === uid ? existingSheet : null\n\t\t\t\t\t\t\treturn { target, existingSheet: sheet, uid }\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\tswitchMap(({ target, existingSheet, uid }) => {\n\t\t\t\t\t// Discover theme container if creating new sheet\n\t\t\t\t\tif (existingSheet) {\n\t\t\t\t\t\treturn of({ target, sheet: existingSheet, uid })\n\t\t\t\t\t}\n\n\t\t\t\t\treturn discoverComponent<HTMLElement>('schmancy-theme').pipe(\n\t\t\t\t\t\tmap(theme => {\n\t\t\t\t\t\t\t// Determine container - use theme or fallback to body\n\t\t\t\t\t\t\tconst targetContainer = theme || document.body\n\n\t\t\t\t\t\t\t// Create new sheet\n\t\t\t\t\t\t\tconst sheet = document.createElement('schmancy-sheet')\n\t\t\t\t\t\t\tsheet.setAttribute('uid', uid)\n\t\t\t\t\t\t\ttargetContainer.appendChild(sheet)\n\n\t\t\t\t\t\t\treturn { target, sheet: sheet as SchmancySheet, uid }\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\ttap(({ target, sheet }) => {\n\t\t\t\t\t// Configure sheet attributes\n\t\t\t\t\tif (target.lock) sheet.setAttribute('lock', 'true')\n\n\t\t\t\t\tconst position = target.position || getPosition()\n\t\t\t\t\tsheet.setAttribute('position', position)\n\n\t\t\t\t\tif (target.persist) sheet.setAttribute('persist', String(target.persist))\n\n\t\t\t\t\t// Set dynamic z-index for proper stacking with dialogs\n\t\t\t\t\tsheet.style.setProperty('--schmancy-overlay-z', String(overlayStack.getNextZIndex()))\n\n\t\t\t\t\tdocument.body.style.overflow = 'hidden' // lock the scroll of the host\n\t\t\t\t}),\n\t\t\t\tdelay(20),\n\t\t\t\ttap(({ target, uid }) => {\n\t\t\t\t\t// Dispatch render event - area router handles duplicate prevention\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent('schmancy-sheet-render', {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tcomponent: target.component,\n\t\t\t\t\t\t\t\tuid,\n\t\t\t\t\t\t\t\tprops: target.props\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\tdelay(1),\n\t\t\t\ttap(({ sheet, uid }) => {\n\t\t\t\t\tsheet.setAttribute('open', 'true')\n\t\t\t\t\t$sounds.play('curious')\n\n\t\t\t\t\t// Add to active sheets tracking\n\t\t\t\t\tthis.activeSheets.add(uid)\n\n\t\t\t\t\t// Set up close event listener\n\t\t\t\t\tfromEvent<CustomEvent>(sheet, 'close')\n\t\t\t\t\t\t.pipe(take(1), delay(300))\n\t\t\t\t\t\t.subscribe(() => {\n\t\t\t\t\t\t\t// Remove from active sheets tracking\n\t\t\t\t\t\t\tthis.activeSheets.delete(uid)\n\t\t\t\t\t\t\toverlayStack.release()\n\n\t\t\t\t\t\t\t// Only keep sheet if persist is explicitly set to a truthy value\n\t\t\t\t\t\t\tconst persistAttr = sheet.getAttribute('persist')\n\t\t\t\t\t\t\tconst shouldRemove = !persistAttr || persistAttr === 'false'\n\n\t\t\t\t\t\t\tif (shouldRemove) {\n\t\t\t\t\t\t\t\tsheet.remove()\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdocument.body.style.overflow = 'auto' // unlock the scroll of the host\n\t\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Sets up the popstate listener to handle browser back button\n\t */\n\tprivate setupPopStateListener() {\n\t\tif (this.popStateListenerActive) return\n\n\t\tfromEvent<PopStateEvent>(window, 'popstate').subscribe(event => {\n\t\t\t// If we have active sheets, close the most recently opened one\n\t\t\tif (this.activeSheets.size > 0) {\n\t\t\t\t// Get the last sheet (Set maintains insertion order)\n\t\t\t\tconst lastSheet = Array.from(this.activeSheets).pop()\n\t\t\t\tif (lastSheet) {\n\t\t\t\t\tthis.dismiss(lastSheet)\n\n\t\t\t\t\t// Prevent default navigation behavior by pushing a new state\n\t\t\t\t\t// This effectively cancels out the back navigation\n\t\t\t\t\tif (event.state && event.state.schmancySheet) {\n\t\t\t\t\t\thistory.pushState({}, '', window.location.href)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tthis.popStateListenerActive = true\n\t}\n\n\t/**\n\t * Dismiss a sheet by uid, or dismiss the most recently opened sheet if no uid provided\n\t */\n\tdismiss(uid?: string) {\n\t\tif (!uid && this.activeSheets.size > 0) {\n\t\t\t// Get the last sheet opened (Set maintains insertion order)\n\t\t\tconst sheetsArray = Array.from(this.activeSheets)\n\t\t\tuid = sheetsArray[sheetsArray.length - 1]\n\t\t}\n\n\t\tif (uid) {\n\t\t\t$sounds.play('atEase')\n\t\t\twindow.dispatchEvent(\n\t\t\t\tnew CustomEvent('schmancy-sheet-dismiss', {\n\t\t\t\t\tdetail: { uid },\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\tthis.activeSheets.delete(uid)\n\t\t}\n\t}\n\n\t/**\n\t * Open a sheet with the given target configuration\n\t * @deprecated Use `push` instead for consistency with area router API\n\t */\n\topen(target: BottomSheeetTarget) {\n\t\tthis.bottomSheet.next(target)\n\t}\n\n\t/**\n\t * Push a component to the sheet (recommended method)\n\t * Follows the same API pattern as area.push for consistency\n\t */\n\tpush(target: BottomSheeetTarget) {\n\t\tthis.bottomSheet.next(target)\n\t}\n\n\t/**\n\t * Check if a sheet is currently open by uid\n\t */\n\tisOpen(uid: string): boolean {\n\t\treturn this.activeSheets.has(uid)\n\t}\n\n\t/**\n\t * Close all open sheets\n\t */\n\tcloseAll() {\n\t\t// Copy the set to avoid modification during iteration\n\t\tArray.from(this.activeSheets).forEach(uid => {\n\t\t\tthis.dismiss(uid)\n\t\t})\n\t}\n\n}\nexport const sheet = new BottomSheetService()\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sheet.service-l9jTUaot.cjs","names":[],"sources":["../src/sheet/sheet.service.ts"],"sourcesContent":["import {\n\tdelay,\n\tfromEvent,\n\tmap,\n\tof,\n\tSubject,\n\tswitchMap,\n\ttake,\n\ttap,\n} from 'rxjs'\nimport { $sounds } from '../audio'\nimport { ComponentType } from '../area/router.types'\nimport { discoverComponent } from '@mixins/discovery.service'\nimport { overlayStack } from '../utils/overlay-stack'\nimport SchmancySheet from './sheet'\n\nexport enum SchmancySheetPosition {\n\tSide = 'side',\n\tBottom = 'bottom',\n}\n\nexport type SheetConfig = {\n\tcomponent: ComponentType\n\tuid?: string\n\tposition?: SchmancySheetPosition\n\tpersist?: boolean\n\tclose?: () => void\n\tlock?: boolean // Controls both ESC and overlay click dismissal\n\tonBeforeOpen?: (component: HTMLElement) => void\n\tonAfterOpen?: (component: HTMLElement) => void\n\tprops?: Record<string, unknown> // Properties to pass to the component\n}\n\n// Keep old name for backward compatibility\ntype BottomSheeetTarget = SheetConfig\n\n// Function to determine the position based on screen size\nconst getPosition = (): SchmancySheetPosition => {\n\treturn window.innerWidth >= 768 ? SchmancySheetPosition.Side : SchmancySheetPosition.Bottom // Adjust 768 as needed for your breakpoint\n}\n\nclass BottomSheetService {\n\tbottomSheet = new Subject<BottomSheeetTarget>()\n\t// Track currently open sheets\n\tprivate activeSheets = new Set<string>()\n\t// To track if we've set up the popstate listener\n\tprivate popStateListenerActive = false\n\n\tconstructor() {\n\t\tthis.setupSheetOpeningLogic()\n\t\tthis.setupPopStateListener()\n\t}\n\n\t/**\n\t * Sets up the main sheet opening logic\n\t */\n\tprivate setupSheetOpeningLogic() {\n\t\tthis.bottomSheet\n\t\t\t.pipe(\n\t\t\t\tswitchMap(target => {\n\t\t\t\t\tconst uid = target.uid ?? `sheet-${Date.now()}`\n\n\t\t\t\t\t// Discover existing sheet with this uid\n\t\t\t\t\treturn discoverComponent<SchmancySheet>('schmancy-sheet').pipe(\n\t\t\t\t\t\tmap(existingSheet => {\n\t\t\t\t\t\t\t// Check if discovered sheet matches our uid\n\t\t\t\t\t\t\tconst sheet = existingSheet?.getAttribute('uid') === uid ? existingSheet : null\n\t\t\t\t\t\t\treturn { target, existingSheet: sheet, uid }\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\tswitchMap(({ target, existingSheet, uid }) => {\n\t\t\t\t\t// Discover theme container if creating new sheet\n\t\t\t\t\tif (existingSheet) {\n\t\t\t\t\t\treturn of({ target, sheet: existingSheet, uid })\n\t\t\t\t\t}\n\n\t\t\t\t\treturn discoverComponent<HTMLElement>('schmancy-theme').pipe(\n\t\t\t\t\t\tmap(theme => {\n\t\t\t\t\t\t\t// Determine container - use theme or fallback to body\n\t\t\t\t\t\t\tconst targetContainer = theme || document.body\n\n\t\t\t\t\t\t\t// Create new sheet\n\t\t\t\t\t\t\tconst sheet = document.createElement('schmancy-sheet')\n\t\t\t\t\t\t\tsheet.setAttribute('uid', uid)\n\t\t\t\t\t\t\ttargetContainer.appendChild(sheet)\n\n\t\t\t\t\t\t\treturn { target, sheet: sheet as SchmancySheet, uid }\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\ttap(({ target, sheet }) => {\n\t\t\t\t\t// Configure sheet attributes\n\t\t\t\t\tif (target.lock) sheet.setAttribute('lock', 'true')\n\n\t\t\t\t\tconst position = target.position || getPosition()\n\t\t\t\t\tsheet.setAttribute('position', position)\n\n\t\t\t\t\tif (target.persist) sheet.setAttribute('persist', String(target.persist))\n\n\t\t\t\t\t// Set dynamic z-index for proper stacking with dialogs\n\t\t\t\t\tsheet.style.setProperty('--schmancy-overlay-z', String(overlayStack.getNextZIndex()))\n\n\t\t\t\t\tdocument.body.style.overflow = 'hidden' // lock the scroll of the host\n\t\t\t\t}),\n\t\t\t\tdelay(20),\n\t\t\t\ttap(({ target, uid }) => {\n\t\t\t\t\t// Dispatch render event - area router handles duplicate prevention\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent('schmancy-sheet-render', {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tcomponent: target.component,\n\t\t\t\t\t\t\t\tuid,\n\t\t\t\t\t\t\t\tprops: target.props\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\tdelay(1),\n\t\t\t\ttap(({ sheet, uid }) => {\n\t\t\t\t\tsheet.setAttribute('open', 'true')\n\t\t\t\t\t$sounds.play('curious')\n\n\t\t\t\t\t// Add to active sheets tracking\n\t\t\t\t\tthis.activeSheets.add(uid)\n\n\t\t\t\t\t// Set up close event listener\n\t\t\t\t\tfromEvent<CustomEvent>(sheet, 'close')\n\t\t\t\t\t\t.pipe(take(1), delay(300))\n\t\t\t\t\t\t.subscribe(() => {\n\t\t\t\t\t\t\t// Remove from active sheets tracking\n\t\t\t\t\t\t\tthis.activeSheets.delete(uid)\n\t\t\t\t\t\t\toverlayStack.release()\n\n\t\t\t\t\t\t\t// Only keep sheet if persist is explicitly set to a truthy value\n\t\t\t\t\t\t\tconst persistAttr = sheet.getAttribute('persist')\n\t\t\t\t\t\t\tconst shouldRemove = !persistAttr || persistAttr === 'false'\n\n\t\t\t\t\t\t\tif (shouldRemove) {\n\t\t\t\t\t\t\t\tsheet.remove()\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdocument.body.style.overflow = 'auto' // unlock the scroll of the host\n\t\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Sets up the popstate listener to handle browser back button\n\t */\n\tprivate setupPopStateListener() {\n\t\tif (this.popStateListenerActive) return\n\n\t\tfromEvent<PopStateEvent>(window, 'popstate').subscribe(event => {\n\t\t\t// If we have active sheets, close the most recently opened one\n\t\t\tif (this.activeSheets.size > 0) {\n\t\t\t\t// Get the last sheet (Set maintains insertion order)\n\t\t\t\tconst lastSheet = Array.from(this.activeSheets).pop()\n\t\t\t\tif (lastSheet) {\n\t\t\t\t\tthis.dismiss(lastSheet)\n\n\t\t\t\t\t// Prevent default navigation behavior by pushing a new state\n\t\t\t\t\t// This effectively cancels out the back navigation\n\t\t\t\t\tif (event.state && event.state.schmancySheet) {\n\t\t\t\t\t\thistory.pushState({}, '', window.location.href)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tthis.popStateListenerActive = true\n\t}\n\n\t/**\n\t * Dismiss a sheet by uid, or dismiss the most recently opened sheet if no uid provided\n\t */\n\tdismiss(uid?: string) {\n\t\tif (!uid && this.activeSheets.size > 0) {\n\t\t\t// Get the last sheet opened (Set maintains insertion order)\n\t\t\tconst sheetsArray = Array.from(this.activeSheets)\n\t\t\tuid = sheetsArray[sheetsArray.length - 1]\n\t\t}\n\n\t\tif (uid) {\n\t\t\t$sounds.play('atEase')\n\t\t\twindow.dispatchEvent(\n\t\t\t\tnew CustomEvent('schmancy-sheet-dismiss', {\n\t\t\t\t\tdetail: { uid },\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\tthis.activeSheets.delete(uid)\n\t\t}\n\t}\n\n\t/**\n\t * Open a sheet with the given target configuration\n\t * @deprecated Use `push` instead for consistency with area router API\n\t */\n\topen(target: BottomSheeetTarget) {\n\t\tthis.bottomSheet.next(target)\n\t}\n\n\t/**\n\t * Push a component to the sheet (recommended method)\n\t * Follows the same API pattern as area.push for consistency\n\t */\n\tpush(target: BottomSheeetTarget) {\n\t\tthis.bottomSheet.next(target)\n\t}\n\n\t/**\n\t * Check if a sheet is currently open by uid\n\t */\n\tisOpen(uid: string): boolean {\n\t\treturn this.activeSheets.has(uid)\n\t}\n\n\t/**\n\t * Close all open sheets\n\t */\n\tcloseAll() {\n\t\t// Copy the set to avoid modification during iteration\n\t\tArray.from(this.activeSheets).forEach(uid => {\n\t\t\tthis.dismiss(uid)\n\t\t})\n\t}\n\n}\nexport const sheet = new BottomSheetService()\n"],"mappings":"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"}
|
package/dist/skeleton.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Bug3G6K6.cjs`),t=require(`./decorate-F9CuyeHg.cjs`);require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`);var i=class extends e.t(r.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
width: var(--_sw, 100%);
|
package/dist/skeleton.js
CHANGED
package/dist/skills/INDEX.md
CHANGED
|
@@ -69,5 +69,5 @@ The framework pieces — touch before components.
|
|
|
69
69
|
- Conditionals use `when(...)`, `choose(...)`, `ifDefined(...)`.
|
|
70
70
|
- All RxJS subscriptions end with `.pipe(takeUntil(this.disconnecting))`.
|
|
71
71
|
- Don't use `setTimeout` / `setInterval` / `addEventListener` — use RxJS (`timer`, `interval`, `fromEvent`).
|
|
72
|
-
- Colors
|
|
72
|
+
- Colors: prefer Tailwind shortcut utilities (`bg-surface-default`, `text-error-default`, `border-outline-variant`) over `bg-[var(--schmancy-sys-color-X)]`. Token map in [theme.md § Tailwind utilities](./theme.md#tailwind-utilities).
|
|
73
73
|
- `classMap(...)` must be the sole expression in `class=`; never mix with string interpolation.
|
package/dist/skills/SKILL.md
CHANGED
|
@@ -72,7 +72,7 @@ Use component tags (`<schmancy-menu>`, `<schmancy-dropdown>`, `<schmancy-tooltip
|
|
|
72
72
|
- `classMap(this.classMap({...}))` must be the sole expression in `class=` — never mix with string interpolation.
|
|
73
73
|
|
|
74
74
|
**Styling**
|
|
75
|
-
- Colors: `--schmancy-sys-color-*`
|
|
75
|
+
- Colors: prefer Tailwind shortcut utilities (`bg-surface-default`, `text-error-default`, `border-outline-variant`) over the arbitrary-value form (`bg-[var(--schmancy-sys-color-X)]`). Every `--schmancy-sys-color-*` token is aliased to `--color-*`, which Tailwind v4 auto-generates into `bg-*`/`text-*`/`border-*`/etc. Full token map: [theme.md § Tailwind utilities](./theme.md#tailwind-utilities). Use the arbitrary-value form only when the token isn't aliased. Never hardcoded hex.
|
|
76
76
|
- No `setTimeout` / `setInterval` / `addEventListener` — use RxJS (`timer`, `interval`, `fromEvent`).
|
|
77
77
|
|
|
78
78
|
**Accessibility (combobox forms)**
|
|
@@ -69,5 +69,5 @@ The framework pieces — touch before components.
|
|
|
69
69
|
- Conditionals use `when(...)`, `choose(...)`, `ifDefined(...)`.
|
|
70
70
|
- All RxJS subscriptions end with `.pipe(takeUntil(this.disconnecting))`.
|
|
71
71
|
- Don't use `setTimeout` / `setInterval` / `addEventListener` — use RxJS (`timer`, `interval`, `fromEvent`).
|
|
72
|
-
- Colors
|
|
72
|
+
- Colors: prefer Tailwind shortcut utilities (`bg-surface-default`, `text-error-default`, `border-outline-variant`) over `bg-[var(--schmancy-sys-color-X)]`. Token map in [theme.md § Tailwind utilities](./theme.md#tailwind-utilities).
|
|
73
73
|
- `classMap(...)` must be the sole expression in `class=`; never mix with string interpolation.
|
|
@@ -72,7 +72,7 @@ Use component tags (`<schmancy-menu>`, `<schmancy-dropdown>`, `<schmancy-tooltip
|
|
|
72
72
|
- `classMap(this.classMap({...}))` must be the sole expression in `class=` — never mix with string interpolation.
|
|
73
73
|
|
|
74
74
|
**Styling**
|
|
75
|
-
- Colors: `--schmancy-sys-color-*`
|
|
75
|
+
- Colors: prefer Tailwind shortcut utilities (`bg-surface-default`, `text-error-default`, `border-outline-variant`) over the arbitrary-value form (`bg-[var(--schmancy-sys-color-X)]`). Every `--schmancy-sys-color-*` token is aliased to `--color-*`, which Tailwind v4 auto-generates into `bg-*`/`text-*`/`border-*`/etc. Full token map: [theme.md § Tailwind utilities](./theme.md#tailwind-utilities). Use the arbitrary-value form only when the token isn't aliased. Never hardcoded hex.
|
|
76
76
|
- No `setTimeout` / `setInterval` / `addEventListener` — use RxJS (`timer`, `interval`, `fromEvent`).
|
|
77
77
|
|
|
78
78
|
**Accessibility (combobox forms)**
|
|
@@ -10,6 +10,20 @@
|
|
|
10
10
|
</schmancy-surface>
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
## Theme vs. Surface
|
|
14
|
+
|
|
15
|
+
A `<schmancy-theme>` only defines the palette (the `--schmancy-sys-color-*` values). It does not paint a background and does not set the inherited text color. `<schmancy-surface>` is what paints the background **and** establishes the `color` that descendant typography inherits.
|
|
16
|
+
|
|
17
|
+
Without a surface under the theme, typography reads the browser's default color and the app looks broken (white-on-white or black-on-black). The minimal correct app skeleton is always:
|
|
18
|
+
|
|
19
|
+
```html
|
|
20
|
+
<schmancy-theme root scheme="auto">
|
|
21
|
+
<schmancy-surface type="solid" fill="all">
|
|
22
|
+
<!-- your app -->
|
|
23
|
+
</schmancy-surface>
|
|
24
|
+
</schmancy-theme>
|
|
25
|
+
```
|
|
26
|
+
|
|
13
27
|
## Properties
|
|
14
28
|
|
|
15
29
|
| Property | Type | Default | Description |
|
|
@@ -5,10 +5,20 @@
|
|
|
5
5
|
## Usage
|
|
6
6
|
```html
|
|
7
7
|
<schmancy-theme color="#6200ee" scheme="auto" root>
|
|
8
|
-
<
|
|
8
|
+
<schmancy-surface type="solid" fill="all">
|
|
9
|
+
<your-app></your-app>
|
|
10
|
+
</schmancy-surface>
|
|
9
11
|
</schmancy-theme>
|
|
10
12
|
```
|
|
11
13
|
|
|
14
|
+
## Theme vs. Surface
|
|
15
|
+
|
|
16
|
+
`<schmancy-theme>` only defines the palette — it sets the values of the `--schmancy-sys-color-*` custom properties on its subtree. It does **not** paint a background and does **not** establish an inherited text color.
|
|
17
|
+
|
|
18
|
+
A `<schmancy-surface>` is what actually paints the background and sets the `color` that descendant typography inherits. Without a surface between theme and content, typography falls back to the browser default (white-on-white or black-on-black depending on scheme) and the app looks broken.
|
|
19
|
+
|
|
20
|
+
**Minimal correct skeleton:** `theme` → `surface` → content.
|
|
21
|
+
|
|
12
22
|
## Properties
|
|
13
23
|
| Property | Type | Default | Description |
|
|
14
24
|
|----------|------|---------|-------------|
|
|
@@ -38,21 +48,89 @@ theme.setFullscreen(true)
|
|
|
38
48
|
```html
|
|
39
49
|
<!-- App root with dark blue theme -->
|
|
40
50
|
<schmancy-theme color="#1565c0" scheme="dark" root>
|
|
41
|
-
<
|
|
51
|
+
<schmancy-surface type="solid" fill="all">
|
|
52
|
+
<my-app></my-app>
|
|
53
|
+
</schmancy-surface>
|
|
42
54
|
</schmancy-theme>
|
|
43
55
|
|
|
44
|
-
<!-- Nested theme override for a section
|
|
56
|
+
<!-- Nested theme override for a section (surface optional — inherits
|
|
57
|
+
on-color from ancestor surface unless you want a new background) -->
|
|
45
58
|
<schmancy-theme color="#e91e63" scheme="light">
|
|
46
59
|
<div class="accent-section">...</div>
|
|
47
60
|
</schmancy-theme>
|
|
48
61
|
|
|
49
62
|
<!-- Arabic locale -->
|
|
50
63
|
<schmancy-theme color="#4caf50" locale="ar-SA" root>
|
|
51
|
-
<
|
|
64
|
+
<schmancy-surface type="solid" fill="all">
|
|
65
|
+
<my-app></my-app>
|
|
66
|
+
</schmancy-surface>
|
|
52
67
|
</schmancy-theme>
|
|
53
68
|
```
|
|
54
69
|
|
|
70
|
+
## Tailwind utilities
|
|
71
|
+
|
|
72
|
+
Every `--schmancy-sys-color-*` token is aliased as `--color-*` in the theme stylesheet. Under Tailwind v4, a registered `--color-X` auto-generates the full utility namespace: `bg-X`, `text-X`, `border-X`, `ring-X`, `fill-X`, `stroke-X`, etc.
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
--schmancy-sys-color-{token} → --color-{token} → bg-{token} · text-{token} · border-{token}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Prefer the shortcut utility over the arbitrary-value escape hatch.** `border-outline-variant` is equivalent to `border-[var(--schmancy-sys-color-outlineVariant)]` but far more readable.
|
|
79
|
+
|
|
80
|
+
Multi-word tokens are registered in **both** camelCase and kebab-case — both forms work. Use whichever reads better:
|
|
81
|
+
|
|
82
|
+
```html
|
|
83
|
+
<div class="border-outlineVariant">...</div>
|
|
84
|
+
<div class="border-outline-variant">...</div> <!-- same thing -->
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Token map
|
|
88
|
+
|
|
89
|
+
**Base**
|
|
90
|
+
```
|
|
91
|
+
outline · outline-variant (a.k.a. outlineVariant)
|
|
92
|
+
scrim · shadow
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Surface** (backgrounds + on-colors)
|
|
96
|
+
```
|
|
97
|
+
surface-default · surface-on · surface-on-variant (surface-onVariant)
|
|
98
|
+
surface-dim · surface-bright · surface-tint
|
|
99
|
+
surface-lowest · surface-low · surface-container · surface-high · surface-highest
|
|
100
|
+
surface-containerLowest · surface-containerLow · surface-containerHigh · surface-containerHighest
|
|
101
|
+
surface-inverse (inverse-surface) · surface-inverseOn (inverse-on-surface)
|
|
102
|
+
```
|
|
103
|
+
*(containerLow/High/Lowest/Highest exist only in camelCase — there's no kebab variant for those four.)*
|
|
104
|
+
|
|
105
|
+
**Primary / Secondary / Tertiary** (same shape for each)
|
|
106
|
+
```
|
|
107
|
+
{color}-default · {color}-on
|
|
108
|
+
{color}-container · {color}-on-container ({color}-onContainer)
|
|
109
|
+
{color}-fixed · {color}-fixed-dim ({color}-fixedDim)
|
|
110
|
+
{color}-on-fixed ({color}-onFixed) · {color}-on-fixed-variant ({color}-onFixedVariant)
|
|
111
|
+
{color}-inverse (inverse-{color}) # primary only
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Error / Success / Warning / Info**
|
|
115
|
+
```
|
|
116
|
+
{color}-default · {color}-on
|
|
117
|
+
{color}-container · {color}-on-container ({color}-onContainer)
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Usage
|
|
121
|
+
|
|
122
|
+
```html
|
|
123
|
+
<div class="bg-surface-default text-surface-on">Body copy</div>
|
|
124
|
+
<div class="bg-surface-containerLow border border-outline-variant">Card</div>
|
|
125
|
+
<button class="bg-primary-default text-primary-on">Primary action</button>
|
|
126
|
+
<div class="text-error-default">Validation message</div>
|
|
127
|
+
<div class="bg-success-container text-success-on-container">Saved.</div>
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### When the arbitrary-value form is still correct
|
|
131
|
+
|
|
132
|
+
Only reach for `bg-[var(--schmancy-sys-color-X)]` when the token isn't aliased — e.g. a custom `--schmancy-*` property you've registered yourself.
|
|
133
|
+
|
|
55
134
|
## Notes
|
|
56
135
|
- Color and scheme persist to `sessionStorage` per instance
|
|
57
136
|
- Generates success/warning/info/error semantic color tokens automatically
|
|
58
|
-
- Wraps content in a `schmancy-container` with `containerLowest` surface
|
package/dist/skills/surface.md
CHANGED
|
@@ -10,6 +10,20 @@
|
|
|
10
10
|
</schmancy-surface>
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
## Theme vs. Surface
|
|
14
|
+
|
|
15
|
+
A `<schmancy-theme>` only defines the palette (the `--schmancy-sys-color-*` values). It does not paint a background and does not set the inherited text color. `<schmancy-surface>` is what paints the background **and** establishes the `color` that descendant typography inherits.
|
|
16
|
+
|
|
17
|
+
Without a surface under the theme, typography reads the browser's default color and the app looks broken (white-on-white or black-on-black). The minimal correct app skeleton is always:
|
|
18
|
+
|
|
19
|
+
```html
|
|
20
|
+
<schmancy-theme root scheme="auto">
|
|
21
|
+
<schmancy-surface type="solid" fill="all">
|
|
22
|
+
<!-- your app -->
|
|
23
|
+
</schmancy-surface>
|
|
24
|
+
</schmancy-theme>
|
|
25
|
+
```
|
|
26
|
+
|
|
13
27
|
## Properties
|
|
14
28
|
|
|
15
29
|
| Property | Type | Default | Description |
|
package/dist/skills/theme.md
CHANGED
|
@@ -5,10 +5,20 @@
|
|
|
5
5
|
## Usage
|
|
6
6
|
```html
|
|
7
7
|
<schmancy-theme color="#6200ee" scheme="auto" root>
|
|
8
|
-
<
|
|
8
|
+
<schmancy-surface type="solid" fill="all">
|
|
9
|
+
<your-app></your-app>
|
|
10
|
+
</schmancy-surface>
|
|
9
11
|
</schmancy-theme>
|
|
10
12
|
```
|
|
11
13
|
|
|
14
|
+
## Theme vs. Surface
|
|
15
|
+
|
|
16
|
+
`<schmancy-theme>` only defines the palette — it sets the values of the `--schmancy-sys-color-*` custom properties on its subtree. It does **not** paint a background and does **not** establish an inherited text color.
|
|
17
|
+
|
|
18
|
+
A `<schmancy-surface>` is what actually paints the background and sets the `color` that descendant typography inherits. Without a surface between theme and content, typography falls back to the browser default (white-on-white or black-on-black depending on scheme) and the app looks broken.
|
|
19
|
+
|
|
20
|
+
**Minimal correct skeleton:** `theme` → `surface` → content.
|
|
21
|
+
|
|
12
22
|
## Properties
|
|
13
23
|
| Property | Type | Default | Description |
|
|
14
24
|
|----------|------|---------|-------------|
|
|
@@ -38,21 +48,89 @@ theme.setFullscreen(true)
|
|
|
38
48
|
```html
|
|
39
49
|
<!-- App root with dark blue theme -->
|
|
40
50
|
<schmancy-theme color="#1565c0" scheme="dark" root>
|
|
41
|
-
<
|
|
51
|
+
<schmancy-surface type="solid" fill="all">
|
|
52
|
+
<my-app></my-app>
|
|
53
|
+
</schmancy-surface>
|
|
42
54
|
</schmancy-theme>
|
|
43
55
|
|
|
44
|
-
<!-- Nested theme override for a section
|
|
56
|
+
<!-- Nested theme override for a section (surface optional — inherits
|
|
57
|
+
on-color from ancestor surface unless you want a new background) -->
|
|
45
58
|
<schmancy-theme color="#e91e63" scheme="light">
|
|
46
59
|
<div class="accent-section">...</div>
|
|
47
60
|
</schmancy-theme>
|
|
48
61
|
|
|
49
62
|
<!-- Arabic locale -->
|
|
50
63
|
<schmancy-theme color="#4caf50" locale="ar-SA" root>
|
|
51
|
-
<
|
|
64
|
+
<schmancy-surface type="solid" fill="all">
|
|
65
|
+
<my-app></my-app>
|
|
66
|
+
</schmancy-surface>
|
|
52
67
|
</schmancy-theme>
|
|
53
68
|
```
|
|
54
69
|
|
|
70
|
+
## Tailwind utilities
|
|
71
|
+
|
|
72
|
+
Every `--schmancy-sys-color-*` token is aliased as `--color-*` in the theme stylesheet. Under Tailwind v4, a registered `--color-X` auto-generates the full utility namespace: `bg-X`, `text-X`, `border-X`, `ring-X`, `fill-X`, `stroke-X`, etc.
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
--schmancy-sys-color-{token} → --color-{token} → bg-{token} · text-{token} · border-{token}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Prefer the shortcut utility over the arbitrary-value escape hatch.** `border-outline-variant` is equivalent to `border-[var(--schmancy-sys-color-outlineVariant)]` but far more readable.
|
|
79
|
+
|
|
80
|
+
Multi-word tokens are registered in **both** camelCase and kebab-case — both forms work. Use whichever reads better:
|
|
81
|
+
|
|
82
|
+
```html
|
|
83
|
+
<div class="border-outlineVariant">...</div>
|
|
84
|
+
<div class="border-outline-variant">...</div> <!-- same thing -->
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Token map
|
|
88
|
+
|
|
89
|
+
**Base**
|
|
90
|
+
```
|
|
91
|
+
outline · outline-variant (a.k.a. outlineVariant)
|
|
92
|
+
scrim · shadow
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Surface** (backgrounds + on-colors)
|
|
96
|
+
```
|
|
97
|
+
surface-default · surface-on · surface-on-variant (surface-onVariant)
|
|
98
|
+
surface-dim · surface-bright · surface-tint
|
|
99
|
+
surface-lowest · surface-low · surface-container · surface-high · surface-highest
|
|
100
|
+
surface-containerLowest · surface-containerLow · surface-containerHigh · surface-containerHighest
|
|
101
|
+
surface-inverse (inverse-surface) · surface-inverseOn (inverse-on-surface)
|
|
102
|
+
```
|
|
103
|
+
*(containerLow/High/Lowest/Highest exist only in camelCase — there's no kebab variant for those four.)*
|
|
104
|
+
|
|
105
|
+
**Primary / Secondary / Tertiary** (same shape for each)
|
|
106
|
+
```
|
|
107
|
+
{color}-default · {color}-on
|
|
108
|
+
{color}-container · {color}-on-container ({color}-onContainer)
|
|
109
|
+
{color}-fixed · {color}-fixed-dim ({color}-fixedDim)
|
|
110
|
+
{color}-on-fixed ({color}-onFixed) · {color}-on-fixed-variant ({color}-onFixedVariant)
|
|
111
|
+
{color}-inverse (inverse-{color}) # primary only
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Error / Success / Warning / Info**
|
|
115
|
+
```
|
|
116
|
+
{color}-default · {color}-on
|
|
117
|
+
{color}-container · {color}-on-container ({color}-onContainer)
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Usage
|
|
121
|
+
|
|
122
|
+
```html
|
|
123
|
+
<div class="bg-surface-default text-surface-on">Body copy</div>
|
|
124
|
+
<div class="bg-surface-containerLow border border-outline-variant">Card</div>
|
|
125
|
+
<button class="bg-primary-default text-primary-on">Primary action</button>
|
|
126
|
+
<div class="text-error-default">Validation message</div>
|
|
127
|
+
<div class="bg-success-container text-success-on-container">Saved.</div>
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### When the arbitrary-value form is still correct
|
|
131
|
+
|
|
132
|
+
Only reach for `bg-[var(--schmancy-sys-color-X)]` when the token isn't aliased — e.g. a custom `--schmancy-*` property you've registered yourself.
|
|
133
|
+
|
|
55
134
|
## Notes
|
|
56
135
|
- Color and scheme persist to `sessionStorage` per instance
|
|
57
136
|
- Generates success/warning/info/error semantic color tokens automatically
|
|
58
|
-
- Wraps content in a `schmancy-container` with `containerLowest` surface
|
package/dist/slider.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`),t=require(`./litElement.mixin-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`),t=require(`./litElement.mixin-De5SG5z7.cjs`);require(`./mixins.cjs`);let n=require(`rxjs`),r=require(`rxjs/operators`),i=require(`lit/decorators.js`),a=require(`lit`),o=require(`lit/directives/cache.js`);var s=class extends t.t(a.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
scroll-snap-align: center; /* If your slider uses scroll-snap */
|
package/dist/slider.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./decorate-D_utPUsC.js";
|
|
2
|
-
import { t } from "./litElement.mixin-
|
|
2
|
+
import { t } from "./litElement.mixin-D6ZHgGZv.js";
|
|
3
3
|
import "./mixins.js";
|
|
4
4
|
import { fromEvent as n } from "rxjs";
|
|
5
5
|
import { throttleTime as r } from "rxjs/operators";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`),t=require(`./litElement.mixin-
|
|
1
|
+
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`),t=require(`./litElement.mixin-De5SG5z7.cjs`);let n=require(`rxjs`),r=require(`rxjs/operators`),i=require(`lit/directives/style-map.js`),a=require(`lit/decorators.js`),o=require(`lit`);var s=class extends t.t(o.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splash-screen-
|
|
1
|
+
{"version":3,"file":"splash-screen-DuFJ0gbD.cjs","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { $LitElement } from '@mixins/litElement.mixin'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`) {\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\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-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":"mQAgCe,IAAA,EAAA,cAAmC,EAAA,EAAY,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;kDA+BK,KAAA,KAAA,KAAA,CAOjC,EAAA,KAAA,gBAAA,CAK0C,EAAA,KAAA,SAAA,CAElD,EAE5B,mBAAA,CACC,MAAM,mBAAA,CAEF,KAAK,gBACR,KAAK,SAAA,CAAW,GAOjB,EAAA,EAAA,KAHqB,KAAK,MAAA,EAAA,EAAA,IAAU,KAAA,EAAK,EAAA,EAAA,WAAoB,KAAM,QAAA,CAAS,MAAA,EAAA,EAAA,MAAU,EAAA,CAAA,EAAG,EAAA,EAAA,OACjE,KAAK,YAAA,CAAA,CAG3B,MAAA,EAAA,EAAA,MACK,EAAA,EAAE,EAAA,EAAA,SACG,KAAK,UAAA,CAAA,EAAW,EAAA,EAAA,WAChB,KAAK,cAAA,CAAA,CAEf,WAAA,CAOH,OAAA,CACC,KAAK,cAAc,IAAI,MAAM,QAAA,CAAA,CAM9B,MAAA,CACC,KAAK,SAAA,CAAW,EAGjB,UAAA,CACC,KAAK,SAAA,CAAW,EAChB,KAAK,cACJ,IAAI,YAAkB,uBAAwB,CAC7C,QAAA,CAAS,EACT,SAAA,CAAU,EAAA,CAAA,CAAA,CAKb,QAAA,CACC,MAAO,GAAA,IAAI;;;mBAGM,KAAK,SAAA;2BACH,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;;;2BAOxB,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;0BA7ElC,CAAE,KAAM,OAAQ,UAAW,eAAA,CAAA,CAAA,CAAiB,EAAA,UAAA,cAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAO5C,CAAE,KAAM,QAAA,CAAA,CAAA,CAAU,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAKlB,CAAE,KAAM,QAAS,UAAW,mBAAA,CAAA,CAAA,CAAqB,EAAA,UAAA,kBAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,QAAA,CAAA,CAEnD,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eA9CM,yBAAA,CAAA,CAAyB,EAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./decorate-D_utPUsC.js";
|
|
2
|
-
import { t } from "./litElement.mixin-
|
|
2
|
+
import { t } from "./litElement.mixin-D6ZHgGZv.js";
|
|
3
3
|
import { fromEvent as n, of as r, timer as i, zip as a } from "rxjs";
|
|
4
4
|
import { take as o, takeUntil as s, tap as c } from "rxjs/operators";
|
|
5
5
|
import { styleMap as l } from "lit/directives/style-map.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splash-screen-
|
|
1
|
+
{"version":3,"file":"splash-screen-M-v_jiLs.js","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { $LitElement } from '@mixins/litElement.mixin'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`) {\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\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-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":";;;;;;;AAgCe,IAAA,IAAA,cAAmC,EAAY,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA+BK,MAAA,KAAA,OAAA,CAOjC,GAAA,KAAA,kBAAA,CAK0C,GAAA,KAAA,WAAA,CAElD;;CAE5B,oBAAA;AACC,QAAM,mBAAA,EAEF,KAAK,kBACR,KAAK,WAAA,CAAW,IAOjB,EAHqB,KAAK,OAAO,EAAG,KAAA,GAAQ,EAAiB,MAAM,QAAA,CAAS,KAAK,EAAK,EAAA,CAAA,EACpE,EAAM,KAAK,YAAA,CAAA,CAG3B,KACA,EAAK,EAAA,EACL,QAAU,KAAK,UAAA,CAAA,EACf,EAAU,KAAK,cAAA,CAAA,CAEf,WAAA;;CAOH,QAAA;AACC,OAAK,cAAc,IAAI,MAAM,QAAA,CAAA;;CAM9B,OAAA;AACC,OAAK,WAAA,CAAW;;CAGjB,WAAA;AACC,OAAK,WAAA,CAAW,GAChB,KAAK,cACJ,IAAI,YAAkB,wBAAwB;GAC7C,SAAA,CAAS;GACT,UAAA,CAAU;GAAA,CAAA,CAAA;;CAKb,SAAA;AACC,SAAO,CAAI;;;mBAGM,KAAK,SAAA;YACZ,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;YAOjC,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;;GA7E3C,EAAS;CAAE,MAAM;CAAQ,WAAW;CAAA,CAAA,CAAA,EAAiB,EAAA,WAAA,eAAA,KAAA,EAAA,EAAA,EAAA,CAOrD,EAAS,EAAE,MAAM,SAAA,CAAA,CAAA,EAAU,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAK3B,EAAS;CAAE,MAAM;CAAS,WAAW;CAAA,CAAA,CAAA,EAAqB,EAAA,WAAA,mBAAA,KAAA,EAAA,EAAA,EAAA,CAE1D,GAAA,CAAA,EAAO,EAAA,WAAA,YAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CA9CR,EAAc,yBAAA,CAAA,EAAyB,EAAA"}
|
package/dist/splash-screen.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./splash-screen-
|
|
1
|
+
require(`./splash-screen-DuFJ0gbD.cjs`);
|
package/dist/splash-screen.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import "./splash-screen-
|
|
1
|
+
import "./splash-screen-M-v_jiLs.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-
|
|
1
|
+
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Bug3G6K6.cjs`),t=require(`./provide-Dsoh3FdP.cjs`),n=require(`./decorate-F9CuyeHg.cjs`),r=require(`./litElement.mixin-De5SG5z7.cjs`);require(`./mixins.cjs`);const i=require(`./area-BafkBc1f.cjs`);require(`./store-CO4nJyGj.cjs`),require(`./audio-DUVz7Ars.cjs`),require(`./autocomplete-BeLg4A3T.cjs`);const a=require(`./theme.service-ETiKUwVy.cjs`),o=require(`./directives.cjs`);require(`./boat-4hSLFsGy.cjs`),require(`./busy-C0qP0TiL.cjs`),require(`./button.cjs`),require(`./card-DUq_MsxC.cjs`),require(`./charts.cjs`),require(`./checkbox-qPH_5Viu.cjs`),require(`./chips-BI_kt5BS.cjs`),require(`./code-highlight-DGInmDAW.cjs`),require(`./components-7hOtFi_q.cjs`),require(`./connectivity.cjs`),require(`./date-range-B0kW9np7.cjs`);const s=require(`./sheet.service-l9jTUaot.cjs`);require(`./date-range-inline-De-M0VmL.cjs`),require(`./delay-k_HiVnhP.cjs`),require(`./details-CQIbCUY0.cjs`),require(`./dialog.cjs`),require(`./discovery.cjs`),require(`./divider-IX9sp29l.cjs`),require(`./dropdown.cjs`),require(`./expand-dIrDcH9Y.cjs`),require(`./float-CJ3SuEcG.cjs`),require(`./window.cjs`),require(`./extra-BFpPepJn.cjs`),require(`./form-CAY9GSCd.cjs`),require(`./icons-1AkKNd7O.cjs`),require(`./iframe-CtDetaw3.cjs`),require(`./input-DMjpf6V8.cjs`),require(`./notification-Xid-o7gi.cjs`),require(`./json.cjs`),require(`./layout-B1gXjlIO.cjs`),require(`./lightbox-BUuGltX9.cjs`),require(`./list-C1GMiAi_.cjs`),require(`./mailbox-D0iXsqyx.cjs`),require(`./map-uRYJeifl.cjs`),require(`./menu-CXFa_bk4.cjs`),require(`./navigation-rail.cjs`),require(`./option-CNWUeHW3.cjs`),require(`./page.cjs`),require(`./progress.cjs`),require(`./qr-scanner.cjs`),require(`./radio-group-D5t8f2Ob.cjs`),require(`./range.cjs`),require(`./rxjs-utils-hAgKC7vk.cjs`);const c=require(`./theme.interface-CM26m9te.cjs`);require(`./select-B1nN5Ac4.cjs`),require(`./sheet-BZRMpyXt.cjs`),require(`./slider.cjs`),require(`./steps.cjs`),require(`./surface.cjs`),require(`./table-CENjXiu-.cjs`),require(`./tabs-CRA9FMNl.cjs`),require(`./textarea-CfwGEIvf.cjs`),require(`./theme-BiM_CUpn.cjs`),require(`./theme-button-BwJs6N4k.cjs`),require(`./tooltip.cjs`),require(`./tree.cjs`);const l=require(`./types.cjs`);require(`./typewriter-BH7nsW7R.cjs`),require(`./typography.cjs`),require(`./utils-D2kE-6zc.cjs`),require(`./breadcrumb.cjs`),require(`./kbd.cjs`),require(`./skeleton.cjs`),require(`./splash-screen-DuFJ0gbD.cjs`),require(`./switch.cjs`),require(`./visually-hidden.cjs`);let u=require(`rxjs`),d=require(`rxjs/operators`),f=require(`lit/decorators.js`),p=require(`lit`),m=require(`lit/directives/when.js`);var h=class extends e.t(p.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: inline-flex;
|
|
4
4
|
width: fit-content;
|