@mhmo91/schmancy 0.10.35 → 0.10.37
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 +1165 -1109
- package/dist/SchmancyElement-BHfQg3Tj.cjs +2 -0
- package/dist/SchmancyElement-BHfQg3Tj.cjs.map +1 -0
- package/dist/SchmancyElement-CDT2q1lA.js +284 -0
- package/dist/SchmancyElement-CDT2q1lA.js.map +1 -0
- package/dist/agent/schmancy.agent.js +3488 -3290
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +335 -275
- package/dist/{area-DviXdbDx.js → area-KtULlxuA.js} +2 -2
- package/dist/{area-DviXdbDx.js.map → area-KtULlxuA.js.map} +1 -1
- package/dist/{area-CTSTgjlx.cjs → area-fdKhYB6T.cjs} +1 -1
- package/dist/{area-CTSTgjlx.cjs.map → area-fdKhYB6T.cjs.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{audio-Q9oB_cQR.cjs → audio-CUMAv9D_.cjs} +1 -1
- package/dist/{audio-Q9oB_cQR.cjs.map → audio-CUMAv9D_.cjs.map} +1 -1
- package/dist/{audio-DFYoaw0M.js → audio-zIJVTo_V.js} +1 -1
- package/dist/{audio-DFYoaw0M.js.map → audio-zIJVTo_V.js.map} +1 -1
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/{autocomplete-DmLXJr7C.cjs → autocomplete-DEZk6wBD.cjs} +1 -1
- package/dist/{autocomplete-DmLXJr7C.cjs.map → autocomplete-DEZk6wBD.cjs.map} +1 -1
- package/dist/{autocomplete-BDvuma6D.js → autocomplete-DIScyo8Q.js} +3 -3
- package/dist/{autocomplete-BDvuma6D.js.map → autocomplete-DIScyo8Q.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-lr7MPZ7H.js → boat-BHPqSqJd.js} +67 -83
- package/dist/boat-BHPqSqJd.js.map +1 -0
- package/dist/boat-OBZ77exO.cjs +34 -0
- package/dist/boat-OBZ77exO.cjs.map +1 -0
- 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-CgzZbGfx.cjs → busy-BJNsKSCM.cjs} +1 -1
- package/dist/{busy-CgzZbGfx.cjs.map → busy-BJNsKSCM.cjs.map} +1 -1
- package/dist/{busy-DgQ4ux5N.js → busy-Dut78y4L.js} +2 -2
- package/dist/{busy-DgQ4ux5N.js.map → busy-Dut78y4L.js.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/{button-DFvR1iXX.cjs → button-DzlHLjWO.cjs} +1 -1
- package/dist/{button-DFvR1iXX.cjs.map → button-DzlHLjWO.cjs.map} +1 -1
- package/dist/{button-qbN1muQ0.js → button-kcpPQavY.js} +2 -2
- package/dist/{button-qbN1muQ0.js.map → button-kcpPQavY.js.map} +1 -1
- package/dist/button.cjs +4 -4
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +16 -22
- package/dist/button.js.map +1 -1
- package/dist/{card-D_GlwZ5q.cjs → card-BLxPLqdQ.cjs} +1 -1
- package/dist/{card-D_GlwZ5q.cjs.map → card-BLxPLqdQ.cjs.map} +1 -1
- package/dist/{card-DAbr-7Vy.js → card-DxSKxCid.js} +2 -2
- package/dist/{card-DAbr-7Vy.js.map → card-DxSKxCid.js.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-BNORaxMF.js → checkbox-B1wiM3Dv.js} +2 -2
- package/dist/{checkbox-BNORaxMF.js.map → checkbox-B1wiM3Dv.js.map} +1 -1
- package/dist/{checkbox-BUY_uc_r.cjs → checkbox-BCLkhp5G.cjs} +1 -1
- package/dist/{checkbox-BUY_uc_r.cjs.map → checkbox-BCLkhp5G.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CXZ4dJCK.cjs → chips-C9dS1WKn.cjs} +44 -33
- package/dist/chips-C9dS1WKn.cjs.map +1 -0
- package/dist/{chips-Dg6Lk6BT.js → chips-vWmwqQed.js} +145 -122
- package/dist/chips-vWmwqQed.js.map +1 -0
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/connectivity.cjs +1 -1
- package/dist/connectivity.js +3 -3
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-C-_be3_E.cjs → date-range-BV6HuvLw.cjs} +25 -19
- package/dist/date-range-BV6HuvLw.cjs.map +1 -0
- package/dist/{date-range-BU6WX7d5.js → date-range-D3ge1b4c.js} +129 -137
- package/dist/date-range-D3ge1b4c.js.map +1 -0
- package/dist/{date-range-inline-DJtUmHKF.cjs → date-range-inline-DpYgdLRv.cjs} +1 -1
- package/dist/{date-range-inline-DJtUmHKF.cjs.map → date-range-inline-DpYgdLRv.cjs.map} +1 -1
- package/dist/{date-range-inline-7o7xtVIu.js → date-range-inline-DuWQaWps.js} +2 -2
- package/dist/{date-range-inline-7o7xtVIu.js.map → date-range-inline-DuWQaWps.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +2 -2
- package/dist/{details-EfbDPVEo.js → details-C-GZaq3j.js} +2 -2
- package/dist/{details-EfbDPVEo.js.map → details-C-GZaq3j.js.map} +1 -1
- package/dist/{details-Bs0MyyvF.cjs → details-Dp5rLIWk.cjs} +1 -1
- package/dist/{details-Bs0MyyvF.cjs.map → details-Dp5rLIWk.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{directives-fLwDj6b0.cjs → directives-D_l1E5H6.cjs} +3 -3
- package/dist/directives-D_l1E5H6.cjs.map +1 -0
- package/dist/{directives-zi1Mm2er.js → directives-DyS51FUh.js} +37 -21
- package/dist/directives-DyS51FUh.js.map +1 -0
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +2 -2
- package/dist/{divider-CdIsWZrM.cjs → divider-CBnAmHMZ.cjs} +1 -1
- package/dist/{divider-CdIsWZrM.cjs.map → divider-CBnAmHMZ.cjs.map} +1 -1
- package/dist/{divider-CEPfrIwe.js → divider-nQffE0AD.js} +2 -2
- package/dist/{divider-CEPfrIwe.js.map → divider-nQffE0AD.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-g1vqqUp1.js → expand-DvTb-UPR.js} +3 -3
- package/dist/{expand-g1vqqUp1.js.map → expand-DvTb-UPR.js.map} +1 -1
- package/dist/{expand--at1k3qo.cjs → expand-mlP_3XWz.cjs} +1 -1
- package/dist/{expand--at1k3qo.cjs.map → expand-mlP_3XWz.cjs.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/fab.cjs +77 -0
- package/dist/fab.cjs.map +1 -0
- package/dist/fab.js +151 -0
- package/dist/fab.js.map +1 -0
- package/dist/{float-DxVzgI9o.js → float-C-Ko0Le3.js} +2 -2
- package/dist/{float-DxVzgI9o.js.map → float-C-Ko0Le3.js.map} +1 -1
- package/dist/{float-P9HukAm-.cjs → float-C17xgMT1.cjs} +1 -1
- package/dist/{float-P9HukAm-.cjs.map → float-C17xgMT1.cjs.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-ByYhXe1p.cjs → form-CwPHcQYB.cjs} +1 -1
- package/dist/{form-ByYhXe1p.cjs.map → form-CwPHcQYB.cjs.map} +1 -1
- package/dist/{form-CqLaozHp.js → form-DA0hUu2h.js} +3 -3
- package/dist/{form-CqLaozHp.js.map → form-DA0hUu2h.js.map} +1 -1
- package/dist/form.cjs +6 -6
- package/dist/form.cjs.map +1 -1
- package/dist/form.js +25 -23
- package/dist/form.js.map +1 -1
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/{icons-CkphcMp6.js → icons-C6UfxmHZ.js} +2 -2
- package/dist/{icons-CkphcMp6.js.map → icons-C6UfxmHZ.js.map} +1 -1
- package/dist/{icons-DYtiRU5V.cjs → icons-CW3-oMSb.cjs} +1 -1
- package/dist/{icons-DYtiRU5V.cjs.map → icons-CW3-oMSb.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-CjqJksl8.js → iframe-BTjZfYyh.js} +2 -2
- package/dist/{iframe-CjqJksl8.js.map → iframe-BTjZfYyh.js.map} +1 -1
- package/dist/{iframe-C3trkP8q.cjs → iframe-wuYT2xFz.cjs} +1 -1
- package/dist/{iframe-C3trkP8q.cjs.map → iframe-wuYT2xFz.cjs.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 +57 -56
- package/dist/{input-CG51zDVh.js → input-B_4g2ulO.js} +2 -2
- package/dist/{input-CG51zDVh.js.map → input-B_4g2ulO.js.map} +1 -1
- package/dist/{input-DuavpwNL.cjs → input-BrDiIT60.cjs} +1 -1
- package/dist/{input-DuavpwNL.cjs.map → input-BrDiIT60.cjs.map} +1 -1
- package/dist/{input-chip-57tgNXKT.cjs → input-chip-B-XWh4aE.cjs} +1 -1
- package/dist/input-chip-B-XWh4aE.cjs.map +1 -0
- package/dist/{input-chip-C6Lq1927.js → input-chip-BlWhOruv.js} +2 -2
- package/dist/input-chip-BlWhOruv.js.map +1 -0
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.js +3 -3
- package/dist/kbd.cjs +1 -1
- package/dist/kbd.js +2 -2
- package/dist/{layout-6ipbiWTl.cjs → layout-BhyIcEVu.cjs} +1 -1
- package/dist/{layout-6ipbiWTl.cjs.map → layout-BhyIcEVu.cjs.map} +1 -1
- package/dist/{layout-D4IOwx7p.js → layout-Dxit9enO.js} +1 -1
- package/dist/{layout-D4IOwx7p.js.map → layout-Dxit9enO.js.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/{lightbox-H8pVWGMX.cjs → lightbox-CVBogswK.cjs} +1 -1
- package/dist/{lightbox-H8pVWGMX.cjs.map → lightbox-CVBogswK.cjs.map} +1 -1
- package/dist/{lightbox-CsyO2XSr.js → lightbox-D85XAAuC.js} +2 -2
- package/dist/{lightbox-CsyO2XSr.js.map → lightbox-D85XAAuC.js.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-BAwH0pQW.js → list-DOF_yVn5.js} +2 -2
- package/dist/{list-BAwH0pQW.js.map → list-DOF_yVn5.js.map} +1 -1
- package/dist/{list-Bs9m8kw7.cjs → list-nVjLskgx.cjs} +1 -1
- package/dist/{list-Bs9m8kw7.cjs.map → list-nVjLskgx.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{menu-BMcGzj1h.cjs → menu-DqmNjLgY.cjs} +1 -1
- package/dist/{menu-BMcGzj1h.cjs.map → menu-DqmNjLgY.cjs.map} +1 -1
- package/dist/{menu-tQVARVaC.js → menu-QrAK5Uu9.js} +3 -3
- package/dist/{menu-tQVARVaC.js.map → menu-QrAK5Uu9.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/{mixins-Bp0wIHg2.js → mixins-De1zjyhy.js} +1 -1
- package/dist/{mixins-Bp0wIHg2.js.map → mixins-De1zjyhy.js.map} +1 -1
- package/dist/{mixins-CGXSzZc7.cjs → mixins-DxHpyMHA.cjs} +1 -1
- package/dist/{mixins-CGXSzZc7.cjs.map → mixins-DxHpyMHA.cjs.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-D1tX2nx5.js → notification-BtAK7NK8.js} +4 -4
- package/dist/{notification-D1tX2nx5.js.map → notification-BtAK7NK8.js.map} +1 -1
- package/dist/{notification-Bz00zdpV.cjs → notification-DYzbUb5C.cjs} +1 -1
- package/dist/{notification-Bz00zdpV.cjs.map → notification-DYzbUb5C.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BpGV8Apj.js → option-DHwA0miA.js} +2 -2
- package/dist/{option-BpGV8Apj.js.map → option-DHwA0miA.js.map} +1 -1
- package/dist/{option-BnybLEDO.cjs → option-DnSPa8ro.cjs} +1 -1
- package/dist/{option-BnybLEDO.cjs.map → option-DnSPa8ro.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-UQR2Dy3u.cjs → overlay-BVkqZmoS.cjs} +5 -5
- package/dist/overlay-BVkqZmoS.cjs.map +1 -0
- package/dist/{overlay-BpNhd74N.js → overlay-Del1sBEB.js} +108 -108
- package/dist/overlay-Del1sBEB.js.map +1 -0
- package/dist/overlay.cjs +1 -1
- package/dist/{overlay.confirm-body-CVDtVk5X.cjs → overlay.confirm-body-BV9umTAl.cjs} +1 -1
- package/dist/{overlay.confirm-body-CVDtVk5X.cjs.map → overlay.confirm-body-BV9umTAl.cjs.map} +1 -1
- package/dist/{overlay.confirm-body-BHcXu5Wk.js → overlay.confirm-body-DSONXUzl.js} +6 -6
- package/dist/{overlay.confirm-body-BHcXu5Wk.js.map → overlay.confirm-body-DSONXUzl.js.map} +1 -1
- package/dist/overlay.js +3 -3
- package/dist/{overlay.service-DTE6NwIM.js → overlay.service-BTp5Oq7f.js} +2 -2
- package/dist/{overlay.service-DTE6NwIM.js.map → overlay.service-BTp5Oq7f.js.map} +1 -1
- package/dist/{overlay.service-C8RsQzgM.cjs → overlay.service-XLlrsSdA.cjs} +1 -1
- package/dist/{overlay.service-C8RsQzgM.cjs.map → overlay.service-XLlrsSdA.cjs.map} +1 -1
- package/dist/{progress-gbIALDRs.cjs → progress-DUbTL9g9.cjs} +1 -1
- package/dist/{progress-gbIALDRs.cjs.map → progress-DUbTL9g9.cjs.map} +1 -1
- package/dist/{progress-CAKsxp29.js → progress-DYA83CFU.js} +2 -2
- package/dist/{progress-CAKsxp29.js.map → progress-DYA83CFU.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-group-CfJ5DtI4.cjs → radio-group-B-ORNtvR.cjs} +1 -1
- package/dist/{radio-group-CfJ5DtI4.cjs.map → radio-group-B-ORNtvR.cjs.map} +1 -1
- package/dist/{radio-group-otyvZvUk.js → radio-group-DxX0iJBo.js} +2 -2
- package/dist/{radio-group-otyvZvUk.js.map → radio-group-DxX0iJBo.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-81jniVTs.cjs → select-B9uj_u-s.cjs} +1 -1
- package/dist/{select-81jniVTs.cjs.map → select-B9uj_u-s.cjs.map} +1 -1
- package/dist/{select-9vXx1fhr.js → select-C7gkA-ab.js} +3 -3
- package/dist/{select-9vXx1fhr.js.map → select-C7gkA-ab.js.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/INDEX.md +1 -1
- package/dist/skills/SKILL.md +20 -18
- package/dist/skills/boat.md +21 -15
- package/dist/skills/fab.md +75 -0
- package/dist/skills/schmancy/INDEX.md +1 -1
- package/dist/skills/schmancy/SKILL.md +20 -18
- package/dist/skills/schmancy/boat.md +21 -15
- package/dist/skills/schmancy/fab.md +75 -0
- package/dist/skills/schmancy/steps.md +68 -34
- package/dist/skills/schmancy/theme.md +1 -1
- package/dist/skills/steps.md +68 -34
- package/dist/skills/theme.md +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +2 -2
- package/dist/{sound.service-CmIw63aM.cjs → sound.service-C7FDY_yD.cjs} +1 -1
- package/dist/{sound.service-CmIw63aM.cjs.map → sound.service-C7FDY_yD.cjs.map} +1 -1
- package/dist/{sound.service-D3ZSq1Kj.js → sound.service-O0232os6.js} +1 -1
- package/dist/{sound.service-D3ZSq1Kj.js.map → sound.service-O0232os6.js.map} +1 -1
- package/dist/{splash-screen-C5KAWXvA.cjs → splash-screen-DIS4odDr.cjs} +1 -1
- package/dist/{splash-screen-C5KAWXvA.cjs.map → splash-screen-DIS4odDr.cjs.map} +1 -1
- package/dist/{splash-screen-BOjrmGLk.js → splash-screen-jfE47xl0.js} +2 -2
- package/dist/{splash-screen-BOjrmGLk.js.map → splash-screen-jfE47xl0.js.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-C5g3p1J5.js → src-BP3h-9d9.js} +36 -35
- package/dist/{src-C5g3p1J5.js.map → src-BP3h-9d9.js.map} +1 -1
- package/dist/{src-qzUpLbje.cjs → src-Um_pzb-U.cjs} +1 -1
- package/dist/{src-qzUpLbje.cjs.map → src-Um_pzb-U.cjs.map} +1 -1
- package/dist/{state-Cex3rmx2.cjs → state-Bj0M9a6T.cjs} +1 -1
- package/dist/{state-Cex3rmx2.cjs.map → state-Bj0M9a6T.cjs.map} +1 -1
- package/dist/{state-CWBRTSvE.js → state-DscWQpoM.js} +1 -1
- package/dist/{state-CWBRTSvE.js.map → state-DscWQpoM.js.map} +1 -1
- package/dist/state.cjs +1 -1
- package/dist/state.js +2 -2
- package/dist/steps.cjs +35 -19
- package/dist/steps.cjs.map +1 -1
- package/dist/steps.js +96 -73
- package/dist/steps.js.map +1 -1
- package/dist/{surface-9S5scTsD.js → surface-B4Wn4SOO.js} +2 -2
- package/dist/{surface-9S5scTsD.js.map → surface-B4Wn4SOO.js.map} +1 -1
- package/dist/{surface-PfiejLuw.cjs → surface-DRq6cVW6.cjs} +1 -1
- package/dist/{surface-PfiejLuw.cjs.map → surface-DRq6cVW6.cjs.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 +2 -2
- package/dist/table.cjs +1 -1
- package/dist/table.js +2 -2
- package/dist/{tabs-uYvb1P06.cjs → tabs-Ca_fbHPW.cjs} +1 -1
- package/dist/{tabs-uYvb1P06.cjs.map → tabs-Ca_fbHPW.cjs.map} +1 -1
- package/dist/{tabs-BBOjAmgG.js → tabs-CnQPo-XS.js} +2 -2
- package/dist/{tabs-BBOjAmgG.js.map → tabs-CnQPo-XS.js.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-QzSj8Dkl.js → textarea-BvqENhTW.js} +2 -2
- package/dist/{textarea-QzSj8Dkl.js.map → textarea-BvqENhTW.js.map} +1 -1
- package/dist/{textarea-YPHX4g7Y.cjs → textarea-qr7oL8oU.cjs} +1 -1
- package/dist/{textarea-YPHX4g7Y.cjs.map → textarea-qr7oL8oU.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/theme-BSwJ2YZo.cjs +181 -0
- package/dist/{theme-iKUaS9JB.cjs.map → theme-BSwJ2YZo.cjs.map} +1 -1
- package/dist/{theme-C2Mp-VGt.js → theme-BV0EzHQ1.js} +6 -5
- package/dist/{theme-C2Mp-VGt.js.map → theme-BV0EzHQ1.js.map} +1 -1
- package/dist/{theme-button-CJmhxfMe.cjs → theme-button-C6fpUzPM.cjs} +1 -1
- package/dist/{theme-button-CJmhxfMe.cjs.map → theme-button-C6fpUzPM.cjs.map} +1 -1
- package/dist/{theme-button-DGWAXhzd.js → theme-button-O_xNCgI7.js} +2 -2
- package/dist/{theme-button-DGWAXhzd.js.map → theme-button-O_xNCgI7.js.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-hc4N-1Oz.js → theme.service-DwLhhOmP.js} +1 -1
- package/dist/{theme.service-hc4N-1Oz.js.map → theme.service-DwLhhOmP.js.map} +1 -1
- package/dist/{theme.service-p61RsJBF.cjs → theme.service-kn9MC025.cjs} +1 -1
- package/dist/{theme.service-p61RsJBF.cjs.map → theme.service-kn9MC025.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +2 -2
- package/dist/{typography-DwV0sqht.js → typography-Dtdooaic.js} +2 -2
- package/dist/{typography-DwV0sqht.js.map → typography-Dtdooaic.js.map} +1 -1
- package/dist/{typography-Bdt8RlX2.cjs → typography-opFYuUYS.cjs} +1 -1
- package/dist/{typography-Bdt8RlX2.cjs.map → typography-opFYuUYS.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-D2WfvNng.cjs → window-BSAemI9J.cjs} +1 -1
- package/dist/{window-D2WfvNng.cjs.map → window-BSAemI9J.cjs.map} +1 -1
- package/dist/{window-n4jN60B_.js → window-ConcHirJ.js} +3 -3
- package/dist/{window-n4jN60B_.js.map → window-ConcHirJ.js.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 +20 -18
- package/skills/schmancy/boat.md +21 -15
- package/skills/schmancy/fab.md +75 -0
- package/skills/schmancy/steps.md +68 -34
- package/skills/schmancy/theme.md +1 -1
- package/src/CLAUDE.md +22 -16
- package/src/boat/boat.test.ts +130 -0
- package/src/boat/boat.ts +144 -121
- package/src/button/icon-button.ts +18 -30
- package/src/chips/assist-chip.ts +2 -263
- package/src/chips/chips.ts +2 -259
- package/src/chips/filter-chip.ts +2 -255
- package/src/chips/index.ts +2 -5
- package/src/chips/input-chip.ts +2 -413
- package/src/chips/suggestion-chip.ts +2 -266
- package/src/directives/fill.ts +28 -5
- package/src/directives/reveal.ts +192 -118
- package/src/fab/fab.test.ts +101 -0
- package/src/fab/fab.ts +226 -0
- package/src/fab/index.ts +1 -0
- package/src/form/fields/chips/assist-chip.ts +263 -0
- package/src/form/fields/chips/chips.ts +234 -0
- package/src/form/fields/chips/filter-chip.ts +255 -0
- package/src/form/fields/chips/index.ts +5 -0
- package/src/form/fields/chips/input-chip.ts +413 -0
- package/src/form/fields/chips/suggestion-chip.ts +266 -0
- package/src/form/fields/date-range/date-range.test.ts +44 -0
- package/src/form/fields/date-range/date-range.ts +103 -97
- package/src/form/fields/index.ts +1 -0
- package/src/index.ts +2 -1
- package/src/overlay/overlay.animations.ts +2 -3
- package/src/overlay/overlay.component.ts +8 -4
- package/src/overlay/overlay.types.ts +14 -2
- package/src/steps/index.ts +1 -1
- package/src/steps/schmancy-step.ts +91 -65
- package/src/steps/{schmancy-steps-container.ts → schmancy-steps.ts} +18 -38
- package/src/steps/steps.context.ts +5 -4
- package/src/steps/steps.test.ts +120 -0
- package/src/theme/theme.component.ts +1 -0
- package/src/theme/theme.style.css +3 -0
- package/types/src/boat/boat.d.ts +27 -9
- package/types/src/boat/boat.test.d.ts +2 -0
- package/types/src/button/icon-button.d.ts +3 -2
- package/types/src/chips/assist-chip.d.ts +1 -47
- package/types/src/chips/chips.d.ts +1 -43
- package/types/src/chips/filter-chip.d.ts +1 -67
- package/types/src/chips/index.d.ts +1 -5
- package/types/src/chips/input-chip.d.ts +1 -82
- package/types/src/chips/suggestion-chip.d.ts +1 -52
- package/types/src/directives/reveal.d.ts +15 -5
- package/types/src/fab/fab.d.ts +80 -0
- package/types/src/fab/fab.test.d.ts +2 -0
- package/types/src/fab/index.d.ts +1 -0
- package/types/src/form/fields/chips/assist-chip.d.ts +47 -0
- package/types/src/form/fields/chips/chips.d.ts +35 -0
- package/types/src/form/fields/chips/filter-chip.d.ts +67 -0
- package/types/src/form/fields/chips/index.d.ts +5 -0
- package/types/src/form/fields/chips/input-chip.d.ts +82 -0
- package/types/src/form/fields/chips/suggestion-chip.d.ts +52 -0
- package/types/src/form/fields/date-range/date-range.d.ts +5 -10
- package/types/src/form/fields/index.d.ts +1 -0
- package/types/src/index.d.ts +2 -1
- package/types/src/overlay/overlay.component.d.ts +1 -0
- package/types/src/overlay/overlay.types.d.ts +12 -2
- package/types/src/steps/index.d.ts +1 -1
- package/types/src/steps/schmancy-step.d.ts +8 -23
- package/types/src/steps/{schmancy-steps-container.d.ts → schmancy-steps.d.ts} +8 -9
- package/types/src/steps/steps.context.d.ts +2 -1
- package/types/src/steps/steps.test.d.ts +2 -0
- package/types/src/theme/theme.component.d.ts +1 -0
- package/dist/SchmancyElement-CA0Wqt8m.js +0 -284
- package/dist/SchmancyElement-CA0Wqt8m.js.map +0 -1
- package/dist/SchmancyElement-CYIif26I.cjs +0 -2
- package/dist/SchmancyElement-CYIif26I.cjs.map +0 -1
- package/dist/boat-Vqjgo10B.cjs +0 -33
- package/dist/boat-Vqjgo10B.cjs.map +0 -1
- package/dist/boat-lr7MPZ7H.js.map +0 -1
- package/dist/chips-CXZ4dJCK.cjs.map +0 -1
- package/dist/chips-Dg6Lk6BT.js.map +0 -1
- package/dist/date-range-BU6WX7d5.js.map +0 -1
- package/dist/date-range-C-_be3_E.cjs.map +0 -1
- package/dist/directives-fLwDj6b0.cjs.map +0 -1
- package/dist/directives-zi1Mm2er.js.map +0 -1
- package/dist/input-chip-57tgNXKT.cjs.map +0 -1
- package/dist/input-chip-C6Lq1927.js.map +0 -1
- package/dist/overlay-BpNhd74N.js.map +0 -1
- package/dist/overlay-UQR2Dy3u.cjs.map +0 -1
- package/dist/theme-iKUaS9JB.cjs +0 -181
|
@@ -1,43 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { PropertyValues } from 'lit';
|
|
3
|
-
import type { FilterChipChangeEvent as SchmancyChipChangeEvent } from './filter-chip';
|
|
4
|
-
import { SchmancyFilterChip as SchmancyChip } from './filter-chip';
|
|
5
|
-
export default class SchmancyChips extends SchmancyElement {
|
|
6
|
-
static styles: import("lit").CSSResult[];
|
|
7
|
-
private value$;
|
|
8
|
-
private values$;
|
|
9
|
-
private _value;
|
|
10
|
-
private _values;
|
|
11
|
-
private _multi;
|
|
12
|
-
private _valueSet;
|
|
13
|
-
private _valuesSet;
|
|
14
|
-
/**
|
|
15
|
-
* @deprecated Use .values for multi-selection or .value for single-selection instead.
|
|
16
|
-
* The mode is now automatically determined based on which property is used.
|
|
17
|
-
*/
|
|
18
|
-
get multi(): boolean;
|
|
19
|
-
set multi(value: boolean);
|
|
20
|
-
/**
|
|
21
|
-
* Automatically determines the selection mode based on which properties are in use
|
|
22
|
-
*/
|
|
23
|
-
private get mode();
|
|
24
|
-
get values(): string[];
|
|
25
|
-
set values(value: string[]);
|
|
26
|
-
get value(): string;
|
|
27
|
-
set value(value: string);
|
|
28
|
-
chips: (SchmancyChip | HTMLElement)[];
|
|
29
|
-
wrap: boolean;
|
|
30
|
-
required: boolean;
|
|
31
|
-
justify: 'start' | 'center' | 'end';
|
|
32
|
-
connectedCallback(): void;
|
|
33
|
-
private updateChipStates;
|
|
34
|
-
change(e: CustomEvent<SchmancyChipChangeEvent>): Promise<void>;
|
|
35
|
-
protected firstUpdated(_changedProperties: PropertyValues): void;
|
|
36
|
-
protected render(): unknown;
|
|
37
|
-
}
|
|
38
|
-
declare global {
|
|
39
|
-
interface HTMLElementTagNameMap {
|
|
40
|
-
'schmancy-chips': SchmancyChips;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
export type SchmancyChipsChangeEvent = string | Array<string>;
|
|
1
|
+
export * from '../form/fields/chips/chips';
|
|
@@ -1,67 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Filter chip component for content filtering.
|
|
4
|
-
*
|
|
5
|
-
* Filter chips are the ONLY chip type that maintains persistent selected state.
|
|
6
|
-
* They are used for filtering content by toggling on/off different filter criteria.
|
|
7
|
-
*
|
|
8
|
-
* @fires change - Dispatched when selection state changes with {value, selected}
|
|
9
|
-
* @fires remove - Dispatched when remove button is clicked (if removable)
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```html
|
|
13
|
-
* <schmancy-filter-chip value="category-1" selected>
|
|
14
|
-
* Category 1
|
|
15
|
-
* </schmancy-filter-chip>
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
|
-
export declare class SchmancyFilterChip extends SchmancyElement {
|
|
19
|
-
static styles: import("lit").CSSResult[];
|
|
20
|
-
/** Unique identifier for this filter chip */
|
|
21
|
-
value: string;
|
|
22
|
-
/** Whether the filter chip is selected (active filter) */
|
|
23
|
-
private _selected;
|
|
24
|
-
get selected(): boolean;
|
|
25
|
-
set selected(value: boolean);
|
|
26
|
-
/** Whether to show a remove button */
|
|
27
|
-
removable: boolean;
|
|
28
|
-
/** Whether the chip is disabled */
|
|
29
|
-
disabled: boolean;
|
|
30
|
-
/** Whether to use elevated style with shadow */
|
|
31
|
-
elevated: boolean;
|
|
32
|
-
constructor();
|
|
33
|
-
protected static shadowRootOptions: {
|
|
34
|
-
delegatesFocus: boolean;
|
|
35
|
-
clonable?: boolean;
|
|
36
|
-
customElementRegistry?: CustomElementRegistry;
|
|
37
|
-
mode: ShadowRootMode;
|
|
38
|
-
serializable?: boolean;
|
|
39
|
-
slotAssignment?: SlotAssignmentMode;
|
|
40
|
-
};
|
|
41
|
-
static formAssociated: boolean;
|
|
42
|
-
internals: ElementInternals | undefined;
|
|
43
|
-
get form(): HTMLFormElement;
|
|
44
|
-
connectedCallback(): void;
|
|
45
|
-
protected updated(changed: Map<string, unknown>): void;
|
|
46
|
-
formResetCallback(): void;
|
|
47
|
-
formDisabledCallback(disabled: boolean): void;
|
|
48
|
-
private handleClick;
|
|
49
|
-
private handleRemove;
|
|
50
|
-
private handleKeyDown;
|
|
51
|
-
protected render(): unknown;
|
|
52
|
-
}
|
|
53
|
-
export { SchmancyFilterChip as SchmancyChip };
|
|
54
|
-
declare global {
|
|
55
|
-
interface HTMLElementTagNameMap {
|
|
56
|
-
'schmancy-chip': SchmancyFilterChip;
|
|
57
|
-
'schmancy-filter-chip': SchmancyFilterChip;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
export type FilterChipChangeEvent = {
|
|
61
|
-
value: string;
|
|
62
|
-
selected: boolean;
|
|
63
|
-
};
|
|
64
|
-
export type FilterChipRemoveEvent = {
|
|
65
|
-
value: string;
|
|
66
|
-
};
|
|
67
|
-
export type SchmancyChipChangeEvent = FilterChipChangeEvent;
|
|
1
|
+
export * from '../form/fields/chips/filter-chip';
|
|
@@ -1,82 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Input chip component - represents user-provided information that can be removed.
|
|
4
|
-
*
|
|
5
|
-
* IMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state.
|
|
6
|
-
* They represent discrete pieces of user input (like entered tags, selections from lists, etc.)
|
|
7
|
-
* that can only be removed, not toggled on/off.
|
|
8
|
-
*
|
|
9
|
-
* Use cases:
|
|
10
|
-
* - Displaying selected recipients in an email
|
|
11
|
-
* - Showing applied filters that can be removed
|
|
12
|
-
* - Tags or keywords entered by the user
|
|
13
|
-
* - Selected items from a multi-select dropdown
|
|
14
|
-
*
|
|
15
|
-
* @fires click - Optional click event on chip body (value)
|
|
16
|
-
* @fires remove - Dispatched when remove button is clicked (value)
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```html
|
|
20
|
-
* <schmancy-input-chip value="john@example.com" avatar="/avatars/john.jpg">
|
|
21
|
-
* John Doe
|
|
22
|
-
* </schmancy-input-chip>
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
export declare class SchmancyInputChip extends SchmancyElement {
|
|
26
|
-
static styles: import("lit").CSSResult[];
|
|
27
|
-
/** Value identifier for the chip */
|
|
28
|
-
value: string;
|
|
29
|
-
/** Optional icon name (Material Symbols) */
|
|
30
|
-
icon: string;
|
|
31
|
-
/** Optional avatar image URL */
|
|
32
|
-
avatar: string;
|
|
33
|
-
/** Whether to show remove button (default true for input chips) */
|
|
34
|
-
removable: boolean;
|
|
35
|
-
/** Disable the chip */
|
|
36
|
-
disabled: boolean;
|
|
37
|
-
/** Elevated style variant */
|
|
38
|
-
elevated: boolean;
|
|
39
|
-
private chipHover$;
|
|
40
|
-
private removeHover$;
|
|
41
|
-
private focused$;
|
|
42
|
-
private pressed$;
|
|
43
|
-
uiState: {
|
|
44
|
-
chipHover: boolean;
|
|
45
|
-
removeHover: boolean;
|
|
46
|
-
focused: boolean;
|
|
47
|
-
pressed: boolean;
|
|
48
|
-
};
|
|
49
|
-
private ripples;
|
|
50
|
-
private nextRippleId;
|
|
51
|
-
constructor();
|
|
52
|
-
protected static shadowRootOptions: {
|
|
53
|
-
delegatesFocus: boolean;
|
|
54
|
-
clonable?: boolean;
|
|
55
|
-
customElementRegistry?: CustomElementRegistry;
|
|
56
|
-
mode: ShadowRootMode;
|
|
57
|
-
serializable?: boolean;
|
|
58
|
-
slotAssignment?: SlotAssignmentMode;
|
|
59
|
-
};
|
|
60
|
-
static formAssociated: boolean;
|
|
61
|
-
internals: ElementInternals | undefined;
|
|
62
|
-
get form(): HTMLFormElement;
|
|
63
|
-
protected updated(changed: Map<string, unknown>): void;
|
|
64
|
-
connectedCallback(): void;
|
|
65
|
-
private handleChipClick;
|
|
66
|
-
private handleRemove;
|
|
67
|
-
private handleKeyDown;
|
|
68
|
-
private handleFocus;
|
|
69
|
-
private handleBlur;
|
|
70
|
-
protected render(): unknown;
|
|
71
|
-
}
|
|
72
|
-
declare global {
|
|
73
|
-
interface HTMLElementTagNameMap {
|
|
74
|
-
'schmancy-input-chip': SchmancyInputChip;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
export type InputChipClickEvent = {
|
|
78
|
-
value: string;
|
|
79
|
-
};
|
|
80
|
-
export type InputChipRemoveEvent = {
|
|
81
|
-
value: string;
|
|
82
|
-
};
|
|
1
|
+
export * from '../form/fields/chips/input-chip';
|
|
@@ -1,52 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Suggestion chip component - provides contextual recommendations to users
|
|
4
|
-
*
|
|
5
|
-
* IMPORTANT: Suggestion chips do NOT have a selected state. They are designed to
|
|
6
|
-
* provide suggestions and recommendations that trigger actions when clicked.
|
|
7
|
-
* Unlike filter chips, they cannot be toggled on/off.
|
|
8
|
-
*
|
|
9
|
-
* Pure Schmancy implementation with Tailwind CSS and RxJS state management
|
|
10
|
-
*/
|
|
11
|
-
export declare class SchmancySuggestionChip extends SchmancyElement {
|
|
12
|
-
static styles: import("lit").CSSResult[];
|
|
13
|
-
/** Value identifier for the chip */
|
|
14
|
-
value: string;
|
|
15
|
-
/** Optional icon name (Material Symbols) */
|
|
16
|
-
icon: string;
|
|
17
|
-
/** Optional href for navigation */
|
|
18
|
-
href: string;
|
|
19
|
-
/** Target for navigation (e.g., '_blank') */
|
|
20
|
-
target: string;
|
|
21
|
-
/** Disable the chip */
|
|
22
|
-
disabled: boolean;
|
|
23
|
-
/** Elevated style variant - flat by default per M3 spec */
|
|
24
|
-
elevated: boolean;
|
|
25
|
-
private hover$;
|
|
26
|
-
private pressed$;
|
|
27
|
-
private focused$;
|
|
28
|
-
private ripples;
|
|
29
|
-
protected static shadowRootOptions: {
|
|
30
|
-
delegatesFocus: boolean;
|
|
31
|
-
clonable?: boolean;
|
|
32
|
-
customElementRegistry?: CustomElementRegistry;
|
|
33
|
-
mode: ShadowRootMode;
|
|
34
|
-
serializable?: boolean;
|
|
35
|
-
slotAssignment?: SlotAssignmentMode;
|
|
36
|
-
};
|
|
37
|
-
private nextRippleId;
|
|
38
|
-
connectedCallback(): void;
|
|
39
|
-
private handleClick;
|
|
40
|
-
private handleKeyDown;
|
|
41
|
-
private handleFocus;
|
|
42
|
-
private handleBlur;
|
|
43
|
-
protected render(): unknown;
|
|
44
|
-
}
|
|
45
|
-
declare global {
|
|
46
|
-
interface HTMLElementTagNameMap {
|
|
47
|
-
'schmancy-suggestion-chip': SchmancySuggestionChip;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
export type SuggestionChipActionEvent = {
|
|
51
|
-
value: string;
|
|
52
|
-
};
|
|
1
|
+
export * from '../form/fields/chips/suggestion-chip';
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
* Uses Blackbird spring physics for natural, organic motion.
|
|
5
5
|
* Element stays in DOM to prevent layout shift.
|
|
6
6
|
*
|
|
7
|
+
* When fully revealed, no directive-imposed max-height or overflow:hidden
|
|
8
|
+
* is left on the element — it lays out at its natural full height.
|
|
9
|
+
*
|
|
7
10
|
* Usage:
|
|
8
11
|
* ```ts
|
|
9
12
|
* // Basic - uses 'smooth' preset
|
|
@@ -12,7 +15,7 @@
|
|
|
12
15
|
* // With preset - 'snappy' for quick interactions
|
|
13
16
|
* html`<div ${reveal(this.isVisible, { preset: 'snappy' })}>Content</div>`
|
|
14
17
|
*
|
|
15
|
-
* //
|
|
18
|
+
* // Opt-in scroll cap (explicit maxHeight — keeps overflow:auto, does NOT clip)
|
|
16
19
|
* html`<div ${reveal(this.items.length > 1, { maxHeight: '200px' })}>Content</div>`
|
|
17
20
|
*
|
|
18
21
|
* // Bouncy for playful UI
|
|
@@ -28,12 +31,17 @@
|
|
|
28
31
|
* @see packages/schmancy/src/utils/animation.ts for Blackbird system
|
|
29
32
|
*/
|
|
30
33
|
import { AsyncDirective } from 'lit/async-directive.js';
|
|
31
|
-
import type
|
|
34
|
+
import { type ElementPart, type PartInfo } from 'lit/directive.js';
|
|
32
35
|
export type RevealPreset = 'smooth' | 'snappy' | 'bouncy' | 'gentle';
|
|
33
36
|
export interface RevealOptions {
|
|
34
37
|
/** Animation preset (default: 'smooth') */
|
|
35
38
|
preset?: RevealPreset;
|
|
36
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Explicit scroll cap (opt-in). When set the element is constrained to
|
|
41
|
+
* this height with overflow:auto — content scrolls rather than clips.
|
|
42
|
+
* When omitted (the default) the element is fully unconstrained after
|
|
43
|
+
* opening: no max-height, no overflow:hidden left on it.
|
|
44
|
+
*/
|
|
37
45
|
maxHeight?: string;
|
|
38
46
|
/** Custom duration override in ms (uses preset duration if not specified) */
|
|
39
47
|
duration?: number;
|
|
@@ -42,11 +50,13 @@ export interface RevealOptions {
|
|
|
42
50
|
}
|
|
43
51
|
declare class RevealDirective extends AsyncDirective {
|
|
44
52
|
private initialized;
|
|
45
|
-
|
|
53
|
+
/** Fires on disconnect to tear down the transitionend subscription. */
|
|
54
|
+
private teardown$;
|
|
55
|
+
/** True if this is the very first update call — used to detect always-true initial mount. */
|
|
56
|
+
private firstUpdate;
|
|
46
57
|
constructor(partInfo: PartInfo);
|
|
47
58
|
render(_show?: boolean, _options?: RevealOptions): symbol;
|
|
48
59
|
update(part: ElementPart, [show, options]: [boolean | undefined, RevealOptions?]): symbol;
|
|
49
|
-
private setupElement;
|
|
50
60
|
disconnected(): void;
|
|
51
61
|
reconnected(): void;
|
|
52
62
|
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { SchmancyElement } from '@mixins/index';
|
|
2
|
+
export type FabVariant = 'surface' | 'primary' | 'secondary' | 'tertiary';
|
|
3
|
+
export type FabSize = 'small' | 'medium' | 'large';
|
|
4
|
+
/**
|
|
5
|
+
* Material 3 Floating Action Button.
|
|
6
|
+
*
|
|
7
|
+
* Mirrors the `md-fab` reference implementation
|
|
8
|
+
* (github.com/material-components/material-web) and the M3 spec
|
|
9
|
+
* (m3.material.io/components/floating-action-button): four colour
|
|
10
|
+
* variants, three container sizes, an extended form (set `label`),
|
|
11
|
+
* and a `lowered` elevation register. Per M3 guidance a FAB is never
|
|
12
|
+
* disabled, so there is no `disabled` property.
|
|
13
|
+
*
|
|
14
|
+
* Sizing, shape, icon size and elevation are M3 design tokens expressed
|
|
15
|
+
* as `:host` rules (the same token-driven model as `md-fab`'s SCSS);
|
|
16
|
+
* colour roles and the state layer are schmancy theme utilities. The
|
|
17
|
+
* host shrink-wraps the inner button and clips its rounded shape.
|
|
18
|
+
*
|
|
19
|
+
* @element schmancy-fab
|
|
20
|
+
* @slot - The icon (typically `<schmancy-icon>`).
|
|
21
|
+
* @csspart base - The underlying native `<button>`.
|
|
22
|
+
*/
|
|
23
|
+
export declare class SchmancyFab extends SchmancyElement {
|
|
24
|
+
static styles: import("lit").CSSResult[];
|
|
25
|
+
protected static shadowRootOptions: {
|
|
26
|
+
mode: string;
|
|
27
|
+
delegatesFocus: boolean;
|
|
28
|
+
clonable?: boolean;
|
|
29
|
+
customElementRegistry?: CustomElementRegistry;
|
|
30
|
+
serializable?: boolean;
|
|
31
|
+
slotAssignment?: SlotAssignmentMode;
|
|
32
|
+
};
|
|
33
|
+
private nativeElement;
|
|
34
|
+
private ariaLabelValue;
|
|
35
|
+
/**
|
|
36
|
+
* Colour variant. M3 maps each to a container + on-container role.
|
|
37
|
+
* @attr
|
|
38
|
+
* @default 'surface'
|
|
39
|
+
*/
|
|
40
|
+
variant: FabVariant;
|
|
41
|
+
/**
|
|
42
|
+
* Container size. Ignored while extended (extended is always 56dp tall).
|
|
43
|
+
* @attr
|
|
44
|
+
* @default 'medium'
|
|
45
|
+
*/
|
|
46
|
+
size: FabSize;
|
|
47
|
+
/**
|
|
48
|
+
* Extended-FAB label. A non-empty value switches the FAB to its
|
|
49
|
+
* extended form (icon + text), exactly as `md-fab` derives extended
|
|
50
|
+
* from a truthy label.
|
|
51
|
+
* @attr
|
|
52
|
+
*/
|
|
53
|
+
label: string;
|
|
54
|
+
/**
|
|
55
|
+
* Reflected mirror of "label is non-empty" so `:host([extended])`
|
|
56
|
+
* can drive the extended geometry. Synced from `label`; read it,
|
|
57
|
+
* don't set it.
|
|
58
|
+
* @attr
|
|
59
|
+
*/
|
|
60
|
+
extended: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Lowers the FAB's elevation register (M3 lowered FAB).
|
|
63
|
+
* @attr
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
lowered: boolean;
|
|
67
|
+
set ariaLabel(value: string);
|
|
68
|
+
get ariaLabel(): string;
|
|
69
|
+
/** Sets focus on the FAB. */
|
|
70
|
+
focus(options?: FocusOptions): void;
|
|
71
|
+
/** Removes focus from the FAB. */
|
|
72
|
+
blur(): void;
|
|
73
|
+
protected willUpdate(changed: Map<string, unknown>): void;
|
|
74
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
75
|
+
}
|
|
76
|
+
declare global {
|
|
77
|
+
interface HTMLElementTagNameMap {
|
|
78
|
+
'schmancy-fab': SchmancyFab;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './fab';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { SchmancyElement } from '@mixins/index';
|
|
2
|
+
/**
|
|
3
|
+
* Assist chip component - prompts user actions like opening calendar events or sharing content
|
|
4
|
+
* Pure Schmancy implementation with Tailwind CSS and RxJS state management
|
|
5
|
+
*/
|
|
6
|
+
export declare class SchmancyAssistChip extends SchmancyElement {
|
|
7
|
+
static styles: import("lit").CSSResult[];
|
|
8
|
+
/** Value identifier for the chip */
|
|
9
|
+
value: string;
|
|
10
|
+
/** Optional icon name (Material Symbols) */
|
|
11
|
+
icon: string;
|
|
12
|
+
/** Optional href for navigation */
|
|
13
|
+
href: string;
|
|
14
|
+
/** Target for navigation (e.g., '_blank') */
|
|
15
|
+
target: string;
|
|
16
|
+
/** Disable the chip */
|
|
17
|
+
disabled: boolean;
|
|
18
|
+
/** Elevated style variant - true by default per M3 spec for assist chips */
|
|
19
|
+
elevated: boolean;
|
|
20
|
+
private hover$;
|
|
21
|
+
private pressed$;
|
|
22
|
+
private focused$;
|
|
23
|
+
private ripples;
|
|
24
|
+
protected static shadowRootOptions: {
|
|
25
|
+
delegatesFocus: boolean;
|
|
26
|
+
clonable?: boolean;
|
|
27
|
+
customElementRegistry?: CustomElementRegistry;
|
|
28
|
+
mode: ShadowRootMode;
|
|
29
|
+
serializable?: boolean;
|
|
30
|
+
slotAssignment?: SlotAssignmentMode;
|
|
31
|
+
};
|
|
32
|
+
private nextRippleId;
|
|
33
|
+
connectedCallback(): void;
|
|
34
|
+
private handleClick;
|
|
35
|
+
private handleKeyDown;
|
|
36
|
+
private handleFocus;
|
|
37
|
+
private handleBlur;
|
|
38
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
39
|
+
}
|
|
40
|
+
declare global {
|
|
41
|
+
interface HTMLElementTagNameMap {
|
|
42
|
+
'schmancy-assist-chip': SchmancyAssistChip;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export type AssistChipActionEvent = {
|
|
46
|
+
value: string;
|
|
47
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { PropertyValues } from 'lit';
|
|
2
|
+
import type { FilterChipChangeEvent as SchmancyChipChangeEvent } from './filter-chip';
|
|
3
|
+
import { SchmancyFilterChip as SchmancyChip } from './filter-chip';
|
|
4
|
+
export type SchmancyChipsChangeEvent = CustomEvent<{
|
|
5
|
+
value: string | string[];
|
|
6
|
+
}>;
|
|
7
|
+
declare const SchmancyChips_base: import("../../../../mixins").Constructor<import("@mixins/formField.mixin").IFormFieldMixin> & import("../../../../mixins").Constructor<import("../../../../mixins").ITailwindElementMixin> & import("../../../../mixins").Constructor<import("lit").LitElement> & import("../../../../mixins").Constructor<import("../../../../mixins").IBaseMixin>;
|
|
8
|
+
export default class SchmancyChips extends SchmancyChips_base {
|
|
9
|
+
/** Whether multiple chips can be selected simultaneously. */
|
|
10
|
+
multi: boolean;
|
|
11
|
+
get value(): string | string[];
|
|
12
|
+
set value(v: string | string[]);
|
|
13
|
+
/** Typed convenience alias for multi-mode consumers. */
|
|
14
|
+
get values(): string[];
|
|
15
|
+
set values(v: string[]);
|
|
16
|
+
wrap: boolean;
|
|
17
|
+
justify: 'start' | 'center' | 'end';
|
|
18
|
+
chips: (SchmancyChip | HTMLElement)[];
|
|
19
|
+
private value$;
|
|
20
|
+
private values$;
|
|
21
|
+
protected willUpdate(changedProps: PropertyValues): void;
|
|
22
|
+
checkValidity(): boolean;
|
|
23
|
+
connectedCallback(): void;
|
|
24
|
+
private updateChipStates;
|
|
25
|
+
change(e: CustomEvent<SchmancyChipChangeEvent>): Promise<void>;
|
|
26
|
+
resetForm(): void;
|
|
27
|
+
protected firstUpdated(_changedProperties: PropertyValues): void;
|
|
28
|
+
protected render(): unknown;
|
|
29
|
+
}
|
|
30
|
+
declare global {
|
|
31
|
+
interface HTMLElementTagNameMap {
|
|
32
|
+
'schmancy-chips': SchmancyChips;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { SchmancyElement } from '@mixins/index';
|
|
2
|
+
/**
|
|
3
|
+
* Filter chip component for content filtering.
|
|
4
|
+
*
|
|
5
|
+
* Filter chips are the ONLY chip type that maintains persistent selected state.
|
|
6
|
+
* They are used for filtering content by toggling on/off different filter criteria.
|
|
7
|
+
*
|
|
8
|
+
* @fires change - Dispatched when selection state changes with {value, selected}
|
|
9
|
+
* @fires remove - Dispatched when remove button is clicked (if removable)
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```html
|
|
13
|
+
* <schmancy-filter-chip value="category-1" selected>
|
|
14
|
+
* Category 1
|
|
15
|
+
* </schmancy-filter-chip>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class SchmancyFilterChip extends SchmancyElement {
|
|
19
|
+
static styles: import("lit").CSSResult[];
|
|
20
|
+
/** Unique identifier for this filter chip */
|
|
21
|
+
value: string;
|
|
22
|
+
/** Whether the filter chip is selected (active filter) */
|
|
23
|
+
private _selected;
|
|
24
|
+
get selected(): boolean;
|
|
25
|
+
set selected(value: boolean);
|
|
26
|
+
/** Whether to show a remove button */
|
|
27
|
+
removable: boolean;
|
|
28
|
+
/** Whether the chip is disabled */
|
|
29
|
+
disabled: boolean;
|
|
30
|
+
/** Whether to use elevated style with shadow */
|
|
31
|
+
elevated: boolean;
|
|
32
|
+
constructor();
|
|
33
|
+
protected static shadowRootOptions: {
|
|
34
|
+
delegatesFocus: boolean;
|
|
35
|
+
clonable?: boolean;
|
|
36
|
+
customElementRegistry?: CustomElementRegistry;
|
|
37
|
+
mode: ShadowRootMode;
|
|
38
|
+
serializable?: boolean;
|
|
39
|
+
slotAssignment?: SlotAssignmentMode;
|
|
40
|
+
};
|
|
41
|
+
static formAssociated: boolean;
|
|
42
|
+
internals: ElementInternals | undefined;
|
|
43
|
+
get form(): HTMLFormElement;
|
|
44
|
+
connectedCallback(): void;
|
|
45
|
+
protected updated(changed: Map<string, unknown>): void;
|
|
46
|
+
formResetCallback(): void;
|
|
47
|
+
formDisabledCallback(disabled: boolean): void;
|
|
48
|
+
private handleClick;
|
|
49
|
+
private handleRemove;
|
|
50
|
+
private handleKeyDown;
|
|
51
|
+
protected render(): unknown;
|
|
52
|
+
}
|
|
53
|
+
export { SchmancyFilterChip as SchmancyChip };
|
|
54
|
+
declare global {
|
|
55
|
+
interface HTMLElementTagNameMap {
|
|
56
|
+
'schmancy-chip': SchmancyFilterChip;
|
|
57
|
+
'schmancy-filter-chip': SchmancyFilterChip;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export type FilterChipChangeEvent = {
|
|
61
|
+
value: string;
|
|
62
|
+
selected: boolean;
|
|
63
|
+
};
|
|
64
|
+
export type FilterChipRemoveEvent = {
|
|
65
|
+
value: string;
|
|
66
|
+
};
|
|
67
|
+
export type SchmancyChipChangeEvent = FilterChipChangeEvent;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { SchmancyElement } from '@mixins/index';
|
|
2
|
+
/**
|
|
3
|
+
* Input chip component - represents user-provided information that can be removed.
|
|
4
|
+
*
|
|
5
|
+
* IMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state.
|
|
6
|
+
* They represent discrete pieces of user input (like entered tags, selections from lists, etc.)
|
|
7
|
+
* that can only be removed, not toggled on/off.
|
|
8
|
+
*
|
|
9
|
+
* Use cases:
|
|
10
|
+
* - Displaying selected recipients in an email
|
|
11
|
+
* - Showing applied filters that can be removed
|
|
12
|
+
* - Tags or keywords entered by the user
|
|
13
|
+
* - Selected items from a multi-select dropdown
|
|
14
|
+
*
|
|
15
|
+
* @fires click - Optional click event on chip body (value)
|
|
16
|
+
* @fires remove - Dispatched when remove button is clicked (value)
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```html
|
|
20
|
+
* <schmancy-input-chip value="john@example.com" avatar="/avatars/john.jpg">
|
|
21
|
+
* John Doe
|
|
22
|
+
* </schmancy-input-chip>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare class SchmancyInputChip extends SchmancyElement {
|
|
26
|
+
static styles: import("lit").CSSResult[];
|
|
27
|
+
/** Value identifier for the chip */
|
|
28
|
+
value: string;
|
|
29
|
+
/** Optional icon name (Material Symbols) */
|
|
30
|
+
icon: string;
|
|
31
|
+
/** Optional avatar image URL */
|
|
32
|
+
avatar: string;
|
|
33
|
+
/** Whether to show remove button (default true for input chips) */
|
|
34
|
+
removable: boolean;
|
|
35
|
+
/** Disable the chip */
|
|
36
|
+
disabled: boolean;
|
|
37
|
+
/** Elevated style variant */
|
|
38
|
+
elevated: boolean;
|
|
39
|
+
private chipHover$;
|
|
40
|
+
private removeHover$;
|
|
41
|
+
private focused$;
|
|
42
|
+
private pressed$;
|
|
43
|
+
uiState: {
|
|
44
|
+
chipHover: boolean;
|
|
45
|
+
removeHover: boolean;
|
|
46
|
+
focused: boolean;
|
|
47
|
+
pressed: boolean;
|
|
48
|
+
};
|
|
49
|
+
private ripples;
|
|
50
|
+
private nextRippleId;
|
|
51
|
+
constructor();
|
|
52
|
+
protected static shadowRootOptions: {
|
|
53
|
+
delegatesFocus: boolean;
|
|
54
|
+
clonable?: boolean;
|
|
55
|
+
customElementRegistry?: CustomElementRegistry;
|
|
56
|
+
mode: ShadowRootMode;
|
|
57
|
+
serializable?: boolean;
|
|
58
|
+
slotAssignment?: SlotAssignmentMode;
|
|
59
|
+
};
|
|
60
|
+
static formAssociated: boolean;
|
|
61
|
+
internals: ElementInternals | undefined;
|
|
62
|
+
get form(): HTMLFormElement;
|
|
63
|
+
protected updated(changed: Map<string, unknown>): void;
|
|
64
|
+
connectedCallback(): void;
|
|
65
|
+
private handleChipClick;
|
|
66
|
+
private handleRemove;
|
|
67
|
+
private handleKeyDown;
|
|
68
|
+
private handleFocus;
|
|
69
|
+
private handleBlur;
|
|
70
|
+
protected render(): unknown;
|
|
71
|
+
}
|
|
72
|
+
declare global {
|
|
73
|
+
interface HTMLElementTagNameMap {
|
|
74
|
+
'schmancy-input-chip': SchmancyInputChip;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export type InputChipClickEvent = {
|
|
78
|
+
value: string;
|
|
79
|
+
};
|
|
80
|
+
export type InputChipRemoveEvent = {
|
|
81
|
+
value: string;
|
|
82
|
+
};
|