@mhmo91/schmancy 0.9.28 → 0.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +1005 -2215
- package/dist/active-host-CcIa2tmW.cjs +1 -0
- package/dist/active-host-CcIa2tmW.cjs.map +1 -0
- package/dist/active-host-CvNYoprt.js +57 -0
- package/dist/active-host-CvNYoprt.js.map +1 -0
- package/dist/agent/{flow-CvG1fLW5.js.map → flow-CaPi2G8y.js.map} +1 -1
- package/dist/agent/{rolldown-runtime-BIIoCavz.js → rolldown-runtime-DsMetpgY.js} +2 -9
- package/dist/agent/schmancy.agent.js +12678 -7791
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +265 -1453
- package/dist/agent/{vendor-highlight-Dow87ZL_.js → vendor-highlight-CHJZQQB7.js} +85 -90
- package/dist/agent/{vendor-highlight-Dow87ZL_.js.map → vendor-highlight-CHJZQQB7.js.map} +1 -1
- package/dist/agent/{vendor-jsqr-Bl4iAtKC.js → vendor-jsqr-r7GNh4P3.js} +1 -1
- package/dist/agent/{vendor-jsqr-Bl4iAtKC.js.map → vendor-jsqr-r7GNh4P3.js.map} +1 -1
- package/dist/agent/{vendor-material-color-DcL7ZPxx.js.map → vendor-material-color-Be96dpGE.js.map} +1 -1
- package/dist/{animation-hXFClrIn.js.map → animation-BK-8BwY8.js.map} +1 -1
- package/dist/{animation-CQRdLgzX.cjs.map → animation-CO_Csq84.cjs.map} +1 -1
- package/dist/{area-BGBCMC79.js → area-DHVANBbr.js} +20 -15
- package/dist/area-DHVANBbr.js.map +1 -0
- package/dist/area-ZupIezvU.cjs +12 -0
- package/dist/area-ZupIezvU.cjs.map +1 -0
- package/dist/area.cjs +1 -1
- package/dist/area.js +2 -2
- package/dist/{audio-Dvr-RBzE.cjs → audio-CluX8Qpq.cjs} +1 -1
- package/dist/{audio-Dvr-RBzE.cjs.map → audio-CluX8Qpq.cjs.map} +1 -1
- package/dist/{audio-ql6nvY0y.js → audio-DcXphulJ.js} +1 -1
- package/dist/{audio-ql6nvY0y.js.map → audio-DcXphulJ.js.map} +1 -1
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/autocomplete-Bn525CTp.cjs +115 -0
- package/dist/autocomplete-Bn525CTp.cjs.map +1 -0
- package/dist/{autocomplete-C2P0Soht.js → autocomplete-pHvsyfbH.js} +29 -26
- package/dist/autocomplete-pHvsyfbH.js.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatar.cjs +7 -0
- package/dist/avatar.cjs.map +1 -0
- package/dist/avatar.js +87 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/boat-IyEtsNI4.cjs +80 -0
- package/dist/boat-IyEtsNI4.cjs.map +1 -0
- package/dist/{boat-DXZ0k7oa.js → boat-_Yv3M6YM.js} +43 -54
- package/dist/boat-_Yv3M6YM.js.map +1 -0
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +4 -4
- package/dist/breadcrumb.cjs.map +1 -1
- package/dist/breadcrumb.js +16 -11
- package/dist/breadcrumb.js.map +1 -1
- package/dist/{busy-DGYhpTnO.cjs → busy-CjM39APN.cjs} +4 -4
- package/dist/busy-CjM39APN.cjs.map +1 -0
- package/dist/{busy-iRjq6Nvd.js → busy-Ck2IXJ4r.js} +14 -9
- package/dist/busy-Ck2IXJ4r.js.map +1 -0
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +24 -24
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +42 -37
- package/dist/button.js.map +1 -1
- package/dist/{card-DjYnCckw.cjs → card-DIxDuuth.cjs} +6 -6
- package/dist/card-DIxDuuth.cjs.map +1 -0
- package/dist/{card-wUTjx0EC.js → card-DUWZmMHc.js} +41 -30
- package/dist/card-DUWZmMHc.js.map +1 -0
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/charts.cjs +5 -5
- package/dist/charts.cjs.map +1 -1
- package/dist/charts.js +21 -16
- package/dist/charts.js.map +1 -1
- package/dist/checkbox-CGdFXuWQ.cjs +39 -0
- package/dist/checkbox-CGdFXuWQ.cjs.map +1 -0
- package/dist/{checkbox-VBSenxgb.js → checkbox-DPS1mWG-.js} +86 -82
- package/dist/checkbox-DPS1mWG-.js.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-BDS9lkPa.js → chips-BnnXQSA-.js} +146 -136
- package/dist/chips-BnnXQSA-.js.map +1 -0
- package/dist/{chips-D6ptH5re.cjs → chips-UoFbwmlG.cjs} +19 -19
- package/dist/chips-UoFbwmlG.cjs.map +1 -0
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/{code-highlight-BzRmBZzz.cjs → code-highlight-CMilN0B8.cjs} +15 -15
- package/dist/code-highlight-CMilN0B8.cjs.map +1 -0
- package/dist/{code-highlight-Bi91XHJN.js → code-highlight-kFUJ1Eet.js} +37 -40
- package/dist/code-highlight-kFUJ1Eet.js.map +1 -0
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/connectivity.cjs +2 -2
- package/dist/connectivity.cjs.map +1 -1
- package/dist/connectivity.js +10 -7
- package/dist/connectivity.js.map +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +2 -2
- package/dist/context-Bdu1xt0W.js +3 -0
- package/dist/{context-BerzpUhI.js.map → context-Bdu1xt0W.js.map} +1 -1
- package/dist/context-daN5G6HS.cjs +1 -0
- package/dist/{context-C6dHUHhi.cjs.map → context-daN5G6HS.cjs.map} +1 -1
- package/dist/{cursor-glow-BydlDInj.js → cursor-glow-Ah7VXSj7.js} +1 -1
- package/dist/{cursor-glow-BydlDInj.js.map → cursor-glow-Ah7VXSj7.js.map} +1 -1
- package/dist/{cursor-glow-Duw9jHmh.cjs → cursor-glow-Bulq-38P.cjs} +1 -1
- package/dist/{cursor-glow-Duw9jHmh.cjs.map → cursor-glow-Bulq-38P.cjs.map} +1 -1
- package/dist/date-range-BIyrzTRZ.cjs +131 -0
- package/dist/date-range-BIyrzTRZ.cjs.map +1 -0
- package/dist/{date-range-ClTMg1AB.js → date-range-DOstCIg8.js} +16 -17
- package/dist/date-range-DOstCIg8.js.map +1 -0
- package/dist/date-range-inline-4P7zqeVe.cjs +43 -0
- package/dist/{date-range-inline-B9Dp2z6C.cjs.map → date-range-inline-4P7zqeVe.cjs.map} +1 -1
- package/dist/{date-range-inline-CpKG6qt2.js → date-range-inline-BVycTWLb.js} +5 -5
- package/dist/{date-range-inline-CpKG6qt2.js.map → date-range-inline-BVycTWLb.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/delay.cjs +9 -1
- package/dist/delay.cjs.map +1 -0
- package/dist/delay.js +77 -2
- package/dist/delay.js.map +1 -0
- package/dist/{details-Cz9ok9si.cjs → details-BJBbZOO6.cjs} +9 -9
- package/dist/details-BJBbZOO6.cjs.map +1 -0
- package/dist/{details-CPjlqQD4.js → details-DPc5GxPa.js} +19 -18
- package/dist/details-DPc5GxPa.js.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-service-DH-tjPuE.js → dialog-service-DI9PPy4H.js} +2 -2
- package/dist/dialog-service-DI9PPy4H.js.map +1 -0
- package/dist/{dialog-service-CzDO08Gy.cjs → dialog-service-DJd5L0f5.cjs} +1 -1
- package/dist/dialog-service-DJd5L0f5.cjs.map +1 -0
- package/dist/dialog.cjs +2 -2
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.js +13 -14
- package/dist/dialog.js.map +1 -1
- package/dist/directives.cjs +2 -11
- package/dist/directives.cjs.map +1 -1
- package/dist/directives.js +141 -227
- package/dist/directives.js.map +1 -1
- package/dist/discovery.cjs +1 -1
- package/dist/discovery.cjs.map +1 -1
- package/dist/discovery.js +1 -1
- package/dist/discovery.js.map +1 -1
- package/dist/{divider-ghgyw5CU.js → divider-BvJsmSPH.js} +11 -9
- package/dist/divider-BvJsmSPH.js.map +1 -0
- package/dist/{divider-CILo3_vi.cjs → divider-DPT3XnG5.cjs} +3 -3
- package/dist/divider-DPT3XnG5.cjs.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +4 -4
- package/dist/dropdown.cjs.map +1 -1
- package/dist/dropdown.js +29 -28
- package/dist/dropdown.js.map +1 -1
- package/dist/{expand-CbjBr_Ds.js → expand-BMzocdtj.js} +24 -20
- package/dist/expand-BMzocdtj.js.map +1 -0
- package/dist/expand-CTqBWVXo.cjs +141 -0
- package/dist/expand-CTqBWVXo.cjs.map +1 -0
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{extra-DK9MQtPJ.js → extra-BeHlUhzv.js} +19 -14
- package/dist/extra-BeHlUhzv.js.map +1 -0
- package/dist/{extra-BZeZOMBI.cjs → extra-h_cuxRII.cjs} +6 -6
- package/dist/extra-h_cuxRII.cjs.map +1 -0
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{float-BfCvGeY9.js → float-CTc1xxqH.js} +2 -2
- package/dist/{float-BfCvGeY9.js.map → float-CTc1xxqH.js.map} +1 -1
- package/dist/float-CwVBs11k.cjs +1 -0
- package/dist/{float-CuZ8LOgB.cjs.map → float-CwVBs11k.cjs.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-rCZqoAoK.js → form-BtwOBMZ9.js} +1 -1
- package/dist/form-BtwOBMZ9.js.map +1 -0
- package/dist/{form-wI58M85H.cjs → form-CSJp687X.cjs} +1 -1
- package/dist/form-CSJp687X.cjs.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/handover/claude-design-brief.md +19 -54
- package/dist/handover/claude-design-setup.md +57 -0
- package/dist/{hashContent-B2IntJQf.js.map → hashContent-1ARKIsx9.js.map} +1 -1
- package/dist/{hashContent-CahnEuut.cjs.map → hashContent-Bp5S6T4U.cjs.map} +1 -1
- package/dist/{icons-Drq4kKy2.js → icons-BbCVrcas.js} +27 -24
- package/dist/icons-BbCVrcas.js.map +1 -0
- package/dist/icons-qEQW4pjM.cjs +52 -0
- package/dist/icons-qEQW4pjM.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-BmyHW8km.js → iframe-BJfDIEJf.js} +17 -11
- package/dist/iframe-BJfDIEJf.js.map +1 -0
- package/dist/iframe-D6HTruav.cjs +24 -0
- package/dist/iframe-D6HTruav.cjs.map +1 -0
- package/dist/iframe.cjs +1 -1
- package/dist/iframe.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +77 -77
- package/dist/{input-Bc3bVISm.js → input-LTK3cctF.js} +34 -34
- package/dist/input-LTK3cctF.js.map +1 -0
- package/dist/input-U26axtcs.cjs +51 -0
- package/dist/input-U26axtcs.cjs.map +1 -0
- package/dist/{input-chip-DN-cwf11.cjs → input-chip-CADXt0X5.cjs} +2 -2
- package/dist/input-chip-CADXt0X5.cjs.map +1 -0
- package/dist/{input-chip-BQrjpjaQ.js → input-chip-Ch-aCs3c.js} +7 -4
- package/dist/input-chip-Ch-aCs3c.js.map +1 -0
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.cjs.map +1 -1
- package/dist/json.js +7 -5
- package/dist/json.js.map +1 -1
- package/dist/kbd.cjs +2 -2
- package/dist/kbd.cjs.map +1 -1
- package/dist/kbd.js +9 -7
- package/dist/kbd.js.map +1 -1
- package/dist/{layout-fjM1DWlF.js → layout-C4xmnU4n.js} +1 -1
- package/dist/{layout-fjM1DWlF.js.map → layout-C4xmnU4n.js.map} +1 -1
- package/dist/{layout-CTfRXQoz.cjs → layout-Dmh6fxh0.cjs} +1 -1
- package/dist/{layout-CTfRXQoz.cjs.map → layout-Dmh6fxh0.cjs.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -3
- package/dist/{lazy-D6R5N5v4.js.map → lazy-B0ia54tT.js.map} +1 -1
- package/dist/{lazy-BDNnH_r7.cjs.map → lazy-Dq9mRRjT.cjs.map} +1 -1
- package/dist/lightbox-DbYUSfVl.cjs +202 -0
- package/dist/lightbox-DbYUSfVl.cjs.map +1 -0
- package/dist/{lightbox-CY52Z_ig.js → lightbox-DqG2z3Cn.js} +13 -12
- package/dist/lightbox-DqG2z3Cn.js.map +1 -0
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/list-CLX4sSAw.cjs +40 -0
- package/dist/list-CLX4sSAw.cjs.map +1 -0
- package/dist/{list-D7wUxu1C.js → list-D6-_E5ZD.js} +26 -21
- package/dist/list-D6-_E5ZD.js.map +1 -0
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{magnetic-CVXEkYTA.cjs → magnetic-BH0TsofV.cjs} +1 -1
- package/dist/{magnetic-CVXEkYTA.cjs.map → magnetic-BH0TsofV.cjs.map} +1 -1
- package/dist/{magnetic-BhXebqF3.js → magnetic-BZGFxAWG.js} +2 -2
- package/dist/{magnetic-BhXebqF3.js.map → magnetic-BZGFxAWG.js.map} +1 -1
- package/dist/{mailbox-DLiBGJhY.cjs → mailbox-Ct6iYe-4.cjs} +64 -66
- package/dist/mailbox-Ct6iYe-4.cjs.map +1 -0
- package/dist/{mailbox--EN-JhjV.js → mailbox-DsPII8HR.js} +137 -126
- package/dist/mailbox-DsPII8HR.js.map +1 -0
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-B0S_q3ma.js → map-Dhy3ta9v.js} +11 -9
- package/dist/map-Dhy3ta9v.js.map +1 -0
- package/dist/map-WXeVkx2K.cjs +80 -0
- package/dist/map-WXeVkx2K.cjs.map +1 -0
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{menu-COeFpb6n.js → menu-Bhd3EapX.js} +15 -10
- package/dist/menu-Bhd3EapX.js.map +1 -0
- package/dist/{menu-3edZGQ1x.cjs → menu-Cg2aaDjs.cjs} +5 -5
- package/dist/menu-Cg2aaDjs.cjs.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins-CcIWET41.js +627 -0
- package/dist/mixins-CcIWET41.js.map +1 -0
- package/dist/mixins-De3xfjrm.cjs +298 -0
- package/dist/mixins-De3xfjrm.cjs.map +1 -0
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +2 -87
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +2 -2
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/navigation-rail.cjs +3 -3
- package/dist/navigation-rail.cjs.map +1 -1
- package/dist/navigation-rail.js +15 -16
- package/dist/navigation-rail.js.map +1 -1
- package/dist/{notification-CC-TFN5v.js → notification-CVLqQ8c_.js} +40 -38
- package/dist/notification-CVLqQ8c_.js.map +1 -0
- package/dist/notification-D_PQjBSf.cjs +23 -0
- package/dist/notification-D_PQjBSf.cjs.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/option-DDU_goh1.cjs +43 -0
- package/dist/option-DDU_goh1.cjs.map +1 -0
- package/dist/{option-BwAF4nAw.js → option-rm4HebVs.js} +9 -7
- package/dist/option-rm4HebVs.js.map +1 -0
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-stack-7bs4ZNnh.cjs → overlay-stack-BprhAE9a.cjs} +1 -1
- package/dist/{overlay-stack-7bs4ZNnh.cjs.map → overlay-stack-BprhAE9a.cjs.map} +1 -1
- package/dist/{overlay-stack-DXPYHPhk.js → overlay-stack-CAQno0CK.js} +1 -1
- package/dist/{overlay-stack-DXPYHPhk.js.map → overlay-stack-CAQno0CK.js.map} +1 -1
- package/dist/overlay.cjs +43 -45
- package/dist/overlay.cjs.map +1 -1
- package/dist/overlay.js +684 -268
- package/dist/overlay.js.map +1 -1
- package/dist/page.cjs +3 -3
- package/dist/page.cjs.map +1 -1
- package/dist/page.js +15 -13
- package/dist/page.js.map +1 -1
- package/dist/{components-DZgJWHdZ.js → payment-card-form-C0dHYZIv.js} +21 -22
- package/dist/{components-DZgJWHdZ.js.map → payment-card-form-C0dHYZIv.js.map} +1 -1
- package/dist/payment-card-form-DNvmZxs4.cjs +73 -0
- package/dist/{components-DkmEgyAc.cjs.map → payment-card-form-DNvmZxs4.cjs.map} +1 -1
- package/dist/payment-card-form.cjs +1 -0
- package/dist/payment-card-form.js +2 -0
- package/dist/{progress-Bk_Q1Shy.js → progress-BRerM5Bn.js} +16 -13
- package/dist/progress-BRerM5Bn.js.map +1 -0
- package/dist/{progress-Yz6EMNSu.cjs → progress-U3LQkpM2.cjs} +3 -3
- package/dist/progress-U3LQkpM2.cjs.map +1 -0
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/qr-scanner.cjs +5 -5
- package/dist/qr-scanner.cjs.map +1 -1
- package/dist/qr-scanner.js +14 -15
- package/dist/qr-scanner.js.map +1 -1
- package/dist/{radio-group-BcdcjLNC.js → radio-group-BZ2WoOXJ.js} +14 -12
- package/dist/radio-group-BZ2WoOXJ.js.map +1 -0
- package/dist/radio-group-D7mm-yvJ.cjs +40 -0
- package/dist/radio-group-D7mm-yvJ.cjs.map +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +2 -2
- package/dist/range.cjs.map +1 -1
- package/dist/range.js +9 -7
- package/dist/range.js.map +1 -1
- package/dist/{reduced-motion-BZTLqAyl.js.map → reduced-motion-D-L12p7G.js.map} +1 -1
- package/dist/{reduced-motion-9RjNnhIg.cjs.map → reduced-motion-Ds-HjMzn.cjs.map} +1 -1
- package/dist/{rxjs-utils-DJbZRjp3.cjs.map → rxjs-utils-Csnks202.cjs.map} +1 -1
- package/dist/{rxjs-utils-CKTnEKUH.js.map → rxjs-utils-d-ivVN84.js.map} +1 -1
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/scroll-DJTjNIT_.cjs +26 -0
- package/dist/scroll-DJTjNIT_.cjs.map +1 -0
- package/dist/{scroll-DXQv0ejL.js → scroll-qL-HkMdP.js} +9 -7
- package/dist/scroll-qL-HkMdP.js.map +1 -0
- package/dist/search-BLCRsxIC.cjs +1 -0
- package/dist/{search-CwMav5QB.cjs.map → search-BLCRsxIC.cjs.map} +1 -1
- package/dist/{search-CvUZRLF1.js → search-BTz7-Rev.js} +1 -1
- package/dist/{search-CvUZRLF1.js.map → search-BTz7-Rev.js.map} +1 -1
- package/dist/{select-BV4lK2zy.cjs → select-BvA7v-gL.cjs} +6 -6
- package/dist/select-BvA7v-gL.cjs.map +1 -0
- package/dist/{select-DKyGWDsG.js → select-CnPXUeSf.js} +23 -20
- package/dist/select-CnPXUeSf.js.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-C3TLKItO.js → sheet-BRL07BB4.js} +22 -20
- package/dist/sheet-BRL07BB4.js.map +1 -0
- package/dist/sheet-BYQJAHQn.cjs +35 -0
- package/dist/sheet-BYQJAHQn.cjs.map +1 -0
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/sheet.service-B25bsrYG.cjs +1 -0
- package/dist/{sheet.service-RcDBwHmv.cjs.map → sheet.service-B25bsrYG.cjs.map} +1 -1
- package/dist/{sheet.service-Dlv20Zfc.js → sheet.service-SPQ8oLCi.js} +3 -3
- package/dist/{sheet.service-Dlv20Zfc.js.map → sheet.service-SPQ8oLCi.js.map} +1 -1
- package/dist/skeleton.cjs +2 -2
- package/dist/skeleton.cjs.map +1 -1
- package/dist/skeleton.js +9 -7
- package/dist/skeleton.js.map +1 -1
- package/dist/skills/INDEX.md +1 -1
- package/dist/skills/SKILL.md +17 -5
- package/dist/skills/mixins.md +78 -20
- package/dist/skills/schmancy/INDEX.md +1 -1
- package/dist/skills/schmancy/SKILL.md +17 -5
- package/dist/skills/schmancy/mixins.md +78 -20
- package/dist/skills/schmancy/state.md +501 -0
- package/dist/skills/schmancy/theme.md +15 -0
- package/dist/skills/schmancy/timeline-tile.md +95 -0
- package/dist/skills/state.md +501 -0
- package/dist/skills/theme.md +15 -0
- package/dist/skills/timeline-tile.md +95 -0
- package/dist/slider.cjs +5 -5
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +18 -13
- package/dist/slider.js.map +1 -1
- package/dist/sound.service-BGs6m0Cm.cjs +1 -0
- package/dist/sound.service-BGs6m0Cm.cjs.map +1 -0
- package/dist/{sound.service-DWZe6swU.js → sound.service-kKfsN0m-.js} +3 -3
- package/dist/sound.service-kKfsN0m-.js.map +1 -0
- package/dist/splash-screen-BDt4PInk.cjs +41 -0
- package/dist/splash-screen-BDt4PInk.cjs.map +1 -0
- package/dist/{splash-screen-DbI5RgBf.js → splash-screen-C8JCqX5L.js} +12 -9
- package/dist/splash-screen-C8JCqX5L.js.map +1 -0
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/src-CpRNClhg.cjs +263 -0
- package/dist/src-CpRNClhg.cjs.map +1 -0
- package/dist/{src-00DfxCJq.js → src-CqdnWGgr.js} +299 -351
- package/dist/src-CqdnWGgr.js.map +1 -0
- package/dist/state-BusMG6sM.js +868 -0
- package/dist/state-BusMG6sM.js.map +1 -0
- package/dist/state-DNdCPITt.cjs +1 -0
- package/dist/state-DNdCPITt.cjs.map +1 -0
- package/dist/state.cjs +1 -0
- package/dist/state.js +3 -0
- package/dist/steps.cjs +10 -10
- package/dist/steps.cjs.map +1 -1
- package/dist/steps.js +29 -24
- package/dist/steps.js.map +1 -1
- package/dist/surface-C8jQy8Ym.js +24 -0
- package/dist/surface-C8jQy8Ym.js.map +1 -0
- package/dist/surface-Du2Y4vXd.cjs +7 -0
- package/dist/surface-Du2Y4vXd.cjs.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +2 -2
- package/dist/switch.cjs.map +1 -1
- package/dist/switch.js +7 -5
- package/dist/switch.js.map +1 -1
- package/dist/table.cjs +72 -1
- package/dist/table.cjs.map +1 -0
- package/dist/table.js +174 -2
- package/dist/table.js.map +1 -0
- package/dist/tabs-0RfeCa00.cjs +31 -0
- package/dist/tabs-0RfeCa00.cjs.map +1 -0
- package/dist/{tabs-Ce55RbwF.js → tabs-Cyahh9Q6.js} +22 -22
- package/dist/tabs-Cyahh9Q6.js.map +1 -0
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +2 -2
- package/dist/{textarea-DjN1D9u0.js → textarea-CXCcTVnf.js} +30 -28
- package/dist/textarea-CXCcTVnf.js.map +1 -0
- package/dist/textarea-jqRrLxmo.cjs +39 -0
- package/dist/textarea-jqRrLxmo.cjs.map +1 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-pbxlt72h.js → theme-2KZW2Rfs.js} +45 -41
- package/dist/{theme-pbxlt72h.js.map → theme-2KZW2Rfs.js.map} +1 -1
- package/dist/theme-Hjz9sCN-.cjs +181 -0
- package/dist/{theme-B-IJ2r7Q.cjs.map → theme-Hjz9sCN-.cjs.map} +1 -1
- package/dist/{theme-button-CEMeAUOL.js → theme-button-9uF1eoHz.js} +3 -4
- package/dist/theme-button-9uF1eoHz.js.map +1 -0
- package/dist/theme-button-C7QIbke1.cjs +8 -0
- package/dist/theme-button-C7QIbke1.cjs.map +1 -0
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.events-NuihzD_p.js.map → theme.events-Cv7N4Toe.js.map} +1 -1
- package/dist/{theme.events-DakXxZeP.cjs.map → theme.events-DM4H5F2d.cjs.map} +1 -1
- package/dist/{theme.interface-DTwkuAKJ.cjs.map → theme.interface-D9l33b-M.cjs.map} +1 -1
- package/dist/{theme.interface-Buged9Cg.js.map → theme.interface-DnVNre4O.js.map} +1 -1
- package/dist/theme.js +5 -5
- package/dist/theme.service-BrUbGoeQ.cjs +1 -0
- package/dist/theme.service-BrUbGoeQ.cjs.map +1 -0
- package/dist/{theme.service-cOfPrtfe.js → theme.service-CmbOGMA8.js} +4 -4
- package/dist/theme.service-CmbOGMA8.js.map +1 -0
- package/dist/timeline.cjs +277 -0
- package/dist/timeline.cjs.map +1 -0
- package/dist/timeline.js +326 -0
- package/dist/timeline.js.map +1 -0
- package/dist/tree.cjs +2 -2
- package/dist/tree.cjs.map +1 -1
- package/dist/tree.js +15 -13
- package/dist/tree.js.map +1 -1
- package/dist/typewriter.cjs +10 -123
- package/dist/typewriter.cjs.map +1 -1
- package/dist/typewriter.js +90 -212
- package/dist/typewriter.js.map +1 -1
- package/dist/typography.cjs +3 -3
- package/dist/typography.cjs.map +1 -1
- package/dist/typography.js +18 -112
- package/dist/typography.js.map +1 -1
- package/dist/utils-Cr-YO4Np.cjs +1 -0
- package/dist/utils-Cr-YO4Np.cjs.map +1 -0
- package/dist/{utils-Bp2jhyZc.js → utils-hp-DnFf5.js} +16 -6
- package/dist/utils-hp-DnFf5.js.map +1 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +4 -5
- package/dist/visually-hidden.cjs +2 -2
- package/dist/visually-hidden.cjs.map +1 -1
- package/dist/visually-hidden.js +7 -5
- package/dist/visually-hidden.js.map +1 -1
- package/dist/{window-CrjZdf7Y.js → window-C7yY9yp5.js} +28 -30
- package/dist/window-C7yY9yp5.js.map +1 -0
- package/dist/window-DtUOWiAj.cjs +59 -0
- package/dist/window-DtUOWiAj.cjs.map +1 -0
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +15 -4
- package/plugins/vite-plugin-schmancy-auto-import.ts +143 -0
- package/plugins/vite-plugin-schmancy-manifest.ts +438 -0
- package/skills/schmancy/INDEX.md +1 -1
- package/skills/schmancy/SKILL.md +17 -5
- package/skills/schmancy/mixins.md +78 -20
- package/skills/schmancy/state.md +501 -0
- package/skills/schmancy/theme.md +15 -0
- package/skills/schmancy/timeline-tile.md +95 -0
- package/src/agent/agent-bundle.test.ts +71 -54
- package/src/agent/agent-entry.ts +5 -21
- package/src/agent/helpers.ts +159 -0
- package/src/agent/schmancy-skill.ts +71 -0
- package/src/agent/virtual-manifest.d.ts +1 -12
- package/src/area/area.component.ts +7 -19
- package/src/area/area.service.test.ts +4 -5
- package/src/area/area.service.ts +4 -3
- package/src/area/route.component.ts +17 -4
- package/src/area/utils.ts +3 -2
- package/src/audio/emotional-sounds.ts +0 -2
- package/src/audio/sound.service.ts +7 -13
- package/src/autocomplete/autocomplete.ts +18 -21
- package/src/{avatar.ts → avatar/avatar.ts} +2 -2
- package/src/avatar/index.ts +1 -0
- package/src/badge/badge.ts +4 -3
- package/src/boat/boat.ts +28 -36
- package/src/breadcrumb/breadcrumb.ts +11 -19
- package/src/busy/busy.ts +4 -3
- package/src/busy/spinner.ts +4 -3
- package/src/button/button.ts +6 -11
- package/src/button/icon-button.ts +8 -12
- package/src/card/actions.ts +4 -12
- package/src/card/card.ts +5 -23
- package/src/card/content.ts +4 -12
- package/src/card/media.ts +4 -9
- package/src/charts/area-chart.ts +7 -4
- package/src/charts/pills.ts +6 -4
- package/src/checkbox/checkbox.test.ts +2 -2
- package/src/checkbox/checkbox.ts +3 -9
- package/src/chips/assist-chip.ts +6 -14
- package/src/chips/chips.ts +7 -21
- package/src/chips/filter-chip.ts +4 -3
- package/src/chips/input-chip.ts +10 -9
- package/src/chips/suggestion-chip.ts +10 -12
- package/src/code-highlight/code-highlight.ts +28 -59
- package/src/code-highlight/code-preview.ts +11 -9
- package/src/connectivity/connectivity-status.ts +4 -3
- package/src/content-drawer/drawer.ts +5 -3
- package/src/content-drawer/main.ts +5 -3
- package/src/content-drawer/sheet.ts +6 -4
- package/src/date-range/date-range-dialog.ts +2 -2
- package/src/date-range/date-range.ts +3 -2
- package/src/delay/delay.ts +2 -2
- package/src/details/details.ts +4 -17
- package/src/dialog/dialog-service.ts +2 -0
- package/src/dialog/dialog.component.ts +9 -9
- package/src/directives/drag.ts +1 -9
- package/src/directives/index.ts +0 -1
- package/src/discovery/discovery.service.ts +1 -1
- package/src/divider/divider.ts +5 -14
- package/src/dropdown/dropdown-component.ts +5 -16
- package/src/dropdown/dropdown-content.ts +7 -14
- package/src/expand/expand-root.component.ts +5 -15
- package/src/expand/expand.component.ts +4 -17
- package/src/extra/countries/countries.ts +5 -13
- package/src/extra/timezone/timezone.ts +7 -12
- package/src/form/form.test.ts +2 -2
- package/src/form/form.ts +2 -9
- package/src/icons/icon.ts +4 -3
- package/src/iframe/iframe.ts +13 -4
- package/src/index.ts +3 -3
- package/src/input/input.ts +6 -13
- package/src/json/json.ts +4 -3
- package/src/kbd/kbd.ts +4 -3
- package/src/layout/index.ts +1 -5
- package/src/layout/scroll/scroll.ts +5 -8
- package/src/lightbox/flip-directive.ts +1 -1
- package/src/lightbox/lightbox.ts +5 -14
- package/src/list/list-item.ts +4 -13
- package/src/list/list.ts +12 -10
- package/src/mailbox/email-editor.ts +17 -11
- package/src/mailbox/email-layout-selector.ts +2 -2
- package/src/mailbox/email-recipients.ts +13 -8
- package/src/mailbox/email-template-picker.ts +6 -5
- package/src/mailbox/email-viewer.ts +5 -3
- package/src/mailbox/mailbox.ts +6 -5
- package/src/map/map.ts +8 -6
- package/src/menu/menu-item.ts +5 -16
- package/src/menu/menu.ts +27 -13
- package/src/nav-drawer/appbar.ts +4 -14
- package/src/nav-drawer/content.ts +5 -14
- package/src/nav-drawer/drawer.ts +5 -18
- package/src/nav-drawer/navbar.ts +3 -17
- package/src/navigation-bar/navigation-bar-item.ts +8 -6
- package/src/navigation-bar/navigation-bar.ts +19 -19
- package/src/navigation-rail/navigation-rail-item.ts +9 -5
- package/src/navigation-rail/navigation-rail.ts +10 -14
- package/src/notification/notification-service.ts +0 -2
- package/src/notification/notification.ts +6 -3
- package/src/option/option.ts +4 -3
- package/src/overlay/overlay.animations.ts +183 -37
- package/src/overlay/overlay.component.ts +397 -190
- package/src/overlay/overlay.confirm-body.ts +21 -7
- package/src/overlay/overlay.gestures.ts +72 -36
- package/src/overlay/overlay.layout.ts +103 -1
- package/src/overlay/overlay.positioning.ts +301 -0
- package/src/overlay/overlay.service.ts +81 -3
- package/src/overlay/overlay.stack.ts +8 -10
- package/src/overlay/overlay.types.ts +83 -5
- package/src/page/page.ts +16 -11
- package/src/payment-card-form/index.ts +1 -0
- package/src/{components/form-elements → payment-card-form}/payment-card-form.ts +23 -23
- package/src/progress/progress.ts +5 -3
- package/src/qr-scanner/qr-scanner.ts +7 -30
- package/src/radio-group/radio-button.ts +3 -13
- package/src/radio-group/radio-group.ts +5 -22
- package/src/range/range.ts +4 -3
- package/src/rxjs-utils/waitForElements.ts +1 -1
- package/src/rxjs-utils/waitForElementsAll.ts +1 -1
- package/src/select/select.ts +10 -18
- package/src/sheet/hook.ts +1 -1
- package/src/sheet/sheet.ts +5 -20
- package/src/skeleton/skeleton.ts +4 -3
- package/src/slider/slide.ts +5 -3
- package/src/slider/slider.ts +5 -3
- package/src/splash-screen/splash-screen.ts +5 -3
- package/src/state/CLAUDE.md +161 -0
- package/src/state/MIGRATION.md +258 -0
- package/src/state/SCOPING.md +134 -0
- package/src/state/active-host.ts +190 -0
- package/src/state/index.ts +877 -0
- package/src/state/persist.ts +208 -0
- package/src/state/schmancy-context.ts +130 -0
- package/src/state/state.test-d.ts +227 -0
- package/src/state/state.test.ts +868 -0
- package/src/steps/schmancy-step.ts +5 -3
- package/src/steps/schmancy-steps-container.ts +5 -3
- package/src/surface/surface.ts +14 -9
- package/src/switch/switch.test.ts +2 -2
- package/src/switch/switch.ts +8 -10
- package/src/table/row.ts +7 -4
- package/src/table/table.ts +17 -14
- package/src/tabs/index.ts +0 -2
- package/src/tabs/tab.ts +2 -2
- package/src/tabs/tabs-group.ts +7 -4
- package/src/teleport/teleport.component.ts +5 -3
- package/src/textarea/textarea.ts +6 -12
- package/src/theme/theme-audio-player.ts +7 -5
- package/src/theme/theme-controller.ts +2 -2
- package/src/theme/theme.component.ts +22 -15
- package/src/theme/theme.service.ts +6 -7
- package/src/theme/theme.style.css +1 -0
- package/src/theme-button/theme-button.ts +2 -2
- package/src/timeline/index.ts +1 -0
- package/src/timeline/timeline-tile.ts +431 -0
- package/src/tree/tree.ts +4 -16
- package/src/typewriter/index.ts +1 -1
- package/src/typography/typography.ts +5 -98
- package/src/utils/intersection.ts +5 -1
- package/src/utils/overlay-stack.ts +1 -1
- package/src/utils/search.ts +2 -2
- package/src/visually-hidden/visually-hidden.ts +4 -3
- package/src/window/window-position.ts +3 -6
- package/src/window/window.ts +9 -7
- package/types/mixins/SchmancyElement.d.ts +49 -0
- package/types/mixins/formField.mixin.d.ts +4 -2
- package/types/mixins/index.d.ts +1 -0
- package/types/mixins/litElement.mixin.d.ts +11 -0
- package/types/src/agent/agent-entry.d.ts +2 -19
- package/types/src/agent/helpers.d.ts +0 -27
- package/types/src/agent/schmancy-skill.d.ts +3 -5
- package/types/src/area/area.component.d.ts +3 -17
- package/types/src/area/route.component.d.ts +14 -4
- package/types/src/audio/emotional-sounds.d.ts +0 -1
- package/types/src/audio/sound.service.d.ts +1 -1
- package/types/src/autocomplete/autocomplete.d.ts +4 -15
- package/types/src/{avatar.d.ts → avatar/avatar.d.ts} +2 -3
- package/types/src/avatar/index.d.ts +1 -0
- package/types/src/badge/badge.d.ts +3 -3
- package/types/src/boat/boat.d.ts +3 -2
- package/types/src/breadcrumb/breadcrumb.d.ts +9 -19
- package/types/src/busy/busy.d.ts +3 -3
- package/types/src/busy/spinner.d.ts +3 -3
- package/types/src/button/button.d.ts +4 -10
- package/types/src/button/icon-button.d.ts +5 -11
- package/types/src/card/actions.d.ts +3 -12
- package/types/src/card/card.d.ts +4 -24
- package/types/src/card/content.d.ts +3 -12
- package/types/src/card/media.d.ts +3 -9
- package/types/src/charts/area-chart.d.ts +3 -3
- package/types/src/charts/pills.d.ts +3 -3
- package/types/src/checkbox/checkbox.d.ts +3 -10
- package/types/src/chips/assist-chip.d.ts +5 -15
- package/types/src/chips/chips.d.ts +3 -17
- package/types/src/chips/filter-chip.d.ts +3 -3
- package/types/src/chips/input-chip.d.ts +9 -10
- package/types/src/chips/suggestion-chip.d.ts +9 -13
- package/types/src/code-highlight/code-highlight.d.ts +4 -11
- package/types/src/code-highlight/code-preview.d.ts +3 -3
- package/types/src/connectivity/connectivity-status.d.ts +3 -3
- package/types/src/content-drawer/drawer.d.ts +4 -4
- package/types/src/content-drawer/main.d.ts +3 -3
- package/types/src/content-drawer/sheet.d.ts +4 -4
- package/types/src/date-range/date-range-dialog.d.ts +2 -3
- package/types/src/date-range/date-range.d.ts +2 -3
- package/types/src/delay/delay.d.ts +2 -3
- package/types/src/details/details.d.ts +3 -14
- package/types/src/dialog/dialog.component.d.ts +9 -9
- package/types/src/directives/drag.d.ts +1 -3
- package/types/src/directives/index.d.ts +0 -1
- package/types/src/divider/divider.d.ts +3 -14
- package/types/src/dropdown/dropdown-component.d.ts +4 -17
- package/types/src/dropdown/dropdown-content.d.ts +6 -14
- package/types/src/expand/expand-root.component.d.ts +4 -14
- package/types/src/expand/expand.component.d.ts +3 -17
- package/types/src/extra/countries/countries.d.ts +3 -13
- package/types/src/extra/timezone/timezone.d.ts +4 -11
- package/types/src/form/form.d.ts +2 -9
- package/types/src/icons/icon.d.ts +3 -3
- package/types/src/iframe/iframe.d.ts +5 -3
- package/types/src/index.d.ts +3 -3
- package/types/src/input/input.d.ts +4 -11
- package/types/src/json/json.d.ts +3 -3
- package/types/src/kbd/kbd.d.ts +3 -3
- package/types/src/layout/index.d.ts +0 -4
- package/types/src/layout/scroll/scroll.d.ts +4 -8
- package/types/src/lightbox/lightbox.d.ts +3 -14
- package/types/src/list/list-item.d.ts +3 -13
- package/types/src/list/list.d.ts +11 -10
- package/types/src/mailbox/email-editor.d.ts +3 -3
- package/types/src/mailbox/email-layout-selector.d.ts +2 -3
- package/types/src/mailbox/email-recipients.d.ts +7 -3
- package/types/src/mailbox/email-template-picker.d.ts +4 -4
- package/types/src/mailbox/email-viewer.d.ts +3 -3
- package/types/src/mailbox/mailbox.d.ts +4 -4
- package/types/src/map/map.d.ts +4 -3
- package/types/src/menu/menu-item.d.ts +3 -16
- package/types/src/menu/menu.d.ts +25 -13
- package/types/src/nav-drawer/appbar.d.ts +3 -14
- package/types/src/nav-drawer/content.d.ts +3 -14
- package/types/src/nav-drawer/drawer.d.ts +3 -18
- package/types/src/nav-drawer/navbar.d.ts +3 -18
- package/types/src/navigation-bar/navigation-bar-item.d.ts +7 -6
- package/types/src/navigation-bar/navigation-bar.d.ts +13 -7
- package/types/src/navigation-rail/navigation-rail-item.d.ts +9 -6
- package/types/src/navigation-rail/navigation-rail.d.ts +10 -15
- package/types/src/notification/notification-service.d.ts +0 -1
- package/types/src/notification/notification.d.ts +3 -3
- package/types/src/option/option.d.ts +3 -3
- package/types/src/overlay/overlay.animations.d.ts +54 -6
- package/types/src/overlay/overlay.component.d.ts +39 -15
- package/types/src/overlay/overlay.confirm-body.d.ts +4 -4
- package/types/src/overlay/overlay.gestures.d.ts +26 -17
- package/types/src/overlay/overlay.layout.d.ts +27 -1
- package/types/src/overlay/overlay.positioning.d.ts +87 -0
- package/types/src/overlay/overlay.stack.d.ts +0 -2
- package/types/src/overlay/overlay.types.d.ts +59 -5
- package/types/src/page/page.d.ts +14 -11
- package/types/src/{components/form-elements → payment-card-form}/payment-card-form.d.ts +2 -3
- package/types/src/progress/progress.d.ts +3 -3
- package/types/src/qr-scanner/qr-scanner.d.ts +3 -3
- package/types/src/radio-group/radio-button.d.ts +3 -12
- package/types/src/radio-group/radio-group.d.ts +4 -20
- package/types/src/range/range.d.ts +3 -3
- package/types/src/rxjs-utils/waitForElements.d.ts +1 -1
- package/types/src/rxjs-utils/waitForElementsAll.d.ts +1 -1
- package/types/src/select/select.d.ts +4 -15
- package/types/src/sheet/sheet.d.ts +3 -20
- package/types/src/skeleton/skeleton.d.ts +3 -3
- package/types/src/slider/slide.d.ts +3 -2
- package/types/src/slider/slider.d.ts +3 -3
- package/types/src/splash-screen/splash-screen.d.ts +3 -3
- package/types/src/state/active-host.d.ts +23 -0
- package/types/src/state/index.d.ts +145 -0
- package/types/src/state/persist.d.ts +14 -0
- package/types/src/state/schmancy-context.d.ts +32 -0
- package/types/src/state/state.test-d.d.ts +131 -0
- package/types/src/state/state.test.d.ts +1 -0
- package/types/src/steps/schmancy-step.d.ts +3 -3
- package/types/src/steps/schmancy-steps-container.d.ts +3 -3
- package/types/src/surface/surface.d.ts +13 -5
- package/types/src/switch/switch.d.ts +7 -11
- package/types/src/table/row.d.ts +2 -3
- package/types/src/table/table.d.ts +4 -11
- package/types/src/tabs/index.d.ts +0 -2
- package/types/src/tabs/tab.d.ts +2 -3
- package/types/src/tabs/tabs-group.d.ts +3 -3
- package/types/src/teleport/teleport.component.d.ts +3 -3
- package/types/src/textarea/textarea.d.ts +5 -12
- package/types/src/theme/theme-audio-player.d.ts +3 -3
- package/types/src/theme/theme-controller.d.ts +2 -2
- package/types/src/theme/theme.component.d.ts +18 -13
- package/types/src/theme-button/theme-button.d.ts +2 -3
- package/types/src/timeline/index.d.ts +1 -0
- package/types/src/timeline/timeline-tile.d.ts +44 -0
- package/types/src/tree/tree.d.ts +3 -16
- package/types/src/typewriter/index.d.ts +1 -1
- package/types/src/typography/typography.d.ts +3 -36
- package/types/src/visually-hidden/visually-hidden.d.ts +3 -3
- package/types/src/window/window.d.ts +3 -3
- package/dist/agent/index.es-Dymj8REP.js +0 -489
- package/dist/agent/index.es-Dymj8REP.js.map +0 -1
- package/dist/area-BGBCMC79.js.map +0 -1
- package/dist/area-D7l9KR2N.cjs +0 -12
- package/dist/area-D7l9KR2N.cjs.map +0 -1
- package/dist/autocomplete-BPD5uraA.cjs +0 -115
- package/dist/autocomplete-BPD5uraA.cjs.map +0 -1
- package/dist/autocomplete-C2P0Soht.js.map +0 -1
- package/dist/boat-BkIO-0No.cjs +0 -80
- package/dist/boat-BkIO-0No.cjs.map +0 -1
- package/dist/boat-DXZ0k7oa.js.map +0 -1
- package/dist/busy-DGYhpTnO.cjs.map +0 -1
- package/dist/busy-iRjq6Nvd.js.map +0 -1
- package/dist/card-DjYnCckw.cjs.map +0 -1
- package/dist/card-wUTjx0EC.js.map +0 -1
- package/dist/checkbox-CiYEtw9F.cjs +0 -39
- package/dist/checkbox-CiYEtw9F.cjs.map +0 -1
- package/dist/checkbox-VBSenxgb.js.map +0 -1
- package/dist/chips-BDS9lkPa.js.map +0 -1
- package/dist/chips-D6ptH5re.cjs.map +0 -1
- package/dist/code-highlight-Bi91XHJN.js.map +0 -1
- package/dist/code-highlight-BzRmBZzz.cjs.map +0 -1
- package/dist/components-DkmEgyAc.cjs +0 -73
- package/dist/components.cjs +0 -1
- package/dist/components.js +0 -2
- package/dist/context-BerzpUhI.js +0 -3
- package/dist/context-C6dHUHhi.cjs +0 -1
- package/dist/date-range-BmFxTXiU.cjs +0 -131
- package/dist/date-range-BmFxTXiU.cjs.map +0 -1
- package/dist/date-range-ClTMg1AB.js.map +0 -1
- package/dist/date-range-inline-B9Dp2z6C.cjs +0 -43
- package/dist/delay-BHODnTg-.cjs +0 -9
- package/dist/delay-BHODnTg-.cjs.map +0 -1
- package/dist/delay-Dlk0A3he.js +0 -347
- package/dist/delay-Dlk0A3he.js.map +0 -1
- package/dist/details-CPjlqQD4.js.map +0 -1
- package/dist/details-Cz9ok9si.cjs.map +0 -1
- package/dist/dialog-service-CzDO08Gy.cjs.map +0 -1
- package/dist/dialog-service-DH-tjPuE.js.map +0 -1
- package/dist/divider-CILo3_vi.cjs.map +0 -1
- package/dist/divider-ghgyw5CU.js.map +0 -1
- package/dist/expand-CbjBr_Ds.js.map +0 -1
- package/dist/expand-r3OrSoDk.cjs +0 -141
- package/dist/expand-r3OrSoDk.cjs.map +0 -1
- package/dist/extra-BZeZOMBI.cjs.map +0 -1
- package/dist/extra-DK9MQtPJ.js.map +0 -1
- package/dist/float-CuZ8LOgB.cjs +0 -1
- package/dist/flow-BPDtbhLe.js +0 -386
- package/dist/flow-BPDtbhLe.js.map +0 -1
- package/dist/flow-Dn9AZktE.cjs +0 -1
- package/dist/flow-Dn9AZktE.cjs.map +0 -1
- package/dist/form-rCZqoAoK.js.map +0 -1
- package/dist/form-wI58M85H.cjs.map +0 -1
- package/dist/handover/agent-runtime-v2-loopback.md +0 -71
- package/dist/handover/claude-design-v2-paste.md +0 -42
- package/dist/icons-Drq4kKy2.js.map +0 -1
- package/dist/icons-DtdhaZdc.cjs +0 -52
- package/dist/icons-DtdhaZdc.cjs.map +0 -1
- package/dist/iframe-BkwwWIbQ.cjs +0 -24
- package/dist/iframe-BkwwWIbQ.cjs.map +0 -1
- package/dist/iframe-BmyHW8km.js.map +0 -1
- package/dist/index.es-BgmFX1JM.cjs +0 -1
- package/dist/index.es-BgmFX1JM.cjs.map +0 -1
- package/dist/index.es-CLyb_o3Y.js +0 -489
- package/dist/index.es-CLyb_o3Y.js.map +0 -1
- package/dist/input-BGNZlfL8.cjs +0 -51
- package/dist/input-BGNZlfL8.cjs.map +0 -1
- package/dist/input-Bc3bVISm.js.map +0 -1
- package/dist/input-chip-BQrjpjaQ.js.map +0 -1
- package/dist/input-chip-DN-cwf11.cjs.map +0 -1
- package/dist/intersection-BrXp4YTO.js +0 -12
- package/dist/intersection-BrXp4YTO.js.map +0 -1
- package/dist/intersection-DqBqnpgh.cjs +0 -1
- package/dist/intersection-DqBqnpgh.cjs.map +0 -1
- package/dist/layout-7eyMBmZk.cjs +0 -17
- package/dist/layout-7eyMBmZk.cjs.map +0 -1
- package/dist/layout-Ox6nJkzC.js +0 -268
- package/dist/layout-Ox6nJkzC.js.map +0 -1
- package/dist/lightbox-CY52Z_ig.js.map +0 -1
- package/dist/lightbox-H8Uq3AXy.cjs +0 -202
- package/dist/lightbox-H8Uq3AXy.cjs.map +0 -1
- package/dist/list-BGjVo6zb.cjs +0 -40
- package/dist/list-BGjVo6zb.cjs.map +0 -1
- package/dist/list-D7wUxu1C.js.map +0 -1
- package/dist/litElement.mixin-CszkJuNl.js +0 -12
- package/dist/litElement.mixin-CszkJuNl.js.map +0 -1
- package/dist/litElement.mixin-qh5-IIUq.cjs +0 -1
- package/dist/litElement.mixin-qh5-IIUq.cjs.map +0 -1
- package/dist/mailbox--EN-JhjV.js.map +0 -1
- package/dist/mailbox-DLiBGJhY.cjs.map +0 -1
- package/dist/map-B0S_q3ma.js.map +0 -1
- package/dist/map-EDQN0I6e.cjs +0 -80
- package/dist/map-EDQN0I6e.cjs.map +0 -1
- package/dist/menu-3edZGQ1x.cjs.map +0 -1
- package/dist/menu-COeFpb6n.js.map +0 -1
- package/dist/metric.cjs +0 -69
- package/dist/metric.cjs.map +0 -1
- package/dist/metric.js +0 -93
- package/dist/metric.js.map +0 -1
- package/dist/mixins.cjs.map +0 -1
- package/dist/mixins.js.map +0 -1
- package/dist/notification-CC-TFN5v.js.map +0 -1
- package/dist/notification-P4c-kFdH.cjs +0 -23
- package/dist/notification-P4c-kFdH.cjs.map +0 -1
- package/dist/option-BwAF4nAw.js.map +0 -1
- package/dist/option-Cu0ertuF.cjs +0 -43
- package/dist/option-Cu0ertuF.cjs.map +0 -1
- package/dist/progress-Bk_Q1Shy.js.map +0 -1
- package/dist/progress-Yz6EMNSu.cjs.map +0 -1
- package/dist/provide-CYgj58u_.cjs +0 -1
- package/dist/provide-CYgj58u_.cjs.map +0 -1
- package/dist/provide-ydIskwf2.js +0 -107
- package/dist/provide-ydIskwf2.js.map +0 -1
- package/dist/radio-group-BcdcjLNC.js.map +0 -1
- package/dist/radio-group-BpBz5tRA.cjs +0 -40
- package/dist/radio-group-BpBz5tRA.cjs.map +0 -1
- package/dist/scroll-DXQv0ejL.js.map +0 -1
- package/dist/scroll-DbZMTv0K.cjs +0 -26
- package/dist/scroll-DbZMTv0K.cjs.map +0 -1
- package/dist/search-CwMav5QB.cjs +0 -1
- package/dist/select-BV4lK2zy.cjs.map +0 -1
- package/dist/select-DKyGWDsG.js.map +0 -1
- package/dist/sheet-BAI_jH1t.cjs +0 -35
- package/dist/sheet-BAI_jH1t.cjs.map +0 -1
- package/dist/sheet-C3TLKItO.js.map +0 -1
- package/dist/sheet.service-RcDBwHmv.cjs +0 -1
- package/dist/skills/schmancy/store.md +0 -126
- package/dist/skills/store.md +0 -126
- package/dist/sound.service-BEN6Xjy_.cjs +0 -1
- package/dist/sound.service-BEN6Xjy_.cjs.map +0 -1
- package/dist/sound.service-DWZe6swU.js.map +0 -1
- package/dist/splash-screen-DbI5RgBf.js.map +0 -1
- package/dist/splash-screen-DoHRTHi8.cjs +0 -41
- package/dist/splash-screen-DoHRTHi8.cjs.map +0 -1
- package/dist/src-00DfxCJq.js.map +0 -1
- package/dist/src-C_JjQovE.cjs +0 -269
- package/dist/src-C_JjQovE.cjs.map +0 -1
- package/dist/store-CjFHCSDb.cjs +0 -1
- package/dist/store-CjFHCSDb.cjs.map +0 -1
- package/dist/store-CjzZDQt8.js +0 -1654
- package/dist/store-CjzZDQt8.js.map +0 -1
- package/dist/store.cjs +0 -1
- package/dist/store.js +0 -2
- package/dist/surface-D-GWBcsh.cjs +0 -7
- package/dist/surface-D-GWBcsh.cjs.map +0 -1
- package/dist/surface-D23JtxYP.js +0 -22
- package/dist/surface-D23JtxYP.js.map +0 -1
- package/dist/surface.mixin-DqMwoddO.js +0 -320
- package/dist/surface.mixin-DqMwoddO.js.map +0 -1
- package/dist/surface.mixin-DxOi-xo0.cjs +0 -297
- package/dist/surface.mixin-DxOi-xo0.cjs.map +0 -1
- package/dist/table-C7b73kdg.cjs +0 -63
- package/dist/table-C7b73kdg.cjs.map +0 -1
- package/dist/table-CTrhV9-k.js +0 -631
- package/dist/table-CTrhV9-k.js.map +0 -1
- package/dist/tabs-Ce55RbwF.js.map +0 -1
- package/dist/tabs-DAzB8O7w.cjs +0 -31
- package/dist/tabs-DAzB8O7w.cjs.map +0 -1
- package/dist/tailwind.mixin-DRI1oTYQ.cjs +0 -2
- package/dist/tailwind.mixin-DRI1oTYQ.cjs.map +0 -1
- package/dist/tailwind.mixin-mdQR3BEO.js +0 -219
- package/dist/tailwind.mixin-mdQR3BEO.js.map +0 -1
- package/dist/textarea-DjN1D9u0.js.map +0 -1
- package/dist/textarea-PuHxBvJA.cjs +0 -39
- package/dist/textarea-PuHxBvJA.cjs.map +0 -1
- package/dist/theme-B-IJ2r7Q.cjs +0 -181
- package/dist/theme-button-BSbYmS4p.cjs +0 -8
- package/dist/theme-button-BSbYmS4p.cjs.map +0 -1
- package/dist/theme-button-CEMeAUOL.js.map +0 -1
- package/dist/theme.service-DxJPUGlu.cjs +0 -1
- package/dist/theme.service-DxJPUGlu.cjs.map +0 -1
- package/dist/theme.service-cOfPrtfe.js.map +0 -1
- package/dist/tslib.es6-Cnt75pb6.cjs +0 -1
- package/dist/tslib.es6-Cnt75pb6.cjs.map +0 -1
- package/dist/tslib.es6-DMzzJKHV.js +0 -7
- package/dist/tslib.es6-DMzzJKHV.js.map +0 -1
- package/dist/utils-Bp2jhyZc.js.map +0 -1
- package/dist/utils-CBPQvxNW.cjs +0 -1
- package/dist/utils-CBPQvxNW.cjs.map +0 -1
- package/dist/window-CrjZdf7Y.js.map +0 -1
- package/dist/window-DTUARSrU.cjs +0 -59
- package/dist/window-DTUARSrU.cjs.map +0 -1
- package/skills/schmancy/store.md +0 -126
- package/src/components/form-elements/index.ts +0 -1
- package/src/components/index.ts +0 -1
- package/src/layout/flex/flex.scss +0 -4
- package/src/layout/flex/flex.ts +0 -74
- package/src/layout/flex/index.ts +0 -1
- package/src/layout/grid/.readme +0 -79
- package/src/layout/grid/grid.scss +0 -5
- package/src/layout/grid/grid.ts +0 -121
- package/src/layout/grid/index.ts +0 -1
- package/src/layout/layout.ts +0 -122
- package/src/layout/v2/flex.ts +0 -243
- package/src/layout/v2/index.ts +0 -1
- package/src/metric/index.ts +0 -1
- package/src/metric/metric.ts +0 -127
- package/src/store/context-array.ts +0 -358
- package/src/store/context-collection.ts +0 -218
- package/src/store/context-create.ts +0 -284
- package/src/store/context-object.ts +0 -298
- package/src/store/filter-directive.ts +0 -614
- package/src/store/index.ts +0 -10
- package/src/store/selector-hook.ts +0 -259
- package/src/store/selectors.ts +0 -289
- package/src/store/storage-manager.ts +0 -269
- package/src/store/store.class.ts +0 -239
- package/src/store/types.ts +0 -327
- package/src/tabs/tabs-compatibility.ts +0 -20
- package/src/typewriter/typewriter.ts +0 -410
- package/types/src/agent/index.d.ts +0 -1
- package/types/src/area/route.test.d.ts +0 -20
- package/types/src/button/button.test.d.ts +0 -1
- package/types/src/chips/chip.d.ts +0 -3
- package/types/src/components/index.d.ts +0 -1
- package/types/src/content-drawer/$sheet.d.ts +0 -14
- package/types/src/dialog/dailog.d.ts +0 -116
- package/types/src/dialog/dialog-content.d.ts +0 -17
- package/types/src/directives/guard.d.ts +0 -1
- package/types/src/directives/visibility.d.ts +0 -11
- package/types/src/form/form-v2.d.ts +0 -22
- package/types/src/input/input-v2.d.ts +0 -250
- package/types/src/layout/flex/flex.d.ts +0 -26
- package/types/src/layout/flex/index.d.ts +0 -1
- package/types/src/layout/grid/grid.d.ts +0 -39
- package/types/src/layout/grid/index.d.ts +0 -1
- package/types/src/layout/layout.d.ts +0 -59
- package/types/src/layout/v2/flex.d.ts +0 -65
- package/types/src/layout/v2/grid.d.ts +0 -51
- package/types/src/layout/v2/index.d.ts +0 -1
- package/types/src/lightbox/flip.directive.d.ts +0 -22
- package/types/src/metric/index.d.ts +0 -1
- package/types/src/metric/metric.d.ts +0 -39
- package/types/src/notification/outlet.d.ts +0 -10
- package/types/src/sheet/header.d.ts +0 -10
- package/types/src/store/context-array.d.ts +0 -83
- package/types/src/store/context-collection.d.ts +0 -74
- package/types/src/store/context-create.d.ts +0 -43
- package/types/src/store/context-object.d.ts +0 -46
- package/types/src/store/filter-directive.d.ts +0 -116
- package/types/src/store/immer-integration.d.ts +0 -54
- package/types/src/store/index.d.ts +0 -10
- package/types/src/store/selector-hook.d.ts +0 -46
- package/types/src/store/selectors.d.ts +0 -90
- package/types/src/store/storage-manager.d.ts +0 -48
- package/types/src/store/store.class.d.ts +0 -73
- package/types/src/store/types.d.ts +0 -241
- package/types/src/tabs/tabs-compatibility.d.ts +0 -13
- package/types/src/theme/theme.elevation.d.ts +0 -131
- package/types/src/theme/theme.motion.d.ts +0 -198
- package/types/src/theme/theme.shape.d.ts +0 -144
- package/types/src/theme/theme.state.d.ts +0 -546
- package/types/src/theme/theme.typography.d.ts +0 -74
- package/types/src/tooltip/tooltip.d.ts +0 -33
- package/types/src/typewriter/typewriter.d.ts +0 -94
- /package/dist/agent/{flow-CvG1fLW5.js → flow-CaPi2G8y.js} +0 -0
- /package/dist/agent/{vendor-material-color-DcL7ZPxx.js → vendor-material-color-Be96dpGE.js} +0 -0
- /package/dist/{animation-hXFClrIn.js → animation-BK-8BwY8.js} +0 -0
- /package/dist/{animation-CQRdLgzX.cjs → animation-CO_Csq84.cjs} +0 -0
- /package/dist/{decorate-D_utPUsC.js → decorate-23nYs4Le.js} +0 -0
- /package/dist/{decorate-F9CuyeHg.cjs → decorate-DpFmy0nm.cjs} +0 -0
- /package/dist/{hashContent-B2IntJQf.js → hashContent-1ARKIsx9.js} +0 -0
- /package/dist/{hashContent-CahnEuut.cjs → hashContent-Bp5S6T4U.cjs} +0 -0
- /package/dist/{lazy-D6R5N5v4.js → lazy-B0ia54tT.js} +0 -0
- /package/dist/{lazy-BDNnH_r7.cjs → lazy-Dq9mRRjT.cjs} +0 -0
- /package/dist/{reduced-motion-BZTLqAyl.js → reduced-motion-D-L12p7G.js} +0 -0
- /package/dist/{reduced-motion-9RjNnhIg.cjs → reduced-motion-Ds-HjMzn.cjs} +0 -0
- /package/dist/{rxjs-utils-DJbZRjp3.cjs → rxjs-utils-Csnks202.cjs} +0 -0
- /package/dist/{rxjs-utils-CKTnEKUH.js → rxjs-utils-d-ivVN84.js} +0 -0
- /package/dist/{theme.events-NuihzD_p.js → theme.events-Cv7N4Toe.js} +0 -0
- /package/dist/{theme.events-DakXxZeP.cjs → theme.events-DM4H5F2d.cjs} +0 -0
- /package/dist/{theme.interface-DTwkuAKJ.cjs → theme.interface-D9l33b-M.cjs} +0 -0
- /package/dist/{theme.interface-Buged9Cg.js → theme.interface-DnVNre4O.js} +0 -0
- /package/src/{directives/typewriter.ts → typewriter/typewriter.directive.ts} +0 -0
- /package/types/src/{components/form-elements → payment-card-form}/index.d.ts +0 -0
- /package/types/src/{directives/typewriter.d.ts → typewriter/typewriter.directive.d.ts} +0 -0
|
@@ -1,104 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion": "1.
|
|
2
|
+
"schemaVersion": "1.0.0",
|
|
3
3
|
"readme": "# Schmancy\n\nA Web Component UI library built on Lit, RxJS, and Tailwind CSS. Surfaces are glass. Depth is light. Interactions are physics.\n\n## Agent runtime\n\nFor sandboxed-iframe agents (Claude Design, Claude Artifacts, any LLM that can\nonly write HTML), schmancy ships a single-URL runtime at `@mhmo91/schmancy/agent`.\nDrop one `<script type=\"module\">` tag and every `<schmancy-*>` element is\nregistered. No bundler, no bare specifiers, no npm install.\n\n```html\n<script type=\"module\">\n import { $dialog, theme } from 'https://esm.sh/@mhmo91/schmancy/agent';\n</script>\n<schmancy-theme root scheme=\"dark\">\n <schmancy-surface type=\"solid\" fill=\"all\">\n <schmancy-button>Hi</schmancy-button>\n <schmancy-skill></schmancy-skill>\n </schmancy-surface>\n</schmancy-theme>\n```\n\nThe `<schmancy-skill>` tag installs `window.schmancy` for runtime discovery:\n\n- `window.schmancy.help()` — full manifest (CEM v1 shape).\n- `window.schmancy.help('schmancy-button')` — one tag's attributes, events, slots, CSS parts.\n- `window.schmancy.tokens()` — build-time-extracted list of `--schmancy-*` theme tokens.\n- `window.schmancy.manifestUrl` — Blob URL; `fetch()` it for the same data.\n- `window.schmancy.a11yAudit()` — walks the live DOM and reports ARIA / shadow-root / form-association status per instance.\n- `window.schmancy.platformPrimitive('schmancy-dialog')` — map to the native element a component wraps (present when the component's JSDoc has `@platform`).\n- `window.schmancy.capabilities()` — runtime feature probe (`popover`, `declarativeShadowDom`, `scopedRegistries`, `trustedTypes`, `cssRegisteredProperties`, `elementInternalsAria`, `formAssociated`, `adoptedStyleSheets`). Agents use this to adapt to the sandbox they're in rather than the one they expect.\n\nEvery enum-typed attribute carries a `values` array — e.g. `schmancy-button`'s `variant` ships `[\"elevated\", \"filled\", \"filled tonal\", \"tonal\", \"outlined\", \"text\"]` so agents never have to parse `\"'filled' | 'tonal' | ...\"` strings.\n\nThe manifest is also emitted as a sibling file at `@mhmo91/schmancy/agent/manifest`\nfor tooling that prefers reading JSON from disk.\n\n## Install\n\n```bash\nnpm install @mhmo91/schmancy\n```\n\n```typescript\nimport '@mhmo91/schmancy'\nimport { magnetic, cursorGlow, gravity } from '@mhmo91/schmancy/directives'\n```\n\n## Use with Claude Code\n\nSchmancy ships a Claude Code plugin. In any Claude Code session, run:\n\n```\n/plugin install https://github.com/samwaai/schmancy\n```\n\nClaude now knows every Schmancy component, foundation pattern, and convention in your project. The skill activates automatically when you work on schmancy code — no CLAUDE.md edits, no symlinks.\n\n## Quick Start\n\n```html\n<schmancy-theme root scheme=\"dark\">\n <schmancy-surface type=\"solid\" fill=\"all\">\n <schmancy-area name=\"root\" .default=${lazy(() => import('./home.page'))}>\n <schmancy-route when=\"home-page\" .component=${lazy(() => import('./home.page'))} />\n </schmancy-area>\n </schmancy-surface>\n</schmancy-theme>\n```\n\n## Design: Luminous Glass\n\n| Surface | Opacity | Blur | Purpose |\n|---------|---------|------|---------|\n| `solid` | 92% | — | Dense glass, high readability |\n| `subtle` | 78% | 8px | Frosted panel (default) |\n| `glass` | 55% | 16px | Overlays, dialogs, dropdowns |\n| `luminous` | 42% | 20px | Hero panels with glow halo |\n\n## Docs\n\nSchmancy is organized in four layers:\n\n- **Foundations** — [Area](./skills/schmancy/area.md) · [Store](./skills/schmancy/store.md) · [Mixins ($LitElement)](./skills/schmancy/mixins.md) · [Theme](./skills/schmancy/theme.md) · [Directives](./skills/schmancy/directives.md)\n- **Atoms** — [Typography](./skills/schmancy/typography.md) · [Icons](./skills/schmancy/icons.md) · [Button](./skills/schmancy/button.md) · [Surface](./skills/schmancy/surface.md) · [Divider](./skills/schmancy/divider.md) · [Avatar](./skills/schmancy/avatar.md)\n- **Composites (by job)** — Forms, Navigation, Overlays, Interaction, Feedback, Display\n- **Utilities** — [Animation](./skills/schmancy/animation.md) · [Audio](./skills/schmancy/audio.md) · [Discovery](./skills/schmancy/discovery.md) · [RxJS Utils](./skills/schmancy/rxjs-utils.md) · [Utils](./skills/schmancy/utils.md)\n\n**Full component index:** [skills/schmancy/INDEX.md](./skills/schmancy/INDEX.md) — the single-file map with every tag, service, and convention. Written primarily for AI agents; humans welcome.\n\n## Tech Stack\n\n[Lit](https://lit.dev) · [RxJS](https://rxjs.dev) · [Tailwind CSS v4](https://tailwindcss.com) · [Blackbird](./src/utils/animation.ts)\n\n## License\n\nApache-2.0\n",
|
|
4
4
|
"modules": [
|
|
5
5
|
{
|
|
6
6
|
"kind": "javascript-module",
|
|
7
|
-
"path": "
|
|
7
|
+
"path": "agent/schmancy-skill.ts",
|
|
8
8
|
"declarations": [
|
|
9
9
|
{
|
|
10
10
|
"kind": "class",
|
|
11
|
-
"name": "
|
|
12
|
-
"tagName": "schmancy-
|
|
13
|
-
"description": "
|
|
14
|
-
"attributes": [
|
|
15
|
-
{
|
|
16
|
-
"name": "initials",
|
|
17
|
-
"type": {
|
|
18
|
-
"text": "string"
|
|
19
|
-
},
|
|
20
|
-
"default": "''"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"name": "src",
|
|
24
|
-
"type": {
|
|
25
|
-
"text": "string"
|
|
26
|
-
},
|
|
27
|
-
"default": "''"
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"name": "icon",
|
|
31
|
-
"type": {
|
|
32
|
-
"text": "string"
|
|
33
|
-
},
|
|
34
|
-
"default": "''"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"name": "size",
|
|
38
|
-
"type": {
|
|
39
|
-
"text": "AvatarSize"
|
|
40
|
-
},
|
|
41
|
-
"values": [
|
|
42
|
-
"xxs",
|
|
43
|
-
"xs",
|
|
44
|
-
"sm",
|
|
45
|
-
"md",
|
|
46
|
-
"lg",
|
|
47
|
-
"xl"
|
|
48
|
-
],
|
|
49
|
-
"default": "'md'"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"name": "color",
|
|
53
|
-
"type": {
|
|
54
|
-
"text": "AvatarColor"
|
|
55
|
-
},
|
|
56
|
-
"values": [
|
|
57
|
-
"primary",
|
|
58
|
-
"secondary",
|
|
59
|
-
"tertiary",
|
|
60
|
-
"success",
|
|
61
|
-
"error",
|
|
62
|
-
"neutral"
|
|
63
|
-
],
|
|
64
|
-
"default": "'primary'"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"name": "shape",
|
|
68
|
-
"type": {
|
|
69
|
-
"text": "AvatarShape"
|
|
70
|
-
},
|
|
71
|
-
"values": [
|
|
72
|
-
"circle",
|
|
73
|
-
"square"
|
|
74
|
-
],
|
|
75
|
-
"default": "'circle'"
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"name": "bordered",
|
|
79
|
-
"type": {
|
|
80
|
-
"text": "boolean"
|
|
81
|
-
},
|
|
82
|
-
"default": "false"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"name": "status",
|
|
86
|
-
"type": {
|
|
87
|
-
"text": "AvatarStatus"
|
|
88
|
-
},
|
|
89
|
-
"values": [
|
|
90
|
-
"online",
|
|
91
|
-
"offline",
|
|
92
|
-
"busy",
|
|
93
|
-
"away",
|
|
94
|
-
"none"
|
|
95
|
-
],
|
|
96
|
-
"default": "'none'"
|
|
97
|
-
}
|
|
98
|
-
],
|
|
99
|
-
"examples": [
|
|
100
|
-
"<schmancy-avatar\n initials=\"JD\"\n size=\"md\"\n color=\"primary\"\n></schmancy-avatar>"
|
|
101
|
-
]
|
|
11
|
+
"name": "SchmancySkill",
|
|
12
|
+
"tagName": "schmancy-skill",
|
|
13
|
+
"description": "Self-describing runtime helper. Drop `<schmancy-skill></schmancy-skill>` once on a page and `window.schmancy.help('schmancy-button')` returns the machine-readable entry for any tag. Renders nothing."
|
|
102
14
|
}
|
|
103
15
|
]
|
|
104
16
|
},
|
|
@@ -110,13 +22,6 @@
|
|
|
110
22
|
"kind": "class",
|
|
111
23
|
"name": "SchmancyArea",
|
|
112
24
|
"tagName": "schmancy-area",
|
|
113
|
-
"description": "Router outlet — renders the active route's component for the named area. Drives the schmancy router via the `area` service.",
|
|
114
|
-
"summary": "Mount once per \"addressable region\" of the app (typically the main content area). Use the imperative `area.push({ area, component, params })` service to navigate. Multiple named areas can coexist on a page (e.g. main content + a sheet).",
|
|
115
|
-
"platformPrimitive": {
|
|
116
|
-
"tag": "div",
|
|
117
|
-
"mode": "-",
|
|
118
|
-
"note": "Routing outlet. Degrades to an empty div if the tag never registers — routing is lost but the page stays accessible."
|
|
119
|
-
},
|
|
120
25
|
"attributes": [
|
|
121
26
|
{
|
|
122
27
|
"name": "name",
|
|
@@ -131,15 +36,6 @@
|
|
|
131
36
|
"text": "RouteComponent"
|
|
132
37
|
}
|
|
133
38
|
}
|
|
134
|
-
],
|
|
135
|
-
"events": [
|
|
136
|
-
{
|
|
137
|
-
"name": "redirect",
|
|
138
|
-
"description": "When the area resolves a route to a different destination (programmatic redirect). `detail.from` and `detail.to` are the route names."
|
|
139
|
-
}
|
|
140
|
-
],
|
|
141
|
-
"examples": [
|
|
142
|
-
"<schmancy-area name=\"main\"></schmancy-area>\n<script>\n import { area } from '@mhmo91/schmancy';\n area.push({ area: 'main', component: MyDashboardView, params: { id: 42 } });\n</script>"
|
|
143
39
|
]
|
|
144
40
|
}
|
|
145
41
|
]
|
|
@@ -207,6 +103,15 @@
|
|
|
207
103
|
}
|
|
208
104
|
}
|
|
209
105
|
],
|
|
106
|
+
"events": [
|
|
107
|
+
{
|
|
108
|
+
"name": "redirect",
|
|
109
|
+
"type": {
|
|
110
|
+
"text": "SchmancyRouteRedirectEvent"
|
|
111
|
+
},
|
|
112
|
+
"description": "Fired by the parent schmancy-area on this element when the route's guard emits false. Listen with `@redirect`."
|
|
113
|
+
}
|
|
114
|
+
],
|
|
210
115
|
"examples": [
|
|
211
116
|
"<schmancy-area>\n <schmancy-route\n when=\"users\"\n .component=${UserComponent}\n exact\n ></schmancy-route>\n</schmancy-area>"
|
|
212
117
|
]
|
|
@@ -221,13 +126,7 @@
|
|
|
221
126
|
"kind": "class",
|
|
222
127
|
"name": "SchmancyAutocomplete",
|
|
223
128
|
"tagName": "schmancy-autocomplete",
|
|
224
|
-
"description": "
|
|
225
|
-
"summary": "Use when users need to pick from a known list of options but the list is too long for a plain select dropdown. Prefer schmancy-select for short static lists.",
|
|
226
|
-
"platformPrimitive": {
|
|
227
|
-
"tag": "combobox",
|
|
228
|
-
"mode": "change",
|
|
229
|
-
"note": "Composed of a schmancy-input + a floating listbox populated from `<schmancy-option>` children. Multi-select renders selections as schmancy-input-chip chips. Degrades to a datalist-backed native input if the tag never registers."
|
|
230
|
-
},
|
|
129
|
+
"description": "Autocomplete input component with filtering and multi-select support.",
|
|
231
130
|
"attributes": [
|
|
232
131
|
{
|
|
233
132
|
"name": "required",
|
|
@@ -327,15 +226,106 @@
|
|
|
327
226
|
},
|
|
328
227
|
"default": "''"
|
|
329
228
|
}
|
|
330
|
-
]
|
|
331
|
-
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
]
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"kind": "javascript-module",
|
|
235
|
+
"path": "avatar/avatar.ts",
|
|
236
|
+
"declarations": [
|
|
237
|
+
{
|
|
238
|
+
"kind": "class",
|
|
239
|
+
"name": "SchmancyAvatar",
|
|
240
|
+
"tagName": "schmancy-avatar",
|
|
241
|
+
"description": "A customizable avatar component that displays initials or an icon Designed to match the Schmancy design system",
|
|
242
|
+
"attributes": [
|
|
332
243
|
{
|
|
333
|
-
"name": "
|
|
334
|
-
"
|
|
244
|
+
"name": "initials",
|
|
245
|
+
"type": {
|
|
246
|
+
"text": "string"
|
|
247
|
+
},
|
|
248
|
+
"default": "''"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"name": "src",
|
|
252
|
+
"type": {
|
|
253
|
+
"text": "string"
|
|
254
|
+
},
|
|
255
|
+
"default": "''"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"name": "icon",
|
|
259
|
+
"type": {
|
|
260
|
+
"text": "string"
|
|
261
|
+
},
|
|
262
|
+
"default": "''"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"name": "size",
|
|
266
|
+
"type": {
|
|
267
|
+
"text": "AvatarSize"
|
|
268
|
+
},
|
|
269
|
+
"values": [
|
|
270
|
+
"xxs",
|
|
271
|
+
"xs",
|
|
272
|
+
"sm",
|
|
273
|
+
"md",
|
|
274
|
+
"lg",
|
|
275
|
+
"xl"
|
|
276
|
+
],
|
|
277
|
+
"default": "'md'"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"name": "color",
|
|
281
|
+
"type": {
|
|
282
|
+
"text": "AvatarColor"
|
|
283
|
+
},
|
|
284
|
+
"values": [
|
|
285
|
+
"primary",
|
|
286
|
+
"secondary",
|
|
287
|
+
"tertiary",
|
|
288
|
+
"success",
|
|
289
|
+
"error",
|
|
290
|
+
"neutral"
|
|
291
|
+
],
|
|
292
|
+
"default": "'primary'"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"name": "shape",
|
|
296
|
+
"type": {
|
|
297
|
+
"text": "AvatarShape"
|
|
298
|
+
},
|
|
299
|
+
"values": [
|
|
300
|
+
"circle",
|
|
301
|
+
"square"
|
|
302
|
+
],
|
|
303
|
+
"default": "'circle'"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"name": "bordered",
|
|
307
|
+
"type": {
|
|
308
|
+
"text": "boolean"
|
|
309
|
+
},
|
|
310
|
+
"default": "false"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"name": "status",
|
|
314
|
+
"type": {
|
|
315
|
+
"text": "AvatarStatus"
|
|
316
|
+
},
|
|
317
|
+
"values": [
|
|
318
|
+
"online",
|
|
319
|
+
"offline",
|
|
320
|
+
"busy",
|
|
321
|
+
"away",
|
|
322
|
+
"none"
|
|
323
|
+
],
|
|
324
|
+
"default": "'none'"
|
|
335
325
|
}
|
|
336
326
|
],
|
|
337
327
|
"examples": [
|
|
338
|
-
"<schmancy-
|
|
328
|
+
"<schmancy-avatar\n initials=\"JD\"\n size=\"md\"\n color=\"primary\"\n></schmancy-avatar>"
|
|
339
329
|
]
|
|
340
330
|
}
|
|
341
331
|
]
|
|
@@ -528,13 +518,7 @@
|
|
|
528
518
|
"kind": "class",
|
|
529
519
|
"name": "SchmancyBreadcrumb",
|
|
530
520
|
"tagName": "schmancy-breadcrumb",
|
|
531
|
-
"description": "Breadcrumb
|
|
532
|
-
"summary": "Use for deep hierarchical navigation (file explorer paths, e-commerce category chains, admin settings trees). Last item is styled as the current page automatically.",
|
|
533
|
-
"platformPrimitive": {
|
|
534
|
-
"tag": "nav",
|
|
535
|
-
"mode": "-",
|
|
536
|
-
"note": "Styled `<nav aria-label=\"Breadcrumb\">`. Degrades to a plain nav if the tag never registers."
|
|
537
|
-
},
|
|
521
|
+
"description": "Breadcrumb navigation container. Wraps a list of `schmancy-breadcrumb-item` elements with the correct ARIA landmark and semantics.",
|
|
538
522
|
"attributes": [
|
|
539
523
|
{
|
|
540
524
|
"name": "separator",
|
|
@@ -555,22 +539,13 @@
|
|
|
555
539
|
"name": "separator",
|
|
556
540
|
"description": "The separator element."
|
|
557
541
|
}
|
|
558
|
-
],
|
|
559
|
-
"examples": [
|
|
560
|
-
"<schmancy-breadcrumb separator=\"›\">\n <schmancy-breadcrumb-item href=\"/\">Home</schmancy-breadcrumb-item>\n <schmancy-breadcrumb-item href=\"/docs\">Docs</schmancy-breadcrumb-item>\n <schmancy-breadcrumb-item>Getting started</schmancy-breadcrumb-item>\n</schmancy-breadcrumb>"
|
|
561
542
|
]
|
|
562
543
|
},
|
|
563
544
|
{
|
|
564
545
|
"kind": "class",
|
|
565
546
|
"name": "SchmancyBreadcrumbItem",
|
|
566
547
|
"tagName": "schmancy-breadcrumb-item",
|
|
567
|
-
"description": "
|
|
568
|
-
"summary": "Always nested inside schmancy-breadcrumb. Omit `href` on the current page — it gets aria-current=\"page\" automatically.",
|
|
569
|
-
"platformPrimitive": {
|
|
570
|
-
"tag": "a",
|
|
571
|
-
"mode": "-",
|
|
572
|
-
"note": "Renders an `<a>` or `<span>` depending on href. Degrades to a plain anchor/span if the tag never registers."
|
|
573
|
-
},
|
|
548
|
+
"description": "Individual breadcrumb item. Renders as a link when `href` is provided, otherwise as a plain span (represents the current page).",
|
|
574
549
|
"attributes": [
|
|
575
550
|
{
|
|
576
551
|
"name": "href",
|
|
@@ -592,9 +567,6 @@
|
|
|
592
567
|
"name": "",
|
|
593
568
|
"description": "Label content."
|
|
594
569
|
}
|
|
595
|
-
],
|
|
596
|
-
"examples": [
|
|
597
|
-
"<schmancy-breadcrumb-item href=\"/products\">Products</schmancy-breadcrumb-item>"
|
|
598
570
|
]
|
|
599
571
|
}
|
|
600
572
|
]
|
|
@@ -668,13 +640,7 @@
|
|
|
668
640
|
"kind": "class",
|
|
669
641
|
"name": "SchmancyButton",
|
|
670
642
|
"tagName": "schmancy-button",
|
|
671
|
-
"description": "
|
|
672
|
-
"summary": "Trigger actions or navigate. Form-associated; participates in native form submission.",
|
|
673
|
-
"platformPrimitive": {
|
|
674
|
-
"tag": "button",
|
|
675
|
-
"mode": "click",
|
|
676
|
-
"note": "Schmancy-skinned native `<button type=\"submit\">`. When `href` is set, degrades to `<a href=\"…\">`. Falls back to plain `<button>` styled with Tailwind if the tag never registers."
|
|
677
|
-
},
|
|
643
|
+
"description": "A button component.",
|
|
678
644
|
"attributes": [
|
|
679
645
|
{
|
|
680
646
|
"name": "variant",
|
|
@@ -784,9 +750,6 @@
|
|
|
784
750
|
"description": "The underlying native `<button>` (or `<a>` when `href` is set)."
|
|
785
751
|
}
|
|
786
752
|
],
|
|
787
|
-
"examples": [
|
|
788
|
-
"<schmancy-button variant=\"filled\" @click=${() => save()}>Save</schmancy-button>\n<schmancy-button variant=\"outlined\" href=\"/next\">Continue</schmancy-button>"
|
|
789
|
-
],
|
|
790
753
|
"contexts": [
|
|
791
754
|
{
|
|
792
755
|
"name": "SchmancyButtonSizeContext",
|
|
@@ -804,13 +767,7 @@
|
|
|
804
767
|
"kind": "class",
|
|
805
768
|
"name": "SchmnacyIconButton",
|
|
806
769
|
"tagName": "schmancy-icon-button",
|
|
807
|
-
"description": "
|
|
808
|
-
"summary": "Compact round/square button wrapping a single icon glyph. Form-associated like schmancy-button.",
|
|
809
|
-
"platformPrimitive": {
|
|
810
|
-
"tag": "button",
|
|
811
|
-
"mode": "click",
|
|
812
|
-
"note": "Schmancy-skinned native `<button>` (or `<a>` when `href` is set). aria-label is required for a11y because there's no text content."
|
|
813
|
-
},
|
|
770
|
+
"description": "An icon button component.",
|
|
814
771
|
"attributes": [
|
|
815
772
|
{
|
|
816
773
|
"name": "size",
|
|
@@ -911,9 +868,6 @@
|
|
|
911
868
|
"name": "base",
|
|
912
869
|
"description": "The underlying native `<button>` (or `<a>` when `href` is set)."
|
|
913
870
|
}
|
|
914
|
-
],
|
|
915
|
-
"examples": [
|
|
916
|
-
"<schmancy-icon-button aria-label=\"Close\" @click=${() => close()}>\n <schmancy-icon>close</schmancy-icon>\n</schmancy-icon-button>"
|
|
917
871
|
]
|
|
918
872
|
}
|
|
919
873
|
]
|
|
@@ -926,21 +880,11 @@
|
|
|
926
880
|
"kind": "class",
|
|
927
881
|
"name": "SchmancyCardAction",
|
|
928
882
|
"tagName": "schmancy-card-action",
|
|
929
|
-
"description": "Action row of a schmancy-card — holds the card's buttons / links (typically aligned bottom-right).",
|
|
930
|
-
"summary": "Always nested inside schmancy-card. Holds the primary + secondary CTAs for the card.",
|
|
931
|
-
"platformPrimitive": {
|
|
932
|
-
"tag": "div",
|
|
933
|
-
"mode": "-",
|
|
934
|
-
"note": "Styled flex container. Degrades to a plain div if the tag never registers."
|
|
935
|
-
},
|
|
936
883
|
"slots": [
|
|
937
884
|
{
|
|
938
885
|
"name": "",
|
|
939
886
|
"description": "The content of the action"
|
|
940
887
|
}
|
|
941
|
-
],
|
|
942
|
-
"examples": [
|
|
943
|
-
"<schmancy-card-action>\n <schmancy-button variant=\"text\">Cancel</schmancy-button>\n <schmancy-button variant=\"filled\">Save</schmancy-button>\n</schmancy-card-action>"
|
|
944
888
|
]
|
|
945
889
|
}
|
|
946
890
|
]
|
|
@@ -953,13 +897,6 @@
|
|
|
953
897
|
"kind": "class",
|
|
954
898
|
"name": "SchmancyCard",
|
|
955
899
|
"tagName": "schmancy-card",
|
|
956
|
-
"description": "Material Design card — a surface-level container for grouping related content with media / content / actions slots.",
|
|
957
|
-
"summary": "Use for discrete pieces of content that appear in a list (a product, a note, a message). Combine with schmancy-card-media / schmancy-card-content / schmancy-card-action children.",
|
|
958
|
-
"platformPrimitive": {
|
|
959
|
-
"tag": "div",
|
|
960
|
-
"mode": "-",
|
|
961
|
-
"note": "Styled `<div>`; becomes an `<a>` when `href` is set so the whole card is a single interactive surface. Degrades to a plain div/a if the tag never registers."
|
|
962
|
-
},
|
|
963
900
|
"attributes": [
|
|
964
901
|
{
|
|
965
902
|
"name": "type",
|
|
@@ -1028,15 +965,6 @@
|
|
|
1028
965
|
"default": "''",
|
|
1029
966
|
"description": "ARIA label for accessibility."
|
|
1030
967
|
}
|
|
1031
|
-
],
|
|
1032
|
-
"events": [
|
|
1033
|
-
{
|
|
1034
|
-
"name": "schmancy-click",
|
|
1035
|
-
"description": "When an interactive card is clicked or activated via keyboard. `detail.value` echoes the card's `type`. Only fires when `interactive` is set."
|
|
1036
|
-
}
|
|
1037
|
-
],
|
|
1038
|
-
"examples": [
|
|
1039
|
-
"<schmancy-card type=\"elevated\" href=\"/items/42\">\n <schmancy-card-media src=\"/thumb.jpg\" alt=\"Thumbnail\"></schmancy-card-media>\n <schmancy-card-content>\n <h3>Title</h3>\n <p>One-line description of the card's content.</p>\n </schmancy-card-content>\n <schmancy-card-action>\n <schmancy-button variant=\"text\">Open</schmancy-button>\n </schmancy-card-action>\n</schmancy-card>"
|
|
1040
968
|
]
|
|
1041
969
|
}
|
|
1042
970
|
]
|
|
@@ -1048,17 +976,7 @@
|
|
|
1048
976
|
{
|
|
1049
977
|
"kind": "class",
|
|
1050
978
|
"name": "SchmancyCardContent",
|
|
1051
|
-
"tagName": "schmancy-card-content"
|
|
1052
|
-
"description": "Content region of a schmancy-card — holds the card's headline, supporting text, and inline controls.",
|
|
1053
|
-
"summary": "Always nested inside schmancy-card. The padded content block between the media and action rows.",
|
|
1054
|
-
"platformPrimitive": {
|
|
1055
|
-
"tag": "div",
|
|
1056
|
-
"mode": "-",
|
|
1057
|
-
"note": "Styled `<div>` with padding. Degrades to a plain div if the tag never registers."
|
|
1058
|
-
},
|
|
1059
|
-
"examples": [
|
|
1060
|
-
"<schmancy-card-content>\n <h3>Card title</h3>\n <p>Supporting text that describes the card's subject.</p>\n</schmancy-card-content>"
|
|
1061
|
-
]
|
|
979
|
+
"tagName": "schmancy-card-content"
|
|
1062
980
|
}
|
|
1063
981
|
]
|
|
1064
982
|
},
|
|
@@ -1070,13 +988,6 @@
|
|
|
1070
988
|
"kind": "class",
|
|
1071
989
|
"name": "SchmancyCardMedia",
|
|
1072
990
|
"tagName": "schmancy-card-media",
|
|
1073
|
-
"description": "Media region of a schmancy-card — the image / thumbnail at the top of the card.",
|
|
1074
|
-
"summary": "Always nested inside schmancy-card. Pass `src` + `alt` props or slot an `<img>` / `<video>` for custom media.",
|
|
1075
|
-
"platformPrimitive": {
|
|
1076
|
-
"tag": "img",
|
|
1077
|
-
"mode": "-",
|
|
1078
|
-
"note": "Renders an `<img>` (or wraps a slotted media element). Degrades to a styled `<img>` if the tag never registers."
|
|
1079
|
-
},
|
|
1080
991
|
"attributes": [
|
|
1081
992
|
{
|
|
1082
993
|
"name": "src",
|
|
@@ -1106,9 +1017,6 @@
|
|
|
1106
1017
|
},
|
|
1107
1018
|
"default": "''"
|
|
1108
1019
|
}
|
|
1109
|
-
],
|
|
1110
|
-
"examples": [
|
|
1111
|
-
"<schmancy-card-media src=\"/thumb.jpg\" alt=\"Product photo\"></schmancy-card-media>"
|
|
1112
1020
|
]
|
|
1113
1021
|
}
|
|
1114
1022
|
]
|
|
@@ -1323,13 +1231,6 @@
|
|
|
1323
1231
|
"kind": "class",
|
|
1324
1232
|
"name": "SchmancyCheckboxElement",
|
|
1325
1233
|
"tagName": "schmancy-checkbox",
|
|
1326
|
-
"description": "Binary checkbox for multi-select or boolean form fields. Wraps Material Web's `<md-checkbox>`; form-associated.",
|
|
1327
|
-
"summary": "Use for \"select many from a list\" or any boolean that's part of a form submission. Prefer schmancy-switch for immediate-effect toggles.",
|
|
1328
|
-
"platformPrimitive": {
|
|
1329
|
-
"tag": "checkbox",
|
|
1330
|
-
"mode": "change",
|
|
1331
|
-
"note": "Wraps `<md-checkbox>` from `@material/web`. Degrades to styled native `<input type=\"checkbox\">` if the tag never registers."
|
|
1332
|
-
},
|
|
1333
1234
|
"attributes": [
|
|
1334
1235
|
{
|
|
1335
1236
|
"name": "value",
|
|
@@ -1390,7 +1291,7 @@
|
|
|
1390
1291
|
"events": [
|
|
1391
1292
|
{
|
|
1392
1293
|
"name": "valueChange",
|
|
1393
|
-
"description": "
|
|
1294
|
+
"description": "Event fired when the checkbox value changes."
|
|
1394
1295
|
}
|
|
1395
1296
|
],
|
|
1396
1297
|
"slots": [
|
|
@@ -1398,9 +1299,6 @@
|
|
|
1398
1299
|
"name": "",
|
|
1399
1300
|
"description": "The label for the checkbox."
|
|
1400
1301
|
}
|
|
1401
|
-
],
|
|
1402
|
-
"examples": [
|
|
1403
|
-
"<schmancy-checkbox name=\"tos\" required>I accept the terms</schmancy-checkbox>"
|
|
1404
1302
|
]
|
|
1405
1303
|
}
|
|
1406
1304
|
]
|
|
@@ -1413,13 +1311,7 @@
|
|
|
1413
1311
|
"kind": "class",
|
|
1414
1312
|
"name": "SchmancyAssistChip",
|
|
1415
1313
|
"tagName": "schmancy-assist-chip",
|
|
1416
|
-
"description": "Assist chip
|
|
1417
|
-
"summary": "Use for \"do this thing\" suggestions surfaced in context (next to a date, after a recipient list, near a long description). Pair with schmancy-icon for the leading glyph.",
|
|
1418
|
-
"platformPrimitive": {
|
|
1419
|
-
"tag": "button",
|
|
1420
|
-
"mode": "click",
|
|
1421
|
-
"note": "Material 3 assist-chip semantics. Degrades to a plain `<button>` if the tag never registers."
|
|
1422
|
-
},
|
|
1314
|
+
"description": "Assist chip component - prompts user actions like opening calendar events or sharing content Pure Schmancy implementation with Tailwind CSS and RxJS state management",
|
|
1423
1315
|
"attributes": [
|
|
1424
1316
|
{
|
|
1425
1317
|
"name": "value",
|
|
@@ -1469,15 +1361,6 @@
|
|
|
1469
1361
|
"default": "true",
|
|
1470
1362
|
"description": "Elevated style variant - true by default per M3 spec for assist chips"
|
|
1471
1363
|
}
|
|
1472
|
-
],
|
|
1473
|
-
"events": [
|
|
1474
|
-
{
|
|
1475
|
-
"name": "action",
|
|
1476
|
-
"description": "When the chip is clicked or activated via keyboard. `detail.value` echoes the chip's `value` attribute."
|
|
1477
|
-
}
|
|
1478
|
-
],
|
|
1479
|
-
"examples": [
|
|
1480
|
-
"<schmancy-assist-chip @action=${(e) => share(e.detail.value)}>\n <schmancy-icon slot=\"icon\">share</schmancy-icon>\n Share\n</schmancy-assist-chip>"
|
|
1481
1364
|
]
|
|
1482
1365
|
}
|
|
1483
1366
|
]
|
|
@@ -1490,13 +1373,6 @@
|
|
|
1490
1373
|
"kind": "class",
|
|
1491
1374
|
"name": "SchmancyChips",
|
|
1492
1375
|
"tagName": "schmancy-chips",
|
|
1493
|
-
"description": "Filter-chip group — container for selectable `<schmancy-chip>` children. Single or multi-select.",
|
|
1494
|
-
"summary": "Use for filtering or choosing from 2–8 mutually-visible options (\"Status: active / paused / archived\"). Prefer schmancy-select when the list gets long or vertical.",
|
|
1495
|
-
"platformPrimitive": {
|
|
1496
|
-
"tag": "chip-group",
|
|
1497
|
-
"mode": "change",
|
|
1498
|
-
"note": "No direct native equivalent. Degrades to a styled schmancy-select with similar semantics if the tag never registers."
|
|
1499
|
-
},
|
|
1500
1376
|
"attributes": [
|
|
1501
1377
|
{
|
|
1502
1378
|
"name": "wrap",
|
|
@@ -1524,15 +1400,6 @@
|
|
|
1524
1400
|
],
|
|
1525
1401
|
"default": "'start'"
|
|
1526
1402
|
}
|
|
1527
|
-
],
|
|
1528
|
-
"events": [
|
|
1529
|
-
{
|
|
1530
|
-
"name": "change",
|
|
1531
|
-
"description": "`CustomEvent<{ value: string }>` (single) or `{ values: string[] }` (multi)."
|
|
1532
|
-
}
|
|
1533
|
-
],
|
|
1534
|
-
"examples": [
|
|
1535
|
-
"<schmancy-chips multi @change=${(e) => this.filters = e.detail.values}>\n <schmancy-chip value=\"active\">Active</schmancy-chip>\n <schmancy-chip value=\"paused\">Paused</schmancy-chip>\n <schmancy-chip value=\"archived\">Archived</schmancy-chip>\n</schmancy-chips>"
|
|
1536
1403
|
]
|
|
1537
1404
|
}
|
|
1538
1405
|
]
|
|
@@ -1545,13 +1412,7 @@
|
|
|
1545
1412
|
"kind": "class",
|
|
1546
1413
|
"name": "SchmancyInputChip",
|
|
1547
1414
|
"tagName": "schmancy-input-chip",
|
|
1548
|
-
"description": "Input chip
|
|
1549
|
-
"summary": "Removable pill that represents a single user input value. No selected state — use schmancy-chip (filter chip) for toggleable options.",
|
|
1550
|
-
"platformPrimitive": {
|
|
1551
|
-
"tag": "chip",
|
|
1552
|
-
"mode": "remove",
|
|
1553
|
-
"note": "No native equivalent. Composed of a labeled pill + close button. Degrades to a styled `<span>` with a trailing close `<button>` if the tag never registers."
|
|
1554
|
-
},
|
|
1415
|
+
"description": "Input chip component - represents user-provided information that can be removed. IMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state. They represent discrete pieces of user input (like entered tags, selections from lists, etc.) that can only be removed, not toggled on/off. Use cases: - Displaying selected recipients in an email - Showing applied filters that can be removed - Tags or keywords entered by the user - Selected items from a multi-select dropdown",
|
|
1555
1416
|
"attributes": [
|
|
1556
1417
|
{
|
|
1557
1418
|
"name": "value",
|
|
@@ -1626,13 +1487,7 @@
|
|
|
1626
1487
|
"kind": "class",
|
|
1627
1488
|
"name": "SchmancySuggestionChip",
|
|
1628
1489
|
"tagName": "schmancy-suggestion-chip",
|
|
1629
|
-
"description": "Suggestion chip
|
|
1630
|
-
"summary": "Use for \"would you also like to…\" prompts above a search input or below a message thread. Click fires `action` with the chip's `value` so the parent can insert it into a field or trigger a search.",
|
|
1631
|
-
"platformPrimitive": {
|
|
1632
|
-
"tag": "button",
|
|
1633
|
-
"mode": "click",
|
|
1634
|
-
"note": "Material 3 suggestion-chip semantics. Degrades to a plain `<button>` if the tag never registers."
|
|
1635
|
-
},
|
|
1490
|
+
"description": "Suggestion chip component - provides contextual recommendations to users IMPORTANT: Suggestion chips do NOT have a selected state. They are designed to provide suggestions and recommendations that trigger actions when clicked. Unlike filter chips, they cannot be toggled on/off. Pure Schmancy implementation with Tailwind CSS and RxJS state management",
|
|
1636
1491
|
"attributes": [
|
|
1637
1492
|
{
|
|
1638
1493
|
"name": "value",
|
|
@@ -1682,15 +1537,6 @@
|
|
|
1682
1537
|
"default": "false",
|
|
1683
1538
|
"description": "Elevated style variant - flat by default per M3 spec"
|
|
1684
1539
|
}
|
|
1685
|
-
],
|
|
1686
|
-
"events": [
|
|
1687
|
-
{
|
|
1688
|
-
"name": "action",
|
|
1689
|
-
"description": "When the chip is clicked or activated via keyboard. `detail.value` echoes the chip's `value` attribute."
|
|
1690
|
-
}
|
|
1691
|
-
],
|
|
1692
|
-
"examples": [
|
|
1693
|
-
"<schmancy-suggestion-chip value=\"yesterday\" @action=${(e) => setRange(e.detail.value)}>\n Yesterday\n</schmancy-suggestion-chip>"
|
|
1694
1540
|
]
|
|
1695
1541
|
}
|
|
1696
1542
|
]
|
|
@@ -2301,13 +2147,6 @@
|
|
|
2301
2147
|
"kind": "class",
|
|
2302
2148
|
"name": "SchmancyDetails",
|
|
2303
2149
|
"tagName": "schmancy-details",
|
|
2304
|
-
"description": "Expandable disclosure panel — a styled `<details>` / `<summary>` pair with animated expand + overlay options.",
|
|
2305
|
-
"summary": "Use for progressive-disclosure content: FAQs, collapsible settings sections, accordion-style lists. Prefer schmancy-expand for full-page accordions where only one section can be open at a time.",
|
|
2306
|
-
"platformPrimitive": {
|
|
2307
|
-
"tag": "details",
|
|
2308
|
-
"mode": "toggle",
|
|
2309
|
-
"note": "Wraps native `<details>`/`<summary>`. Degrades to the native element if the tag never registers — same keyboard accessibility, just no animation."
|
|
2310
|
-
},
|
|
2311
2150
|
"attributes": [
|
|
2312
2151
|
{
|
|
2313
2152
|
"name": "summary",
|
|
@@ -2369,15 +2208,6 @@
|
|
|
2369
2208
|
},
|
|
2370
2209
|
"default": "'p-3'"
|
|
2371
2210
|
}
|
|
2372
|
-
],
|
|
2373
|
-
"events": [
|
|
2374
|
-
{
|
|
2375
|
-
"name": "toggle",
|
|
2376
|
-
"description": "When the open state changes (bubbles from the native `<details>`)."
|
|
2377
|
-
}
|
|
2378
|
-
],
|
|
2379
|
-
"examples": [
|
|
2380
|
-
"<schmancy-details summary=\"Shipping details\">\n <p>Order ships in 2 business days.</p>\n</schmancy-details>"
|
|
2381
2211
|
]
|
|
2382
2212
|
}
|
|
2383
2213
|
]
|
|
@@ -2425,13 +2255,7 @@
|
|
|
2425
2255
|
"kind": "class",
|
|
2426
2256
|
"name": "SchmancyDialog",
|
|
2427
2257
|
"tagName": "schmancy-dialog",
|
|
2428
|
-
"description": "
|
|
2429
|
-
"summary": "Blocks interaction with the rest of the page until dismissed. For quick confirmations, prefer `$dialog.confirm({ ... })` over this element. For arbitrary dialog content driven imperatively, prefer `$dialog.component(MyComponent)`.",
|
|
2430
|
-
"platformPrimitive": {
|
|
2431
|
-
"tag": "dialog",
|
|
2432
|
-
"mode": "close",
|
|
2433
|
-
"note": "Positioned overlay in light DOM. Degrades to a styled `<dialog>` if the tag never registers — loses custom animations but keeps focus trap + ESC close."
|
|
2434
|
-
},
|
|
2258
|
+
"description": "Unified dialog component that handles both content-only and confirm modes.",
|
|
2435
2259
|
"attributes": [
|
|
2436
2260
|
{
|
|
2437
2261
|
"name": "uid",
|
|
@@ -2501,16 +2325,6 @@
|
|
|
2501
2325
|
"description": "Whether to hide action buttons (force content mode)"
|
|
2502
2326
|
}
|
|
2503
2327
|
],
|
|
2504
|
-
"events": [
|
|
2505
|
-
{
|
|
2506
|
-
"name": "confirm",
|
|
2507
|
-
"description": "In confirm mode, when the confirm button is clicked."
|
|
2508
|
-
},
|
|
2509
|
-
{
|
|
2510
|
-
"name": "cancel",
|
|
2511
|
-
"description": "In confirm mode, when the cancel button or ESC is activated."
|
|
2512
|
-
}
|
|
2513
|
-
],
|
|
2514
2328
|
"slots": [
|
|
2515
2329
|
{
|
|
2516
2330
|
"name": "default",
|
|
@@ -2522,8 +2336,8 @@
|
|
|
2522
2336
|
}
|
|
2523
2337
|
],
|
|
2524
2338
|
"examples": [
|
|
2525
|
-
"Content mode (no buttons):\n<schmancy-dialog>\n <my-custom-content></my-custom-content>\n</schmancy-dialog>",
|
|
2526
|
-
"Confirm mode (with buttons):\n<schmancy-dialog\n title=\"
|
|
2339
|
+
"Content mode (no buttons):\n\n<schmancy-dialog>\n <my-custom-content></my-custom-content>\n</schmancy-dialog>",
|
|
2340
|
+
"Confirm mode (with buttons):\n\n<schmancy-dialog\n title=\"Confirm Action\"\n message=\"Are you sure?\"\n confirm-text=\"Yes\"\n cancel-text=\"No\"\n></schmancy-dialog>"
|
|
2527
2341
|
]
|
|
2528
2342
|
}
|
|
2529
2343
|
]
|
|
@@ -2536,13 +2350,6 @@
|
|
|
2536
2350
|
"kind": "class",
|
|
2537
2351
|
"name": "SchmancyDivider",
|
|
2538
2352
|
"tagName": "schmancy-divider",
|
|
2539
|
-
"description": "Thin horizontal (or vertical) separator rule between sections of content.",
|
|
2540
|
-
"summary": "Semantic separator between groups — list items, menu sections, content blocks. Uses outline theme token.",
|
|
2541
|
-
"platformPrimitive": {
|
|
2542
|
-
"tag": "hr",
|
|
2543
|
-
"mode": "-",
|
|
2544
|
-
"note": "Styled horizontal rule. Degrades to a native `<hr>` if the tag never registers."
|
|
2545
|
-
},
|
|
2546
2353
|
"attributes": [
|
|
2547
2354
|
{
|
|
2548
2355
|
"name": "outline",
|
|
@@ -2574,9 +2381,6 @@
|
|
|
2574
2381
|
],
|
|
2575
2382
|
"default": "'start'"
|
|
2576
2383
|
}
|
|
2577
|
-
],
|
|
2578
|
-
"examples": [
|
|
2579
|
-
"<schmancy-list-item>First</schmancy-list-item>\n<schmancy-divider></schmancy-divider>\n<schmancy-list-item>Second</schmancy-list-item>"
|
|
2580
2384
|
]
|
|
2581
2385
|
}
|
|
2582
2386
|
]
|
|
@@ -2589,13 +2393,7 @@
|
|
|
2589
2393
|
"kind": "class",
|
|
2590
2394
|
"name": "SchmancyDropdown",
|
|
2591
2395
|
"tagName": "schmancy-dropdown",
|
|
2592
|
-
"description": "
|
|
2593
|
-
"summary": "Prefer schmancy-menu for action lists, schmancy-autocomplete for type-ahead, schmancy-tooltip for hover hints. Reach for schmancy-dropdown when none of those fit — custom filters, color pickers, inline forms anchored to a trigger.",
|
|
2594
|
-
"platformPrimitive": {
|
|
2595
|
-
"tag": "div",
|
|
2596
|
-
"mode": "-",
|
|
2597
|
-
"note": "Anchored via Floating UI (autoUpdate, flip, shift). Degrades to inline content if the tag never registers — loses positioning but content stays accessible."
|
|
2598
|
-
},
|
|
2396
|
+
"description": "A dropdown component that displays content when triggered.",
|
|
2599
2397
|
"attributes": [
|
|
2600
2398
|
{
|
|
2601
2399
|
"name": "open",
|
|
@@ -2636,16 +2434,6 @@
|
|
|
2636
2434
|
"description": "Offset distance in pixels"
|
|
2637
2435
|
}
|
|
2638
2436
|
],
|
|
2639
|
-
"events": [
|
|
2640
|
-
{
|
|
2641
|
-
"name": "open",
|
|
2642
|
-
"description": "When the dropdown opens."
|
|
2643
|
-
},
|
|
2644
|
-
{
|
|
2645
|
-
"name": "close",
|
|
2646
|
-
"description": "When the dropdown closes."
|
|
2647
|
-
}
|
|
2648
|
-
],
|
|
2649
2437
|
"slots": [
|
|
2650
2438
|
{
|
|
2651
2439
|
"name": "trigger",
|
|
@@ -2655,9 +2443,6 @@
|
|
|
2655
2443
|
"name": "",
|
|
2656
2444
|
"description": "Default slot for the dropdown content"
|
|
2657
2445
|
}
|
|
2658
|
-
],
|
|
2659
|
-
"examples": [
|
|
2660
|
-
"<schmancy-dropdown>\n <schmancy-button slot=\"trigger\">Filters</schmancy-button>\n <schmancy-dropdown-content>\n <schmancy-form>…</schmancy-form>\n </schmancy-dropdown-content>\n</schmancy-dropdown>"
|
|
2661
2446
|
]
|
|
2662
2447
|
}
|
|
2663
2448
|
]
|
|
@@ -2670,13 +2455,7 @@
|
|
|
2670
2455
|
"kind": "class",
|
|
2671
2456
|
"name": "SchmancyDropdownContent",
|
|
2672
2457
|
"tagName": "schmancy-dropdown-content",
|
|
2673
|
-
"description": "Content
|
|
2674
|
-
"summary": "Nest this inside schmancy-dropdown (not in the trigger slot). Use the `content` CSS part to customize backgrounds / shadows / padding without shadow-root piercing.",
|
|
2675
|
-
"platformPrimitive": {
|
|
2676
|
-
"tag": "div",
|
|
2677
|
-
"mode": "-",
|
|
2678
|
-
"note": "Positioned panel with theme-aware styling. Degrades to an inline div if the tag never registers."
|
|
2679
|
-
},
|
|
2458
|
+
"description": "Content container for the schmancy-dropdown component.",
|
|
2680
2459
|
"attributes": [
|
|
2681
2460
|
{
|
|
2682
2461
|
"name": "width",
|
|
@@ -2729,9 +2508,6 @@
|
|
|
2729
2508
|
"name": "content",
|
|
2730
2509
|
"description": "The inner wrapper element; style to override panel backgrounds, shadows, padding, or borders without shadow-root piercing."
|
|
2731
2510
|
}
|
|
2732
|
-
],
|
|
2733
|
-
"examples": [
|
|
2734
|
-
"<schmancy-dropdown>\n <schmancy-button slot=\"trigger\">Open</schmancy-button>\n <schmancy-dropdown-content>\n Panel contents…\n </schmancy-dropdown-content>\n</schmancy-dropdown>"
|
|
2735
2511
|
]
|
|
2736
2512
|
}
|
|
2737
2513
|
]
|
|
@@ -2744,13 +2520,6 @@
|
|
|
2744
2520
|
"kind": "class",
|
|
2745
2521
|
"name": "SchmancyExpandRoot",
|
|
2746
2522
|
"tagName": "schmancy-expand-root",
|
|
2747
|
-
"description": "Container for schmancy-expand children — coordinates mutual-exclusion so only one child is open at a time. Also renders the portal panel that the active child expands into.",
|
|
2748
|
-
"summary": "Always wrap a group of schmancy-expand children. Without a root, each schmancy-expand behaves independently (which is usually not what you want — prefer schmancy-details for that).",
|
|
2749
|
-
"platformPrimitive": {
|
|
2750
|
-
"tag": "div",
|
|
2751
|
-
"mode": "-",
|
|
2752
|
-
"note": "Coordinating wrapper. Degrades to a plain div if the tag never registers — children fall back to independent `<details>` behavior."
|
|
2753
|
-
},
|
|
2754
2523
|
"attributes": [
|
|
2755
2524
|
{
|
|
2756
2525
|
"name": "type",
|
|
@@ -2783,9 +2552,6 @@
|
|
|
2783
2552
|
],
|
|
2784
2553
|
"default": "'solid'"
|
|
2785
2554
|
}
|
|
2786
|
-
],
|
|
2787
|
-
"examples": [
|
|
2788
|
-
"<schmancy-expand-root>\n <schmancy-expand summary=\"Step 1\">…</schmancy-expand>\n <schmancy-expand summary=\"Step 2\">…</schmancy-expand>\n</schmancy-expand-root>"
|
|
2789
2555
|
]
|
|
2790
2556
|
}
|
|
2791
2557
|
]
|
|
@@ -2798,13 +2564,6 @@
|
|
|
2798
2564
|
"kind": "class",
|
|
2799
2565
|
"name": "SchmancyExpand",
|
|
2800
2566
|
"tagName": "schmancy-expand",
|
|
2801
|
-
"description": "Accordion-style section — expands on click, coordinates with siblings via schmancy-expand-root to close any sibling when a new one opens. Only one schmancy-expand can be open at a time within the same root.",
|
|
2802
|
-
"summary": "Use for grouped progressive-disclosure where only one section should be open at a time. Prefer schmancy-details when sections should be independent.",
|
|
2803
|
-
"platformPrimitive": {
|
|
2804
|
-
"tag": "details",
|
|
2805
|
-
"mode": "toggle",
|
|
2806
|
-
"note": "Schmancy-skinned accordion section. Degrades to `<details>` if the tag never registers — loses mutual-exclusion behavior but stays functional."
|
|
2807
|
-
},
|
|
2808
2567
|
"attributes": [
|
|
2809
2568
|
{
|
|
2810
2569
|
"name": "summary",
|
|
@@ -2862,15 +2621,6 @@
|
|
|
2862
2621
|
},
|
|
2863
2622
|
"default": "false"
|
|
2864
2623
|
}
|
|
2865
|
-
],
|
|
2866
|
-
"events": [
|
|
2867
|
-
{
|
|
2868
|
-
"name": "toggle",
|
|
2869
|
-
"description": "When the open state changes."
|
|
2870
|
-
}
|
|
2871
|
-
],
|
|
2872
|
-
"examples": [
|
|
2873
|
-
"<schmancy-expand-root>\n <schmancy-expand summary=\"Billing\">Billing form…</schmancy-expand>\n <schmancy-expand summary=\"Shipping\">Shipping form…</schmancy-expand>\n <schmancy-expand summary=\"Review\">Order review…</schmancy-expand>\n</schmancy-expand-root>"
|
|
2874
2624
|
]
|
|
2875
2625
|
}
|
|
2876
2626
|
]
|
|
@@ -2894,13 +2644,7 @@
|
|
|
2894
2644
|
"kind": "class",
|
|
2895
2645
|
"name": "SchmancyForm",
|
|
2896
2646
|
"tagName": "schmancy-form",
|
|
2897
|
-
"description": "
|
|
2898
|
-
"summary": "Always wrap form-associated schmancy components in schmancy-form (or a native `<form>`) so `new FormData(form)` just works.",
|
|
2899
|
-
"platformPrimitive": {
|
|
2900
|
-
"tag": "form",
|
|
2901
|
-
"mode": "submit",
|
|
2902
|
-
"note": "Light-DOM native `<form>` element. Degrades to a `<form>` if the tag never registers — same semantics, just no CustomEvent translation."
|
|
2903
|
-
},
|
|
2647
|
+
"description": "A thin ergonomic wrapper around a native `<form>` element. Its children are reparented into a `<form>` element in light DOM on connection, so: - Form-associated custom elements (FACE) resolve their `internals.form` correctly via native DOM ancestry. - `new FormData(form)` collects values from every FACE + native control without any manual walking. - `form.reset()` triggers `formResetCallback()` on every FACE. - `form.reportValidity()` runs native validation UI. - `<button type=\"submit\">` and `<schmancy-button type=\"submit\">` both submit the form via the native submitter pipeline. This component exists only to translate the native `submit` / `reset` events into the Schmancy event shape (`detail: FormData`). All heavy lifting is the platform's.",
|
|
2904
2648
|
"events": [
|
|
2905
2649
|
{
|
|
2906
2650
|
"name": "submit",
|
|
@@ -2910,9 +2654,6 @@
|
|
|
2910
2654
|
"name": "reset",
|
|
2911
2655
|
"description": "Emitted after the underlying form resets."
|
|
2912
2656
|
}
|
|
2913
|
-
],
|
|
2914
|
-
"examples": [
|
|
2915
|
-
"<schmancy-form @submit=${(e) => console.log(Object.fromEntries(e.detail))}>\n <schmancy-input name=\"email\" type=\"email\" required></schmancy-input>\n <schmancy-input name=\"password\" type=\"password\" required></schmancy-input>\n <schmancy-button type=\"submit\" variant=\"filled\">Sign in</schmancy-button>\n</schmancy-form>"
|
|
2916
2657
|
]
|
|
2917
2658
|
}
|
|
2918
2659
|
]
|
|
@@ -3093,13 +2834,7 @@
|
|
|
3093
2834
|
"kind": "class",
|
|
3094
2835
|
"name": "SchmancyInput",
|
|
3095
2836
|
"tagName": "schmancy-input",
|
|
3096
|
-
"description": "
|
|
3097
|
-
"summary": "Text input with Material Design styling, native form integration, and RxJS-debounced input/change/enter events.",
|
|
3098
|
-
"platformPrimitive": {
|
|
3099
|
-
"tag": "input",
|
|
3100
|
-
"mode": "change",
|
|
3101
|
-
"note": "Schmancy-skinned native `<input>`. Degrades to `<input class=\"…\">` styled via Tailwind if the tag never registers."
|
|
3102
|
-
},
|
|
2837
|
+
"description": "Enhanced version of the SchmancyInput component with improved form integration and compatibility with legacy API. This component uses the native form association API and maintains parity with native input behaviors while providing a stylish, accessible interface.",
|
|
3103
2838
|
"attributes": [
|
|
3104
2839
|
{
|
|
3105
2840
|
"name": "value",
|
|
@@ -3268,23 +3003,6 @@
|
|
|
3268
3003
|
},
|
|
3269
3004
|
"description": "For datalist support"
|
|
3270
3005
|
}
|
|
3271
|
-
],
|
|
3272
|
-
"events": [
|
|
3273
|
-
{
|
|
3274
|
-
"name": "input",
|
|
3275
|
-
"description": "`CustomEvent<{value: string}>` on every keystroke."
|
|
3276
|
-
},
|
|
3277
|
-
{
|
|
3278
|
-
"name": "change",
|
|
3279
|
-
"description": "`CustomEvent<{value: string}>` on blur/change."
|
|
3280
|
-
},
|
|
3281
|
-
{
|
|
3282
|
-
"name": "enter",
|
|
3283
|
-
"description": "`CustomEvent<{value: string}>` when user presses Enter."
|
|
3284
|
-
}
|
|
3285
|
-
],
|
|
3286
|
-
"examples": [
|
|
3287
|
-
"<schmancy-form @submit=${onSubmit}>\n <schmancy-input name=\"email\" type=\"email\" label=\"Email\" required></schmancy-input>\n</schmancy-form>"
|
|
3288
3006
|
]
|
|
3289
3007
|
},
|
|
3290
3008
|
{
|
|
@@ -3374,13 +3092,6 @@
|
|
|
3374
3092
|
"kind": "class",
|
|
3375
3093
|
"name": "SchmancyLightbox",
|
|
3376
3094
|
"tagName": "schmancy-lightbox",
|
|
3377
|
-
"description": "Image lightbox — thumbnail grid that opens to a full-screen viewer on click, with keyboard navigation between images.",
|
|
3378
|
-
"summary": "Drop-in for galleries / image lists where each thumbnail should expand to fill the viewport. Pass an `images` array of `{ src, alt, caption? }`.",
|
|
3379
|
-
"platformPrimitive": {
|
|
3380
|
-
"tag": "dialog",
|
|
3381
|
-
"mode": "close",
|
|
3382
|
-
"note": "Modal full-screen viewer with keyboard navigation. Degrades to a plain image grid if the tag never registers."
|
|
3383
|
-
},
|
|
3384
3095
|
"attributes": [
|
|
3385
3096
|
{
|
|
3386
3097
|
"name": "src",
|
|
@@ -3410,19 +3121,6 @@
|
|
|
3410
3121
|
},
|
|
3411
3122
|
"default": "false"
|
|
3412
3123
|
}
|
|
3413
|
-
],
|
|
3414
|
-
"events": [
|
|
3415
|
-
{
|
|
3416
|
-
"name": "change",
|
|
3417
|
-
"description": "When the active image index changes (next/prev). `detail.index` is the new active image's position in the array."
|
|
3418
|
-
},
|
|
3419
|
-
{
|
|
3420
|
-
"name": "close",
|
|
3421
|
-
"description": "When the viewer is dismissed (ESC, backdrop click, close button)."
|
|
3422
|
-
}
|
|
3423
|
-
],
|
|
3424
|
-
"examples": [
|
|
3425
|
-
"<schmancy-lightbox .images=${[{ src: '/a.jpg', alt: 'A' }, { src: '/b.jpg', alt: 'B' }]}></schmancy-lightbox>"
|
|
3426
3124
|
]
|
|
3427
3125
|
}
|
|
3428
3126
|
]
|
|
@@ -3435,13 +3133,6 @@
|
|
|
3435
3133
|
"kind": "class",
|
|
3436
3134
|
"name": "SchmancyListItem",
|
|
3437
3135
|
"tagName": "schmancy-list-item",
|
|
3438
|
-
"description": "Single row in a schmancy-list — supports leading icon/avatar, main content, trailing actions. Clickable via click event, or used as a schmancy-menu-item's visual base.",
|
|
3439
|
-
"summary": "Prefer nesting inside schmancy-list for consistent spacing/surface. Use `href` to make the row a navigation target (renders as `<a>`), or a click handler for in-app actions.",
|
|
3440
|
-
"platformPrimitive": {
|
|
3441
|
-
"tag": "li",
|
|
3442
|
-
"mode": "click",
|
|
3443
|
-
"note": "Styled `<li>` or `<a>` depending on `href`. Degrades to a plain list item if the tag never registers."
|
|
3444
|
-
},
|
|
3445
3136
|
"attributes": [
|
|
3446
3137
|
{
|
|
3447
3138
|
"name": "variant",
|
|
@@ -3507,9 +3198,6 @@
|
|
|
3507
3198
|
"description": "default content"
|
|
3508
3199
|
}
|
|
3509
3200
|
],
|
|
3510
|
-
"examples": [
|
|
3511
|
-
"<schmancy-list-item href=\"/profile\">\n <schmancy-icon slot=\"leading\">person</schmancy-icon>\n Profile\n <schmancy-icon slot=\"trailing\">chevron_right</schmancy-icon>\n</schmancy-list-item>"
|
|
3512
|
-
],
|
|
3513
3201
|
"contexts": [
|
|
3514
3202
|
{
|
|
3515
3203
|
"name": "SchmancySurfaceTypeContext",
|
|
@@ -3527,13 +3215,7 @@
|
|
|
3527
3215
|
"kind": "class",
|
|
3528
3216
|
"name": "List",
|
|
3529
3217
|
"tagName": "schmancy-list",
|
|
3530
|
-
"description": "
|
|
3531
|
-
"summary": "Use for vertical lists of similarly-shaped items: settings entries, menu items, contact lists, notification lists. Pair with schmancy-list-item children.",
|
|
3532
|
-
"platformPrimitive": {
|
|
3533
|
-
"tag": "ul",
|
|
3534
|
-
"mode": "-",
|
|
3535
|
-
"note": "Styled list container. Degrades to a plain ul/div if the tag never registers."
|
|
3536
|
-
},
|
|
3218
|
+
"description": "`<schmancy-list>` component. A list component that wraps its content within a customizable surface. It allows you to set the surface type and fill style, and can optionally enable scrolling behavior by delegating the scroller attribute to the surface.",
|
|
3537
3219
|
"attributes": [
|
|
3538
3220
|
{
|
|
3539
3221
|
"name": "surface",
|
|
@@ -3596,7 +3278,7 @@
|
|
|
3596
3278
|
}
|
|
3597
3279
|
],
|
|
3598
3280
|
"examples": [
|
|
3599
|
-
"<schmancy-list surface=\"container\" scroller>\n <schmancy-list-item>
|
|
3281
|
+
"<schmancy-list surface=\"container\" scroller>\n <schmancy-list-item>List Item 1</schmancy-list-item>\n</schmancy-list>"
|
|
3600
3282
|
],
|
|
3601
3283
|
"contexts": [
|
|
3602
3284
|
{
|
|
@@ -3716,6 +3398,14 @@
|
|
|
3716
3398
|
"default": "[]",
|
|
3717
3399
|
"description": "All available recipients"
|
|
3718
3400
|
},
|
|
3401
|
+
{
|
|
3402
|
+
"name": "importSources",
|
|
3403
|
+
"type": {
|
|
3404
|
+
"text": "ImportSource[]"
|
|
3405
|
+
},
|
|
3406
|
+
"default": "[]",
|
|
3407
|
+
"description": "Sources users can import recipients from (forwarded from parent)"
|
|
3408
|
+
},
|
|
3719
3409
|
{
|
|
3720
3410
|
"name": "selectedRecipients",
|
|
3721
3411
|
"type": {
|
|
@@ -4076,23 +3766,7 @@
|
|
|
4076
3766
|
{
|
|
4077
3767
|
"kind": "class",
|
|
4078
3768
|
"name": "SchmancyMenuItem",
|
|
4079
|
-
"tagName": "schmancy-menu-item"
|
|
4080
|
-
"description": "Single item inside a schmancy-menu. Auto-dismisses the menu dialog on click — attach your action handler to `@click` and it just works.",
|
|
4081
|
-
"summary": "Always nested inside schmancy-menu. The click handler runs before the dialog closes, so `@click=${() => doThing()}` is the full pattern.",
|
|
4082
|
-
"platformPrimitive": {
|
|
4083
|
-
"tag": "menuitem",
|
|
4084
|
-
"mode": "click",
|
|
4085
|
-
"note": "Wraps schmancy-list-item with auto-dismiss. Degrades to a styled `<button role=\"menuitem\">` if the tag never registers."
|
|
4086
|
-
},
|
|
4087
|
-
"slots": [
|
|
4088
|
-
{
|
|
4089
|
-
"name": "",
|
|
4090
|
-
"description": "The item label and optional icons."
|
|
4091
|
-
}
|
|
4092
|
-
],
|
|
4093
|
-
"examples": [
|
|
4094
|
-
"<schmancy-menu-item @click=${() => archive()}>\n <schmancy-icon slot=\"leading\">archive</schmancy-icon>\n Archive\n</schmancy-menu-item>"
|
|
4095
|
-
]
|
|
3769
|
+
"tagName": "schmancy-menu-item"
|
|
4096
3770
|
}
|
|
4097
3771
|
]
|
|
4098
3772
|
},
|
|
@@ -4104,13 +3778,7 @@
|
|
|
4104
3778
|
"kind": "class",
|
|
4105
3779
|
"name": "SchmancyMenu",
|
|
4106
3780
|
"tagName": "schmancy-menu",
|
|
4107
|
-
"description": "
|
|
4108
|
-
"summary": "Use for dropdown menus attached to a button or icon — \"More actions\", \"Account\", row overflow menus in tables. Clicking a schmancy-menu-item inside auto-dismisses; custom components slotted inside must call `$dialog.dismiss()` themselves.",
|
|
4109
|
-
"platformPrimitive": {
|
|
4110
|
-
"tag": "menu",
|
|
4111
|
-
"mode": "close",
|
|
4112
|
-
"note": "Trigger + floating listbox dialog. Degrades to a native `<select>` or inline list if the tag never registers."
|
|
4113
|
-
},
|
|
3781
|
+
"description": "Menu Component CRITICAL: The dialog ONLY renders the raw menu items passed via the default slot. NO <ul> wrapper, NO classes, NO additional markup in the dialog call. The dialog service handles positioning and display - we just pass the pure content.",
|
|
4114
3782
|
"slots": [
|
|
4115
3783
|
{
|
|
4116
3784
|
"name": "trigger",
|
|
@@ -4126,102 +3794,8 @@
|
|
|
4126
3794
|
}
|
|
4127
3795
|
],
|
|
4128
3796
|
"examples": [
|
|
4129
|
-
"<schmancy-menu>\n <schmancy-
|
|
4130
|
-
|
|
4131
|
-
}
|
|
4132
|
-
]
|
|
4133
|
-
},
|
|
4134
|
-
{
|
|
4135
|
-
"kind": "javascript-module",
|
|
4136
|
-
"path": "metric/metric.ts",
|
|
4137
|
-
"declarations": [
|
|
4138
|
-
{
|
|
4139
|
-
"kind": "class",
|
|
4140
|
-
"name": "SchmancyMetric",
|
|
4141
|
-
"tagName": "schmancy-metric",
|
|
4142
|
-
"description": "KPI metric — a label + value pair for dashboards, with optional trend + delta indicators.",
|
|
4143
|
-
"summary": "The building block of dashboards and meta bars. Pass `label` + `value` for a basic stat; add `trend` / `delta` for the delta-from-last-period pattern. Use multiple metrics side-by-side with Tailwind flex/grid utilities.",
|
|
4144
|
-
"platformPrimitive": {
|
|
4145
|
-
"tag": "div",
|
|
4146
|
-
"mode": "-",
|
|
4147
|
-
"note": "Styled `<div>` with two text lines + optional trend arrow. Degrades to a plain div+spans if the tag never registers."
|
|
4148
|
-
},
|
|
4149
|
-
"attributes": [
|
|
4150
|
-
{
|
|
4151
|
-
"name": "label",
|
|
4152
|
-
"type": {
|
|
4153
|
-
"text": "string"
|
|
4154
|
-
},
|
|
4155
|
-
"default": "''",
|
|
4156
|
-
"description": "Upper-case caption shown above the value."
|
|
4157
|
-
},
|
|
4158
|
-
{
|
|
4159
|
-
"name": "value",
|
|
4160
|
-
"type": {
|
|
4161
|
-
"text": "string"
|
|
4162
|
-
},
|
|
4163
|
-
"default": "''",
|
|
4164
|
-
"description": "Primary metric value, rendered large. Pre-format numbers/currency yourself."
|
|
4165
|
-
},
|
|
4166
|
-
{
|
|
4167
|
-
"name": "trend",
|
|
4168
|
-
"type": {
|
|
4169
|
-
"text": "MetricTrend"
|
|
4170
|
-
},
|
|
4171
|
-
"values": [
|
|
4172
|
-
"neutral",
|
|
4173
|
-
"up",
|
|
4174
|
-
"down"
|
|
4175
|
-
],
|
|
4176
|
-
"description": "Optional trend direction. Controls the color + arrow on the delta pill."
|
|
4177
|
-
},
|
|
4178
|
-
{
|
|
4179
|
-
"name": "delta",
|
|
4180
|
-
"type": {
|
|
4181
|
-
"text": "string"
|
|
4182
|
-
},
|
|
4183
|
-
"description": "Optional delta copy displayed in a pill next to the value (e.g. `+12%`)."
|
|
4184
|
-
},
|
|
4185
|
-
{
|
|
4186
|
-
"name": "size",
|
|
4187
|
-
"type": {
|
|
4188
|
-
"text": "MetricSize"
|
|
4189
|
-
},
|
|
4190
|
-
"values": [
|
|
4191
|
-
"sm",
|
|
4192
|
-
"md",
|
|
4193
|
-
"lg"
|
|
4194
|
-
],
|
|
4195
|
-
"default": "'md'",
|
|
4196
|
-
"description": "Size scale affecting label + value typography."
|
|
4197
|
-
}
|
|
4198
|
-
],
|
|
4199
|
-
"slots": [
|
|
4200
|
-
{
|
|
4201
|
-
"name": "",
|
|
4202
|
-
"description": "Optional custom value rendering (overrides the `value` attribute if present)."
|
|
4203
|
-
},
|
|
4204
|
-
{
|
|
4205
|
-
"name": "label",
|
|
4206
|
-
"description": "Optional custom label rendering (overrides the `label` attribute if present)."
|
|
4207
|
-
}
|
|
4208
|
-
],
|
|
4209
|
-
"cssParts": [
|
|
4210
|
-
{
|
|
4211
|
-
"name": "label",
|
|
4212
|
-
"description": "The label line."
|
|
4213
|
-
},
|
|
4214
|
-
{
|
|
4215
|
-
"name": "value",
|
|
4216
|
-
"description": "The value line."
|
|
4217
|
-
},
|
|
4218
|
-
{
|
|
4219
|
-
"name": "delta",
|
|
4220
|
-
"description": "The delta pill (only when `delta` is set)."
|
|
4221
|
-
}
|
|
4222
|
-
],
|
|
4223
|
-
"examples": [
|
|
4224
|
-
"<schmancy-metric label=\"In flight\" value=\"4\"></schmancy-metric>\n<schmancy-metric label=\"Open value\" value=\"€165,900\" trend=\"up\" delta=\"+12%\"></schmancy-metric>\n<schmancy-metric label=\"Error rate\" value=\"0.3%\" trend=\"down\" delta=\"-0.1%\"></schmancy-metric>"
|
|
3797
|
+
"Basic menu with auto-dismiss\n\n<schmancy-menu>\n <schmancy-button slot=\"trigger\">Actions</schmancy-button>\n <schmancy-menu-item @click=${() => editItem()}>Edit</schmancy-menu-item>\n <schmancy-menu-item @click=${() => deleteItem()}>Delete</schmancy-menu-item>\n</schmancy-menu>\n\nNote: Dialog auto-dismisses when schmancy-menu-item is clicked",
|
|
3798
|
+
"Custom component (manual dismiss)\n\n<schmancy-menu>\n <schmancy-icon-button slot=\"trigger\">settings</schmancy-icon-button>\n <my-settings-form @submit=${() => $dialog.dismiss()}></my-settings-form>\n</schmancy-menu>\n\nNote: Custom components must call $dialog.dismiss() manually"
|
|
4225
3799
|
]
|
|
4226
3800
|
}
|
|
4227
3801
|
]
|
|
@@ -4234,21 +3808,11 @@
|
|
|
4234
3808
|
"kind": "class",
|
|
4235
3809
|
"name": "SchmancyDrawerAppbar",
|
|
4236
3810
|
"tagName": "schmancy-nav-drawer-appbar",
|
|
4237
|
-
"description": "Top app bar region inside schmancy-nav-drawer — the horizontal strip above the content area that typically holds the page title, hamburger trigger, and contextual actions.",
|
|
4238
|
-
"summary": "Always nested inside schmancy-nav-drawer. Holds the page-level title + top-right actions. On mobile, the drawer's hamburger button renders inside this region.",
|
|
4239
|
-
"platformPrimitive": {
|
|
4240
|
-
"tag": "header",
|
|
4241
|
-
"mode": "-",
|
|
4242
|
-
"note": "Styled horizontal bar. Degrades to a plain header element if the tag never registers."
|
|
4243
|
-
},
|
|
4244
3811
|
"slots": [
|
|
4245
3812
|
{
|
|
4246
3813
|
"name": "",
|
|
4247
3814
|
"description": "The default slot"
|
|
4248
3815
|
}
|
|
4249
|
-
],
|
|
4250
|
-
"examples": [
|
|
4251
|
-
"<schmancy-nav-drawer-appbar>\n <schmancy-typography type=\"title\" token=\"lg\">Dashboard</schmancy-typography>\n <schmancy-icon-button slot=\"trailing\" aria-label=\"Notifications\">\n <schmancy-icon>notifications</schmancy-icon>\n </schmancy-icon-button>\n</schmancy-nav-drawer-appbar>"
|
|
4252
3816
|
]
|
|
4253
3817
|
}
|
|
4254
3818
|
]
|
|
@@ -4260,17 +3824,7 @@
|
|
|
4260
3824
|
{
|
|
4261
3825
|
"kind": "class",
|
|
4262
3826
|
"name": "SchmancyNavigationDrawerContent",
|
|
4263
|
-
"tagName": "schmancy-nav-drawer-content"
|
|
4264
|
-
"description": "Main content region inside schmancy-nav-drawer — typically hosts the router outlet or the page's body content.",
|
|
4265
|
-
"summary": "Always nested inside schmancy-nav-drawer. Scrollable by default; propagates scroll events up so the drawer can collapse app-bar on scroll.",
|
|
4266
|
-
"platformPrimitive": {
|
|
4267
|
-
"tag": "main",
|
|
4268
|
-
"mode": "scroll",
|
|
4269
|
-
"note": "Scrollable `<main>`. Degrades to a plain scrollable div if the tag never registers."
|
|
4270
|
-
},
|
|
4271
|
-
"examples": [
|
|
4272
|
-
"<schmancy-nav-drawer-content>\n <schmancy-area name=\"main\"></schmancy-area>\n</schmancy-nav-drawer-content>"
|
|
4273
|
-
]
|
|
3827
|
+
"tagName": "schmancy-nav-drawer-content"
|
|
4274
3828
|
}
|
|
4275
3829
|
]
|
|
4276
3830
|
},
|
|
@@ -4282,13 +3836,6 @@
|
|
|
4282
3836
|
"kind": "class",
|
|
4283
3837
|
"name": "SchmancyNavigationDrawer",
|
|
4284
3838
|
"tagName": "schmancy-nav-drawer",
|
|
4285
|
-
"description": "Responsive navigation drawer — a left sidebar that becomes a hamburger-triggered modal overlay on narrow viewports. Composes schmancy-nav-drawer-navbar (the nav rail), schmancy-nav-drawer-appbar (the top bar), and schmancy-nav-drawer-content (the main region).",
|
|
4286
|
-
"summary": "The app-shell layout primitive. Wrap your whole app in this when you want \"persistent sidebar on desktop, drawer on mobile\" behavior. Mode auto-switches at the breakpoint.",
|
|
4287
|
-
"platformPrimitive": {
|
|
4288
|
-
"tag": "div",
|
|
4289
|
-
"mode": "-",
|
|
4290
|
-
"note": "Flex layout with viewport-width mode switching. Degrades to a stack of plain divs if the tag never registers."
|
|
4291
|
-
},
|
|
4292
3839
|
"attributes": [
|
|
4293
3840
|
{
|
|
4294
3841
|
"name": "fullscreen",
|
|
@@ -4322,21 +3869,12 @@
|
|
|
4322
3869
|
]
|
|
4323
3870
|
}
|
|
4324
3871
|
],
|
|
4325
|
-
"events": [
|
|
4326
|
-
{
|
|
4327
|
-
"name": "schmancy-drawer-state",
|
|
4328
|
-
"description": "When the drawer open/close state changes on mobile."
|
|
4329
|
-
}
|
|
4330
|
-
],
|
|
4331
3872
|
"slots": [
|
|
4332
3873
|
{
|
|
4333
3874
|
"name": "",
|
|
4334
3875
|
"description": "The content slot"
|
|
4335
3876
|
}
|
|
4336
3877
|
],
|
|
4337
|
-
"examples": [
|
|
4338
|
-
"<schmancy-nav-drawer>\n <schmancy-nav-drawer-navbar>\n <!-- nav items, typically schmancy-list-item links -->\n </schmancy-nav-drawer-navbar>\n <schmancy-nav-drawer-appbar>App title</schmancy-nav-drawer-appbar>\n <schmancy-nav-drawer-content>\n <!-- router outlet / page content -->\n </schmancy-nav-drawer-content>\n</schmancy-nav-drawer>"
|
|
4339
|
-
],
|
|
4340
3878
|
"contexts": [
|
|
4341
3879
|
{
|
|
4342
3880
|
"name": "SchmancyDrawerNavbarMode",
|
|
@@ -4358,13 +3896,6 @@
|
|
|
4358
3896
|
"kind": "class",
|
|
4359
3897
|
"name": "SchmancyNavigationDrawerSidebar",
|
|
4360
3898
|
"tagName": "schmancy-nav-drawer-navbar",
|
|
4361
|
-
"description": "Sidebar region inside schmancy-nav-drawer — the persistent-on-desktop / modal-on-mobile nav rail.",
|
|
4362
|
-
"summary": "Always nested inside schmancy-nav-drawer. On desktop: pinned left sidebar. On mobile: modal overlay triggered by the hamburger button in schmancy-nav-drawer-appbar.",
|
|
4363
|
-
"platformPrimitive": {
|
|
4364
|
-
"tag": "nav",
|
|
4365
|
-
"mode": "-",
|
|
4366
|
-
"note": "Sidebar `<nav>` with responsive open/close behavior. Degrades to a plain sidebar div if the tag never registers."
|
|
4367
|
-
},
|
|
4368
3899
|
"attributes": [
|
|
4369
3900
|
{
|
|
4370
3901
|
"name": "width",
|
|
@@ -4374,9 +3905,6 @@
|
|
|
4374
3905
|
"default": "'220px'"
|
|
4375
3906
|
}
|
|
4376
3907
|
],
|
|
4377
|
-
"examples": [
|
|
4378
|
-
"<schmancy-nav-drawer-navbar>\n <schmancy-list>\n <schmancy-list-item href=\"/dashboard\">Dashboard</schmancy-list-item>\n <schmancy-list-item href=\"/settings\">Settings</schmancy-list-item>\n </schmancy-list>\n</schmancy-nav-drawer-navbar>"
|
|
4379
|
-
],
|
|
4380
3908
|
"contexts": [
|
|
4381
3909
|
{
|
|
4382
3910
|
"name": "SchmancyDrawerNavbarMode",
|
|
@@ -4398,13 +3926,7 @@
|
|
|
4398
3926
|
"kind": "class",
|
|
4399
3927
|
"name": "SchmancyNavigationBarItem",
|
|
4400
3928
|
"tagName": "schmancy-navigation-bar-item",
|
|
4401
|
-
"description": "
|
|
4402
|
-
"summary": "Always nested inside schmancy-navigation-bar. Use `icon` attr for a Material Symbols glyph or slot=icon for custom content.",
|
|
4403
|
-
"platformPrimitive": {
|
|
4404
|
-
"tag": "button",
|
|
4405
|
-
"mode": "click",
|
|
4406
|
-
"note": "Styled navigation target. Degrades to a plain `<button>` if the tag never registers."
|
|
4407
|
-
},
|
|
3929
|
+
"description": "`<schmancy-navigation-bar-item>` component Individual navigation item for use within a navigation bar. Represents a single destination with an icon and optional label following Material Design 3 specifications.",
|
|
4408
3930
|
"attributes": [
|
|
4409
3931
|
{
|
|
4410
3932
|
"name": "icon",
|
|
@@ -4486,13 +4008,7 @@
|
|
|
4486
4008
|
"kind": "class",
|
|
4487
4009
|
"name": "SchmancyNavigationBar",
|
|
4488
4010
|
"tagName": "schmancy-navigation-bar",
|
|
4489
|
-
"description": "
|
|
4490
|
-
"summary": "Use for mobile primary navigation (home, search, favorites, settings). For persistent desktop nav, prefer schmancy-navigation-rail or schmancy-nav-drawer. Consumer is responsible for fixed-bottom positioning via class.",
|
|
4491
|
-
"platformPrimitive": {
|
|
4492
|
-
"tag": "nav",
|
|
4493
|
-
"mode": "-",
|
|
4494
|
-
"note": "Styled horizontal nav with schmancy-navigation-bar-item children. Degrades to a plain flex container if the tag never registers."
|
|
4495
|
-
},
|
|
4011
|
+
"description": "`<schmancy-navigation-bar>` component A horizontal navigation component following Material Design 3 specifications. Navigation bars provide access to between 3-7 primary destinations. Automatically hides in fullscreen mode when triggered via schmancyTheme.next({ fullscreen: true }). **IMPORTANT**: This component includes `z-10` by default (consistent with navigation-rail). The consumer is responsible for positioning the navigation bar in their layout. For typical bottom-fixed positioning, add: `class=\"fixed bottom-0 left-0 right-0\"`.",
|
|
4496
4012
|
"attributes": [
|
|
4497
4013
|
{
|
|
4498
4014
|
"name": "hideLabels",
|
|
@@ -4546,13 +4062,7 @@
|
|
|
4546
4062
|
"kind": "class",
|
|
4547
4063
|
"name": "SchmancyNavigationRailItem",
|
|
4548
4064
|
"tagName": "schmancy-navigation-rail-item",
|
|
4549
|
-
"description": "
|
|
4550
|
-
"summary": "Always nested inside schmancy-navigation-rail. Use `icon` attr for a Material Symbols glyph, or slot=icon for custom content. Supports a `badge` slot for notification dots / counts.",
|
|
4551
|
-
"platformPrimitive": {
|
|
4552
|
-
"tag": "button",
|
|
4553
|
-
"mode": "click",
|
|
4554
|
-
"note": "Styled vertical navigation target. Degrades to a plain `<button>` if the tag never registers."
|
|
4555
|
-
},
|
|
4065
|
+
"description": "Material Design 3 Navigation Rail Item Component",
|
|
4556
4066
|
"attributes": [
|
|
4557
4067
|
{
|
|
4558
4068
|
"name": "icon",
|
|
@@ -4690,7 +4200,7 @@
|
|
|
4690
4200
|
"kind": "class",
|
|
4691
4201
|
"name": "SchmancyNavigationRail",
|
|
4692
4202
|
"tagName": "schmancy-navigation-rail",
|
|
4693
|
-
"description": "
|
|
4203
|
+
"description": "Material Design 3 Navigation Rail Component\r @see https://m3.material.io/components/navigation-rail/overview\r `<schmancy-navigation-rail>` component\r A Material Design 3 vertical navigation component positioned on the left side of an application.\r Navigation rails provide access to between 3-7 primary destinations with a compact footprint.\r Automatically hides in fullscreen mode when triggered via schmancyTheme.next({ fullscreen: true }).\r @element schmancy-navigation-rail\r @slot fab - Slot for a floating action button at the top\r @slot menu - Slot for a menu icon or button below the FAB\r @slot header - Custom header content slot\r @slot footer - Custom footer content slot\r @slot - Default slot for navigation rail items\r @fires navigate - When a navigation item is selected\r @fires menu-click - When the menu button is clicked\r @fires fab-click - When the FAB is clicked\r @csspart rail - The main rail container\r @csspart header - The header section\r @csspart nav - The navigation items container\r @csspart footer - The footer section",
|
|
4694
4204
|
"attributes": [
|
|
4695
4205
|
{
|
|
4696
4206
|
"name": "label-visibility",
|
|
@@ -4744,7 +4254,6 @@
|
|
|
4744
4254
|
}
|
|
4745
4255
|
],
|
|
4746
4256
|
"examples": [
|
|
4747
|
-
"<schmancy-navigation-rail activeIndex=\"0\">\r\n <schmancy-icon-button slot=\"fab\" variant=\"filled\">\r\n <schmancy-icon>add</schmancy-icon>\r\n </schmancy-icon-button>\r\n <schmancy-navigation-rail-item icon=\"home\" label=\"Home\"></schmancy-navigation-rail-item>\r\n <schmancy-navigation-rail-item icon=\"search\" label=\"Search\"></schmancy-navigation-rail-item>\r\n <schmancy-navigation-rail-item icon=\"settings\" label=\"Settings\"></schmancy-navigation-rail-item>\r\n</schmancy-navigation-rail>\r\n@platform nav - Vertical styled nav. Degrades to a plain vertical flex container if the tag never registers.\r\n@slot fab - Slot for a floating action button at the top\r\n@slot menu - Slot for a menu icon or button below the FAB\r\n@slot header - Custom header content slot\r\n@slot footer - Custom footer content slot\r\n@slot - Default slot for navigation rail items\r\n\n@fires navigate - When a navigation item is selected\r\n@fires menu-click - When the menu button is clicked\r\n@fires fab-click - When the FAB is clicked\r\n\n@csspart rail - The main rail container\r\n@csspart header - The header section\r\n@csspart nav - The navigation items container\r\n@csspart footer - The footer section",
|
|
4748
4257
|
"<schmancy-navigation-rail activeIndex=\"0\">\r\n <schmancy-button slot=\"fab\" variant=\"filled\" aria-label=\"Compose\">\r\n <schmancy-icon>add</schmancy-icon>\r\n </schmancy-button>\r\n <schmancy-button slot=\"menu\" variant=\"text\" aria-label=\"Menu\">\r\n <schmancy-icon>menu</schmancy-icon>\r\n </schmancy-button>\r\n <schmancy-navigation-rail-item icon=\"home\" label=\"Home\"></schmancy-navigation-rail-item>\r\n <schmancy-navigation-rail-item icon=\"search\" label=\"Search\"></schmancy-navigation-rail-item>\r\n <schmancy-navigation-rail-item icon=\"favorite\" label=\"Favorites\" badge=\"3\"></schmancy-navigation-rail-item>\r\n <schmancy-navigation-rail-item icon=\"settings\" label=\"Settings\"></schmancy-navigation-rail-item>\r\n</schmancy-navigation-rail>"
|
|
4749
4258
|
]
|
|
4750
4259
|
}
|
|
@@ -4949,7 +4458,7 @@
|
|
|
4949
4458
|
"kind": "class",
|
|
4950
4459
|
"name": "SchmancyOverlay",
|
|
4951
4460
|
"tagName": "schmancy-overlay",
|
|
4952
|
-
"description": "The single overlay element.
|
|
4461
|
+
"description": "The single overlay element. Custom `<div>` shell (not a native `<dialog>`) — one backdrop mechanism for all layouts, one focus-trap path, one animation orchestrator. The shell is always rendered; the backdrop only renders when modal. The surface is positioned per tier: - Modal layouts (centered / sheet) → backdrop + surface, focus-trapped, library-managed z-index. - Anchored 'css-anchor' tier → surface as `popover=\"auto\"` with CSS Anchor Positioning; native top-layer + light-dismiss. - Anchored 'popover-fui' tier → surface as `popover=\"auto\"` + Floating UI position math; native top-layer + light-dismiss. - Anchored 'fui-only' tier → surface positioned by Floating UI; manual click-outside + manual Esc. Public lifecycle: the service calls `open()` to mount content and animate in, `close(reason)` to animate out and dismiss. The element exposes `closed$` (Observable emitting reason + result once) and `tier` / `layout` / `modal` as properties for the stack entry.",
|
|
4953
4462
|
"attributes": [
|
|
4954
4463
|
{
|
|
4955
4464
|
"name": "layout",
|
|
@@ -4976,6 +4485,19 @@
|
|
|
4976
4485
|
"text": "boolean"
|
|
4977
4486
|
},
|
|
4978
4487
|
"default": "true"
|
|
4488
|
+
},
|
|
4489
|
+
{
|
|
4490
|
+
"name": "tier",
|
|
4491
|
+
"type": {
|
|
4492
|
+
"text": "OverlayTier"
|
|
4493
|
+
},
|
|
4494
|
+
"values": [
|
|
4495
|
+
"css-anchor",
|
|
4496
|
+
"popover-fui",
|
|
4497
|
+
"fui-only",
|
|
4498
|
+
"modal"
|
|
4499
|
+
],
|
|
4500
|
+
"default": "'modal'"
|
|
4979
4501
|
}
|
|
4980
4502
|
]
|
|
4981
4503
|
}
|
|
@@ -5068,8 +4590,20 @@
|
|
|
5068
4590
|
{
|
|
5069
4591
|
"name": "input-type",
|
|
5070
4592
|
"type": {
|
|
5071
|
-
"text": "
|
|
4593
|
+
"text": "\"number\" | \"text\" | \"date\" | \"datetime-local\" | \"tel\" | \"search\" | \"email\" | \"url\" | \"password\" | \"time\""
|
|
5072
4594
|
},
|
|
4595
|
+
"values": [
|
|
4596
|
+
"number",
|
|
4597
|
+
"text",
|
|
4598
|
+
"date",
|
|
4599
|
+
"datetime-local",
|
|
4600
|
+
"tel",
|
|
4601
|
+
"search",
|
|
4602
|
+
"email",
|
|
4603
|
+
"url",
|
|
4604
|
+
"password",
|
|
4605
|
+
"time"
|
|
4606
|
+
],
|
|
5073
4607
|
"default": "'text'"
|
|
5074
4608
|
},
|
|
5075
4609
|
{
|
|
@@ -5097,13 +4631,7 @@
|
|
|
5097
4631
|
"kind": "class",
|
|
5098
4632
|
"name": "SchmancyPage",
|
|
5099
4633
|
"tagName": "schmancy-page",
|
|
5100
|
-
"description": "
|
|
5101
|
-
"summary": "The root of any app view — wraps header / main / footer children in a full-viewport grid. Use rows=\"auto_1fr_auto\" to make the middle child scroll while header/footer stay pinned.",
|
|
5102
|
-
"platformPrimitive": {
|
|
5103
|
-
"tag": "div",
|
|
5104
|
-
"mode": "-",
|
|
5105
|
-
"note": "Full-height CSS-grid container. Degrades to a plain div if the tag never registers — children still flow vertically but without the height fill and gesture suppression."
|
|
5106
|
-
},
|
|
4634
|
+
"description": "Native mobile-like page container. Prevents double-tap zoom, pull-to-refresh, rubber-banding. Automatically fills remaining viewport height.",
|
|
5107
4635
|
"attributes": [
|
|
5108
4636
|
{
|
|
5109
4637
|
"name": "rows",
|
|
@@ -5129,7 +4657,40 @@
|
|
|
5129
4657
|
}
|
|
5130
4658
|
],
|
|
5131
4659
|
"examples": [
|
|
5132
|
-
"<schmancy-page rows=\"
|
|
4660
|
+
"html`\n <schmancy-page rows=\"1fr_2fr_auto\">\n <header>App Bar</header>\n <main>Scrollable content</main>\n <footer>Navigation</footer>\n </schmancy-page>\n`"
|
|
4661
|
+
]
|
|
4662
|
+
}
|
|
4663
|
+
]
|
|
4664
|
+
},
|
|
4665
|
+
{
|
|
4666
|
+
"kind": "javascript-module",
|
|
4667
|
+
"path": "payment-card-form/payment-card-form.ts",
|
|
4668
|
+
"declarations": [
|
|
4669
|
+
{
|
|
4670
|
+
"kind": "class",
|
|
4671
|
+
"name": "SchmancyPaymentCardForm",
|
|
4672
|
+
"tagName": "schmancy-payment-card-form",
|
|
4673
|
+
"attributes": [
|
|
4674
|
+
{
|
|
4675
|
+
"name": "value",
|
|
4676
|
+
"type": {
|
|
4677
|
+
"text": "{ cardName: string; cardNumber: string; expirationDate: string; cvv: string; }"
|
|
4678
|
+
},
|
|
4679
|
+
"default": "{\n\t\tcardName: '',\n\t\tcardNumber: '',\n\t\texpirationDate: '',\n\t\tcvv: '',\n\t}",
|
|
4680
|
+
"description": "The form data containing all payment card information"
|
|
4681
|
+
}
|
|
4682
|
+
],
|
|
4683
|
+
"events": [
|
|
4684
|
+
{
|
|
4685
|
+
"name": "change",
|
|
4686
|
+
"description": "Fires when any field in the form changes"
|
|
4687
|
+
}
|
|
4688
|
+
],
|
|
4689
|
+
"slots": [
|
|
4690
|
+
{
|
|
4691
|
+
"name": "",
|
|
4692
|
+
"description": "Default slot for any additional content"
|
|
4693
|
+
}
|
|
5133
4694
|
]
|
|
5134
4695
|
}
|
|
5135
4696
|
]
|
|
@@ -5230,13 +4791,7 @@
|
|
|
5230
4791
|
"kind": "class",
|
|
5231
4792
|
"name": "RadioButton",
|
|
5232
4793
|
"tagName": "schmancy-radio-button",
|
|
5233
|
-
"description": "
|
|
5234
|
-
"summary": "Low-level primitive. Use schmancy-radio-group and pass `.options` for the common path; only instantiate schmancy-radio-button directly when you need per-button custom rendering.",
|
|
5235
|
-
"platformPrimitive": {
|
|
5236
|
-
"tag": "radio",
|
|
5237
|
-
"mode": "change",
|
|
5238
|
-
"note": "Schmancy-skinned `<input type=\"radio\">` semantics. Degrades to native radio if the tag never registers."
|
|
5239
|
-
},
|
|
4794
|
+
"description": "Radio button component for use within radio groups.",
|
|
5240
4795
|
"attributes": [
|
|
5241
4796
|
{
|
|
5242
4797
|
"name": "value",
|
|
@@ -5266,15 +4821,6 @@
|
|
|
5266
4821
|
},
|
|
5267
4822
|
"default": "''"
|
|
5268
4823
|
}
|
|
5269
|
-
],
|
|
5270
|
-
"events": [
|
|
5271
|
-
{
|
|
5272
|
-
"name": "radio-button-click",
|
|
5273
|
-
"description": "Internal event consumed by the parent schmancy-radio-group; `detail.value` is the clicked button's value. Listen on schmancy-radio-group for the public `change` event instead of subscribing here."
|
|
5274
|
-
}
|
|
5275
|
-
],
|
|
5276
|
-
"examples": [
|
|
5277
|
-
"<schmancy-radio-group name=\"plan\">\n <schmancy-radio-button value=\"free\">Free</schmancy-radio-button>\n <schmancy-radio-button value=\"pro\" checked>Pro</schmancy-radio-button>\n</schmancy-radio-group>"
|
|
5278
4824
|
]
|
|
5279
4825
|
}
|
|
5280
4826
|
]
|
|
@@ -5287,13 +4833,6 @@
|
|
|
5287
4833
|
"kind": "class",
|
|
5288
4834
|
"name": "RadioGroup",
|
|
5289
4835
|
"tagName": "schmancy-radio-group",
|
|
5290
|
-
"description": "Radio-button group — single-select from a static list of mutually-exclusive options. Form-associated.",
|
|
5291
|
-
"summary": "Use for 2–5 mutually-exclusive options where all should stay visible (\"Shipping: standard / express / overnight\"). Prefer schmancy-select when the list grows.",
|
|
5292
|
-
"platformPrimitive": {
|
|
5293
|
-
"tag": "radiogroup",
|
|
5294
|
-
"mode": "change",
|
|
5295
|
-
"note": "Renders schmancy-radio-button children. Degrades to a fieldset with native `<input type=\"radio\" name=\"…\">` siblings if the tag never registers."
|
|
5296
|
-
},
|
|
5297
4836
|
"attributes": [
|
|
5298
4837
|
{
|
|
5299
4838
|
"name": "label",
|
|
@@ -5330,15 +4869,6 @@
|
|
|
5330
4869
|
},
|
|
5331
4870
|
"default": "false"
|
|
5332
4871
|
}
|
|
5333
|
-
],
|
|
5334
|
-
"events": [
|
|
5335
|
-
{
|
|
5336
|
-
"name": "change",
|
|
5337
|
-
"description": "`SchmancyRadioGroupChangeEvent` with the selected `value`."
|
|
5338
|
-
}
|
|
5339
|
-
],
|
|
5340
|
-
"examples": [
|
|
5341
|
-
"<schmancy-radio-group\n name=\"shipping\"\n label=\"Shipping\"\n .options=${[\n { label: 'Standard (5 days)', value: 'standard' },\n { label: 'Express (2 days)', value: 'express' },\n { label: 'Overnight', value: 'overnight' },\n ]}\n></schmancy-radio-group>"
|
|
5342
4872
|
]
|
|
5343
4873
|
}
|
|
5344
4874
|
]
|
|
@@ -5411,13 +4941,7 @@
|
|
|
5411
4941
|
"kind": "class",
|
|
5412
4942
|
"name": "SchmancySelect",
|
|
5413
4943
|
"tagName": "schmancy-select",
|
|
5414
|
-
"description": "
|
|
5415
|
-
"summary": "Material Design dropdown with type-to-filter, keyboard nav, single or multi-select. Options are declared as `<schmancy-option>` children; value / values props sync with selection.",
|
|
5416
|
-
"platformPrimitive": {
|
|
5417
|
-
"tag": "select",
|
|
5418
|
-
"mode": "change",
|
|
5419
|
-
"note": "Floating-UI-positioned listbox. Degrades to native `<select>` styled via Tailwind if the tag never registers, though multi-select UX is lost."
|
|
5420
|
-
},
|
|
4944
|
+
"description": "Select dropdown component with single and multi-select support.",
|
|
5421
4945
|
"attributes": [
|
|
5422
4946
|
{
|
|
5423
4947
|
"name": "name",
|
|
@@ -5501,15 +5025,6 @@
|
|
|
5501
5025
|
},
|
|
5502
5026
|
"default": "''"
|
|
5503
5027
|
}
|
|
5504
|
-
],
|
|
5505
|
-
"events": [
|
|
5506
|
-
{
|
|
5507
|
-
"name": "change",
|
|
5508
|
-
"description": "`SchmancySelectChangeEvent` with `{ value }` (single) or `{ value: string[] }` (multi)."
|
|
5509
|
-
}
|
|
5510
|
-
],
|
|
5511
|
-
"examples": [
|
|
5512
|
-
"<schmancy-select name=\"priority\" label=\"Priority\" value=\"medium\">\n <schmancy-option value=\"low\">Low</schmancy-option>\n <schmancy-option value=\"medium\">Medium</schmancy-option>\n <schmancy-option value=\"high\">High</schmancy-option>\n</schmancy-select>"
|
|
5513
5028
|
]
|
|
5514
5029
|
}
|
|
5515
5030
|
]
|
|
@@ -5545,13 +5060,6 @@
|
|
|
5545
5060
|
"kind": "class",
|
|
5546
5061
|
"name": "SchmancySheet",
|
|
5547
5062
|
"tagName": "schmancy-sheet",
|
|
5548
|
-
"description": "Side-docked or bottom-docked panel — a dialog variant that slides in from an edge. Driven imperatively by the `sheet` service; rarely instantiated directly.",
|
|
5549
|
-
"summary": "Prefer `sheet.open({ component, position })` over placing this element declaratively — the service handles stacking, focus, close on outside-click, ESC, and router integration.",
|
|
5550
|
-
"platformPrimitive": {
|
|
5551
|
-
"tag": "dialog",
|
|
5552
|
-
"mode": "close",
|
|
5553
|
-
"note": "Positioned-fixed panel with backdrop. Degrades to a `<dialog>` if the tag never registers — loses slide animation, keeps focus trap + dismiss."
|
|
5554
|
-
},
|
|
5555
5063
|
"attributes": [
|
|
5556
5064
|
{
|
|
5557
5065
|
"name": "open",
|
|
@@ -5592,15 +5100,6 @@
|
|
|
5592
5100
|
},
|
|
5593
5101
|
"default": "true"
|
|
5594
5102
|
}
|
|
5595
|
-
],
|
|
5596
|
-
"events": [
|
|
5597
|
-
{
|
|
5598
|
-
"name": "close",
|
|
5599
|
-
"description": "When the sheet is dismissed (backdrop click, close button, ESC)."
|
|
5600
|
-
}
|
|
5601
|
-
],
|
|
5602
|
-
"examples": [
|
|
5603
|
-
"import { sheet, SchmancySheetPosition } from '@mhmo91/schmancy'\nsheet.open({\n component: new MyEditorElement(),\n position: SchmancySheetPosition.Side,\n title: 'Edit item',\n})"
|
|
5604
5103
|
]
|
|
5605
5104
|
}
|
|
5606
5105
|
]
|
|
@@ -5916,13 +5415,7 @@
|
|
|
5916
5415
|
"kind": "class",
|
|
5917
5416
|
"name": "SchmancySurface",
|
|
5918
5417
|
"tagName": "schmancy-surface",
|
|
5919
|
-
"description": "
|
|
5920
|
-
"summary": "Wrap a region of a page when you need it to pick up theme tokens (background + on-color + elevation). Nest surfaces to express Material Design's hierarchical color stacking.",
|
|
5921
|
-
"platformPrimitive": {
|
|
5922
|
-
"tag": "div",
|
|
5923
|
-
"mode": "-",
|
|
5924
|
-
"note": "Styled `<div>` with theme-driven background/color/elevation. Degrades to a plain `<div>` if the tag never registers — text stays readable, just loses theming."
|
|
5925
|
-
},
|
|
5418
|
+
"description": "`<schmancy-surface>` component This component renders a styled container that adapts its dimensions based on the `fill` property. It supports various rounding options, elevation levels, and applies background and text color classes based on the specified surface variant. Additionally, when the `scroller` property is true, the component enables internal scrolling by applying overflow and scroll-behavior styles. SurfaceMixin automatically provides surfaceStyles CSS.",
|
|
5926
5419
|
"attributes": [
|
|
5927
5420
|
{
|
|
5928
5421
|
"name": "type",
|
|
@@ -5983,13 +5476,7 @@
|
|
|
5983
5476
|
"kind": "class",
|
|
5984
5477
|
"name": "SchmancySwitch",
|
|
5985
5478
|
"tagName": "schmancy-switch",
|
|
5986
|
-
"description": "Binary on/off control
|
|
5987
|
-
"summary": "Use when flipping the control takes effect right away (e.g. \"Dark mode\", \"Enable notifications\"). Prefer schmancy-checkbox for form submissions.",
|
|
5988
|
-
"platformPrimitive": {
|
|
5989
|
-
"tag": "switch",
|
|
5990
|
-
"mode": "change",
|
|
5991
|
-
"note": "Accessible native `<button role=\"switch\" aria-checked>` under the hood. No native HTML element exists; falls back to a styled checkbox if the tag never registers."
|
|
5992
|
-
},
|
|
5479
|
+
"description": "Binary on/off control. Form-associated, keyboard-accessible, semantically a switch (ARIA role=\"switch\"). Distinct from `schmancy-checkbox`: a switch represents an immediate state change, a checkbox represents a selection in a form to be submitted.",
|
|
5993
5480
|
"attributes": [
|
|
5994
5481
|
{
|
|
5995
5482
|
"name": "checked",
|
|
@@ -6049,9 +5536,6 @@
|
|
|
6049
5536
|
"name": "thumb",
|
|
6050
5537
|
"description": "The moving thumb."
|
|
6051
5538
|
}
|
|
6052
|
-
],
|
|
6053
|
-
"examples": [
|
|
6054
|
-
"<schmancy-switch ?checked=${this.darkMode} @change=${(e) => this.darkMode = e.detail.value}>\n Dark mode\n</schmancy-switch>"
|
|
6055
5539
|
]
|
|
6056
5540
|
}
|
|
6057
5541
|
]
|
|
@@ -6084,13 +5568,7 @@
|
|
|
6084
5568
|
"kind": "class",
|
|
6085
5569
|
"name": "SchmancyDataTable",
|
|
6086
5570
|
"tagName": "schmancy-table",
|
|
6087
|
-
"description": "
|
|
6088
|
-
"summary": "Use for tabular data where each column has a known shape. Pair with `<schmancy-table-row>` for the per-row interaction surface. Sort by setting `sortable: true` on a column descriptor; the table emits `sort-change` so the parent can re-fetch / re-sort in the data layer if needed.",
|
|
6089
|
-
"platformPrimitive": {
|
|
6090
|
-
"tag": "table",
|
|
6091
|
-
"mode": "-",
|
|
6092
|
-
"note": "Renders an accessible table with `<lit-virtualizer>` for large datasets. Degrades to a styled `<table>` if the tag never registers."
|
|
6093
|
-
},
|
|
5571
|
+
"description": "SchmancyDataTable is a generic data table component. It supports sorting, filtering, and custom rendering of rows.",
|
|
6094
5572
|
"attributes": [
|
|
6095
5573
|
{
|
|
6096
5574
|
"name": "keyField",
|
|
@@ -6113,19 +5591,6 @@
|
|
|
6113
5591
|
},
|
|
6114
5592
|
"default": "false"
|
|
6115
5593
|
}
|
|
6116
|
-
],
|
|
6117
|
-
"events": [
|
|
6118
|
-
{
|
|
6119
|
-
"name": "click",
|
|
6120
|
-
"description": "When a data row is activated. `detail.item` is the row's source object, `detail.index` is the position in the data array."
|
|
6121
|
-
},
|
|
6122
|
-
{
|
|
6123
|
-
"name": "sort-change",
|
|
6124
|
-
"description": "When the user toggles a column sort. `detail.column` is the column key, `detail.direction` is `'asc' | 'desc' | null`."
|
|
6125
|
-
}
|
|
6126
|
-
],
|
|
6127
|
-
"examples": [
|
|
6128
|
-
"<schmancy-table .data=${rows} .columns=${[{ name: 'Name', key: 'name' }, { name: 'Status', key: 'status' }]}></schmancy-table>"
|
|
6129
5594
|
]
|
|
6130
5595
|
}
|
|
6131
5596
|
]
|
|
@@ -6263,13 +5728,7 @@
|
|
|
6263
5728
|
"kind": "class",
|
|
6264
5729
|
"name": "SchmancyTextarea",
|
|
6265
5730
|
"tagName": "schmancy-textarea",
|
|
6266
|
-
"description": "
|
|
6267
|
-
"summary": "Textarea for freeform text — notes, descriptions, messages. Auto-grows with content up to a maxlength.",
|
|
6268
|
-
"platformPrimitive": {
|
|
6269
|
-
"tag": "textarea",
|
|
6270
|
-
"mode": "change",
|
|
6271
|
-
"note": "Schmancy-skinned native `<textarea>`. Degrades to styled native `<textarea>` if the tag never registers."
|
|
6272
|
-
},
|
|
5731
|
+
"description": "Textarea component with auto-resize and form integration.",
|
|
6273
5732
|
"attributes": [
|
|
6274
5733
|
{
|
|
6275
5734
|
"name": "label",
|
|
@@ -6448,19 +5907,6 @@
|
|
|
6448
5907
|
},
|
|
6449
5908
|
"default": "false"
|
|
6450
5909
|
}
|
|
6451
|
-
],
|
|
6452
|
-
"events": [
|
|
6453
|
-
{
|
|
6454
|
-
"name": "input",
|
|
6455
|
-
"description": "On every keystroke."
|
|
6456
|
-
},
|
|
6457
|
-
{
|
|
6458
|
-
"name": "change",
|
|
6459
|
-
"description": "On blur."
|
|
6460
|
-
}
|
|
6461
|
-
],
|
|
6462
|
-
"examples": [
|
|
6463
|
-
"<schmancy-textarea name=\"description\" label=\"Description\" rows=\"4\" maxlength=\"500\"></schmancy-textarea>"
|
|
6464
5910
|
]
|
|
6465
5911
|
}
|
|
6466
5912
|
]
|
|
@@ -6523,13 +5969,7 @@
|
|
|
6523
5969
|
"kind": "class",
|
|
6524
5970
|
"name": "SchmancyThemeComponent",
|
|
6525
5971
|
"tagName": "schmancy-theme",
|
|
6526
|
-
"description": "
|
|
6527
|
-
"summary": "Always wrap your app root in a `<schmancy-theme root scheme=\"auto\" color=\"#…\">`. Nest additional `<schmancy-theme>` blocks to override theming for a subtree.",
|
|
6528
|
-
"platformPrimitive": {
|
|
6529
|
-
"tag": "div",
|
|
6530
|
-
"mode": "-",
|
|
6531
|
-
"note": "Styled `<div>` that publishes theme tokens via inline `--schmancy-sys-color-*` custom properties. Degrades to a plain div if the tag never registers — children lose theming and fall back to browser defaults."
|
|
6532
|
-
},
|
|
5972
|
+
"description": "SchmancyThemeComponent - Provides theming capabilities for Schmancy components. This component manages color schemes, primary colors, and theme distribution throughout the component tree. It can be used at the root level or nested to provide different themes to different parts of the application.",
|
|
6533
5973
|
"attributes": [
|
|
6534
5974
|
{
|
|
6535
5975
|
"name": "color",
|
|
@@ -6584,8 +6024,7 @@
|
|
|
6584
6024
|
}
|
|
6585
6025
|
],
|
|
6586
6026
|
"examples": [
|
|
6587
|
-
"<!-- Root theme provider -->\n<schmancy-theme
|
|
6588
|
-
"<!-- Nested theme for a specific section -->\n<schmancy-theme scheme=\"dark\" color=\"#2196f3\">\n <schmancy-surface fill=\"all\">\n <!-- Components here use the blue dark theme -->\n </schmancy-surface>\n</schmancy-theme>"
|
|
6027
|
+
"<!-- Root theme provider -->\n<schmancy-theme color=\"#6200ee\" scheme=\"auto\" root>\n <your-app></your-app>\n</schmancy-theme>\n\n<!-- Nested theme for specific section -->\n<schmancy-theme color=\"#2196f3\" scheme=\"dark\">\n <div class=\"dark-section\">\n <!-- Components here will use blue dark theme -->\n </div>\n</schmancy-theme>"
|
|
6589
6028
|
],
|
|
6590
6029
|
"contexts": [
|
|
6591
6030
|
{
|
|
@@ -6635,145 +6074,87 @@
|
|
|
6635
6074
|
},
|
|
6636
6075
|
{
|
|
6637
6076
|
"kind": "javascript-module",
|
|
6638
|
-
"path": "
|
|
6077
|
+
"path": "timeline/timeline-tile.ts",
|
|
6639
6078
|
"declarations": [
|
|
6640
6079
|
{
|
|
6641
6080
|
"kind": "class",
|
|
6642
|
-
"name": "
|
|
6643
|
-
"tagName": "schmancy-
|
|
6644
|
-
"description": "Expandable tree node — a recursive disclosure widget. One root slot, one default slot for child nodes. Each node can itself contain schmancy-tree children.",
|
|
6645
|
-
"summary": "Use for hierarchical navigation / file-explorer layouts. Each level is a schmancy-tree with a `root` slot (the parent label) and default slot (the children, which may be more schmancy-trees).",
|
|
6646
|
-
"platformPrimitive": {
|
|
6647
|
-
"tag": "details",
|
|
6648
|
-
"mode": "toggle",
|
|
6649
|
-
"note": "Recursive `<details>`-like disclosure. Degrades to a plain nested list if the tag never registers — loses expand/collapse but stays navigable."
|
|
6650
|
-
},
|
|
6081
|
+
"name": "SchmancyTimelineTile",
|
|
6082
|
+
"tagName": "schmancy-timeline-tile",
|
|
6651
6083
|
"attributes": [
|
|
6652
6084
|
{
|
|
6653
|
-
"name": "
|
|
6085
|
+
"name": "state",
|
|
6654
6086
|
"type": {
|
|
6655
|
-
"text": "
|
|
6087
|
+
"text": "TimelineTileState"
|
|
6656
6088
|
},
|
|
6657
|
-
"
|
|
6658
|
-
|
|
6659
|
-
|
|
6660
|
-
|
|
6661
|
-
|
|
6662
|
-
|
|
6663
|
-
"
|
|
6664
|
-
"description": "When the root toggler or chevron is clicked. Fires before the open state flips; the host's `open` property reflects the new state on the next animation frame."
|
|
6665
|
-
}
|
|
6666
|
-
],
|
|
6667
|
-
"slots": [
|
|
6668
|
-
{
|
|
6669
|
-
"name": "root",
|
|
6670
|
-
"description": "The root element of the tree"
|
|
6089
|
+
"values": [
|
|
6090
|
+
"filled",
|
|
6091
|
+
"empty",
|
|
6092
|
+
"stack-top",
|
|
6093
|
+
"stack-sibling"
|
|
6094
|
+
],
|
|
6095
|
+
"default": "'empty'"
|
|
6671
6096
|
},
|
|
6672
6097
|
{
|
|
6673
|
-
"name": "",
|
|
6674
|
-
"description": "The children of the tree"
|
|
6675
|
-
}
|
|
6676
|
-
],
|
|
6677
|
-
"examples": [
|
|
6678
|
-
"<schmancy-tree>\n <schmancy-list-item slot=\"root\">src/</schmancy-list-item>\n <schmancy-tree>\n <schmancy-list-item slot=\"root\">components/</schmancy-list-item>\n <schmancy-list-item>button.ts</schmancy-list-item>\n </schmancy-tree>\n</schmancy-tree>"
|
|
6679
|
-
]
|
|
6680
|
-
}
|
|
6681
|
-
]
|
|
6682
|
-
},
|
|
6683
|
-
{
|
|
6684
|
-
"kind": "javascript-module",
|
|
6685
|
-
"path": "typewriter/typewriter.ts",
|
|
6686
|
-
"declarations": [
|
|
6687
|
-
{
|
|
6688
|
-
"kind": "class",
|
|
6689
|
-
"name": "TypewriterElement",
|
|
6690
|
-
"tagName": "schmancy-typewriter",
|
|
6691
|
-
"description": "Typewriter effect — animates text typing/deletion with a cursor. Wraps the TypeIt library, lazy-loaded on first render.",
|
|
6692
|
-
"summary": "Drop string content as the default slot or use `<p>` / `<span>` with `cycle=\"A|B|C\"` attribute children for cycling phrases. Set `loop` for infinite cycling, `once` to remember completion across sessions via sessionStorage.",
|
|
6693
|
-
"platformPrimitive": {
|
|
6694
|
-
"tag": "span",
|
|
6695
|
-
"mode": "-",
|
|
6696
|
-
"note": "Animated text container. Degrades to its raw text content if the tag never registers — animation is lost but content stays visible."
|
|
6697
|
-
},
|
|
6698
|
-
"attributes": [
|
|
6699
|
-
{
|
|
6700
|
-
"name": "speed",
|
|
6098
|
+
"name": "glyph",
|
|
6701
6099
|
"type": {
|
|
6702
|
-
"text": "
|
|
6100
|
+
"text": "string"
|
|
6703
6101
|
},
|
|
6704
|
-
"default": "
|
|
6705
|
-
"description": "Typing speed in milliseconds per character."
|
|
6102
|
+
"default": "''"
|
|
6706
6103
|
},
|
|
6707
6104
|
{
|
|
6708
|
-
"name": "
|
|
6105
|
+
"name": "stack-count",
|
|
6709
6106
|
"type": {
|
|
6710
6107
|
"text": "number"
|
|
6711
|
-
}
|
|
6712
|
-
"default": "0",
|
|
6713
|
-
"description": "Delay before typing starts (ms)."
|
|
6108
|
+
}
|
|
6714
6109
|
},
|
|
6715
6110
|
{
|
|
6716
|
-
"name": "
|
|
6111
|
+
"name": "index",
|
|
6717
6112
|
"type": {
|
|
6718
|
-
"text": "
|
|
6719
|
-
}
|
|
6720
|
-
"default": "true",
|
|
6721
|
-
"description": "Automatically start typing on initialization."
|
|
6113
|
+
"text": "number"
|
|
6114
|
+
}
|
|
6722
6115
|
},
|
|
6723
6116
|
{
|
|
6724
|
-
"name": "
|
|
6117
|
+
"name": "tooltip",
|
|
6725
6118
|
"type": {
|
|
6726
6119
|
"text": "string"
|
|
6727
|
-
}
|
|
6728
|
-
"default": "''",
|
|
6729
|
-
"description": "The cursor character."
|
|
6730
|
-
},
|
|
6731
|
-
{
|
|
6732
|
-
"name": "deleteSpeed",
|
|
6733
|
-
"type": {
|
|
6734
|
-
"text": "number"
|
|
6735
|
-
},
|
|
6736
|
-
"default": "20",
|
|
6737
|
-
"description": "Typing speed for deletions (ms per character)."
|
|
6120
|
+
}
|
|
6738
6121
|
},
|
|
6739
6122
|
{
|
|
6740
|
-
"name": "
|
|
6123
|
+
"name": "caption",
|
|
6741
6124
|
"type": {
|
|
6742
|
-
"text": "
|
|
6743
|
-
}
|
|
6744
|
-
|
|
6745
|
-
|
|
6746
|
-
|
|
6125
|
+
"text": "string"
|
|
6126
|
+
}
|
|
6127
|
+
}
|
|
6128
|
+
]
|
|
6129
|
+
}
|
|
6130
|
+
]
|
|
6131
|
+
},
|
|
6132
|
+
{
|
|
6133
|
+
"kind": "javascript-module",
|
|
6134
|
+
"path": "tree/tree.ts",
|
|
6135
|
+
"declarations": [
|
|
6136
|
+
{
|
|
6137
|
+
"kind": "class",
|
|
6138
|
+
"name": "SchmancyTree",
|
|
6139
|
+
"tagName": "schmancy-tree",
|
|
6140
|
+
"attributes": [
|
|
6747
6141
|
{
|
|
6748
|
-
"name": "
|
|
6142
|
+
"name": "open",
|
|
6749
6143
|
"type": {
|
|
6750
6144
|
"text": "boolean"
|
|
6751
6145
|
},
|
|
6752
6146
|
"default": "false",
|
|
6753
|
-
"description": "
|
|
6754
|
-
},
|
|
6755
|
-
{
|
|
6756
|
-
"name": "cyclePause",
|
|
6757
|
-
"type": {
|
|
6758
|
-
"text": "number"
|
|
6759
|
-
},
|
|
6760
|
-
"default": "1500",
|
|
6761
|
-
"description": "Default pause duration for cycling (ms)."
|
|
6147
|
+
"description": "Whether the tree’s children are visible"
|
|
6762
6148
|
}
|
|
6763
6149
|
],
|
|
6764
|
-
"
|
|
6150
|
+
"slots": [
|
|
6765
6151
|
{
|
|
6766
|
-
"name": "
|
|
6767
|
-
"description": "
|
|
6768
|
-
}
|
|
6769
|
-
],
|
|
6770
|
-
"examples": [
|
|
6771
|
-
"<schmancy-typewriter speed=\"35\" cursor-char=\"|\">\n Hello, world.\n</schmancy-typewriter>"
|
|
6772
|
-
],
|
|
6773
|
-
"contexts": [
|
|
6152
|
+
"name": "root",
|
|
6153
|
+
"description": "The root element of the tree"
|
|
6154
|
+
},
|
|
6774
6155
|
{
|
|
6775
|
-
"name": "
|
|
6776
|
-
"
|
|
6156
|
+
"name": "",
|
|
6157
|
+
"description": "The children of the tree"
|
|
6777
6158
|
}
|
|
6778
6159
|
]
|
|
6779
6160
|
}
|
|
@@ -6803,50 +6184,6 @@
|
|
|
6803
6184
|
],
|
|
6804
6185
|
"default": "'body'"
|
|
6805
6186
|
},
|
|
6806
|
-
{
|
|
6807
|
-
"name": "preset",
|
|
6808
|
-
"type": {
|
|
6809
|
-
"text": "TypographyPreset"
|
|
6810
|
-
},
|
|
6811
|
-
"values": [
|
|
6812
|
-
"display",
|
|
6813
|
-
"display-lg",
|
|
6814
|
-
"display-md",
|
|
6815
|
-
"display-sm",
|
|
6816
|
-
"heading-lg",
|
|
6817
|
-
"heading-md",
|
|
6818
|
-
"heading-sm",
|
|
6819
|
-
"title-lg",
|
|
6820
|
-
"title-md",
|
|
6821
|
-
"title-sm",
|
|
6822
|
-
"body-lg",
|
|
6823
|
-
"body-md",
|
|
6824
|
-
"body-sm",
|
|
6825
|
-
"label-lg",
|
|
6826
|
-
"label-md",
|
|
6827
|
-
"label-sm",
|
|
6828
|
-
"caption"
|
|
6829
|
-
],
|
|
6830
|
-
"description": "Shorthand for picking a (type, token) pair in one go. When set, derives `type` and `token` automatically — saves the two-decisions-per-text-node fatigue that hits when a single page has 50+ typography nodes."
|
|
6831
|
-
},
|
|
6832
|
-
{
|
|
6833
|
-
"name": "as",
|
|
6834
|
-
"type": {
|
|
6835
|
-
"text": "TypographyTag"
|
|
6836
|
-
},
|
|
6837
|
-
"values": [
|
|
6838
|
-
"h1",
|
|
6839
|
-
"h2",
|
|
6840
|
-
"h3",
|
|
6841
|
-
"h4",
|
|
6842
|
-
"h5",
|
|
6843
|
-
"h6",
|
|
6844
|
-
"p",
|
|
6845
|
-
"span",
|
|
6846
|
-
"div"
|
|
6847
|
-
],
|
|
6848
|
-
"description": "Render the slot wrapped in the requested semantic HTML element so screen readers expose the right role / heading level. Without `as`, the slot sits directly in the shadow root and the host is a generic element."
|
|
6849
|
-
},
|
|
6850
6187
|
{
|
|
6851
6188
|
"name": "token",
|
|
6852
6189
|
"type": {
|
|
@@ -6928,12 +6265,6 @@
|
|
|
6928
6265
|
"description": "Placeholder shown when editable and empty"
|
|
6929
6266
|
}
|
|
6930
6267
|
],
|
|
6931
|
-
"events": [
|
|
6932
|
-
{
|
|
6933
|
-
"name": "change",
|
|
6934
|
-
"description": "When `editable` is true, fires on blur or Enter with `detail.value` set to the new text content. Not fired when `editable` is unset (the default)."
|
|
6935
|
-
}
|
|
6936
|
-
],
|
|
6937
6268
|
"slots": [
|
|
6938
6269
|
{
|
|
6939
6270
|
"name": "",
|
|
@@ -7070,39 +6401,6 @@
|
|
|
7070
6401
|
}
|
|
7071
6402
|
]
|
|
7072
6403
|
},
|
|
7073
|
-
{
|
|
7074
|
-
"kind": "javascript-module",
|
|
7075
|
-
"path": "components/form-elements/payment-card-form.ts",
|
|
7076
|
-
"declarations": [
|
|
7077
|
-
{
|
|
7078
|
-
"kind": "class",
|
|
7079
|
-
"name": "SchmancyPaymentCardForm",
|
|
7080
|
-
"tagName": "schmancy-payment-card-form",
|
|
7081
|
-
"attributes": [
|
|
7082
|
-
{
|
|
7083
|
-
"name": "value",
|
|
7084
|
-
"type": {
|
|
7085
|
-
"text": "{ cardName: string; cardNumber: string; expirationDate: string; cvv: string; }"
|
|
7086
|
-
},
|
|
7087
|
-
"default": "{\n\t\tcardName: '',\n\t\tcardNumber: '',\n\t\texpirationDate: '',\n\t\tcvv: '',\n\t}",
|
|
7088
|
-
"description": "The form data containing all payment card information"
|
|
7089
|
-
}
|
|
7090
|
-
],
|
|
7091
|
-
"events": [
|
|
7092
|
-
{
|
|
7093
|
-
"name": "change",
|
|
7094
|
-
"description": "Fires when any field in the form changes"
|
|
7095
|
-
}
|
|
7096
|
-
],
|
|
7097
|
-
"slots": [
|
|
7098
|
-
{
|
|
7099
|
-
"name": "",
|
|
7100
|
-
"description": "Default slot for any additional content"
|
|
7101
|
-
}
|
|
7102
|
-
]
|
|
7103
|
-
}
|
|
7104
|
-
]
|
|
7105
|
-
},
|
|
7106
6404
|
{
|
|
7107
6405
|
"kind": "javascript-module",
|
|
7108
6406
|
"path": "extra/countries/countries.ts",
|
|
@@ -7111,13 +6409,6 @@
|
|
|
7111
6409
|
"kind": "class",
|
|
7112
6410
|
"name": "SchmancyCountriesSelect",
|
|
7113
6411
|
"tagName": "schmancy-select-countries",
|
|
7114
|
-
"description": "Country picker — type-ahead autocomplete over the ISO 3166-1 country list. Form-associated.",
|
|
7115
|
-
"summary": "Drop-in replacement for schmancy-autocomplete when the options are specifically \"every country\". Pre-seeds the list from countries.data.",
|
|
7116
|
-
"platformPrimitive": {
|
|
7117
|
-
"tag": "combobox",
|
|
7118
|
-
"mode": "change",
|
|
7119
|
-
"note": "Composes schmancy-autocomplete with a static options list. Value is the 2-letter ISO code."
|
|
7120
|
-
},
|
|
7121
6412
|
"attributes": [
|
|
7122
6413
|
{
|
|
7123
6414
|
"name": "value",
|
|
@@ -7160,15 +6451,6 @@
|
|
|
7160
6451
|
},
|
|
7161
6452
|
"default": "''"
|
|
7162
6453
|
}
|
|
7163
|
-
],
|
|
7164
|
-
"events": [
|
|
7165
|
-
{
|
|
7166
|
-
"name": "change",
|
|
7167
|
-
"description": "`SchmancyAutocompleteChangeEvent` with `{ value: string }` (the ISO code)."
|
|
7168
|
-
}
|
|
7169
|
-
],
|
|
7170
|
-
"examples": [
|
|
7171
|
-
"<schmancy-select-countries name=\"country\" label=\"Shipping country\" required></schmancy-select-countries>"
|
|
7172
6454
|
]
|
|
7173
6455
|
}
|
|
7174
6456
|
]
|
|
@@ -7181,13 +6463,7 @@
|
|
|
7181
6463
|
"kind": "class",
|
|
7182
6464
|
"name": "SchmancyTimezonesSelect",
|
|
7183
6465
|
"tagName": "schmancy-select-timezones",
|
|
7184
|
-
"description": "Timezone
|
|
7185
|
-
"summary": "Drop-in replacement for schmancy-autocomplete when the options are IANA timezone names. Value is the IANA identifier (\"America/Los_Angeles\").",
|
|
7186
|
-
"platformPrimitive": {
|
|
7187
|
-
"tag": "combobox",
|
|
7188
|
-
"mode": "change",
|
|
7189
|
-
"note": "Composes schmancy-autocomplete with a static IANA timezones list."
|
|
7190
|
-
},
|
|
6466
|
+
"description": "Timezone selector component with autocomplete filtering.",
|
|
7191
6467
|
"attributes": [
|
|
7192
6468
|
{
|
|
7193
6469
|
"name": "value",
|
|
@@ -7230,203 +6506,6 @@
|
|
|
7230
6506
|
},
|
|
7231
6507
|
"default": "''"
|
|
7232
6508
|
}
|
|
7233
|
-
],
|
|
7234
|
-
"events": [
|
|
7235
|
-
{
|
|
7236
|
-
"name": "change",
|
|
7237
|
-
"description": "`SchmancyAutocompleteChangeEvent` with `{ value: string }` (the IANA tz name)."
|
|
7238
|
-
}
|
|
7239
|
-
],
|
|
7240
|
-
"examples": [
|
|
7241
|
-
"<schmancy-select-timezones name=\"tz\" label=\"Timezone\" value=\"America/New_York\"></schmancy-select-timezones>"
|
|
7242
|
-
]
|
|
7243
|
-
}
|
|
7244
|
-
]
|
|
7245
|
-
},
|
|
7246
|
-
{
|
|
7247
|
-
"kind": "javascript-module",
|
|
7248
|
-
"path": "layout/flex/flex.ts",
|
|
7249
|
-
"declarations": [
|
|
7250
|
-
{
|
|
7251
|
-
"kind": "class",
|
|
7252
|
-
"name": "SchmancyFlex",
|
|
7253
|
-
"tagName": "schmancy-flex",
|
|
7254
|
-
"attributes": [
|
|
7255
|
-
{
|
|
7256
|
-
"name": "flow",
|
|
7257
|
-
"type": {
|
|
7258
|
-
"text": "\"row\" | \"row-reverse\" | \"col\" | \"col-reverse\""
|
|
7259
|
-
},
|
|
7260
|
-
"values": [
|
|
7261
|
-
"row",
|
|
7262
|
-
"row-reverse",
|
|
7263
|
-
"col",
|
|
7264
|
-
"col-reverse"
|
|
7265
|
-
],
|
|
7266
|
-
"default": "'col'"
|
|
7267
|
-
},
|
|
7268
|
-
{
|
|
7269
|
-
"name": "wrap",
|
|
7270
|
-
"type": {
|
|
7271
|
-
"text": "\"wrap\" | \"nowrap\" | \"wrap-reverse\""
|
|
7272
|
-
},
|
|
7273
|
-
"values": [
|
|
7274
|
-
"wrap",
|
|
7275
|
-
"nowrap",
|
|
7276
|
-
"wrap-reverse"
|
|
7277
|
-
],
|
|
7278
|
-
"default": "'wrap'"
|
|
7279
|
-
},
|
|
7280
|
-
{
|
|
7281
|
-
"name": "align",
|
|
7282
|
-
"type": {
|
|
7283
|
-
"text": "\"start\" | \"center\" | \"end\" | \"stretch\" | \"baseline\""
|
|
7284
|
-
},
|
|
7285
|
-
"values": [
|
|
7286
|
-
"start",
|
|
7287
|
-
"center",
|
|
7288
|
-
"end",
|
|
7289
|
-
"stretch",
|
|
7290
|
-
"baseline"
|
|
7291
|
-
],
|
|
7292
|
-
"default": "'start'"
|
|
7293
|
-
},
|
|
7294
|
-
{
|
|
7295
|
-
"name": "justify",
|
|
7296
|
-
"type": {
|
|
7297
|
-
"text": "\"start\" | \"center\" | \"end\" | \"stretch\" | \"between\""
|
|
7298
|
-
},
|
|
7299
|
-
"values": [
|
|
7300
|
-
"start",
|
|
7301
|
-
"center",
|
|
7302
|
-
"end",
|
|
7303
|
-
"stretch",
|
|
7304
|
-
"between"
|
|
7305
|
-
],
|
|
7306
|
-
"default": "'start'"
|
|
7307
|
-
},
|
|
7308
|
-
{
|
|
7309
|
-
"name": "gap",
|
|
7310
|
-
"type": {
|
|
7311
|
-
"text": "\"sm\" | \"md\" | \"lg\" | \"none\""
|
|
7312
|
-
},
|
|
7313
|
-
"values": [
|
|
7314
|
-
"sm",
|
|
7315
|
-
"md",
|
|
7316
|
-
"lg",
|
|
7317
|
-
"none"
|
|
7318
|
-
],
|
|
7319
|
-
"default": "'none'"
|
|
7320
|
-
}
|
|
7321
|
-
]
|
|
7322
|
-
}
|
|
7323
|
-
]
|
|
7324
|
-
},
|
|
7325
|
-
{
|
|
7326
|
-
"kind": "javascript-module",
|
|
7327
|
-
"path": "layout/grid/grid.ts",
|
|
7328
|
-
"declarations": [
|
|
7329
|
-
{
|
|
7330
|
-
"kind": "class",
|
|
7331
|
-
"name": "SchmancyGrid",
|
|
7332
|
-
"tagName": "schmancy-grid",
|
|
7333
|
-
"attributes": [
|
|
7334
|
-
{
|
|
7335
|
-
"name": "flow",
|
|
7336
|
-
"type": {
|
|
7337
|
-
"text": "\"row\" | \"col\" | \"dense\" | \"row-dense\" | \"col-dense\""
|
|
7338
|
-
},
|
|
7339
|
-
"values": [
|
|
7340
|
-
"row",
|
|
7341
|
-
"col",
|
|
7342
|
-
"dense",
|
|
7343
|
-
"row-dense",
|
|
7344
|
-
"col-dense"
|
|
7345
|
-
],
|
|
7346
|
-
"default": "'row'"
|
|
7347
|
-
},
|
|
7348
|
-
{
|
|
7349
|
-
"name": "align",
|
|
7350
|
-
"type": {
|
|
7351
|
-
"text": "\"start\" | \"center\" | \"end\" | \"stretch\" | \"baseline\""
|
|
7352
|
-
},
|
|
7353
|
-
"values": [
|
|
7354
|
-
"start",
|
|
7355
|
-
"center",
|
|
7356
|
-
"end",
|
|
7357
|
-
"stretch",
|
|
7358
|
-
"baseline"
|
|
7359
|
-
],
|
|
7360
|
-
"default": "'stretch'"
|
|
7361
|
-
},
|
|
7362
|
-
{
|
|
7363
|
-
"name": "justify",
|
|
7364
|
-
"type": {
|
|
7365
|
-
"text": "\"start\" | \"center\" | \"end\" | \"stretch\""
|
|
7366
|
-
},
|
|
7367
|
-
"values": [
|
|
7368
|
-
"start",
|
|
7369
|
-
"center",
|
|
7370
|
-
"end",
|
|
7371
|
-
"stretch"
|
|
7372
|
-
],
|
|
7373
|
-
"default": "'stretch'"
|
|
7374
|
-
},
|
|
7375
|
-
{
|
|
7376
|
-
"name": "content",
|
|
7377
|
-
"type": {
|
|
7378
|
-
"text": "\"start\" | \"center\" | \"end\" | \"stretch\" | \"between\" | \"around\" | \"evenly\""
|
|
7379
|
-
},
|
|
7380
|
-
"values": [
|
|
7381
|
-
"start",
|
|
7382
|
-
"center",
|
|
7383
|
-
"end",
|
|
7384
|
-
"stretch",
|
|
7385
|
-
"between",
|
|
7386
|
-
"around",
|
|
7387
|
-
"evenly"
|
|
7388
|
-
],
|
|
7389
|
-
"default": "'stretch'"
|
|
7390
|
-
},
|
|
7391
|
-
{
|
|
7392
|
-
"name": "gap",
|
|
7393
|
-
"type": {
|
|
7394
|
-
"text": "\"xs\" | \"sm\" | \"md\" | \"lg\" | \"none\""
|
|
7395
|
-
},
|
|
7396
|
-
"values": [
|
|
7397
|
-
"xs",
|
|
7398
|
-
"sm",
|
|
7399
|
-
"md",
|
|
7400
|
-
"lg",
|
|
7401
|
-
"none"
|
|
7402
|
-
],
|
|
7403
|
-
"default": "'none'"
|
|
7404
|
-
},
|
|
7405
|
-
{
|
|
7406
|
-
"name": "cols",
|
|
7407
|
-
"type": {
|
|
7408
|
-
"text": "string"
|
|
7409
|
-
}
|
|
7410
|
-
},
|
|
7411
|
-
{
|
|
7412
|
-
"name": "rows",
|
|
7413
|
-
"type": {
|
|
7414
|
-
"text": "string"
|
|
7415
|
-
}
|
|
7416
|
-
},
|
|
7417
|
-
{
|
|
7418
|
-
"name": "rcols",
|
|
7419
|
-
"type": {
|
|
7420
|
-
"text": "{ xs?: string | number; sm?: string | number; md?: string | number; lg?: string | number; xl?: string | number; '2xl'?: string | number; }"
|
|
7421
|
-
}
|
|
7422
|
-
},
|
|
7423
|
-
{
|
|
7424
|
-
"name": "wrap",
|
|
7425
|
-
"type": {
|
|
7426
|
-
"text": "boolean"
|
|
7427
|
-
},
|
|
7428
|
-
"default": "false"
|
|
7429
|
-
}
|
|
7430
6509
|
]
|
|
7431
6510
|
}
|
|
7432
6511
|
]
|
|
@@ -7439,13 +6518,7 @@
|
|
|
7439
6518
|
"kind": "class",
|
|
7440
6519
|
"name": "SchmancyScroll",
|
|
7441
6520
|
"tagName": "schmancy-scroll",
|
|
7442
|
-
"description": "
|
|
7443
|
-
"summary": "Use anywhere you'd reach for `overflow: auto` but also need debounced scroll events (for sticky headers, scroll spies, virtualization triggers) or the ability to drive scroll from elsewhere in the app by dispatching a schmancy-scroll-command event.",
|
|
7444
|
-
"platformPrimitive": {
|
|
7445
|
-
"tag": "div",
|
|
7446
|
-
"mode": "-",
|
|
7447
|
-
"note": "Styled scrollable `<div>`. Degrades to a plain scrollable div if the tag never registers — loses the debounced scroll event and the command-bus integration."
|
|
7448
|
-
},
|
|
6521
|
+
"description": "A custom scrollable container with enhanced features.",
|
|
7449
6522
|
"attributes": [
|
|
7450
6523
|
{
|
|
7451
6524
|
"name": "hide",
|
|
@@ -7512,132 +6585,6 @@
|
|
|
7512
6585
|
]
|
|
7513
6586
|
}
|
|
7514
6587
|
]
|
|
7515
|
-
},
|
|
7516
|
-
{
|
|
7517
|
-
"kind": "javascript-module",
|
|
7518
|
-
"path": "layout/v2/flex.ts",
|
|
7519
|
-
"declarations": [
|
|
7520
|
-
{
|
|
7521
|
-
"kind": "class",
|
|
7522
|
-
"name": "SchmancyFlexV2",
|
|
7523
|
-
"tagName": "sch-flex",
|
|
7524
|
-
"attributes": [
|
|
7525
|
-
{
|
|
7526
|
-
"name": "inline",
|
|
7527
|
-
"type": {
|
|
7528
|
-
"text": "boolean"
|
|
7529
|
-
},
|
|
7530
|
-
"default": "false"
|
|
7531
|
-
},
|
|
7532
|
-
{
|
|
7533
|
-
"name": "flow",
|
|
7534
|
-
"type": {
|
|
7535
|
-
"text": "\"row\" | \"row-reverse\" | \"col\" | \"col-reverse\" | \"row-dense\" | \"col-dense\""
|
|
7536
|
-
},
|
|
7537
|
-
"values": [
|
|
7538
|
-
"row",
|
|
7539
|
-
"row-reverse",
|
|
7540
|
-
"col",
|
|
7541
|
-
"col-reverse",
|
|
7542
|
-
"row-dense",
|
|
7543
|
-
"col-dense"
|
|
7544
|
-
],
|
|
7545
|
-
"default": "'row'",
|
|
7546
|
-
"description": "Flow property that determines the flex direction. Allowed values: - Standard: 'row', 'row-reverse', 'col', 'col-reverse' - Dense variants: 'row-dense', 'col-dense' (dense implies wrapping)"
|
|
7547
|
-
},
|
|
7548
|
-
{
|
|
7549
|
-
"name": "wrap",
|
|
7550
|
-
"type": {
|
|
7551
|
-
"text": "\"wrap\" | \"nowrap\" | \"wrap-reverse\""
|
|
7552
|
-
},
|
|
7553
|
-
"values": [
|
|
7554
|
-
"wrap",
|
|
7555
|
-
"nowrap",
|
|
7556
|
-
"wrap-reverse"
|
|
7557
|
-
],
|
|
7558
|
-
"default": "'wrap'",
|
|
7559
|
-
"description": "Flex-wrap options: - 'wrap', 'nowrap', or 'wrap-reverse'"
|
|
7560
|
-
},
|
|
7561
|
-
{
|
|
7562
|
-
"name": "align",
|
|
7563
|
-
"type": {
|
|
7564
|
-
"text": "\"start\" | \"center\" | \"end\" | \"stretch\" | \"baseline\""
|
|
7565
|
-
},
|
|
7566
|
-
"values": [
|
|
7567
|
-
"start",
|
|
7568
|
-
"center",
|
|
7569
|
-
"end",
|
|
7570
|
-
"stretch",
|
|
7571
|
-
"baseline"
|
|
7572
|
-
],
|
|
7573
|
-
"default": "'stretch'",
|
|
7574
|
-
"description": "Align-items (vertical alignment of flex items): - 'start', 'center', 'end', 'stretch', or 'baseline'"
|
|
7575
|
-
},
|
|
7576
|
-
{
|
|
7577
|
-
"name": "justify",
|
|
7578
|
-
"type": {
|
|
7579
|
-
"text": "\"start\" | \"center\" | \"end\" | \"between\" | \"around\" | \"evenly\""
|
|
7580
|
-
},
|
|
7581
|
-
"values": [
|
|
7582
|
-
"start",
|
|
7583
|
-
"center",
|
|
7584
|
-
"end",
|
|
7585
|
-
"between",
|
|
7586
|
-
"around",
|
|
7587
|
-
"evenly"
|
|
7588
|
-
],
|
|
7589
|
-
"default": "'start'",
|
|
7590
|
-
"description": "Justify-content (horizontal distribution): - 'start', 'center', 'end', 'between', 'around', or 'evenly'"
|
|
7591
|
-
},
|
|
7592
|
-
{
|
|
7593
|
-
"name": "content",
|
|
7594
|
-
"type": {
|
|
7595
|
-
"text": "\"start\" | \"center\" | \"end\" | \"between\" | \"around\" | \"evenly\""
|
|
7596
|
-
},
|
|
7597
|
-
"values": [
|
|
7598
|
-
"start",
|
|
7599
|
-
"center",
|
|
7600
|
-
"end",
|
|
7601
|
-
"between",
|
|
7602
|
-
"around",
|
|
7603
|
-
"evenly"
|
|
7604
|
-
],
|
|
7605
|
-
"description": "Align-content (spacing between rows when wrapping): - 'start', 'center', 'end', 'between', 'around', or 'evenly'"
|
|
7606
|
-
},
|
|
7607
|
-
{
|
|
7608
|
-
"name": "gap",
|
|
7609
|
-
"type": {
|
|
7610
|
-
"text": "\"none\" | \"0\" | \"1\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"10\" | \"12\" | \"16\" | \"20\" | \"24\" | \"32\" | \"40\" | \"48\" | \"56\" | \"64\""
|
|
7611
|
-
},
|
|
7612
|
-
"values": [
|
|
7613
|
-
"none",
|
|
7614
|
-
"0",
|
|
7615
|
-
"1",
|
|
7616
|
-
"2",
|
|
7617
|
-
"3",
|
|
7618
|
-
"4",
|
|
7619
|
-
"5",
|
|
7620
|
-
"6",
|
|
7621
|
-
"7",
|
|
7622
|
-
"8",
|
|
7623
|
-
"9",
|
|
7624
|
-
"10",
|
|
7625
|
-
"12",
|
|
7626
|
-
"16",
|
|
7627
|
-
"20",
|
|
7628
|
-
"24",
|
|
7629
|
-
"32",
|
|
7630
|
-
"40",
|
|
7631
|
-
"48",
|
|
7632
|
-
"56",
|
|
7633
|
-
"64"
|
|
7634
|
-
],
|
|
7635
|
-
"default": "'none'",
|
|
7636
|
-
"description": "Gap between flex items. Options (based on Tailwind CSS 4 spacing scale): - 'none', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '16', '20', '24', '32', '40', '48', '56', or '64'"
|
|
7637
|
-
}
|
|
7638
|
-
]
|
|
7639
|
-
}
|
|
7640
|
-
]
|
|
7641
6588
|
}
|
|
7642
6589
|
],
|
|
7643
6590
|
"tokens": [
|
|
@@ -7773,145 +6720,10 @@
|
|
|
7773
6720
|
"schmancy-sys-typescale-title-small"
|
|
7774
6721
|
],
|
|
7775
6722
|
"conventions": [
|
|
7776
|
-
"Before authoring any custom element, call window.schmancy.help() to scan the elements[] list. Only compose from primitives if no existing tag fits.",
|
|
7777
|
-
"Use $dialog.confirm / sheet.open / $notify imperatively for overlays. Do not roll element-based dialogs, sheets, or toasts.",
|
|
7778
|
-
"Every UI tag must be a <schmancy-*> custom element. Replace <button> with <schmancy-button>, <input> with <schmancy-input>, <li> with <schmancy-list-item>, etc.",
|
|
7779
|
-
"Every <schmancy-*> tag used in output must exist in the manifest declarations[]. Hand-rolled tags are violations.",
|
|
7780
|
-
"Every attribute on a <schmancy-*> element must be declared in that tag's attributes[] in the manifest.",
|
|
7781
|
-
"When an attribute has a values[] enum, only those values are valid.",
|
|
7782
|
-
"Never use hex literals (#6200ee) in style or class. Reference --schmancy-sys-color-* tokens or the Tailwind utilities that wrap them.",
|
|
7783
|
-
"Never use Tailwind arbitrary values like bg-[#xxx] or text-[13px]. Use bg-primary-default, text-surface-on, and the typography presets instead.",
|
|
7784
|
-
"Prefer Tailwind utility classes (bg-primary-default, text-surface-on) over raw --schmancy-sys-color-* CSS variables. Fall back to the CSS variable only when Tailwind lacks a utility for the property.",
|
|
7785
|
-
"Form-associated controls work standalone, but always wrap a related group in <schmancy-form> so its submit event fires with a FormData payload.",
|
|
7786
|
-
"schmancy-icon-button has no text content; provide aria-label so screen readers can announce it.",
|
|
7787
6723
|
"Every component extends `$LitElement`, not raw `LitElement`. Use the mixin from `@mhmo91/schmancy/mixins`.",
|
|
7788
6724
|
"RxJS subscriptions inside a component must end with `.pipe(takeUntil(this.disconnecting))` for automatic cleanup on disconnect.",
|
|
7789
6725
|
"Theme must wrap a surface: `<schmancy-theme>` provides design tokens, `<schmancy-surface>` paints the background and inherits text color.",
|
|
7790
6726
|
"Use `repeat()` from `lit/directives/repeat.js` for dynamic lists — never `.map()` inside `html```.",
|
|
7791
6727
|
"Prefer `fromEvent(target, type).pipe(takeUntil(this.disconnecting))` over raw `addEventListener` inside components."
|
|
7792
|
-
],
|
|
7793
|
-
"rules": [
|
|
7794
|
-
{
|
|
7795
|
-
"id": "discovery-first",
|
|
7796
|
-
"scope": "workflow",
|
|
7797
|
-
"rule": "Before authoring any custom element, call window.schmancy.help() to scan the elements[] list. Only compose from primitives if no existing tag fits.",
|
|
7798
|
-
"severity": "error"
|
|
7799
|
-
},
|
|
7800
|
-
{
|
|
7801
|
-
"id": "use-existing-overlay-services",
|
|
7802
|
-
"scope": "workflow",
|
|
7803
|
-
"rule": "Use $dialog.confirm / sheet.open / $notify imperatively for overlays. Do not roll element-based dialogs, sheets, or toasts.",
|
|
7804
|
-
"severity": "error"
|
|
7805
|
-
},
|
|
7806
|
-
{
|
|
7807
|
-
"id": "schmancy-tags-only",
|
|
7808
|
-
"scope": "global",
|
|
7809
|
-
"rule": "Every UI tag must be a <schmancy-*> custom element. Replace <button> with <schmancy-button>, <input> with <schmancy-input>, <li> with <schmancy-list-item>, etc.",
|
|
7810
|
-
"severity": "error",
|
|
7811
|
-
"validator": "tag-namespace"
|
|
7812
|
-
},
|
|
7813
|
-
{
|
|
7814
|
-
"id": "tag-must-exist",
|
|
7815
|
-
"scope": "tag",
|
|
7816
|
-
"rule": "Every <schmancy-*> tag used in output must exist in the manifest declarations[]. Hand-rolled tags are violations.",
|
|
7817
|
-
"severity": "error",
|
|
7818
|
-
"validator": "tag-exists"
|
|
7819
|
-
},
|
|
7820
|
-
{
|
|
7821
|
-
"id": "attribute-in-spec",
|
|
7822
|
-
"scope": "attribute",
|
|
7823
|
-
"rule": "Every attribute on a <schmancy-*> element must be declared in that tag's attributes[] in the manifest.",
|
|
7824
|
-
"severity": "error",
|
|
7825
|
-
"validator": "attr-in-spec"
|
|
7826
|
-
},
|
|
7827
|
-
{
|
|
7828
|
-
"id": "enum-attribute-value",
|
|
7829
|
-
"scope": "attribute",
|
|
7830
|
-
"rule": "When an attribute has a values[] enum, only those values are valid.",
|
|
7831
|
-
"severity": "error",
|
|
7832
|
-
"validator": "enum-value-valid"
|
|
7833
|
-
},
|
|
7834
|
-
{
|
|
7835
|
-
"id": "no-hex-literals",
|
|
7836
|
-
"scope": "token",
|
|
7837
|
-
"applies": [
|
|
7838
|
-
"style",
|
|
7839
|
-
"class"
|
|
7840
|
-
],
|
|
7841
|
-
"rule": "Never use hex literals (#6200ee) in style or class. Reference --schmancy-sys-color-* tokens or the Tailwind utilities that wrap them.",
|
|
7842
|
-
"severity": "error",
|
|
7843
|
-
"validator": "no-hex"
|
|
7844
|
-
},
|
|
7845
|
-
{
|
|
7846
|
-
"id": "no-arbitrary-tailwind-values",
|
|
7847
|
-
"scope": "token",
|
|
7848
|
-
"applies": [
|
|
7849
|
-
"class"
|
|
7850
|
-
],
|
|
7851
|
-
"rule": "Never use Tailwind arbitrary values like bg-[#xxx] or text-[13px]. Use bg-primary-default, text-surface-on, and the typography presets instead.",
|
|
7852
|
-
"severity": "error",
|
|
7853
|
-
"validator": "no-arbitrary-values"
|
|
7854
|
-
},
|
|
7855
|
-
{
|
|
7856
|
-
"id": "tailwind-classes-preferred-over-css-vars",
|
|
7857
|
-
"scope": "token",
|
|
7858
|
-
"rule": "Prefer Tailwind utility classes (bg-primary-default, text-surface-on) over raw --schmancy-sys-color-* CSS variables. Fall back to the CSS variable only when Tailwind lacks a utility for the property.",
|
|
7859
|
-
"severity": "warn"
|
|
7860
|
-
},
|
|
7861
|
-
{
|
|
7862
|
-
"id": "form-controls-inside-schmancy-form",
|
|
7863
|
-
"scope": "tag",
|
|
7864
|
-
"applies": [
|
|
7865
|
-
"schmancy-input",
|
|
7866
|
-
"schmancy-select",
|
|
7867
|
-
"schmancy-checkbox",
|
|
7868
|
-
"schmancy-radio-group",
|
|
7869
|
-
"schmancy-textarea",
|
|
7870
|
-
"schmancy-switch",
|
|
7871
|
-
"schmancy-autocomplete"
|
|
7872
|
-
],
|
|
7873
|
-
"rule": "Form-associated controls work standalone, but always wrap a related group in <schmancy-form> so its submit event fires with a FormData payload.",
|
|
7874
|
-
"severity": "warn"
|
|
7875
|
-
},
|
|
7876
|
-
{
|
|
7877
|
-
"id": "icon-buttons-need-aria-label",
|
|
7878
|
-
"scope": "tag",
|
|
7879
|
-
"applies": [
|
|
7880
|
-
"schmancy-icon-button"
|
|
7881
|
-
],
|
|
7882
|
-
"rule": "schmancy-icon-button has no text content; provide aria-label so screen readers can announce it.",
|
|
7883
|
-
"severity": "error",
|
|
7884
|
-
"validator": "icon-button-aria-label"
|
|
7885
|
-
},
|
|
7886
|
-
{
|
|
7887
|
-
"id": "lit-mixin",
|
|
7888
|
-
"scope": "global",
|
|
7889
|
-
"rule": "Every component extends `$LitElement`, not raw `LitElement`. Use the mixin from `@mhmo91/schmancy/mixins`.",
|
|
7890
|
-
"severity": "hint"
|
|
7891
|
-
},
|
|
7892
|
-
{
|
|
7893
|
-
"id": "rxjs-cleanup",
|
|
7894
|
-
"scope": "global",
|
|
7895
|
-
"rule": "RxJS subscriptions inside a component must end with `.pipe(takeUntil(this.disconnecting))` for automatic cleanup on disconnect.",
|
|
7896
|
-
"severity": "hint"
|
|
7897
|
-
},
|
|
7898
|
-
{
|
|
7899
|
-
"id": "theme-wraps-surface",
|
|
7900
|
-
"scope": "global",
|
|
7901
|
-
"rule": "Theme must wrap a surface: `<schmancy-theme>` provides design tokens, `<schmancy-surface>` paints the background and inherits text color.",
|
|
7902
|
-
"severity": "hint"
|
|
7903
|
-
},
|
|
7904
|
-
{
|
|
7905
|
-
"id": "lit-repeat-not-map",
|
|
7906
|
-
"scope": "global",
|
|
7907
|
-
"rule": "Use `repeat()` from `lit/directives/repeat.js` for dynamic lists — never `.map()` inside `html```.",
|
|
7908
|
-
"severity": "hint"
|
|
7909
|
-
},
|
|
7910
|
-
{
|
|
7911
|
-
"id": "rxjs-fromevent",
|
|
7912
|
-
"scope": "global",
|
|
7913
|
-
"rule": "Prefer `fromEvent(target, type).pipe(takeUntil(this.disconnecting))` over raw `addEventListener` inside components.",
|
|
7914
|
-
"severity": "hint"
|
|
7915
|
-
}
|
|
7916
6728
|
]
|
|
7917
6729
|
}
|