@mhmo91/schmancy 0.10.41 → 0.10.42
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 +27 -100
- package/dist/SchmancyElement-OG71FtNv.js +286 -0
- package/dist/{SchmancyElement-OWgz9ePG.js.map → SchmancyElement-OG71FtNv.js.map} +1 -1
- package/dist/SchmancyElement-PS1u0j1B.cjs +2 -0
- package/dist/{SchmancyElement-D9WA9FP9.cjs.map → SchmancyElement-PS1u0j1B.cjs.map} +1 -1
- package/dist/agent/schmancy.agent.js +48 -213
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +10 -36
- package/dist/{area-C7XjCoet.cjs → area-CaEI33G0.cjs} +1 -1
- package/dist/{area-C7XjCoet.cjs.map → area-CaEI33G0.cjs.map} +1 -1
- package/dist/{area-BiM7V2ns.js → area-DtCNCb8w.js} +2 -2
- package/dist/{area-BiM7V2ns.js.map → area-DtCNCb8w.js.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{audio-xXFfMPCS.cjs → audio-B924fI5N.cjs} +1 -1
- package/dist/{audio-xXFfMPCS.cjs.map → audio-B924fI5N.cjs.map} +1 -1
- package/dist/{audio-CxO_j__6.js → audio-DdN76ikW.js} +1 -1
- package/dist/{audio-CxO_j__6.js.map → audio-DdN76ikW.js.map} +1 -1
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/{autocomplete-DD7Hd59N.cjs → autocomplete-Dq3BkitV.cjs} +1 -1
- package/dist/{autocomplete-DD7Hd59N.cjs.map → autocomplete-Dq3BkitV.cjs.map} +1 -1
- package/dist/{autocomplete-DUBY9RtH.js → autocomplete-UNOknYUz.js} +3 -3
- package/dist/{autocomplete-DUBY9RtH.js.map → autocomplete-UNOknYUz.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatar.cjs +1 -1
- package/dist/avatar.js +3 -3
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-ScvAima3.js → boat-BZah1Sf9.js} +5 -7
- package/dist/{boat-ScvAima3.js.map → boat-BZah1Sf9.js.map} +1 -1
- package/dist/{boat-BIYaPAHp.cjs → boat-D3bEjxf8.cjs} +2 -4
- package/dist/{boat-BIYaPAHp.cjs.map → boat-D3bEjxf8.cjs.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 +2 -2
- package/dist/{busy-UbCGkTAi.cjs → busy--WqiXKnl.cjs} +1 -1
- package/dist/{busy-UbCGkTAi.cjs.map → busy--WqiXKnl.cjs.map} +1 -1
- package/dist/{busy-BjsO3y2A.js → busy-DzXyO0z6.js} +2 -2
- package/dist/{busy-BjsO3y2A.js.map → busy-DzXyO0z6.js.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/{button-BTpxQ1Kd.cjs → button-CTvS5YX4.cjs} +1 -1
- package/dist/{button-BTpxQ1Kd.cjs.map → button-CTvS5YX4.cjs.map} +1 -1
- package/dist/{button-D7QHfYf4.js → button-DgoDfcJx.js} +2 -2
- package/dist/{button-D7QHfYf4.js.map → button-DgoDfcJx.js.map} +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +3 -3
- package/dist/{card-DCdtJ5Dy.js → card-C6ijJZpF.js} +2 -2
- package/dist/{card-DCdtJ5Dy.js.map → card-C6ijJZpF.js.map} +1 -1
- package/dist/{card-rprhCYIC.cjs → card-Ci3_9Dd4.cjs} +1 -1
- package/dist/{card-rprhCYIC.cjs.map → card-Ci3_9Dd4.cjs.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-DVtyPk7l.js → checkbox-7vEPZuGC.js} +2 -2
- package/dist/{checkbox-DVtyPk7l.js.map → checkbox-7vEPZuGC.js.map} +1 -1
- package/dist/{checkbox-CYGOVPP-.cjs → checkbox-DXKdxkXE.cjs} +1 -1
- package/dist/{checkbox-CYGOVPP-.cjs.map → checkbox-DXKdxkXE.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-DVes-BSz.cjs → chips-9eG-96_D.cjs} +1 -1
- package/dist/{chips-DVes-BSz.cjs.map → chips-9eG-96_D.cjs.map} +1 -1
- package/dist/{chips-C5bpgWyf.js → chips-DF7akwz7.js} +4 -4
- package/dist/{chips-C5bpgWyf.js.map → chips-DF7akwz7.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/connectivity.cjs +2 -4
- package/dist/connectivity.cjs.map +1 -1
- package/dist/connectivity.js +4 -6
- package/dist/connectivity.js.map +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-IPlbrhwW.js → date-range-C13_R3OA.js} +3 -3
- package/dist/{date-range-IPlbrhwW.js.map → date-range-C13_R3OA.js.map} +1 -1
- package/dist/{date-range-DDUuBlJ6.cjs → date-range-Q2xj5Syc.cjs} +1 -1
- package/dist/{date-range-DDUuBlJ6.cjs.map → date-range-Q2xj5Syc.cjs.map} +1 -1
- package/dist/{date-range-inline-DPqY9YYf.js → date-range-inline-BnOD-ddB.js} +2 -2
- package/dist/{date-range-inline-DPqY9YYf.js.map → date-range-inline-BnOD-ddB.js.map} +1 -1
- package/dist/{date-range-inline-Dx4Reboo.cjs → date-range-inline-DV2c_gWM.cjs} +1 -1
- package/dist/{date-range-inline-Dx4Reboo.cjs.map → date-range-inline-DV2c_gWM.cjs.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 +1 -1
- package/dist/delay.js +2 -2
- package/dist/{details-Bx2jSJxG.cjs → details-B2-jECBh.cjs} +3 -2
- package/dist/details-B2-jECBh.cjs.map +1 -0
- package/dist/{details-BnleHmYe.js → details-ByF66CyY.js} +4 -3
- package/dist/details-ByF66CyY.js.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{directives-d1rEbW1A.js → directives-BL7mzVsA.js} +3 -3
- package/dist/{directives-d1rEbW1A.js.map → directives-BL7mzVsA.js.map} +1 -1
- package/dist/{directives-CYf2fAdA.cjs → directives-DCb_LA9R.cjs} +1 -1
- package/dist/{directives-CYf2fAdA.cjs.map → directives-DCb_LA9R.cjs.map} +1 -1
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +2 -2
- package/dist/{divider-CimQJVr3.cjs → divider-Bv2QiOZL.cjs} +1 -1
- package/dist/{divider-CimQJVr3.cjs.map → divider-Bv2QiOZL.cjs.map} +1 -1
- package/dist/{divider-Cr-rx3vA.js → divider-gYuz0zDU.js} +2 -2
- package/dist/{divider-Cr-rx3vA.js.map → divider-gYuz0zDU.js.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-_cp8oBjp.cjs → expand-B9IUGVtc.cjs} +1 -1
- package/dist/{expand-_cp8oBjp.cjs.map → expand-B9IUGVtc.cjs.map} +1 -1
- package/dist/{expand-DNrWuG_-.js → expand-cZ8rfCWP.js} +3 -3
- package/dist/{expand-DNrWuG_-.js.map → expand-cZ8rfCWP.js.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/fab.cjs +1 -1
- package/dist/fab.js +2 -2
- package/dist/{float-V7VQKTb8.cjs → float-DkGyWSWy.cjs} +1 -1
- package/dist/{float-V7VQKTb8.cjs.map → float-DkGyWSWy.cjs.map} +1 -1
- package/dist/{float-C_CMle0q.js → float-zn3DgXBT.js} +2 -2
- package/dist/{float-C_CMle0q.js.map → float-zn3DgXBT.js.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-DaaAQd2A.cjs → form-DowzVsgI.cjs} +1 -1
- package/dist/{form-DaaAQd2A.cjs.map → form-DowzVsgI.cjs.map} +1 -1
- package/dist/{form-CMgYSZ3y.js → form-tG7LwDm4.js} +3 -3
- package/dist/{form-CMgYSZ3y.js.map → form-tG7LwDm4.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +12 -12
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/{icons-C2RkSXjP.cjs → icons-BZeCloP9.cjs} +1 -1
- package/dist/{icons-C2RkSXjP.cjs.map → icons-BZeCloP9.cjs.map} +1 -1
- package/dist/{icons-mbpHO_73.js → icons-Dup5skuk.js} +2 -2
- package/dist/{icons-mbpHO_73.js.map → icons-Dup5skuk.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-88SN5JPu.cjs → iframe-CDJjnNmo.cjs} +1 -1
- package/dist/{iframe-88SN5JPu.cjs.map → iframe-CDJjnNmo.cjs.map} +1 -1
- package/dist/{iframe-U3P1DnQv.js → iframe-Xc3EPMZT.js} +2 -2
- package/dist/{iframe-U3P1DnQv.js.map → iframe-Xc3EPMZT.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 +34 -34
- package/dist/{input-BY4Korc5.cjs → input-DnmC6J1T.cjs} +1 -1
- package/dist/{input-BY4Korc5.cjs.map → input-DnmC6J1T.cjs.map} +1 -1
- package/dist/{input-CPWvGjE4.js → input-cTyDxW9L.js} +2 -2
- package/dist/{input-CPWvGjE4.js.map → input-cTyDxW9L.js.map} +1 -1
- package/dist/{input-chip-kytMdbaM.cjs → input-chip-CV91URyU.cjs} +1 -1
- package/dist/{input-chip-kytMdbaM.cjs.map → input-chip-CV91URyU.cjs.map} +1 -1
- package/dist/{input-chip-CCZ3i3Sf.js → input-chip-CYI17YOq.js} +2 -2
- package/dist/{input-chip-CCZ3i3Sf.js.map → input-chip-CYI17YOq.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.js +3 -3
- package/dist/kbd.cjs +1 -1
- package/dist/kbd.js +2 -2
- package/dist/{layout-BhfC26Ks.cjs → layout-CNlZSJFU.cjs} +1 -1
- package/dist/{layout-BhfC26Ks.cjs.map → layout-CNlZSJFU.cjs.map} +1 -1
- package/dist/{layout-DC0Npqu7.js → layout-DDxw0EwL.js} +1 -1
- package/dist/{layout-DC0Npqu7.js.map → layout-DDxw0EwL.js.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/{lightbox-BSwWvDQc.js → lightbox-CH-y3rYB.js} +2 -2
- package/dist/{lightbox-BSwWvDQc.js.map → lightbox-CH-y3rYB.js.map} +1 -1
- package/dist/{lightbox-KrZQH9w9.cjs → lightbox-CvtqoInF.cjs} +1 -1
- package/dist/{lightbox-KrZQH9w9.cjs.map → lightbox-CvtqoInF.cjs.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-DIs02A3d.cjs → list-Dl8KfxrF.cjs} +2 -2
- package/dist/{list-DIs02A3d.cjs.map → list-Dl8KfxrF.cjs.map} +1 -1
- package/dist/{list-BwGtAAfi.js → list-DrsawQ5R.js} +10 -3
- package/dist/{list-BwGtAAfi.js.map → list-DrsawQ5R.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{menu-jT_yAk5V.cjs → menu-BFRcTe3o.cjs} +1 -1
- package/dist/{menu-jT_yAk5V.cjs.map → menu-BFRcTe3o.cjs.map} +1 -1
- package/dist/{menu-DX8d96x-.js → menu-CsY5lMqY.js} +3 -3
- package/dist/{menu-DX8d96x-.js.map → menu-CsY5lMqY.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/{mixins-XGVIOvKt.cjs → mixins-BoMURWag.cjs} +2 -72
- package/dist/{mixins-XGVIOvKt.cjs.map → mixins-BoMURWag.cjs.map} +1 -1
- package/dist/{mixins-COeG4DiX.js → mixins-bCEXbwJV.js} +3 -79
- package/dist/{mixins-COeG4DiX.js.map → mixins-bCEXbwJV.js.map} +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 +2 -2
- package/dist/{notification-CAJVpLne.js → notification-DFKRMmSq.js} +4 -4
- package/dist/{notification-CAJVpLne.js.map → notification-DFKRMmSq.js.map} +1 -1
- package/dist/{notification-DO3VXceY.cjs → notification-FBf3Mb2e.cjs} +1 -1
- package/dist/{notification-DO3VXceY.cjs.map → notification-FBf3Mb2e.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-JISY0wZJ.js → option-Ct0lGdH3.js} +2 -2
- package/dist/{option-JISY0wZJ.js.map → option-Ct0lGdH3.js.map} +1 -1
- package/dist/{option-BNo1Zs-l.cjs → option-Il1KpU8M.cjs} +1 -1
- package/dist/{option-BNo1Zs-l.cjs.map → option-Il1KpU8M.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-CT-tMHDX.js → overlay-Bh8Q_R01.js} +5 -5
- package/dist/{overlay-CT-tMHDX.js.map → overlay-Bh8Q_R01.js.map} +1 -1
- package/dist/{overlay-B1jVf-ge.cjs → overlay-sRXiMkjn.cjs} +1 -1
- package/dist/{overlay-B1jVf-ge.cjs.map → overlay-sRXiMkjn.cjs.map} +1 -1
- package/dist/overlay.cjs +1 -1
- package/dist/{overlay.confirm-body-Dn-Zgogx.js → overlay.confirm-body-CQihsR20.js} +6 -6
- package/dist/{overlay.confirm-body-Dn-Zgogx.js.map → overlay.confirm-body-CQihsR20.js.map} +1 -1
- package/dist/{overlay.confirm-body-mYDYoJL8.cjs → overlay.confirm-body-Jc1EuMGs.cjs} +1 -1
- package/dist/{overlay.confirm-body-mYDYoJL8.cjs.map → overlay.confirm-body-Jc1EuMGs.cjs.map} +1 -1
- package/dist/overlay.js +3 -3
- package/dist/{overlay.service-BQmva9GY.cjs → overlay.service-9Dp3g7ot.cjs} +1 -1
- package/dist/{overlay.service-BQmva9GY.cjs.map → overlay.service-9Dp3g7ot.cjs.map} +1 -1
- package/dist/{overlay.service-yqTOyLlr.js → overlay.service-BXPgS7ay.js} +2 -2
- package/dist/{overlay.service-yqTOyLlr.js.map → overlay.service-BXPgS7ay.js.map} +1 -1
- package/dist/{progress-DOVJhsR0.cjs → progress-CWC5XYZ_.cjs} +1 -1
- package/dist/{progress-DOVJhsR0.cjs.map → progress-CWC5XYZ_.cjs.map} +1 -1
- package/dist/{progress-CGWozq_n.js → progress-CYLshdo2.js} +2 -2
- package/dist/{progress-CGWozq_n.js.map → progress-CYLshdo2.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-group-DoSX5D2V.cjs → radio-group-6kCgOgBL.cjs} +1 -1
- package/dist/{radio-group-DoSX5D2V.cjs.map → radio-group-6kCgOgBL.cjs.map} +1 -1
- package/dist/{radio-group-CXkq6qAF.js → radio-group-bZtZHOj_.js} +2 -2
- package/dist/{radio-group-CXkq6qAF.js.map → radio-group-bZtZHOj_.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 +2 -2
- package/dist/{select-CU90i50_.js → select-CU3X-PIa.js} +3 -3
- package/dist/{select-CU90i50_.js.map → select-CU3X-PIa.js.map} +1 -1
- package/dist/{select-CObZenqg.cjs → select-MXsF8KsU.cjs} +1 -1
- package/dist/{select-CObZenqg.cjs.map → select-MXsF8KsU.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.js +2 -2
- package/dist/skills/schmancy/surface.md +51 -27
- package/dist/skills/surface.md +51 -27
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +2 -2
- package/dist/{sound.service-m8WjOhjn.js → sound.service-B4ZmXpH9.js} +1 -1
- package/dist/{sound.service-m8WjOhjn.js.map → sound.service-B4ZmXpH9.js.map} +1 -1
- package/dist/{sound.service-Qhr8nCeG.cjs → sound.service-DjlMvicQ.cjs} +1 -1
- package/dist/{sound.service-Qhr8nCeG.cjs.map → sound.service-DjlMvicQ.cjs.map} +1 -1
- package/dist/{splash-screen-Ca6Ew8p6.cjs → splash-screen-CN9dZcqC.cjs} +1 -1
- package/dist/{splash-screen-Ca6Ew8p6.cjs.map → splash-screen-CN9dZcqC.cjs.map} +1 -1
- package/dist/{splash-screen-Cs3dbPN3.js → splash-screen-emCLYoVl.js} +2 -2
- package/dist/{splash-screen-Cs3dbPN3.js.map → splash-screen-emCLYoVl.js.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-CCVbLLgC.js → src-DGDTkOvC.js} +160 -252
- package/dist/src-DGDTkOvC.js.map +1 -0
- package/dist/{src-CpftzdZV.cjs → src-DK3111z_.cjs} +7 -31
- package/dist/src-DK3111z_.cjs.map +1 -0
- package/dist/{state--x58-AuK.cjs → state-CumAEPQH.cjs} +1 -1
- package/dist/{state--x58-AuK.cjs.map → state-CumAEPQH.cjs.map} +1 -1
- package/dist/{state-QSwQ61sA.js → state-DMd_FUeA.js} +1 -1
- package/dist/{state-QSwQ61sA.js.map → state-DMd_FUeA.js.map} +1 -1
- package/dist/state.cjs +1 -1
- package/dist/state.js +2 -2
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +2 -2
- package/dist/{surface-bTjOiq8n.cjs → surface-DGI-FBoi.cjs} +1 -1
- package/dist/surface-DGI-FBoi.cjs.map +1 -0
- package/dist/{surface-cqMsHJHM.js → surface-DNiYigsX.js} +2 -2
- package/dist/surface-DNiYigsX.js.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +1 -1
- package/dist/switch.js +2 -2
- package/dist/table.cjs +2 -2
- package/dist/table.cjs.map +1 -1
- package/dist/table.js +3 -3
- package/dist/table.js.map +1 -1
- package/dist/{tabs-Ib0Mh__1.js → tabs-4T_4kCf-.js} +2 -2
- package/dist/{tabs-Ib0Mh__1.js.map → tabs-4T_4kCf-.js.map} +1 -1
- package/dist/{tabs-Dk9UDWpq.cjs → tabs-Byxxt-AH.cjs} +1 -1
- package/dist/{tabs-Dk9UDWpq.cjs.map → tabs-Byxxt-AH.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-Cntd9tfV.cjs → textarea-BwYwH9fu.cjs} +1 -1
- package/dist/{textarea-Cntd9tfV.cjs.map → textarea-BwYwH9fu.cjs.map} +1 -1
- package/dist/{textarea-CcRsw08B.js → textarea-kkYNk1ET.js} +2 -2
- package/dist/{textarea-CcRsw08B.js.map → textarea-kkYNk1ET.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-wwFbvp5e.cjs → theme-BG0EnzYP.cjs} +2 -2
- package/dist/{theme-wwFbvp5e.cjs.map → theme-BG0EnzYP.cjs.map} +1 -1
- package/dist/{theme-CKYXG0le.js → theme-DwQBl6sr.js} +6 -6
- package/dist/{theme-CKYXG0le.js.map → theme-DwQBl6sr.js.map} +1 -1
- package/dist/{theme-button-iLqT56KA.js → theme-button-BD8anzsZ.js} +2 -2
- package/dist/{theme-button-iLqT56KA.js.map → theme-button-BD8anzsZ.js.map} +1 -1
- package/dist/{theme-button-DE9Lrl7m.cjs → theme-button-DlrNoCMA.cjs} +1 -1
- package/dist/{theme-button-DE9Lrl7m.cjs.map → theme-button-DlrNoCMA.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 +3 -3
- package/dist/{theme.service-5RjyR7Sy.js → theme.service-Dv_55nfE.js} +1 -1
- package/dist/{theme.service-5RjyR7Sy.js.map → theme.service-Dv_55nfE.js.map} +1 -1
- package/dist/{theme.service-DA6KY52G.cjs → theme.service-pjkTM209.cjs} +1 -1
- package/dist/{theme.service-DA6KY52G.cjs.map → theme.service-pjkTM209.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +2 -2
- package/dist/{typography-DeEYdMhW.js → typography-BVkU11_q.js} +2 -2
- package/dist/{typography-DeEYdMhW.js.map → typography-BVkU11_q.js.map} +1 -1
- package/dist/{typography-Tm7wSaB2.cjs → typography-aaQaIcNc.cjs} +1 -1
- package/dist/{typography-Tm7wSaB2.cjs.map → typography-aaQaIcNc.cjs.map} +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 +2 -2
- package/dist/{window-Db5ZYY6t.js → window-C76zstbV.js} +7 -8
- package/dist/window-C76zstbV.js.map +1 -0
- package/dist/window-CmB9XZzT.cjs +58 -0
- package/dist/window-CmB9XZzT.cjs.map +1 -0
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +1 -1
- package/skills/schmancy/surface.md +51 -27
- package/src/badge/badge.ts +48 -200
- package/src/boat/boat.ts +1 -3
- package/src/connectivity/connectivity-status.ts +1 -3
- package/src/details/details.ts +1 -1
- package/src/list/list.ts +1 -1
- package/src/surface/surface.styles.ts +2 -87
- package/src/surface/surface.ts +8 -8
- package/src/table/table.ts +1 -1
- package/src/theme/theme-audio-player.ts +1 -1
- package/src/window/window.ts +3 -6
- package/types/mixins/surface.mixin.d.ts +8 -14
- package/types/src/badge/badge.d.ts +15 -48
- package/types/src/surface/surface.d.ts +9 -7
- package/types/src/surface/surface.styles.d.ts +2 -14
- package/types/src/window/window.d.ts +0 -1
- package/dist/SchmancyElement-D9WA9FP9.cjs +0 -2
- package/dist/SchmancyElement-OWgz9ePG.js +0 -286
- package/dist/details-BnleHmYe.js.map +0 -1
- package/dist/details-Bx2jSJxG.cjs.map +0 -1
- package/dist/src-CCVbLLgC.js.map +0 -1
- package/dist/src-CpftzdZV.cjs.map +0 -1
- package/dist/surface-bTjOiq8n.cjs.map +0 -1
- package/dist/surface-cqMsHJHM.js.map +0 -1
- package/dist/window-Db5ZYY6t.js.map +0 -1
- package/dist/window-oQqx5xqQ.cjs +0 -59
- package/dist/window-oQqx5xqQ.cjs.map +0 -1
package/src/badge/badge.ts
CHANGED
|
@@ -5,30 +5,31 @@ import { customElement, property } from 'lit/decorators.js'
|
|
|
5
5
|
import { SchmancyTheme } from '..'
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Semantic color of the badge. Each name maps to one theme color role —
|
|
9
|
+
* filled badges use that role's container / onContainer, outlined badges
|
|
10
|
+
* use its strong tone for text and border.
|
|
9
11
|
*/
|
|
10
12
|
export type BadgeColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'neutral' | 'surface'
|
|
11
13
|
|
|
12
14
|
/**
|
|
13
|
-
* Badge size
|
|
15
|
+
* Badge size. Sizes differ only in type scale and padding density.
|
|
14
16
|
*/
|
|
15
|
-
export type BadgeSize = 'xs' | 'sm' | 'md'
|
|
17
|
+
export type BadgeSize = 'xs' | 'sm' | 'md'
|
|
16
18
|
|
|
17
19
|
/**
|
|
18
|
-
* Badge shape
|
|
20
|
+
* Badge corner shape.
|
|
19
21
|
*/
|
|
20
|
-
export type BadgeShape = '
|
|
22
|
+
export type BadgeShape = 'pill' | 'rounded'
|
|
21
23
|
|
|
22
24
|
/**
|
|
23
|
-
* @element
|
|
24
|
-
* A
|
|
25
|
+
* @element schmancy-badge
|
|
26
|
+
* A status, label, or count pill. It annotates content; it does not
|
|
27
|
+
* compete with it — no shadow, no hover affordance, no motion.
|
|
25
28
|
*
|
|
26
|
-
* @slot - The content of the badge (text or HTML)
|
|
27
|
-
* @slot icon - Optional icon to display before the content
|
|
29
|
+
* @slot - The content of the badge (text or short HTML)
|
|
28
30
|
*
|
|
29
31
|
* @csspart badge - The badge element container
|
|
30
32
|
* @csspart content - The content container
|
|
31
|
-
* @csspart icon - The icon container
|
|
32
33
|
*/
|
|
33
34
|
@customElement('schmancy-badge')
|
|
34
35
|
export class SchmancyBadgeV2 extends SchmancyElement {
|
|
@@ -38,232 +39,79 @@ export class SchmancyBadgeV2 extends SchmancyElement {
|
|
|
38
39
|
flex-shrink: 0;
|
|
39
40
|
width: fit-content;
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
-
/* Enhanced pulse animation for better attention-getting */
|
|
43
|
-
@keyframes elegant-pulse {
|
|
44
|
-
0%, 100% {
|
|
45
|
-
opacity: 1;
|
|
46
|
-
}
|
|
47
|
-
50% {
|
|
48
|
-
opacity: 0.85;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.animate-pulse {
|
|
53
|
-
animation: elegant-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
54
|
-
}
|
|
55
42
|
`];
|
|
56
43
|
/**
|
|
57
|
-
* The color
|
|
44
|
+
* The semantic color of the badge.
|
|
58
45
|
* @attr
|
|
59
46
|
*/
|
|
60
47
|
@property({ type: String, reflect: true })
|
|
61
48
|
color: BadgeColor = 'primary'
|
|
62
49
|
|
|
63
50
|
/**
|
|
64
|
-
* The size of the badge
|
|
51
|
+
* The size of the badge.
|
|
65
52
|
* @attr
|
|
66
53
|
*/
|
|
67
54
|
@property({ type: String, reflect: true })
|
|
68
55
|
size: BadgeSize = 'md'
|
|
69
56
|
|
|
70
57
|
/**
|
|
71
|
-
* The shape of the badge
|
|
58
|
+
* The corner shape of the badge.
|
|
72
59
|
* @attr
|
|
73
60
|
*/
|
|
74
61
|
@property({ type: String, reflect: true })
|
|
75
62
|
shape: BadgeShape = 'pill'
|
|
76
63
|
|
|
77
64
|
/**
|
|
78
|
-
*
|
|
65
|
+
* Outlined style: transparent fill, the color's strong tone for text and border.
|
|
79
66
|
* @attr
|
|
80
67
|
*/
|
|
81
68
|
@property({ type: Boolean, reflect: true })
|
|
82
69
|
outlined = false
|
|
83
70
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
* Convert the size to appropriate Tailwind classes for the badge container
|
|
100
|
-
* Using harmonious padding ratios based on golden ratio principles
|
|
101
|
-
* Refined for more elegant proportions
|
|
102
|
-
*/
|
|
103
|
-
private getSizeClasses(): string {
|
|
104
|
-
switch (this.size) {
|
|
105
|
-
case 'xs':
|
|
106
|
-
return 'text-xs py-0.75 px-1.5 gap-0.5 leading-none'
|
|
107
|
-
case 'sm':
|
|
108
|
-
return 'text-xs py-1.5 px-2.5 gap-0.5 tracking-wide leading-none'
|
|
109
|
-
case 'lg':
|
|
110
|
-
return 'text-base py-2 px-4 gap-1 tracking-wide'
|
|
111
|
-
case 'md':
|
|
112
|
-
default:
|
|
113
|
-
return 'text-sm py-1.5 px-3 gap-0.5'
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Get shape classes based on selected shape
|
|
119
|
-
*/
|
|
120
|
-
private getShapeClasses(): string {
|
|
121
|
-
switch (this.shape) {
|
|
122
|
-
case 'square':
|
|
123
|
-
return 'rounded'
|
|
124
|
-
case 'rounded':
|
|
125
|
-
return 'rounded-md'
|
|
126
|
-
case 'pill':
|
|
127
|
-
default:
|
|
128
|
-
return 'rounded-full'
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Get icon size based on badge size with harmonious proportions
|
|
134
|
-
* Using golden ratio-inspired proportions relative to text size
|
|
135
|
-
*/
|
|
136
|
-
private getIconSizeClass(): string {
|
|
137
|
-
switch (this.size) {
|
|
138
|
-
case 'xs': return 'text-xs'
|
|
139
|
-
case 'sm': return 'text-sm'
|
|
140
|
-
case 'lg': return 'text-lg'
|
|
141
|
-
case 'md':
|
|
142
|
-
default: return 'text-sm'
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Get additional styling for specific sizes
|
|
148
|
-
*/
|
|
149
|
-
private getExoticStyles(): Record<string, string> {
|
|
150
|
-
const styles: Record<string, string> = {}
|
|
151
|
-
|
|
152
|
-
if (this.size === 'lg') {
|
|
153
|
-
styles.letterSpacing = '0.03em'
|
|
154
|
-
styles.fontWeight = '500'
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
if (this.size === 'sm') {
|
|
158
|
-
styles.letterSpacing = '0.02em'
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
return styles
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* Get background and text colors based on selected color variant
|
|
166
|
-
* Enhanced for more elegant color combinations with refined contrasts
|
|
167
|
-
*/
|
|
168
|
-
private getColorStyles() {
|
|
169
|
-
const colors: Record<BadgeColor, { bg: string; text: string; border?: string }> = {
|
|
170
|
-
primary: {
|
|
171
|
-
bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.primary.container} 92%, ${SchmancyTheme.sys.color.primary.default} 8%)`,
|
|
172
|
-
text: this.outlined ? SchmancyTheme.sys.color.primary.default : SchmancyTheme.sys.color.primary.onContainer,
|
|
173
|
-
border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.primary.default} 90%, ${SchmancyTheme.sys.color.surface.highest} 10%)` : undefined,
|
|
174
|
-
},
|
|
175
|
-
secondary: {
|
|
176
|
-
bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.secondary.container} 95%, ${SchmancyTheme.sys.color.secondary.default} 5%)`,
|
|
177
|
-
text: this.outlined ? SchmancyTheme.sys.color.secondary.default : SchmancyTheme.sys.color.secondary.onContainer,
|
|
178
|
-
border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.secondary.default} 85%, ${SchmancyTheme.sys.color.surface.highest} 15%)` : undefined,
|
|
179
|
-
},
|
|
180
|
-
tertiary: {
|
|
181
|
-
bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.container} 94%, ${SchmancyTheme.sys.color.tertiary.default} 6%)`,
|
|
182
|
-
text: this.outlined ? SchmancyTheme.sys.color.tertiary.default : SchmancyTheme.sys.color.tertiary.onContainer,
|
|
183
|
-
border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.default} 88%, ${SchmancyTheme.sys.color.surface.highest} 12%)` : undefined,
|
|
184
|
-
},
|
|
185
|
-
success: {
|
|
186
|
-
bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.success.container} 90%, ${SchmancyTheme.sys.color.success.default} 10%)`,
|
|
187
|
-
text: this.outlined ? SchmancyTheme.sys.color.success.default : SchmancyTheme.sys.color.success.onContainer,
|
|
188
|
-
border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.success.default} 85%, ${SchmancyTheme.sys.color.surface.bright} 15%)` : undefined,
|
|
189
|
-
},
|
|
190
|
-
warning: {
|
|
191
|
-
bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.container} 85%, ${SchmancyTheme.sys.color.tertiary.default} 15%)`,
|
|
192
|
-
text: this.outlined ? SchmancyTheme.sys.color.tertiary.default : SchmancyTheme.sys.color.tertiary.onContainer,
|
|
193
|
-
border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.default} 90%, ${SchmancyTheme.sys.color.surface.highest} 10%)` : undefined,
|
|
194
|
-
},
|
|
195
|
-
error: {
|
|
196
|
-
bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.error.container} 92%, ${SchmancyTheme.sys.color.error.default} 8%)`,
|
|
197
|
-
text: this.outlined ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.error.onContainer,
|
|
198
|
-
border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.error.default} 88%, ${SchmancyTheme.sys.color.surface.bright} 12%)` : undefined,
|
|
199
|
-
},
|
|
71
|
+
render() {
|
|
72
|
+
const sizeClasses =
|
|
73
|
+
this.size === 'xs' ? 'text-xs px-1.5 py-0.5'
|
|
74
|
+
: this.size === 'sm' ? 'text-xs px-2 py-0.5'
|
|
75
|
+
: 'text-sm px-2.5 py-0.5'
|
|
76
|
+
|
|
77
|
+
const shapeClass = this.shape === 'rounded' ? 'rounded-md' : 'rounded-full'
|
|
78
|
+
|
|
79
|
+
const role = {
|
|
80
|
+
primary: SchmancyTheme.sys.color.primary,
|
|
81
|
+
secondary: SchmancyTheme.sys.color.secondary,
|
|
82
|
+
tertiary: SchmancyTheme.sys.color.tertiary,
|
|
83
|
+
success: SchmancyTheme.sys.color.success,
|
|
84
|
+
warning: SchmancyTheme.sys.color.warning,
|
|
85
|
+
error: SchmancyTheme.sys.color.error,
|
|
200
86
|
neutral: {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
87
|
+
container: SchmancyTheme.sys.color.surface.high,
|
|
88
|
+
onContainer: SchmancyTheme.sys.color.surface.on,
|
|
89
|
+
default: SchmancyTheme.sys.color.surface.on,
|
|
204
90
|
},
|
|
205
91
|
surface: {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
92
|
+
container: SchmancyTheme.sys.color.surface.container,
|
|
93
|
+
onContainer: SchmancyTheme.sys.color.surface.on,
|
|
94
|
+
default: SchmancyTheme.sys.color.surface.on,
|
|
209
95
|
},
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
return colors[this.color]
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
render() {
|
|
216
|
-
const sizeClasses = this.getSizeClasses()
|
|
217
|
-
const shapeClasses = this.getShapeClasses()
|
|
218
|
-
const colorStyles = this.getColorStyles()
|
|
219
|
-
const iconSizeClass = this.getIconSizeClass()
|
|
220
|
-
const exoticStyles = this.getExoticStyles()
|
|
221
|
-
|
|
222
|
-
const badgeClasses = {
|
|
223
|
-
'inline-flex items-center justify-center font-medium': true,
|
|
224
|
-
'transition-all duration-200 ease-in-out': true,
|
|
225
|
-
[sizeClasses]: true,
|
|
226
|
-
[shapeClasses]: true,
|
|
227
|
-
'animate-pulse': this.pulse,
|
|
228
|
-
'border border-solid': this.outlined,
|
|
229
|
-
'shadow-sm': !this.outlined && this.size === 'sm',
|
|
230
|
-
'shadow': !this.outlined && this.size === 'md',
|
|
231
|
-
'shadow-md': !this.outlined && this.size === 'lg',
|
|
232
|
-
'hover:brightness-95 hover:-translate-y-px': this.outlined,
|
|
233
|
-
'hover:brightness-[0.98]': !this.outlined,
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
// Refined styles for a more elegant look (only CSS that can't be done with Tailwind)
|
|
237
|
-
const styles = {
|
|
238
|
-
borderColor: colorStyles.border,
|
|
239
|
-
backdropFilter: this.outlined ? 'blur(4px)' : undefined,
|
|
240
|
-
boxShadow: this.size === 'lg' && !this.outlined ? '0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.1)' : undefined,
|
|
241
|
-
...exoticStyles,
|
|
242
|
-
}
|
|
96
|
+
}[this.color]
|
|
243
97
|
|
|
244
98
|
return html`
|
|
245
99
|
<div
|
|
246
100
|
part="badge"
|
|
247
|
-
class="${this.classMap(
|
|
248
|
-
|
|
101
|
+
class="${this.classMap({
|
|
102
|
+
'inline-flex items-center justify-center font-medium leading-none': true,
|
|
103
|
+
'transition-colors duration-150': true,
|
|
104
|
+
'border border-solid': this.outlined,
|
|
105
|
+
[sizeClasses]: true,
|
|
106
|
+
[shapeClass]: true,
|
|
107
|
+
})}"
|
|
108
|
+
style="${this.styleMap({ borderColor: this.outlined ? role.default : undefined })}"
|
|
249
109
|
${color({
|
|
250
|
-
bgColor:
|
|
251
|
-
color:
|
|
110
|
+
bgColor: this.outlined ? 'transparent' : role.container,
|
|
111
|
+
color: this.outlined ? role.default : role.onContainer,
|
|
252
112
|
})}
|
|
253
113
|
>
|
|
254
|
-
|
|
255
|
-
<slot name="icon">
|
|
256
|
-
${this.icon
|
|
257
|
-
? html`
|
|
258
|
-
<div part="icon" class="shrink-0 flex items-center justify-center leading-none">
|
|
259
|
-
<schmancy-icon class="${iconSizeClass} flex items-center justify-center">${this.icon}</schmancy-icon>
|
|
260
|
-
</div>
|
|
261
|
-
`
|
|
262
|
-
: ''}
|
|
263
|
-
</slot>
|
|
264
|
-
|
|
265
|
-
<!-- Content with proper spacing from icon -->
|
|
266
|
-
<div part="content" class="flex items-center leading-none tracking-[0.01em] ${this.icon ? 'ml-[0.38em]' : ''}">
|
|
114
|
+
<div part="content" class="flex items-center leading-none tracking-[0.01em]">
|
|
267
115
|
<slot></slot>
|
|
268
116
|
</div>
|
|
269
117
|
</div>
|
package/src/boat/boat.ts
CHANGED
|
@@ -400,9 +400,7 @@ export default class SchmancyBoat extends SchmancyElement {
|
|
|
400
400
|
<schmancy-surface
|
|
401
401
|
${ref(this.containerRef)}
|
|
402
402
|
type="glass"
|
|
403
|
-
|
|
404
|
-
.elevation=${3}
|
|
405
|
-
class="${containerClasses} overflow-hidden rounded-2xl"
|
|
403
|
+
class="${containerClasses} overflow-hidden rounded-2xl shadow-md"
|
|
406
404
|
style=${containerStyles}
|
|
407
405
|
aria-expanded=${this.open}
|
|
408
406
|
>
|
|
@@ -131,9 +131,7 @@ export class SchmancyConnectivityStatus extends SchmancyElement {
|
|
|
131
131
|
<schmancy-surface
|
|
132
132
|
${ref(this.surfaceRef)}
|
|
133
133
|
type="error"
|
|
134
|
-
|
|
135
|
-
elevation="3"
|
|
136
|
-
class="mx-auto max-w-sm shadow-lg pointer-events-auto"
|
|
134
|
+
class="mx-auto max-w-sm rounded-2xl shadow-lg pointer-events-auto"
|
|
137
135
|
>
|
|
138
136
|
<div class="flex items-center gap-3 px-4 py-3">
|
|
139
137
|
<span ${ref(this.iconRef)} class="text-2xl">🙀</span>
|
package/src/details/details.ts
CHANGED
|
@@ -14,6 +14,7 @@ export default class SchmancyDetails extends SurfaceMixin(SchmancyElement) {
|
|
|
14
14
|
static styles = [css`
|
|
15
15
|
:host {
|
|
16
16
|
display: block;
|
|
17
|
+
border-radius: 1rem;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
:host([overlay]) {
|
|
@@ -185,7 +186,6 @@ export default class SchmancyDetails extends SurfaceMixin(SchmancyElement) {
|
|
|
185
186
|
constructor() {
|
|
186
187
|
super()
|
|
187
188
|
this.type = 'solid'
|
|
188
|
-
this.rounded = 'all'
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
connectedCallback() {
|
package/src/list/list.ts
CHANGED
|
@@ -61,7 +61,7 @@ export class List extends SchmancyElement {
|
|
|
61
61
|
*/
|
|
62
62
|
render() {
|
|
63
63
|
return html`
|
|
64
|
-
<schmancy-surface
|
|
64
|
+
<schmancy-surface class=${(['', 'shadow-sm', 'shadow', 'shadow-md', 'shadow-lg', 'shadow-2xl'] as const)[this.elevation]} type=${this.surface}>
|
|
65
65
|
<ul>
|
|
66
66
|
<slot></slot>
|
|
67
67
|
</ul>
|
|
@@ -184,94 +184,9 @@ export const surfaceTypeStyles = css`
|
|
|
184
184
|
`
|
|
185
185
|
|
|
186
186
|
/**
|
|
187
|
-
*
|
|
188
|
-
|
|
189
|
-
export const surfaceRoundedStyles = css`
|
|
190
|
-
:host([rounded='none']) {
|
|
191
|
-
border-radius: 0;
|
|
192
|
-
}
|
|
193
|
-
:host([rounded='top']) {
|
|
194
|
-
border-radius: var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0 0;
|
|
195
|
-
}
|
|
196
|
-
:host([rounded='left']) {
|
|
197
|
-
border-radius: var(--schmancy-sys-shape-corner-large) 0 0 var(--schmancy-sys-shape-corner-large);
|
|
198
|
-
}
|
|
199
|
-
:host([rounded='right']) {
|
|
200
|
-
border-radius: 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0;
|
|
201
|
-
}
|
|
202
|
-
:host([rounded='bottom']) {
|
|
203
|
-
border-radius: 0 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large);
|
|
204
|
-
}
|
|
205
|
-
:host([rounded='all']) {
|
|
206
|
-
border-radius: var(--schmancy-sys-shape-corner-large);
|
|
207
|
-
}
|
|
208
|
-
`
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* Luminous glow elevation — replaces M3 dark drop shadows with primary-colored glow.
|
|
212
|
-
* No ::after tint overlay — depth comes from glow intensity, not surface tint.
|
|
213
|
-
*/
|
|
214
|
-
export const surfaceElevationStyles = css`
|
|
215
|
-
:host([elevation='1']) {
|
|
216
|
-
box-shadow: 0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);
|
|
217
|
-
position: relative;
|
|
218
|
-
}
|
|
219
|
-
:host([elevation='2']) {
|
|
220
|
-
box-shadow: 0 4px 20px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 22%, transparent);
|
|
221
|
-
position: relative;
|
|
222
|
-
}
|
|
223
|
-
:host([elevation='3']) {
|
|
224
|
-
box-shadow: 0 8px 32px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 28%, transparent);
|
|
225
|
-
position: relative;
|
|
226
|
-
}
|
|
227
|
-
:host([elevation='4']) {
|
|
228
|
-
box-shadow: 0 12px 44px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 35%, transparent);
|
|
229
|
-
position: relative;
|
|
230
|
-
}
|
|
231
|
-
:host([elevation='5']) {
|
|
232
|
-
box-shadow: 0 20px 60px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 42%, transparent);
|
|
233
|
-
position: relative;
|
|
234
|
-
}
|
|
235
|
-
`
|
|
236
|
-
|
|
237
|
-
/**
|
|
238
|
-
* Surface clickable styles - luminous hover, spring active
|
|
239
|
-
*/
|
|
240
|
-
export const surfaceClickableStyles = css`
|
|
241
|
-
:host([clickable]) {
|
|
242
|
-
cursor: pointer;
|
|
243
|
-
user-select: none;
|
|
244
|
-
-webkit-tap-highlight-color: transparent;
|
|
245
|
-
transition:
|
|
246
|
-
filter 200ms ease,
|
|
247
|
-
transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
|
|
248
|
-
box-shadow 400ms ease;
|
|
249
|
-
}
|
|
250
|
-
:host([clickable]:hover) {
|
|
251
|
-
filter: brightness(1.03);
|
|
252
|
-
}
|
|
253
|
-
:host([clickable]:active) {
|
|
254
|
-
filter: brightness(0.96);
|
|
255
|
-
transform: scale(0.98);
|
|
256
|
-
transition-duration: 100ms;
|
|
257
|
-
}
|
|
258
|
-
:host([clickable]:focus-visible) {
|
|
259
|
-
outline: 2px solid var(--schmancy-sys-color-primary-default);
|
|
260
|
-
outline-offset: 2px;
|
|
261
|
-
}
|
|
262
|
-
@media (prefers-reduced-motion: reduce) {
|
|
263
|
-
:host([clickable]) { transition: filter 150ms ease; }
|
|
264
|
-
:host([clickable]:hover) { transform: none; box-shadow: none; }
|
|
265
|
-
:host([clickable]:active) { transform: none; }
|
|
266
|
-
}
|
|
267
|
-
`
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* Combined surface styles - includes all surface styling capabilities
|
|
187
|
+
* Combined surface styles — type variants only.
|
|
188
|
+
* Corner radius, shadow, and cursor are stock Tailwind classes applied by the consumer.
|
|
271
189
|
*/
|
|
272
190
|
export const surfaceStyles = css`
|
|
273
191
|
${surfaceTypeStyles}
|
|
274
|
-
${surfaceRoundedStyles}
|
|
275
|
-
${surfaceElevationStyles}
|
|
276
|
-
${surfaceClickableStyles}
|
|
277
192
|
`
|
package/src/surface/surface.ts
CHANGED
|
@@ -7,23 +7,23 @@ import { customElement, property } from 'lit/decorators.js'
|
|
|
7
7
|
|
|
8
8
|
export const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')
|
|
9
9
|
|
|
10
|
-
export type { SchmancySurfaceRounded, SchmancySurfaceElevation } from '@mixins/surface.mixin'
|
|
11
|
-
|
|
12
10
|
/**
|
|
13
11
|
* `<schmancy-surface>` component
|
|
14
12
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
13
|
+
* Color-variant container that paints a background and establishes the inherited
|
|
14
|
+
* text color for descendants. Corner radius, shadow depth, and cursor behavior
|
|
15
|
+
* are the consumer's responsibility — apply stock Tailwind classes directly on
|
|
16
|
+
* the element.
|
|
18
17
|
*
|
|
19
|
-
*
|
|
18
|
+
* Sizing is the consumer's responsibility — use Tailwind utilities
|
|
19
|
+
* (`class="w-full h-full"`) on the element directly.
|
|
20
20
|
*
|
|
21
21
|
* @element schmancy-surface
|
|
22
22
|
* @slot - Default slot for projecting child content.
|
|
23
23
|
*
|
|
24
24
|
* @example
|
|
25
|
-
* <schmancy-surface
|
|
26
|
-
* <p>
|
|
25
|
+
* <schmancy-surface type="surfaceBright" class="rounded-2xl shadow-lg w-full">
|
|
26
|
+
* <p>Content here</p>
|
|
27
27
|
* </schmancy-surface>
|
|
28
28
|
*/
|
|
29
29
|
@customElement('schmancy-surface')
|
package/src/table/table.ts
CHANGED
|
@@ -200,7 +200,7 @@ export class SchmancyDataTable<T extends Record<string, any> = any> extends Schm
|
|
|
200
200
|
class="grid h-full w-full"
|
|
201
201
|
style="grid-template-columns: 1fr; grid-template-rows: auto 1fr;"
|
|
202
202
|
>
|
|
203
|
-
<schmancy-surface
|
|
203
|
+
<schmancy-surface type="glass" class="rounded-t-2xl shadow-sm sticky top-0 z-10">
|
|
204
204
|
<div
|
|
205
205
|
class="grid items-center gap-4 px-4 py-3"
|
|
206
206
|
style=${this.styleMap({
|
|
@@ -411,7 +411,7 @@ export class SchmancyThemeAudioPlayer extends SchmancyElement {
|
|
|
411
411
|
${when(
|
|
412
412
|
this.audioSequence,
|
|
413
413
|
() => html`
|
|
414
|
-
<schmancy-surface type="subtle"
|
|
414
|
+
<schmancy-surface type="subtle" class="rounded-2xl p-4 space-y-3">
|
|
415
415
|
<div class="flex items-center justify-between">
|
|
416
416
|
<div>
|
|
417
417
|
<schmancy-typography type="label" token="lg"> ${this.detectedMood} </schmancy-typography>
|
package/src/window/window.ts
CHANGED
|
@@ -112,11 +112,6 @@ export default class SchmancyWindow extends SchmancyElement {
|
|
|
112
112
|
return 'inset(0px 0px 0px 0px round 12px)'
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
private get elevation(): 0 | 1 | 2 | 3 | 4 | 5 {
|
|
116
|
-
if (this.open) return 4
|
|
117
|
-
return this.lowered ? 1 : 3
|
|
118
|
-
}
|
|
119
|
-
|
|
120
115
|
// ============================================
|
|
121
116
|
// POSITION MANAGEMENT
|
|
122
117
|
// ============================================
|
|
@@ -632,6 +627,9 @@ export default class SchmancyWindow extends SchmancyElement {
|
|
|
632
627
|
'rounded-2xl': this.open,
|
|
633
628
|
'rounded-[22px]': !this.open,
|
|
634
629
|
'overflow-hidden': true,
|
|
630
|
+
'shadow-sm': !this.open && this.lowered,
|
|
631
|
+
'shadow-md': !this.open && !this.lowered,
|
|
632
|
+
'shadow-lg': this.open,
|
|
635
633
|
})
|
|
636
634
|
|
|
637
635
|
const containerStyles = styleMap({
|
|
@@ -658,7 +656,6 @@ export default class SchmancyWindow extends SchmancyElement {
|
|
|
658
656
|
<schmancy-surface
|
|
659
657
|
${ref(this.containerRef)}
|
|
660
658
|
type="glass"
|
|
661
|
-
.elevation=${this.elevation}
|
|
662
659
|
class=${containerClasses}
|
|
663
660
|
style=${containerStyles}
|
|
664
661
|
aria-expanded=${this.open}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
import type { Constructor } from './constructor';
|
|
2
2
|
import { LitElement } from 'lit';
|
|
3
3
|
import type { TSurfaceColor } from '../src/types/surface';
|
|
4
|
-
export type SchmancySurfaceRounded = 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all';
|
|
5
|
-
export type SchmancySurfaceElevation = 0 | 1 | 2 | 3 | 4 | 5;
|
|
6
4
|
export declare class ISurfaceMixin {
|
|
7
|
-
rounded: SchmancySurfaceRounded;
|
|
8
|
-
elevation: SchmancySurfaceElevation;
|
|
9
5
|
type: TSurfaceColor;
|
|
10
|
-
clickable: boolean;
|
|
11
6
|
}
|
|
12
7
|
/**
|
|
13
|
-
* SurfaceMixin
|
|
8
|
+
* SurfaceMixin — injects surface color-variant styles into any LitElement.
|
|
14
9
|
*
|
|
15
|
-
* Uses Lit's finalizeStyles hook to inject
|
|
16
|
-
*
|
|
10
|
+
* Uses Lit's `finalizeStyles` hook to inject `surfaceTypeStyles` CSS for all
|
|
11
|
+
* color-variant selectors. Corner radius, shadow depth, and cursor behavior are
|
|
12
|
+
* the consumer's responsibility — apply stock Tailwind classes directly on the
|
|
13
|
+
* element (`rounded-2xl`, `shadow-lg`, `cursor-pointer`).
|
|
17
14
|
*
|
|
18
|
-
* Provides
|
|
19
|
-
* - `
|
|
20
|
-
* - `elevation`: 0-5 - Shadow depth level
|
|
21
|
-
* - `type`: TSurfaceColor - Surface color variant (26+ options)
|
|
15
|
+
* Provides one reflected property:
|
|
16
|
+
* - `type`: TSurfaceColor — the color variant (26+ options)
|
|
22
17
|
*
|
|
23
18
|
* Usage:
|
|
24
19
|
* ```typescript
|
|
@@ -28,8 +23,7 @@ export declare class ISurfaceMixin {
|
|
|
28
23
|
* class MyComponent extends SurfaceMixin(TailwindElement(css`
|
|
29
24
|
* :host { display: block; }
|
|
30
25
|
* `)) {
|
|
31
|
-
* // Component now has type
|
|
32
|
-
* // AND surfaceStyles are automatically included
|
|
26
|
+
* // Component now has the type property and surfaceTypeStyles
|
|
33
27
|
* }
|
|
34
28
|
* ```
|
|
35
29
|
*/
|