@mhmo91/schmancy 0.9.4 → 0.9.6
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/.claude-plugin/plugin.json +13 -0
- package/README.md +14 -4
- package/custom-elements.json +493 -718
- package/dist/.claude-plugin/plugin.json +13 -0
- package/dist/animation-Bcwh107v.cjs.map +1 -0
- package/dist/animation-CXKSuUoE.js.map +1 -0
- package/dist/area-BARjKpE9.js +590 -0
- package/dist/area-BARjKpE9.js.map +1 -0
- package/dist/area-D9b9dHQr.cjs +12 -0
- package/dist/area-D9b9dHQr.cjs.map +1 -0
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/audio-C7TzWI8M.js +335 -0
- package/dist/audio-C7TzWI8M.js.map +1 -0
- package/dist/audio-DUVz7Ars.cjs +1 -0
- package/dist/audio-DUVz7Ars.cjs.map +1 -0
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/autocomplete-AI2CCJmK.cjs +115 -0
- package/dist/autocomplete-AI2CCJmK.cjs.map +1 -0
- package/dist/autocomplete-DOimwVMP.js +404 -0
- package/dist/autocomplete-DOimwVMP.js.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/boat-Bk4u-LzT.cjs +80 -0
- package/dist/boat-Bk4u-LzT.cjs.map +1 -0
- package/dist/boat-DrghVeWK.js +347 -0
- package/dist/boat-DrghVeWK.js.map +1 -0
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +34 -0
- package/dist/breadcrumb.cjs.map +1 -0
- package/dist/breadcrumb.js +73 -0
- package/dist/breadcrumb.js.map +1 -0
- package/dist/busy-BmFfwyz_.js +168 -0
- package/dist/busy-BmFfwyz_.js.map +1 -0
- package/dist/busy-c_q_F8O0.cjs +134 -0
- package/dist/busy-c_q_F8O0.cjs.map +1 -0
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +4 -4
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +25 -6
- package/dist/button.js.map +1 -1
- package/dist/card-BADJHUMA.js +285 -0
- package/dist/card-BADJHUMA.js.map +1 -0
- package/dist/card-C_E944_Z.cjs +177 -0
- package/dist/card-C_E944_Z.cjs.map +1 -0
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/charts.cjs +3 -3
- package/dist/charts.cjs.map +1 -1
- package/dist/charts.js +2 -2
- package/dist/checkbox-D7rvCrGk.js +629 -0
- package/dist/checkbox-D7rvCrGk.js.map +1 -0
- package/dist/checkbox-ZqDoCagB.cjs +39 -0
- package/dist/checkbox-ZqDoCagB.cjs.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips-Cux635Qs.cjs +253 -0
- package/dist/chips-Cux635Qs.cjs.map +1 -0
- package/dist/chips-vdzIsesI.js +655 -0
- package/dist/chips-vdzIsesI.js.map +1 -0
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight-C9lKek2p.cjs +190 -0
- package/dist/code-highlight-C9lKek2p.cjs.map +1 -0
- package/dist/code-highlight-D6yruol6.js +291 -0
- package/dist/code-highlight-D6yruol6.js.map +1 -0
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/components-ByRyEzz5.cjs +73 -0
- package/dist/components-ByRyEzz5.cjs.map +1 -0
- package/dist/components-DSvPKR9Q.js +730 -0
- package/dist/components-DSvPKR9Q.js.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/connectivity.cjs +7 -7
- package/dist/connectivity.cjs.map +1 -1
- package/dist/connectivity.js +5 -4
- package/dist/connectivity.js.map +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/cursor-glow-82y5h3E4.cjs +1 -0
- package/dist/cursor-glow-82y5h3E4.cjs.map +1 -0
- package/dist/cursor-glow-C2YRrB8Z.js +46 -0
- package/dist/cursor-glow-C2YRrB8Z.js.map +1 -0
- package/dist/date-range-DJsavigf.cjs +131 -0
- package/dist/date-range-DJsavigf.cjs.map +1 -0
- package/dist/date-range-inline-B87TDYI6.js +267 -0
- package/dist/date-range-inline-B87TDYI6.js.map +1 -0
- package/dist/date-range-inline-De-M0VmL.cjs +43 -0
- package/dist/date-range-inline-De-M0VmL.cjs.map +1 -0
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range-tEX2Jx2j.js +946 -0
- package/dist/date-range-tEX2Jx2j.js.map +1 -0
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/delay-BvVdfhAR.cjs +9 -0
- package/dist/delay-BvVdfhAR.cjs.map +1 -0
- package/dist/delay-CZw37zps.js +347 -0
- package/dist/delay-CZw37zps.js.map +1 -0
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/details-Bhz8_whd.cjs +168 -0
- package/dist/details-Bhz8_whd.cjs.map +1 -0
- package/dist/details-D7VTnLOh.js +294 -0
- package/dist/details-D7VTnLOh.js.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/dialog-service-ClFrOWf4.js +193 -0
- package/dist/dialog-service-ClFrOWf4.js.map +1 -0
- package/dist/dialog-service-DcuAavp2.cjs +1 -0
- package/dist/dialog-service-DcuAavp2.cjs.map +1 -0
- package/dist/dialog.cjs +18 -11
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.js +66 -43
- package/dist/dialog.js.map +1 -1
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +5 -5
- package/dist/divider-S0bHwCCS.cjs +57 -0
- package/dist/divider-S0bHwCCS.cjs.map +1 -0
- package/dist/divider-zS232JDr.js +87 -0
- package/dist/divider-zS232JDr.js.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 +8 -7
- package/dist/dropdown.js.map +1 -1
- package/dist/expand-BXt9SqAF.js +337 -0
- package/dist/expand-BXt9SqAF.js.map +1 -0
- package/dist/expand-Dr7TFXpl.cjs +141 -0
- package/dist/expand-Dr7TFXpl.cjs.map +1 -0
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/extra-BmZTXAp0.cjs +31 -0
- package/dist/extra-BmZTXAp0.cjs.map +1 -0
- package/dist/extra-COYhsOyZ.js +3435 -0
- package/dist/extra-COYhsOyZ.js.map +1 -0
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/float-CSRW-Rrd.cjs +1 -0
- package/dist/float-CSRW-Rrd.cjs.map +1 -0
- package/dist/float-DCXafWh6.js +5 -0
- package/dist/float-DCXafWh6.js.map +1 -0
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/flow-CqgDEIqK.js.map +1 -0
- package/dist/flow-DSu4PLt1.cjs.map +1 -0
- package/dist/form-CAY9GSCd.cjs +1 -0
- package/dist/form-CAY9GSCd.cjs.map +1 -0
- package/dist/form-D2cJ58TB.js +68 -0
- package/dist/form-D2cJ58TB.js.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.js +2 -1
- package/dist/hashContent-kKvXKFa9.cjs.map +1 -0
- package/dist/hashContent-nD2uWwi2.js.map +1 -0
- package/dist/icons-BbaI9Zf-.js +162 -0
- package/dist/icons-BbaI9Zf-.js.map +1 -0
- package/dist/icons-DPUeLS_Y.cjs +52 -0
- package/dist/icons-DPUeLS_Y.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/iframe-CEDOvkql.js +45 -0
- package/dist/iframe-CEDOvkql.js.map +1 -0
- package/dist/iframe-Ct50FYXq.cjs +24 -0
- package/dist/iframe-Ct50FYXq.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 +65 -59
- package/dist/input-DMjpf6V8.cjs +51 -0
- package/dist/input-DMjpf6V8.cjs.map +1 -0
- package/dist/input-Ri72dn5t.js +364 -0
- package/dist/input-Ri72dn5t.js.map +1 -0
- package/dist/input-chip-BhjGVpc3.cjs +146 -0
- package/dist/input-chip-BhjGVpc3.cjs.map +1 -0
- package/dist/input-chip-CI4__N8w.js +305 -0
- package/dist/input-chip-CI4__N8w.js.map +1 -0
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/intersection-D1v1UCVv.cjs.map +1 -0
- package/dist/intersection-LfEsy29T.js.map +1 -0
- package/dist/json.cjs +3 -3
- package/dist/json.cjs.map +1 -1
- package/dist/json.js +5 -4
- package/dist/json.js.map +1 -1
- package/dist/kbd.cjs +28 -0
- package/dist/kbd.cjs.map +1 -0
- package/dist/kbd.js +45 -0
- package/dist/kbd.js.map +1 -0
- package/dist/layout-BE2ld1IY.js +94 -0
- package/dist/layout-BE2ld1IY.js.map +1 -0
- package/dist/layout-D7xOqMkJ.cjs +17 -0
- package/dist/layout-D7xOqMkJ.cjs.map +1 -0
- package/dist/layout-PZCF3kwl.cjs +1 -0
- package/dist/layout-PZCF3kwl.cjs.map +1 -0
- package/dist/layout-uAQpJN31.js +268 -0
- package/dist/layout-uAQpJN31.js.map +1 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/lightbox-C0OEHns9.js +679 -0
- package/dist/lightbox-C0OEHns9.js.map +1 -0
- package/dist/lightbox-cXRnvHMN.cjs +202 -0
- package/dist/lightbox-cXRnvHMN.cjs.map +1 -0
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/list-CmJ5h35b.cjs +40 -0
- package/dist/list-CmJ5h35b.cjs.map +1 -0
- package/dist/list-d1mHar5p.js +106 -0
- package/dist/list-d1mHar5p.js.map +1 -0
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/litElement.mixin-Bj2q1yPw.cjs +1 -0
- package/dist/litElement.mixin-Bj2q1yPw.cjs.map +1 -0
- package/dist/litElement.mixin-CncaUoxz.js +12 -0
- package/dist/litElement.mixin-CncaUoxz.js.map +1 -0
- package/dist/magnetic-Dj52WplI.js +47 -0
- package/dist/magnetic-Dj52WplI.js.map +1 -0
- package/dist/magnetic-aBBnj_vk.cjs +1 -0
- package/dist/magnetic-aBBnj_vk.cjs.map +1 -0
- package/dist/mailbox-BmChskZc.cjs +1142 -0
- package/dist/mailbox-BmChskZc.cjs.map +1 -0
- package/dist/mailbox-C4-E93be.js +1585 -0
- package/dist/mailbox-C4-E93be.js.map +1 -0
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/map-DHyYLhvy.js +206 -0
- package/dist/map-DHyYLhvy.js.map +1 -0
- package/dist/map-DYEvlNl0.cjs +80 -0
- package/dist/map-DYEvlNl0.cjs.map +1 -0
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/menu-BlPTI6H9.cjs +23 -0
- package/dist/menu-BlPTI6H9.cjs.map +1 -0
- package/dist/menu-DFDBADp4.js +51 -0
- package/dist/menu-DFDBADp4.js.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.cjs.map +1 -1
- package/dist/mixins.js +43 -15
- package/dist/mixins.js.map +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/navigation-rail.cjs +3 -3
- package/dist/navigation-rail.cjs.map +1 -1
- package/dist/navigation-rail.js +2 -2
- package/dist/notification-DGpv8g2H.js +304 -0
- package/dist/notification-DGpv8g2H.js.map +1 -0
- package/dist/notification-DKVWYhqs.cjs +23 -0
- package/dist/notification-DKVWYhqs.cjs.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/option-BD2eh458.js +98 -0
- package/dist/option-BD2eh458.js.map +1 -0
- package/dist/option-LtSDy2xf.cjs +43 -0
- package/dist/option-LtSDy2xf.cjs.map +1 -0
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/overlay-stack-CEYGD9T1.cjs.map +1 -0
- package/dist/overlay-stack-Ca4EK2Mu.js.map +1 -0
- package/dist/page.cjs +2 -2
- package/dist/page.cjs.map +1 -1
- package/dist/page.js +5 -5
- package/dist/progress-B5ChDPbB.cjs +51 -0
- package/dist/progress-B5ChDPbB.cjs.map +1 -0
- package/dist/progress-CE1Pk2hi.js +128 -0
- package/dist/progress-CE1Pk2hi.js.map +1 -0
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/provide-BZ9lq_Be.cjs +1 -0
- package/dist/provide-BZ9lq_Be.cjs.map +1 -0
- package/dist/provide-jn1Fj1vv.js +107 -0
- package/dist/provide-jn1Fj1vv.js.map +1 -0
- package/dist/qr-scanner.cjs +2 -2
- package/dist/qr-scanner.cjs.map +1 -1
- package/dist/qr-scanner.js +2 -2
- package/dist/radio-group-Cd9pZ2MR.cjs +40 -0
- package/dist/radio-group-Cd9pZ2MR.cjs.map +1 -0
- package/dist/radio-group-CyRHgIF3.js +106 -0
- package/dist/radio-group-CyRHgIF3.js.map +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +4 -4
- package/dist/range.cjs.map +1 -1
- package/dist/range.js +4 -3
- package/dist/range.js.map +1 -1
- package/dist/reduced-motion-B83yZbcO.js.map +1 -0
- package/dist/reduced-motion-DR32yKEO.cjs.map +1 -0
- package/dist/rxjs-utils-Bldch1RO.js.map +1 -0
- package/dist/rxjs-utils-hAgKC7vk.cjs.map +1 -0
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/scroll-C_iNOi7E.cjs +26 -0
- package/dist/scroll-C_iNOi7E.cjs.map +1 -0
- package/dist/scroll-DoliwpRu.js +113 -0
- package/dist/scroll-DoliwpRu.js.map +1 -0
- package/dist/search-BlGJ6uJv.js.map +1 -0
- package/dist/search-C8eAOzBm.cjs.map +1 -0
- package/dist/select-CWWuZ2iJ.cjs +56 -0
- package/dist/select-CWWuZ2iJ.cjs.map +1 -0
- package/dist/select-_vHPXi30.js +305 -0
- package/dist/select-_vHPXi30.js.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/sheet-i1KtxGIj.js +168 -0
- package/dist/sheet-i1KtxGIj.js.map +1 -0
- package/dist/sheet-r0oEYIdi.cjs +35 -0
- package/dist/sheet-r0oEYIdi.cjs.map +1 -0
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/sheet.service-Cr13Oo6G.cjs +1 -0
- package/dist/sheet.service-Cr13Oo6G.cjs.map +1 -0
- package/dist/sheet.service-DUO5_kmI.js +86 -0
- package/dist/sheet.service-DUO5_kmI.js.map +1 -0
- package/dist/skeleton.cjs +33 -0
- package/dist/skeleton.cjs.map +1 -0
- package/dist/skeleton.js +58 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/skills/INDEX.md +73 -0
- package/dist/skills/SKILL.md +120 -0
- package/dist/skills/breadcrumb.md +53 -0
- package/dist/skills/kbd.md +40 -0
- package/dist/skills/schmancy/INDEX.md +73 -0
- package/dist/skills/schmancy/SKILL.md +120 -0
- package/dist/skills/schmancy/breadcrumb.md +53 -0
- package/dist/skills/schmancy/kbd.md +40 -0
- package/dist/skills/schmancy/skeleton.md +40 -0
- package/dist/skills/schmancy/splash-screen.md +60 -0
- package/dist/skills/schmancy/switch.md +58 -0
- package/dist/skills/schmancy/tooltip.md +38 -0
- package/dist/skills/schmancy/visually-hidden.md +41 -0
- package/dist/skills/skeleton.md +40 -0
- package/dist/skills/splash-screen.md +60 -0
- package/dist/skills/switch.md +58 -0
- package/dist/skills/tooltip.md +38 -0
- package/dist/skills/visually-hidden.md +41 -0
- package/dist/slider.cjs +3 -3
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +2 -2
- package/dist/sound.service-BjSoGjmT.cjs +1 -0
- package/dist/sound.service-BjSoGjmT.cjs.map +1 -0
- package/dist/sound.service-cdkw3Wkv.js +2353 -0
- package/dist/sound.service-cdkw3Wkv.js.map +1 -0
- package/dist/splash-screen-CquyPP1C.cjs +41 -0
- package/dist/splash-screen-CquyPP1C.cjs.map +1 -0
- package/dist/splash-screen-CvucPkpD.js +83 -0
- package/dist/splash-screen-CvucPkpD.js.map +1 -0
- package/dist/splash-screen.cjs +1 -0
- package/dist/splash-screen.js +1 -0
- package/dist/src-Bemk2C2P.cjs +269 -0
- package/dist/src-Bemk2C2P.cjs.map +1 -0
- package/dist/src-f5a3W9Mj.js +1251 -0
- package/dist/src-f5a3W9Mj.js.map +1 -0
- package/dist/steps.cjs +10 -10
- package/dist/steps.cjs.map +1 -1
- package/dist/steps.js +10 -9
- package/dist/steps.js.map +1 -1
- package/dist/store-Bmj6rvZY.js.map +1 -0
- package/dist/store-CO4nJyGj.cjs.map +1 -0
- package/dist/store.cjs +1 -1
- package/dist/store.js +1 -1
- package/dist/surface-CDufon40.cjs +7 -0
- package/dist/surface-CDufon40.cjs.map +1 -0
- package/dist/surface-CkEYJCae.js +22 -0
- package/dist/surface-CkEYJCae.js.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/surface.mixin-CSKqQH-0.cjs +297 -0
- package/dist/surface.mixin-CSKqQH-0.cjs.map +1 -0
- package/dist/surface.mixin-DqMwoddO.js +320 -0
- package/dist/surface.mixin-DqMwoddO.js.map +1 -0
- package/dist/switch.cjs +69 -0
- package/dist/switch.cjs.map +1 -0
- package/dist/switch.js +132 -0
- package/dist/switch.js.map +1 -0
- package/dist/table-DWc1mkpj.cjs +63 -0
- package/dist/table-DWc1mkpj.cjs.map +1 -0
- package/dist/table-P6VGG7NK.js +631 -0
- package/dist/table-P6VGG7NK.js.map +1 -0
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/tabs-CjGjGrqY.js +126 -0
- package/dist/tabs-CjGjGrqY.js.map +1 -0
- package/dist/tabs-DGJEKuhC.cjs +31 -0
- package/dist/tabs-DGJEKuhC.cjs.map +1 -0
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-Cpa-VnnX.cjs +2 -0
- package/dist/tailwind.mixin-Cpa-VnnX.cjs.map +1 -0
- package/dist/tailwind.mixin-DufHBjmb.js +219 -0
- package/dist/tailwind.mixin-DufHBjmb.js.map +1 -0
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/textarea-DZT_Ofp5.js +209 -0
- package/dist/textarea-DZT_Ofp5.js.map +1 -0
- package/dist/textarea-jmTOXrzl.cjs +39 -0
- package/dist/textarea-jmTOXrzl.cjs.map +1 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/theme-CCKqaksQ.cjs +181 -0
- package/dist/theme-CCKqaksQ.cjs.map +1 -0
- package/dist/theme-CEc32pAv.js +4122 -0
- package/dist/theme-CEc32pAv.js.map +1 -0
- package/dist/theme-button-BsJcv-Zv.cjs +8 -0
- package/dist/theme-button-BsJcv-Zv.cjs.map +1 -0
- package/dist/theme-button-dOiAvdKU.js +20 -0
- package/dist/theme-button-dOiAvdKU.js.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-Bw3mYjUA.js.map +1 -0
- package/dist/theme.events-EznKK2Y0.cjs.map +1 -0
- package/dist/theme.interface-CM26m9te.cjs.map +1 -0
- package/dist/theme.interface-FAUIgbIq.js.map +1 -0
- package/dist/theme.js +5 -5
- package/dist/theme.service-ETiKUwVy.cjs +1 -0
- package/dist/theme.service-ETiKUwVy.cjs.map +1 -0
- package/dist/theme.service-_qP5WvB9.js +108 -0
- package/dist/theme.service-_qP5WvB9.js.map +1 -0
- package/dist/tooltip.cjs +1 -6
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.js +51 -135
- package/dist/tooltip.js.map +1 -1
- package/dist/tree.cjs +14 -5
- package/dist/tree.cjs.map +1 -1
- package/dist/tree.js +28 -6
- package/dist/tree.js.map +1 -1
- package/dist/tslib.es6-Bd-92OW3.cjs +1 -0
- package/dist/tslib.es6-Bd-92OW3.cjs.map +1 -0
- package/dist/tslib.es6-CI1onEZb.js +7 -0
- package/dist/tslib.es6-CI1onEZb.js.map +1 -0
- package/dist/typewriter-ByIL2Mh-.cjs +123 -0
- package/dist/typewriter-ByIL2Mh-.cjs.map +1 -0
- package/dist/typewriter-vOQ3bDLb.js +701 -0
- package/dist/typewriter-vOQ3bDLb.js.map +1 -0
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/typography.cjs +4 -4
- package/dist/typography.cjs.map +1 -1
- package/dist/typography.js +10 -9
- package/dist/typography.js.map +1 -1
- package/dist/utils-Cq0m3LYo.js +259 -0
- package/dist/utils-Cq0m3LYo.js.map +1 -0
- package/dist/utils-D2kE-6zc.cjs +1 -0
- package/dist/utils-D2kE-6zc.cjs.map +1 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +5 -5
- package/dist/visually-hidden.cjs +13 -0
- package/dist/visually-hidden.cjs.map +1 -0
- package/dist/visually-hidden.js +24 -0
- package/dist/visually-hidden.js.map +1 -0
- package/dist/window-BS7ZQjgH.cjs +59 -0
- package/dist/window-BS7ZQjgH.cjs.map +1 -0
- package/dist/window-WnAihpsA.js +548 -0
- package/dist/window-WnAihpsA.js.map +1 -0
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/mixins/formField.mixin.ts +96 -69
- package/mixins/tailwind.css +11 -0
- package/package.json +19 -28
- package/skills/schmancy/INDEX.md +73 -0
- package/skills/schmancy/SKILL.md +120 -0
- package/skills/schmancy/animation.md +64 -0
- package/skills/schmancy/area.md +141 -0
- package/skills/schmancy/audio.md +69 -0
- package/skills/schmancy/autocomplete.md +53 -0
- package/skills/schmancy/avatar.md +47 -0
- package/skills/schmancy/badge.md +41 -0
- package/skills/schmancy/boat.md +47 -0
- package/skills/schmancy/breadcrumb.md +53 -0
- package/skills/schmancy/busy.md +36 -0
- package/skills/schmancy/button.md +59 -0
- package/skills/schmancy/card.md +53 -0
- package/skills/schmancy/charts.md +93 -0
- package/skills/schmancy/checkbox.md +36 -0
- package/skills/schmancy/chips.md +87 -0
- package/skills/schmancy/code-highlight.md +47 -0
- package/skills/schmancy/connectivity.md +36 -0
- package/skills/schmancy/content-drawer.md +65 -0
- package/skills/schmancy/date-range-inline.md +44 -0
- package/skills/schmancy/date-range.md +50 -0
- package/skills/schmancy/delay.md +50 -0
- package/skills/schmancy/details.md +66 -0
- package/skills/schmancy/dialog.md +69 -0
- package/skills/schmancy/directives.md +298 -0
- package/skills/schmancy/discovery.md +67 -0
- package/skills/schmancy/divider.md +31 -0
- package/skills/schmancy/dropdown.md +47 -0
- package/skills/schmancy/expand.md +63 -0
- package/skills/schmancy/extra.md +59 -0
- package/skills/schmancy/float.md +14 -0
- package/skills/schmancy/form.md +49 -0
- package/skills/schmancy/icons.md +44 -0
- package/skills/schmancy/iframe.md +44 -0
- package/skills/schmancy/input.md +56 -0
- package/skills/schmancy/json.md +33 -0
- package/skills/schmancy/kbd.md +40 -0
- package/skills/schmancy/layout.md +63 -0
- package/skills/schmancy/lightbox.md +36 -0
- package/skills/schmancy/list.md +67 -0
- package/skills/schmancy/mailbox.md +102 -0
- package/skills/schmancy/map.md +55 -0
- package/skills/schmancy/menu.md +39 -0
- package/skills/schmancy/mixins.md +99 -0
- package/skills/schmancy/nav-drawer.md +52 -0
- package/skills/schmancy/navigation-bar.md +48 -0
- package/skills/schmancy/navigation-rail.md +62 -0
- package/skills/schmancy/notification.md +60 -0
- package/skills/schmancy/option.md +43 -0
- package/skills/schmancy/page.md +42 -0
- package/skills/schmancy/progress.md +30 -0
- package/skills/schmancy/qr-scanner.md +51 -0
- package/skills/schmancy/radio-group.md +50 -0
- package/skills/schmancy/range.md +47 -0
- package/skills/schmancy/rxjs-utils.md +60 -0
- package/skills/schmancy/select.md +49 -0
- package/skills/schmancy/sheet.md +76 -0
- package/skills/schmancy/skeleton.md +40 -0
- package/skills/schmancy/slider.md +43 -0
- package/skills/schmancy/splash-screen.md +60 -0
- package/skills/schmancy/steps.md +53 -0
- package/skills/schmancy/store.md +126 -0
- package/skills/schmancy/surface.md +86 -0
- package/skills/schmancy/switch.md +58 -0
- package/skills/schmancy/table.md +60 -0
- package/skills/schmancy/tabs.md +49 -0
- package/skills/schmancy/teleport.md +55 -0
- package/skills/schmancy/textarea.md +48 -0
- package/skills/schmancy/theme-button.md +26 -0
- package/skills/schmancy/theme.md +58 -0
- package/skills/schmancy/tooltip.md +38 -0
- package/skills/schmancy/tree.md +53 -0
- package/skills/schmancy/typewriter.md +46 -0
- package/skills/schmancy/typography.md +53 -0
- package/skills/schmancy/utils.md +95 -0
- package/skills/schmancy/visually-hidden.md +41 -0
- package/skills/schmancy/window.md +67 -0
- package/src/audio/emotional-sounds.ts +2 -4
- package/src/autocomplete/autocomplete.ts +52 -2
- package/src/breadcrumb/breadcrumb.ts +109 -0
- package/src/breadcrumb/index.ts +1 -0
- package/src/button/button.ts +40 -0
- package/src/button/icon-button.ts +2 -1
- package/src/checkbox/checkbox.test.ts +113 -0
- package/src/checkbox/checkbox.ts +41 -1
- package/src/chips/filter-chip.ts +15 -0
- package/src/chips/input-chip.ts +7 -0
- package/src/date-range/date-range-helpers.ts +0 -71
- package/src/dialog/dialog-base.mixin.ts +11 -0
- package/src/dialog/dialog.component.ts +28 -8
- package/src/dropdown/dropdown-content.ts +3 -1
- package/src/form/form.test.ts +137 -0
- package/src/form/form.ts +142 -158
- package/src/form/index.ts +2 -2
- package/src/icons/icon.ts +1 -0
- package/src/index.ts +6 -0
- package/src/kbd/index.ts +1 -0
- package/src/kbd/kbd.ts +59 -0
- package/src/skeleton/index.ts +1 -0
- package/src/skeleton/skeleton.ts +78 -0
- package/src/splash-screen/index.ts +1 -0
- package/src/splash-screen/splash-screen.ts +154 -0
- package/src/switch/index.ts +1 -0
- package/src/switch/switch.test.ts +93 -0
- package/src/switch/switch.ts +180 -0
- package/src/test-utils/a11y.ts +35 -0
- package/src/textarea/textarea.ts +32 -2
- package/src/tooltip/index.ts +1 -2
- package/src/tree/tree.ts +27 -2
- package/src/visually-hidden/index.ts +1 -0
- package/src/visually-hidden/visually-hidden.ts +39 -0
- package/src/window/window-position.ts +1 -74
- package/types/mixins/formField.mixin.d.ts +15 -8
- package/types/src/audio/emotional-sounds.d.ts +0 -2
- package/types/src/autocomplete/autocomplete.d.ts +7 -0
- package/types/src/breadcrumb/breadcrumb.d.ts +38 -0
- package/types/src/breadcrumb/index.d.ts +1 -0
- package/types/src/button/button.d.ts +7 -0
- package/types/src/button/icon-button.d.ts +2 -1
- package/types/src/checkbox/checkbox.d.ts +6 -0
- package/types/src/checkbox/checkbox.test.d.ts +1 -0
- package/types/src/chips/filter-chip.d.ts +3 -0
- package/types/src/chips/input-chip.d.ts +1 -0
- package/types/src/date-range/date-range-helpers.d.ts +0 -12
- package/types/src/dialog/dialog.component.d.ts +6 -0
- package/types/src/dropdown/dropdown-content.d.ts +3 -1
- package/types/src/form/form-v2.d.ts +12 -63
- package/types/src/form/form.d.ts +58 -40
- package/types/src/form/form.test.d.ts +4 -0
- package/types/src/form/index.d.ts +1 -1
- package/types/src/icons/icon.d.ts +1 -0
- package/types/src/index.d.ts +6 -0
- package/types/src/kbd/index.d.ts +1 -0
- package/types/src/kbd/kbd.d.ts +25 -0
- package/types/src/skeleton/index.d.ts +1 -0
- package/types/src/skeleton/skeleton.d.ts +27 -0
- package/types/src/splash-screen/index.d.ts +1 -0
- package/types/src/splash-screen/splash-screen.d.ts +60 -0
- package/types/src/switch/index.d.ts +1 -0
- package/types/src/switch/switch.d.ts +54 -0
- package/types/src/switch/switch.test.d.ts +1 -0
- package/types/src/test-utils/a11y.d.ts +11 -0
- package/types/src/textarea/textarea.d.ts +5 -1
- package/types/src/tooltip/index.d.ts +0 -1
- package/types/src/tree/tree.d.ts +5 -0
- package/types/src/visually-hidden/index.d.ts +1 -0
- package/types/src/visually-hidden/visually-hidden.d.ts +21 -0
- package/types/src/window/window-position.d.ts +1 -35
- package/ai/INDEX.md +0 -72
- package/ai/tooltip.md +0 -38
- package/dist/ai/INDEX.md +0 -72
- package/dist/ai/tooltip.md +0 -38
- package/dist/animation-BK-8BwY8.js.map +0 -1
- package/dist/animation-CO_Csq84.cjs.map +0 -1
- package/dist/area-CRoGqD_u.js +0 -590
- package/dist/area-CRoGqD_u.js.map +0 -1
- package/dist/area-JPykB7A9.cjs +0 -12
- package/dist/area-JPykB7A9.cjs.map +0 -1
- package/dist/audio-DtYYgzYD.cjs +0 -1
- package/dist/audio-DtYYgzYD.cjs.map +0 -1
- package/dist/audio-kz8UgPTO.js +0 -335
- package/dist/audio-kz8UgPTO.js.map +0 -1
- package/dist/autocomplete-5rVhbieU.cjs +0 -111
- package/dist/autocomplete-5rVhbieU.cjs.map +0 -1
- package/dist/autocomplete-BllPQwr8.js +0 -378
- package/dist/autocomplete-BllPQwr8.js.map +0 -1
- package/dist/boat-BDTQ-du9.js +0 -347
- package/dist/boat-BDTQ-du9.js.map +0 -1
- package/dist/boat-DYEAZ8Qj.cjs +0 -80
- package/dist/boat-DYEAZ8Qj.cjs.map +0 -1
- package/dist/busy-ChDAeaKF.js +0 -167
- package/dist/busy-ChDAeaKF.js.map +0 -1
- package/dist/busy-Dj7Xn0Z0.cjs +0 -134
- package/dist/busy-Dj7Xn0Z0.cjs.map +0 -1
- package/dist/card-BvPWVEJX.cjs +0 -177
- package/dist/card-BvPWVEJX.cjs.map +0 -1
- package/dist/card-DZFPRPqs.js +0 -284
- package/dist/card-DZFPRPqs.js.map +0 -1
- package/dist/checkbox-BC_37rsG.cjs +0 -39
- package/dist/checkbox-BC_37rsG.cjs.map +0 -1
- package/dist/checkbox-GSSjqo6w.js +0 -610
- package/dist/checkbox-GSSjqo6w.js.map +0 -1
- package/dist/chips-B19XS8Xc.cjs +0 -253
- package/dist/chips-B19XS8Xc.cjs.map +0 -1
- package/dist/chips-B9oAEfE_.js +0 -645
- package/dist/chips-B9oAEfE_.js.map +0 -1
- package/dist/code-highlight-DCk5lJY-.js +0 -290
- package/dist/code-highlight-DCk5lJY-.js.map +0 -1
- package/dist/code-highlight-fSLrlgOb.cjs +0 -190
- package/dist/code-highlight-fSLrlgOb.cjs.map +0 -1
- package/dist/components-COsM6sJZ.js +0 -730
- package/dist/components-COsM6sJZ.js.map +0 -1
- package/dist/components-CyD6a7gQ.cjs +0 -73
- package/dist/components-CyD6a7gQ.cjs.map +0 -1
- package/dist/cursor-glow-Ah7VXSj7.js +0 -46
- package/dist/cursor-glow-Ah7VXSj7.js.map +0 -1
- package/dist/cursor-glow-DtSy_PJd.cjs +0 -1
- package/dist/cursor-glow-DtSy_PJd.cjs.map +0 -1
- package/dist/date-range-Sfyco9-n.js +0 -946
- package/dist/date-range-Sfyco9-n.js.map +0 -1
- package/dist/date-range-ZAaQB22I.cjs +0 -131
- package/dist/date-range-ZAaQB22I.cjs.map +0 -1
- package/dist/date-range-inline-Bl8qbiQF.js +0 -267
- package/dist/date-range-inline-Bl8qbiQF.js.map +0 -1
- package/dist/date-range-inline-m7nLjOMI.cjs +0 -43
- package/dist/date-range-inline-m7nLjOMI.cjs.map +0 -1
- package/dist/delay-7boauN6N.cjs +0 -9
- package/dist/delay-7boauN6N.cjs.map +0 -1
- package/dist/delay-CgX6m0HN.js +0 -346
- package/dist/delay-CgX6m0HN.js.map +0 -1
- package/dist/details-BHnk8l4q.cjs +0 -168
- package/dist/details-BHnk8l4q.cjs.map +0 -1
- package/dist/details-BPkUg8Cq.js +0 -293
- package/dist/details-BPkUg8Cq.js.map +0 -1
- package/dist/dialog-service-NZEvyEK-.js +0 -193
- package/dist/dialog-service-NZEvyEK-.js.map +0 -1
- package/dist/dialog-service-VnW4gkmE.cjs +0 -1
- package/dist/dialog-service-VnW4gkmE.cjs.map +0 -1
- package/dist/divider-CW9a7MMj.js +0 -87
- package/dist/divider-CW9a7MMj.js.map +0 -1
- package/dist/divider-_khrhrZo.cjs +0 -57
- package/dist/divider-_khrhrZo.cjs.map +0 -1
- package/dist/expand-Cp7-PH8b.cjs +0 -141
- package/dist/expand-Cp7-PH8b.cjs.map +0 -1
- package/dist/expand-iQ7EOMP7.js +0 -336
- package/dist/expand-iQ7EOMP7.js.map +0 -1
- package/dist/extra-IKAiJJhv.cjs +0 -31
- package/dist/extra-IKAiJJhv.cjs.map +0 -1
- package/dist/extra-wEpvEFbK.js +0 -3435
- package/dist/extra-wEpvEFbK.js.map +0 -1
- package/dist/float-BQ_urmMs.js +0 -5
- package/dist/float-BQ_urmMs.js.map +0 -1
- package/dist/float-D5rNC82i.cjs +0 -1
- package/dist/float-D5rNC82i.cjs.map +0 -1
- package/dist/flow-Bbwn6dRN.cjs.map +0 -1
- package/dist/flow-CUj0fDT_.js.map +0 -1
- package/dist/form-BqN1AGFj.cjs +0 -1
- package/dist/form-BqN1AGFj.cjs.map +0 -1
- package/dist/form-CajC5HnO.js +0 -270
- package/dist/form-CajC5HnO.js.map +0 -1
- package/dist/hashContent-DYM21p6t.js.map +0 -1
- package/dist/hashContent-DaeGmY-p.cjs.map +0 -1
- package/dist/icons-B57_93VV.cjs +0 -52
- package/dist/icons-B57_93VV.cjs.map +0 -1
- package/dist/icons-BDqiGXrO.js +0 -161
- package/dist/icons-BDqiGXrO.js.map +0 -1
- package/dist/iframe-DNHL3GIk.cjs +0 -24
- package/dist/iframe-DNHL3GIk.cjs.map +0 -1
- package/dist/iframe-WnWPIrBG.js +0 -44
- package/dist/iframe-WnWPIrBG.js.map +0 -1
- package/dist/input-BiSrTcrR.cjs +0 -51
- package/dist/input-BiSrTcrR.cjs.map +0 -1
- package/dist/input-VaXHFrRn.js +0 -364
- package/dist/input-VaXHFrRn.js.map +0 -1
- package/dist/input-chip-Dy-AiP55.cjs +0 -146
- package/dist/input-chip-Dy-AiP55.cjs.map +0 -1
- package/dist/input-chip-QejNcRnS.js +0 -301
- package/dist/input-chip-QejNcRnS.js.map +0 -1
- package/dist/intersection-BPLpqYEd.js.map +0 -1
- package/dist/intersection-CZpaIHeT.cjs.map +0 -1
- package/dist/layout-4C-6_cre.cjs +0 -1
- package/dist/layout-4C-6_cre.cjs.map +0 -1
- package/dist/layout-CnsXeCAy.js +0 -267
- package/dist/layout-CnsXeCAy.js.map +0 -1
- package/dist/layout-DNYG3phx.cjs +0 -17
- package/dist/layout-DNYG3phx.cjs.map +0 -1
- package/dist/layout-yxSlLybo.js +0 -94
- package/dist/layout-yxSlLybo.js.map +0 -1
- package/dist/lightbox-BrI1Z31s.js +0 -678
- package/dist/lightbox-BrI1Z31s.js.map +0 -1
- package/dist/lightbox-CmACf0t5.cjs +0 -202
- package/dist/lightbox-CmACf0t5.cjs.map +0 -1
- package/dist/list-Cm-jjXxM.js +0 -105
- package/dist/list-Cm-jjXxM.js.map +0 -1
- package/dist/list-swIL9VDv.cjs +0 -40
- package/dist/list-swIL9VDv.cjs.map +0 -1
- package/dist/litElement.mixin-3llHwB-8.cjs +0 -1
- package/dist/litElement.mixin-3llHwB-8.cjs.map +0 -1
- package/dist/litElement.mixin-6jJYHCrZ.js +0 -12
- package/dist/litElement.mixin-6jJYHCrZ.js.map +0 -1
- package/dist/magnetic-BZGFxAWG.js +0 -47
- package/dist/magnetic-BZGFxAWG.js.map +0 -1
- package/dist/magnetic-Dux4QwO4.cjs +0 -1
- package/dist/magnetic-Dux4QwO4.cjs.map +0 -1
- package/dist/mailbox-BuvsVaAQ.js +0 -1584
- package/dist/mailbox-BuvsVaAQ.js.map +0 -1
- package/dist/mailbox-D6LkQcN5.cjs +0 -1142
- package/dist/mailbox-D6LkQcN5.cjs.map +0 -1
- package/dist/map-CQiKAxC3.js +0 -205
- package/dist/map-CQiKAxC3.js.map +0 -1
- package/dist/map-D5NN4VET.cjs +0 -80
- package/dist/map-D5NN4VET.cjs.map +0 -1
- package/dist/menu-C1x04YZw.js +0 -51
- package/dist/menu-C1x04YZw.js.map +0 -1
- package/dist/menu-CkgMO9K5.cjs +0 -23
- package/dist/menu-CkgMO9K5.cjs.map +0 -1
- package/dist/notification-BnBgxjF-.js +0 -304
- package/dist/notification-BnBgxjF-.js.map +0 -1
- package/dist/notification-CZFEhWxc.cjs +0 -23
- package/dist/notification-CZFEhWxc.cjs.map +0 -1
- package/dist/option-BrxCVwSx.cjs +0 -43
- package/dist/option-BrxCVwSx.cjs.map +0 -1
- package/dist/option-DBO8xZwd.js +0 -97
- package/dist/option-DBO8xZwd.js.map +0 -1
- package/dist/overlay-stack-DQey9Qph.cjs.map +0 -1
- package/dist/overlay-stack-DT1SdaGW.js.map +0 -1
- package/dist/progress-Db2e4_Zd.cjs +0 -51
- package/dist/progress-Db2e4_Zd.cjs.map +0 -1
- package/dist/progress-DeiHxXo7.js +0 -128
- package/dist/progress-DeiHxXo7.js.map +0 -1
- package/dist/provide-C1aQhxYo.js +0 -107
- package/dist/provide-C1aQhxYo.js.map +0 -1
- package/dist/provide-DHnhQtCH.cjs +0 -1
- package/dist/provide-DHnhQtCH.cjs.map +0 -1
- package/dist/radio-group-Cspwd-Vw.cjs +0 -40
- package/dist/radio-group-Cspwd-Vw.cjs.map +0 -1
- package/dist/radio-group-zSO0AkJf.js +0 -105
- package/dist/radio-group-zSO0AkJf.js.map +0 -1
- package/dist/reduced-motion-D-L12p7G.js.map +0 -1
- package/dist/reduced-motion-Ds05GPyz.cjs.map +0 -1
- package/dist/rxjs-utils-BSjmI9-Q.js.map +0 -1
- package/dist/rxjs-utils-DCsfzeap.cjs.map +0 -1
- package/dist/scroll-QMCmbbDv.cjs +0 -26
- package/dist/scroll-QMCmbbDv.cjs.map +0 -1
- package/dist/scroll-cBDzye64.js +0 -112
- package/dist/scroll-cBDzye64.js.map +0 -1
- package/dist/search-C4dFHYbX.js.map +0 -1
- package/dist/search-Ds8tt7Et.cjs.map +0 -1
- package/dist/select-Ct37l3lg.cjs +0 -56
- package/dist/select-Ct37l3lg.cjs.map +0 -1
- package/dist/select-c6HbWvKP.js +0 -305
- package/dist/select-c6HbWvKP.js.map +0 -1
- package/dist/sheet-BMXcUiIm.js +0 -168
- package/dist/sheet-BMXcUiIm.js.map +0 -1
- package/dist/sheet-CQec-bCV.cjs +0 -35
- package/dist/sheet-CQec-bCV.cjs.map +0 -1
- package/dist/sheet.service-BcPV3Du4.js +0 -86
- package/dist/sheet.service-BcPV3Du4.js.map +0 -1
- package/dist/sheet.service-Dumvr1HT.cjs +0 -1
- package/dist/sheet.service-Dumvr1HT.cjs.map +0 -1
- package/dist/sound.service-Bu3EQLv2.cjs +0 -1
- package/dist/sound.service-Bu3EQLv2.cjs.map +0 -1
- package/dist/sound.service-m3BrSfuH.js +0 -2353
- package/dist/sound.service-m3BrSfuH.js.map +0 -1
- package/dist/src-BLngW2bl.js +0 -1244
- package/dist/src-BLngW2bl.js.map +0 -1
- package/dist/src-BtQVyqMy.cjs +0 -269
- package/dist/src-BtQVyqMy.cjs.map +0 -1
- package/dist/store-CorvD3bT.cjs.map +0 -1
- package/dist/store-DYqDLAvT.js.map +0 -1
- package/dist/surface-BjKZoJxK.cjs +0 -7
- package/dist/surface-BjKZoJxK.cjs.map +0 -1
- package/dist/surface-pK8hME5c.js +0 -21
- package/dist/surface-pK8hME5c.js.map +0 -1
- package/dist/surface.mixin-C5sDI1-_.cjs +0 -297
- package/dist/surface.mixin-C5sDI1-_.cjs.map +0 -1
- package/dist/surface.mixin-CBNRpJum.js +0 -320
- package/dist/surface.mixin-CBNRpJum.js.map +0 -1
- package/dist/table-BXIHX9h4.js +0 -631
- package/dist/table-BXIHX9h4.js.map +0 -1
- package/dist/table-CiqgZzSd.cjs +0 -63
- package/dist/table-CiqgZzSd.cjs.map +0 -1
- package/dist/tabs-CKa-W4qA.cjs +0 -31
- package/dist/tabs-CKa-W4qA.cjs.map +0 -1
- package/dist/tabs-nbV5eblZ.js +0 -125
- package/dist/tabs-nbV5eblZ.js.map +0 -1
- package/dist/tailwind.mixin-BCJOOX1_.js +0 -225
- package/dist/tailwind.mixin-BCJOOX1_.js.map +0 -1
- package/dist/tailwind.mixin-BF1Huas7.cjs +0 -2
- package/dist/tailwind.mixin-BF1Huas7.cjs.map +0 -1
- package/dist/textarea-Cp1ZE60O.cjs +0 -35
- package/dist/textarea-Cp1ZE60O.cjs.map +0 -1
- package/dist/textarea-D7q8exMg.js +0 -195
- package/dist/textarea-D7q8exMg.js.map +0 -1
- package/dist/theme-Da4SPq9X.cjs +0 -181
- package/dist/theme-Da4SPq9X.cjs.map +0 -1
- package/dist/theme-_VPV6Bxh.js +0 -4121
- package/dist/theme-_VPV6Bxh.js.map +0 -1
- package/dist/theme-button--sX8A-m1.js +0 -19
- package/dist/theme-button--sX8A-m1.js.map +0 -1
- package/dist/theme-button-Ci8VQ7KW.cjs +0 -8
- package/dist/theme-button-Ci8VQ7KW.cjs.map +0 -1
- package/dist/theme.events-Cv7N4Toe.js.map +0 -1
- package/dist/theme.events-DM4H5F2d.cjs.map +0 -1
- package/dist/theme.interface-CXloMUCw.js.map +0 -1
- package/dist/theme.interface-Da23QAYb.cjs.map +0 -1
- package/dist/theme.service-C_tjlqgy.cjs +0 -1
- package/dist/theme.service-C_tjlqgy.cjs.map +0 -1
- package/dist/theme.service-D9lEas89.js +0 -108
- package/dist/theme.service-D9lEas89.js.map +0 -1
- package/dist/tslib.es6-D7BIeDVB.cjs.map +0 -1
- package/dist/tslib.es6-ErZEp3OO.js.map +0 -1
- package/dist/typewriter-B2TnHPjw.cjs +0 -123
- package/dist/typewriter-B2TnHPjw.cjs.map +0 -1
- package/dist/typewriter-BrZNa8T-.js +0 -700
- package/dist/typewriter-BrZNa8T-.js.map +0 -1
- package/dist/utils-BcaKtQuA.cjs +0 -1
- package/dist/utils-BcaKtQuA.cjs.map +0 -1
- package/dist/utils-CoU7M2YS.js +0 -259
- package/dist/utils-CoU7M2YS.js.map +0 -1
- package/dist/window-CM1ycigo.js +0 -548
- package/dist/window-CM1ycigo.js.map +0 -1
- package/dist/window-Uii13x_r.cjs +0 -59
- package/dist/window-Uii13x_r.cjs.map +0 -1
- package/src/form/form-v2.ts +0 -268
- package/src/layout/v2/grid.ts +0 -93
- package/src/notification/outlet.ts +0 -16
- package/src/store/immer-integration.ts +0 -99
- package/src/tooltip/tooltip.ts +0 -216
- /package/dist/{animation-CO_Csq84.cjs → animation-Bcwh107v.cjs} +0 -0
- /package/dist/{animation-BK-8BwY8.js → animation-CXKSuUoE.js} +0 -0
- /package/dist/{tslib.es6-ErZEp3OO.js → decorate-D_utPUsC.js} +0 -0
- /package/dist/{tslib.es6-D7BIeDVB.cjs → decorate-F9CuyeHg.cjs} +0 -0
- /package/dist/{flow-CUj0fDT_.js → flow-CqgDEIqK.js} +0 -0
- /package/dist/{flow-Bbwn6dRN.cjs → flow-DSu4PLt1.cjs} +0 -0
- /package/dist/{hashContent-DaeGmY-p.cjs → hashContent-kKvXKFa9.cjs} +0 -0
- /package/dist/{hashContent-DYM21p6t.js → hashContent-nD2uWwi2.js} +0 -0
- /package/dist/{intersection-CZpaIHeT.cjs → intersection-D1v1UCVv.cjs} +0 -0
- /package/dist/{intersection-BPLpqYEd.js → intersection-LfEsy29T.js} +0 -0
- /package/dist/{overlay-stack-DQey9Qph.cjs → overlay-stack-CEYGD9T1.cjs} +0 -0
- /package/dist/{overlay-stack-DT1SdaGW.js → overlay-stack-Ca4EK2Mu.js} +0 -0
- /package/dist/{reduced-motion-D-L12p7G.js → reduced-motion-B83yZbcO.js} +0 -0
- /package/dist/{reduced-motion-Ds05GPyz.cjs → reduced-motion-DR32yKEO.cjs} +0 -0
- /package/dist/{rxjs-utils-BSjmI9-Q.js → rxjs-utils-Bldch1RO.js} +0 -0
- /package/dist/{rxjs-utils-DCsfzeap.cjs → rxjs-utils-hAgKC7vk.cjs} +0 -0
- /package/dist/{search-C4dFHYbX.js → search-BlGJ6uJv.js} +0 -0
- /package/dist/{search-Ds8tt7Et.cjs → search-C8eAOzBm.cjs} +0 -0
- /package/{ai → dist/skills}/animation.md +0 -0
- /package/{ai → dist/skills}/area.md +0 -0
- /package/{ai → dist/skills}/audio.md +0 -0
- /package/{ai → dist/skills}/autocomplete.md +0 -0
- /package/{ai → dist/skills}/avatar.md +0 -0
- /package/{ai → dist/skills}/badge.md +0 -0
- /package/{ai → dist/skills}/boat.md +0 -0
- /package/{ai → dist/skills}/busy.md +0 -0
- /package/{ai → dist/skills}/button.md +0 -0
- /package/{ai → dist/skills}/card.md +0 -0
- /package/{ai → dist/skills}/charts.md +0 -0
- /package/{ai → dist/skills}/checkbox.md +0 -0
- /package/{ai → dist/skills}/chips.md +0 -0
- /package/{ai → dist/skills}/code-highlight.md +0 -0
- /package/{ai → dist/skills}/connectivity.md +0 -0
- /package/{ai → dist/skills}/content-drawer.md +0 -0
- /package/{ai → dist/skills}/date-range-inline.md +0 -0
- /package/{ai → dist/skills}/date-range.md +0 -0
- /package/{ai → dist/skills}/delay.md +0 -0
- /package/{ai → dist/skills}/details.md +0 -0
- /package/{ai → dist/skills}/dialog.md +0 -0
- /package/{ai → dist/skills}/directives.md +0 -0
- /package/{ai → dist/skills}/discovery.md +0 -0
- /package/{ai → dist/skills}/divider.md +0 -0
- /package/{ai → dist/skills}/dropdown.md +0 -0
- /package/{ai → dist/skills}/expand.md +0 -0
- /package/{ai → dist/skills}/extra.md +0 -0
- /package/{ai → dist/skills}/float.md +0 -0
- /package/{ai → dist/skills}/form.md +0 -0
- /package/{ai → dist/skills}/icons.md +0 -0
- /package/{ai → dist/skills}/iframe.md +0 -0
- /package/{ai → dist/skills}/input.md +0 -0
- /package/{ai → dist/skills}/json.md +0 -0
- /package/{ai → dist/skills}/layout.md +0 -0
- /package/{ai → dist/skills}/lightbox.md +0 -0
- /package/{ai → dist/skills}/list.md +0 -0
- /package/{ai → dist/skills}/mailbox.md +0 -0
- /package/{ai → dist/skills}/map.md +0 -0
- /package/{ai → dist/skills}/menu.md +0 -0
- /package/{ai → dist/skills}/mixins.md +0 -0
- /package/{ai → dist/skills}/nav-drawer.md +0 -0
- /package/{ai → dist/skills}/navigation-bar.md +0 -0
- /package/{ai → dist/skills}/navigation-rail.md +0 -0
- /package/{ai → dist/skills}/notification.md +0 -0
- /package/{ai → dist/skills}/option.md +0 -0
- /package/{ai → dist/skills}/page.md +0 -0
- /package/{ai → dist/skills}/progress.md +0 -0
- /package/{ai → dist/skills}/qr-scanner.md +0 -0
- /package/{ai → dist/skills}/radio-group.md +0 -0
- /package/{ai → dist/skills}/range.md +0 -0
- /package/{ai → dist/skills}/rxjs-utils.md +0 -0
- /package/dist/{ai → skills/schmancy}/animation.md +0 -0
- /package/dist/{ai → skills/schmancy}/area.md +0 -0
- /package/dist/{ai → skills/schmancy}/audio.md +0 -0
- /package/dist/{ai → skills/schmancy}/autocomplete.md +0 -0
- /package/dist/{ai → skills/schmancy}/avatar.md +0 -0
- /package/dist/{ai → skills/schmancy}/badge.md +0 -0
- /package/dist/{ai → skills/schmancy}/boat.md +0 -0
- /package/dist/{ai → skills/schmancy}/busy.md +0 -0
- /package/dist/{ai → skills/schmancy}/button.md +0 -0
- /package/dist/{ai → skills/schmancy}/card.md +0 -0
- /package/dist/{ai → skills/schmancy}/charts.md +0 -0
- /package/dist/{ai → skills/schmancy}/checkbox.md +0 -0
- /package/dist/{ai → skills/schmancy}/chips.md +0 -0
- /package/dist/{ai → skills/schmancy}/code-highlight.md +0 -0
- /package/dist/{ai → skills/schmancy}/connectivity.md +0 -0
- /package/dist/{ai → skills/schmancy}/content-drawer.md +0 -0
- /package/dist/{ai → skills/schmancy}/date-range-inline.md +0 -0
- /package/dist/{ai → skills/schmancy}/date-range.md +0 -0
- /package/dist/{ai → skills/schmancy}/delay.md +0 -0
- /package/dist/{ai → skills/schmancy}/details.md +0 -0
- /package/dist/{ai → skills/schmancy}/dialog.md +0 -0
- /package/dist/{ai → skills/schmancy}/directives.md +0 -0
- /package/dist/{ai → skills/schmancy}/discovery.md +0 -0
- /package/dist/{ai → skills/schmancy}/divider.md +0 -0
- /package/dist/{ai → skills/schmancy}/dropdown.md +0 -0
- /package/dist/{ai → skills/schmancy}/expand.md +0 -0
- /package/dist/{ai → skills/schmancy}/extra.md +0 -0
- /package/dist/{ai → skills/schmancy}/float.md +0 -0
- /package/dist/{ai → skills/schmancy}/form.md +0 -0
- /package/dist/{ai → skills/schmancy}/icons.md +0 -0
- /package/dist/{ai → skills/schmancy}/iframe.md +0 -0
- /package/dist/{ai → skills/schmancy}/input.md +0 -0
- /package/dist/{ai → skills/schmancy}/json.md +0 -0
- /package/dist/{ai → skills/schmancy}/layout.md +0 -0
- /package/dist/{ai → skills/schmancy}/lightbox.md +0 -0
- /package/dist/{ai → skills/schmancy}/list.md +0 -0
- /package/dist/{ai → skills/schmancy}/mailbox.md +0 -0
- /package/dist/{ai → skills/schmancy}/map.md +0 -0
- /package/dist/{ai → skills/schmancy}/menu.md +0 -0
- /package/dist/{ai → skills/schmancy}/mixins.md +0 -0
- /package/dist/{ai → skills/schmancy}/nav-drawer.md +0 -0
- /package/dist/{ai → skills/schmancy}/navigation-bar.md +0 -0
- /package/dist/{ai → skills/schmancy}/navigation-rail.md +0 -0
- /package/dist/{ai → skills/schmancy}/notification.md +0 -0
- /package/dist/{ai → skills/schmancy}/option.md +0 -0
- /package/dist/{ai → skills/schmancy}/page.md +0 -0
- /package/dist/{ai → skills/schmancy}/progress.md +0 -0
- /package/dist/{ai → skills/schmancy}/qr-scanner.md +0 -0
- /package/dist/{ai → skills/schmancy}/radio-group.md +0 -0
- /package/dist/{ai → skills/schmancy}/range.md +0 -0
- /package/dist/{ai → skills/schmancy}/rxjs-utils.md +0 -0
- /package/{ai → dist/skills/schmancy}/select.md +0 -0
- /package/{ai → dist/skills/schmancy}/sheet.md +0 -0
- /package/{ai → dist/skills/schmancy}/slider.md +0 -0
- /package/{ai → dist/skills/schmancy}/steps.md +0 -0
- /package/{ai → dist/skills/schmancy}/store.md +0 -0
- /package/{ai → dist/skills/schmancy}/surface.md +0 -0
- /package/{ai → dist/skills/schmancy}/table.md +0 -0
- /package/{ai → dist/skills/schmancy}/tabs.md +0 -0
- /package/{ai → dist/skills/schmancy}/teleport.md +0 -0
- /package/{ai → dist/skills/schmancy}/textarea.md +0 -0
- /package/{ai → dist/skills/schmancy}/theme-button.md +0 -0
- /package/{ai → dist/skills/schmancy}/theme.md +0 -0
- /package/{ai → dist/skills/schmancy}/tree.md +0 -0
- /package/{ai → dist/skills/schmancy}/typewriter.md +0 -0
- /package/{ai → dist/skills/schmancy}/typography.md +0 -0
- /package/{ai → dist/skills/schmancy}/utils.md +0 -0
- /package/{ai → dist/skills/schmancy}/window.md +0 -0
- /package/dist/{ai → skills}/select.md +0 -0
- /package/dist/{ai → skills}/sheet.md +0 -0
- /package/dist/{ai → skills}/slider.md +0 -0
- /package/dist/{ai → skills}/steps.md +0 -0
- /package/dist/{ai → skills}/store.md +0 -0
- /package/dist/{ai → skills}/surface.md +0 -0
- /package/dist/{ai → skills}/table.md +0 -0
- /package/dist/{ai → skills}/tabs.md +0 -0
- /package/dist/{ai → skills}/teleport.md +0 -0
- /package/dist/{ai → skills}/textarea.md +0 -0
- /package/dist/{ai → skills}/theme-button.md +0 -0
- /package/dist/{ai → skills}/theme.md +0 -0
- /package/dist/{ai → skills}/tree.md +0 -0
- /package/dist/{ai → skills}/typewriter.md +0 -0
- /package/dist/{ai → skills}/typography.md +0 -0
- /package/dist/{ai → skills}/utils.md +0 -0
- /package/dist/{ai → skills}/window.md +0 -0
- /package/dist/{store-DYqDLAvT.js → store-Bmj6rvZY.js} +0 -0
- /package/dist/{store-CorvD3bT.cjs → store-CO4nJyGj.cjs} +0 -0
- /package/dist/{theme.events-Cv7N4Toe.js → theme.events-Bw3mYjUA.js} +0 -0
- /package/dist/{theme.events-DM4H5F2d.cjs → theme.events-EznKK2Y0.cjs} +0 -0
- /package/dist/{theme.interface-Da23QAYb.cjs → theme.interface-CM26m9te.cjs} +0 -0
- /package/dist/{theme.interface-CXloMUCw.js → theme.interface-FAUIgbIq.js} +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# schmancy-nav-drawer
|
|
2
|
+
|
|
3
|
+
> Responsive navigation drawer that switches between push (desktop) and overlay (mobile) modes.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-nav-drawer breakpoint="md">
|
|
8
|
+
<schmancy-nav-drawer-navbar>
|
|
9
|
+
<!-- Navigation rail or sidebar content -->
|
|
10
|
+
</schmancy-nav-drawer-navbar>
|
|
11
|
+
<schmancy-nav-drawer-content>
|
|
12
|
+
<!-- Main content area -->
|
|
13
|
+
</schmancy-nav-drawer-content>
|
|
14
|
+
</schmancy-nav-drawer>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Properties (schmancy-nav-drawer)
|
|
18
|
+
| Property | Type | Default | Description |
|
|
19
|
+
|----------|------|---------|-------------|
|
|
20
|
+
| breakpoint | `'sm'\|'md'\|'lg'\|'xl'` | `'md'` | Responsive breakpoint for push/overlay switch |
|
|
21
|
+
| open | `'open'\|'close'` | auto | Drawer state |
|
|
22
|
+
| fullscreen | boolean | `false` | Fullscreen mode (hides sidebar) |
|
|
23
|
+
|
|
24
|
+
## Child Components
|
|
25
|
+
| Component | Description |
|
|
26
|
+
|-----------|-------------|
|
|
27
|
+
| `schmancy-nav-drawer-navbar` | Sidebar container (auto-hides in overlay mode) |
|
|
28
|
+
| `schmancy-nav-drawer-content` | Main content area (fills remaining space) |
|
|
29
|
+
|
|
30
|
+
## Behavior
|
|
31
|
+
- Above breakpoint: push mode (sidebar pushes content)
|
|
32
|
+
- Below breakpoint: overlay mode (sidebar overlays content)
|
|
33
|
+
- Toggle via `SchmancyEvents.NavDrawer_toggle` event
|
|
34
|
+
- Grid layout: `auto 1fr` columns
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
```html
|
|
38
|
+
<schmancy-nav-drawer breakpoint="lg">
|
|
39
|
+
<schmancy-nav-drawer-navbar>
|
|
40
|
+
<schmancy-navigation-rail activeIndex="0">
|
|
41
|
+
<schmancy-navigation-rail-item icon="home" label="Home">
|
|
42
|
+
</schmancy-navigation-rail-item>
|
|
43
|
+
</schmancy-navigation-rail>
|
|
44
|
+
</schmancy-nav-drawer-navbar>
|
|
45
|
+
<schmancy-nav-drawer-content>
|
|
46
|
+
<schmancy-area name="main" default="home-page">
|
|
47
|
+
<schmancy-route when="home-page" .component=${lazy(() => import('./home'))}>
|
|
48
|
+
</schmancy-route>
|
|
49
|
+
</schmancy-area>
|
|
50
|
+
</schmancy-nav-drawer-content>
|
|
51
|
+
</schmancy-nav-drawer>
|
|
52
|
+
```
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# schmancy-navigation-bar
|
|
2
|
+
|
|
3
|
+
> Horizontal bottom navigation bar for mobile with 3-7 destinations, auto-hide on scroll, and fullscreen support.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-navigation-bar activeIndex="0" class="fixed bottom-0 left-0 right-0">
|
|
8
|
+
<schmancy-navigation-bar-item icon="home" label="Home"></schmancy-navigation-bar-item>
|
|
9
|
+
<schmancy-navigation-bar-item icon="search" label="Search"></schmancy-navigation-bar-item>
|
|
10
|
+
<schmancy-navigation-bar-item icon="settings" label="Settings"></schmancy-navigation-bar-item>
|
|
11
|
+
</schmancy-navigation-bar>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Properties (schmancy-navigation-bar)
|
|
15
|
+
| Property | Type | Default | Description |
|
|
16
|
+
|----------|------|---------|-------------|
|
|
17
|
+
| activeIndex | number | `-1` | Currently active item index |
|
|
18
|
+
| hideLabels | boolean | `false` | Hide labels, show only icons |
|
|
19
|
+
| elevation | number (0-5) | `2` | Shadow elevation |
|
|
20
|
+
| hideOnScroll | boolean | `false` | Auto-hide on scroll down |
|
|
21
|
+
|
|
22
|
+
## Properties (schmancy-navigation-bar-item)
|
|
23
|
+
| Property | Type | Default | Description |
|
|
24
|
+
|----------|------|---------|-------------|
|
|
25
|
+
| icon | string | `''` | Material Symbols icon name |
|
|
26
|
+
| label | string | `''` | Item label text |
|
|
27
|
+
| badge | string | `''` | Badge content (number or text) |
|
|
28
|
+
| active | boolean | `false` | Whether this item is active |
|
|
29
|
+
| disabled | boolean | `false` | Whether this item is disabled |
|
|
30
|
+
| hideLabels | boolean | `false` | Whether to hide the label |
|
|
31
|
+
|
|
32
|
+
## Events
|
|
33
|
+
| Event | Detail | Description |
|
|
34
|
+
|-------|--------|-------------|
|
|
35
|
+
| navigation-change | `{ oldIndex, newIndex, item }` | When active item changes |
|
|
36
|
+
|
|
37
|
+
## Examples
|
|
38
|
+
```html
|
|
39
|
+
<!-- With badges and scroll-hide -->
|
|
40
|
+
<schmancy-navigation-bar activeIndex="0" hideOnScroll>
|
|
41
|
+
<schmancy-navigation-bar-item icon="inbox" label="Inbox" badge="5">
|
|
42
|
+
</schmancy-navigation-bar-item>
|
|
43
|
+
<schmancy-navigation-bar-item icon="favorite" label="Favorites">
|
|
44
|
+
</schmancy-navigation-bar-item>
|
|
45
|
+
</schmancy-navigation-bar>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Automatically hides in fullscreen mode. Consumer must position the bar (e.g., `class="fixed bottom-0 left-0 right-0"`).
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# schmancy-navigation-rail
|
|
2
|
+
|
|
3
|
+
> Vertical navigation rail for desktop with 3-7 destinations, expand/collapse, and badge support.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-navigation-rail activeIndex="0">
|
|
8
|
+
<schmancy-navigation-rail-item icon="home" label="Home"></schmancy-navigation-rail-item>
|
|
9
|
+
<schmancy-navigation-rail-item icon="search" label="Search"></schmancy-navigation-rail-item>
|
|
10
|
+
<schmancy-navigation-rail-item icon="settings" label="Settings"></schmancy-navigation-rail-item>
|
|
11
|
+
</schmancy-navigation-rail>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Properties (schmancy-navigation-rail)
|
|
15
|
+
| Property | Type | Default | Description |
|
|
16
|
+
|----------|------|---------|-------------|
|
|
17
|
+
| activeIndex | number | `-1` | Currently active item index |
|
|
18
|
+
| activeValue | string | `''` | Active item by value string |
|
|
19
|
+
| labelVisibility | `'all'\|'selected'\|'none'` | `'all'` | When to show labels |
|
|
20
|
+
| alignment | `'top'\|'center'\|'bottom'` | `'top'` | Item vertical alignment |
|
|
21
|
+
| expanded | boolean | `false` | Expanded width (240px vs 80px) |
|
|
22
|
+
| keyboardNavigation | boolean | `true` | Enable arrow key navigation |
|
|
23
|
+
|
|
24
|
+
## Slots
|
|
25
|
+
| Slot | Description |
|
|
26
|
+
|------|-------------|
|
|
27
|
+
| fab | Floating action button at top |
|
|
28
|
+
| menu | Menu button below FAB |
|
|
29
|
+
| header | Custom header content |
|
|
30
|
+
| footer | Custom footer content |
|
|
31
|
+
| default | Navigation rail items |
|
|
32
|
+
|
|
33
|
+
## Properties (schmancy-navigation-rail-item)
|
|
34
|
+
| Property | Type | Default | Description |
|
|
35
|
+
|----------|------|---------|-------------|
|
|
36
|
+
| icon | string | `''` | Material Symbols icon name |
|
|
37
|
+
| label | string | `''` | Item label text |
|
|
38
|
+
| value | string | `''` | Value for routing |
|
|
39
|
+
| active | boolean | `false` | Whether active |
|
|
40
|
+
| badge | string | `''` | Badge text |
|
|
41
|
+
| badgeVariant | `'error'\|'primary'\|'secondary'` | `'error'` | Badge color |
|
|
42
|
+
| disabled | boolean | `false` | Whether disabled |
|
|
43
|
+
|
|
44
|
+
## Events
|
|
45
|
+
| Event | Detail | Description |
|
|
46
|
+
|-------|--------|-------------|
|
|
47
|
+
| navigate | string | Item value when clicked |
|
|
48
|
+
|
|
49
|
+
## Examples
|
|
50
|
+
```html
|
|
51
|
+
<schmancy-navigation-rail activeIndex="0" alignment="top">
|
|
52
|
+
<schmancy-button slot="fab" variant="filled">
|
|
53
|
+
<schmancy-icon>add</schmancy-icon>
|
|
54
|
+
</schmancy-button>
|
|
55
|
+
<schmancy-navigation-rail-item icon="dashboard" label="Dashboard" value="dash">
|
|
56
|
+
</schmancy-navigation-rail-item>
|
|
57
|
+
<schmancy-navigation-rail-item icon="people" label="Users" value="users" badge="3">
|
|
58
|
+
</schmancy-navigation-rail-item>
|
|
59
|
+
</schmancy-navigation-rail>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Automatically hides in fullscreen mode. Width is 80px collapsed, 240px expanded.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# $notify
|
|
2
|
+
|
|
3
|
+
> Notification service with type-colored luminous glow, progress bar countdown, and arc-path entry animation.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```typescript
|
|
7
|
+
import { $notify } from '@mhmo91/schmancy'
|
|
8
|
+
|
|
9
|
+
$notify.success('Item saved')
|
|
10
|
+
$notify.error('Failed to connect')
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## $notify API
|
|
14
|
+
| Method | Returns | Description |
|
|
15
|
+
|--------|---------|-------------|
|
|
16
|
+
| `success(message?, options?)` | `string` (id) | Green glow, 1.5s duration |
|
|
17
|
+
| `error(message?, options?)` | `string` (id) | Red glow, 2.5s duration |
|
|
18
|
+
| `warning(message?, options?)` | `string` (id) | Orange glow, 2.5s duration |
|
|
19
|
+
| `info(message?, options?)` | `string` (id) | Blue glow, 2s duration |
|
|
20
|
+
| `show(options)` | `string` (id) | Full options control |
|
|
21
|
+
| `persistent(message, options?)` | `string` (id) | No auto-dismiss (duration: 0) |
|
|
22
|
+
| `customDuration(msg, ms, options?)` | `string` (id) | Custom duration in ms |
|
|
23
|
+
| `dismiss(id?)` | `void` | Dismiss by id or most recent |
|
|
24
|
+
| `update(id, options)` | `void` | Update existing notification content |
|
|
25
|
+
|
|
26
|
+
## Options
|
|
27
|
+
| Option | Type | Default | Description |
|
|
28
|
+
|--------|------|---------|-------------|
|
|
29
|
+
| `message` | `string` | required | Notification body text |
|
|
30
|
+
| `title` | `string` | `undefined` | Optional title line |
|
|
31
|
+
| `type` | `'info' \| 'success' \| 'warning' \| 'error'` | `'info'` | Notification type |
|
|
32
|
+
| `duration` | `number` | Type-specific | Auto-dismiss ms (0 = persistent) |
|
|
33
|
+
| `closable` | `boolean` | `true` | Show close button |
|
|
34
|
+
| `playSound` | `boolean` | `true` | Play type-specific sound |
|
|
35
|
+
| `showProgress` | `boolean` | `false` | Show indeterminate progress bar |
|
|
36
|
+
|
|
37
|
+
## Physics
|
|
38
|
+
- Type-colored luminous glow shadow (18% intensity, 28% on hover)
|
|
39
|
+
- Arc-path entry animation from last click position to top-right corner
|
|
40
|
+
- Hover: glow intensifies + `translateY(-2px)` lift
|
|
41
|
+
- Progress bar shows countdown timer; pauses on hover
|
|
42
|
+
- Only one notification visible at a time (replaces previous)
|
|
43
|
+
|
|
44
|
+
## Examples
|
|
45
|
+
```typescript
|
|
46
|
+
// Success with title
|
|
47
|
+
$notify.success('Changes saved', { title: 'Success' })
|
|
48
|
+
|
|
49
|
+
// Persistent loading indicator
|
|
50
|
+
const id = $notify.persistent('Processing...', { showProgress: true })
|
|
51
|
+
// Later: dismiss it
|
|
52
|
+
$notify.dismiss(id)
|
|
53
|
+
|
|
54
|
+
// Error with longer duration
|
|
55
|
+
$notify.error('Connection lost', { duration: 5000 })
|
|
56
|
+
|
|
57
|
+
// Update existing notification
|
|
58
|
+
const nid = $notify.info('Uploading...')
|
|
59
|
+
$notify.update(nid, { message: 'Upload complete', type: 'success' })
|
|
60
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# schmancy-option
|
|
2
|
+
|
|
3
|
+
> Selectable item for `schmancy-select`, `schmancy-autocomplete`, and `schmancy-menu`. Lightweight and a11y-ready.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-select label="Country">
|
|
8
|
+
<schmancy-option value="us">United States</schmancy-option>
|
|
9
|
+
<schmancy-option value="de">Germany</schmancy-option>
|
|
10
|
+
<schmancy-option value="jp" disabled>Japan</schmancy-option>
|
|
11
|
+
</schmancy-select>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Properties
|
|
15
|
+
| Property | Type | Default | Description |
|
|
16
|
+
|----------|------|---------|-------------|
|
|
17
|
+
| `value` | string | `''` | Value reported when this option is selected |
|
|
18
|
+
| `label` | string | auto | Display label (falls back to text content) |
|
|
19
|
+
| `selected` | boolean | `false` | Reflects selected state |
|
|
20
|
+
| `disabled` | boolean | `false` | Disables interaction |
|
|
21
|
+
| `group` | string | `''` | Grouping identifier for grouped lists |
|
|
22
|
+
| `icon` | string | `''` | Material icon name before the label |
|
|
23
|
+
|
|
24
|
+
## Events
|
|
25
|
+
| Event | Payload | When |
|
|
26
|
+
|-------|---------|------|
|
|
27
|
+
| `click` | — | Standard click event |
|
|
28
|
+
| `option-select` | `CustomEvent<{ value, label }>` | Dispatched on activation |
|
|
29
|
+
|
|
30
|
+
## Behavior
|
|
31
|
+
- Auto-generates `id` for ARIA wiring if not set.
|
|
32
|
+
- Infers `label` from text content when omitted.
|
|
33
|
+
- Keyboard focusable with a visible focus ring via `:focus-visible`.
|
|
34
|
+
- Parent select/autocomplete coordinates selection state via slot query.
|
|
35
|
+
|
|
36
|
+
## Example — grouped options
|
|
37
|
+
```html
|
|
38
|
+
<schmancy-select label="Framework">
|
|
39
|
+
<schmancy-option value="lit" group="web" icon="bolt">Lit</schmancy-option>
|
|
40
|
+
<schmancy-option value="react" group="web">React</schmancy-option>
|
|
41
|
+
<schmancy-option value="swift" group="mobile">Swift</schmancy-option>
|
|
42
|
+
</schmancy-select>
|
|
43
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# schmancy-page
|
|
2
|
+
|
|
3
|
+
> Native mobile-like page container. Fills remaining viewport height, prevents rubber-banding, pull-to-refresh, and double-tap zoom.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-page rows="auto_1fr_auto">
|
|
8
|
+
<header>App bar</header>
|
|
9
|
+
<main>Scrollable content</main>
|
|
10
|
+
<footer>Bottom nav</footer>
|
|
11
|
+
</schmancy-page>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Properties
|
|
15
|
+
| Property | Type | Default | Description |
|
|
16
|
+
|----------|------|---------|-------------|
|
|
17
|
+
| `rows` | string | `'auto_1fr_auto'` | Grid template rows — underscores become spaces (e.g. `'1fr_2fr_auto'`) |
|
|
18
|
+
| `show-scrollbar` | boolean | `false` | Display scrollbar on scrollable area |
|
|
19
|
+
| `no-select` | boolean | `false` | Disable text selection |
|
|
20
|
+
|
|
21
|
+
## Behavior
|
|
22
|
+
- Listens to `visualViewport` resize/scroll + `orientationchange` + keyboard focus events to recompute height.
|
|
23
|
+
- Accounts for theme bottom offset (iOS safe area, home indicator).
|
|
24
|
+
- Auto-assigns semantic elements (`header`, `main`, `footer`) to slots.
|
|
25
|
+
- Inner scroll area uses `schmancy-scroll` for momentum-preserving scroll.
|
|
26
|
+
|
|
27
|
+
## When to Use
|
|
28
|
+
- Root of a mobile view or panel that should feel like a native page.
|
|
29
|
+
- Any container where viewport-aware height + scroll containment matters.
|
|
30
|
+
|
|
31
|
+
## Example — 3-row app shell
|
|
32
|
+
```html
|
|
33
|
+
<schmancy-page rows="auto_1fr_auto">
|
|
34
|
+
<schmancy-surface type="solid" rounded="none">
|
|
35
|
+
<schmancy-typography type="title">My App</schmancy-typography>
|
|
36
|
+
</schmancy-surface>
|
|
37
|
+
|
|
38
|
+
<div class="p-4">…scrollable content…</div>
|
|
39
|
+
|
|
40
|
+
<schmancy-navigation-bar></schmancy-navigation-bar>
|
|
41
|
+
</schmancy-page>
|
|
42
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# schmancy-progress
|
|
2
|
+
|
|
3
|
+
> Linear progress bar with determinate and indeterminate modes, color variants, and glass effect.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-progress value="60" max="100"></schmancy-progress>
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
| Property | Type | Default | Description |
|
|
12
|
+
|----------|------|---------|-------------|
|
|
13
|
+
| value | number | `0` | Current progress value |
|
|
14
|
+
| max | number | `100` | Maximum value |
|
|
15
|
+
| indeterminate | boolean | `false` | Show indeterminate animation |
|
|
16
|
+
| size | `'xs'\|'sm'\|'md'\|'lg'` | `'md'` | Track height (1px, 2px, 4px, 8px) |
|
|
17
|
+
| color | `'primary'\|'secondary'\|'tertiary'\|'error'\|'success'` | `'primary'` | Bar color |
|
|
18
|
+
| glass | boolean | `false` | Glass/frosted effect |
|
|
19
|
+
|
|
20
|
+
## Examples
|
|
21
|
+
```html
|
|
22
|
+
<!-- Indeterminate loading -->
|
|
23
|
+
<schmancy-progress indeterminate color="secondary"></schmancy-progress>
|
|
24
|
+
|
|
25
|
+
<!-- Glass effect progress -->
|
|
26
|
+
<schmancy-progress value="75" glass size="lg" color="success"></schmancy-progress>
|
|
27
|
+
|
|
28
|
+
<!-- Thin track -->
|
|
29
|
+
<schmancy-progress value="30" size="xs"></schmancy-progress>
|
|
30
|
+
```
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# schmancy-qr-scanner
|
|
2
|
+
|
|
3
|
+
> Camera-based QR code scanner using `jsQR`. Requests rear-camera access, decodes frames in real time, deduplicates reads.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-qr-scanner
|
|
8
|
+
continuous
|
|
9
|
+
@scan-result=${e => this.handleScan(e.detail.data)}
|
|
10
|
+
></schmancy-qr-scanner>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
handleScan(data: string) {
|
|
15
|
+
console.log('QR decoded:', data)
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Properties
|
|
20
|
+
| Property | Type | Default | Description |
|
|
21
|
+
|----------|------|---------|-------------|
|
|
22
|
+
| `continuous` | boolean | `true` | Keep scanning after a successful read (dedupe repeated reads) |
|
|
23
|
+
|
|
24
|
+
## Events
|
|
25
|
+
| Event | Detail | When |
|
|
26
|
+
|-------|--------|------|
|
|
27
|
+
| `scan-result` | `{ data: string, timestamp: number }` | QR code successfully decoded |
|
|
28
|
+
|
|
29
|
+
## Behavior
|
|
30
|
+
- Requests `getUserMedia` with `facingMode: 'environment'` (rear camera) at 1280×720.
|
|
31
|
+
- Decodes via `jsQR` on `animationFrames` stream with `throttleTime` to avoid CPU thrashing.
|
|
32
|
+
- `distinctUntilChanged` prevents duplicate emissions for the same code.
|
|
33
|
+
- Brief success flash on each valid read.
|
|
34
|
+
- Stops camera + tears down subscriptions on disconnect.
|
|
35
|
+
- Displays an error state if camera permission is denied.
|
|
36
|
+
|
|
37
|
+
## Requires
|
|
38
|
+
- HTTPS (or `localhost`) for camera access.
|
|
39
|
+
- User permission to the camera.
|
|
40
|
+
|
|
41
|
+
## Example
|
|
42
|
+
```html
|
|
43
|
+
<schmancy-surface type="glass" rounded="all">
|
|
44
|
+
<schmancy-qr-scanner
|
|
45
|
+
@scan-result=${(e: CustomEvent<{ data: string }>) => {
|
|
46
|
+
$notify.success(`Scanned: ${e.detail.data}`)
|
|
47
|
+
this.scannedCode = e.detail.data
|
|
48
|
+
}}
|
|
49
|
+
></schmancy-qr-scanner>
|
|
50
|
+
</schmancy-surface>
|
|
51
|
+
```
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# schmancy-radio-group
|
|
2
|
+
|
|
3
|
+
> Radio button group with options array or slotted radio buttons.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<!-- With options array -->
|
|
8
|
+
<schmancy-radio-group label="Size" name="size"
|
|
9
|
+
.options=${[{label: 'Small', value: 's'}, {label: 'Large', value: 'l'}]}
|
|
10
|
+
@change=${(e) => handle(e.detail.value)}>
|
|
11
|
+
</schmancy-radio-group>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Properties (schmancy-radio-group)
|
|
15
|
+
| Property | Type | Default | Description |
|
|
16
|
+
|----------|------|---------|-------------|
|
|
17
|
+
| value | string | `''` | Currently selected value |
|
|
18
|
+
| label | string | `''` | Group label |
|
|
19
|
+
| name | string | `''` | Form submission name |
|
|
20
|
+
| options | `{label: string, value: string}[]` | `[]` | Radio options |
|
|
21
|
+
| required | boolean | `false` | Whether selection is required |
|
|
22
|
+
|
|
23
|
+
## Events
|
|
24
|
+
| Event | Detail | Description |
|
|
25
|
+
|-------|--------|-------------|
|
|
26
|
+
| change | `{ value: string }` | When selection changes |
|
|
27
|
+
|
|
28
|
+
## Properties (schmancy-radio-button)
|
|
29
|
+
| Property | Type | Default | Description |
|
|
30
|
+
|----------|------|---------|-------------|
|
|
31
|
+
| value | string | `''` | Button value |
|
|
32
|
+
| checked | boolean | `false` | Whether selected |
|
|
33
|
+
| disabled | boolean | `false` | Whether disabled |
|
|
34
|
+
| name | string | `''` | Group name |
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
```html
|
|
38
|
+
<!-- With slotted radio buttons -->
|
|
39
|
+
<schmancy-radio-group label="Priority" name="priority" value="medium">
|
|
40
|
+
<schmancy-radio-button value="low">
|
|
41
|
+
<span slot="label">Low</span>
|
|
42
|
+
</schmancy-radio-button>
|
|
43
|
+
<schmancy-radio-button value="medium">
|
|
44
|
+
<span slot="label">Medium</span>
|
|
45
|
+
</schmancy-radio-button>
|
|
46
|
+
<schmancy-radio-button value="high">
|
|
47
|
+
<span slot="label">High</span>
|
|
48
|
+
</schmancy-radio-button>
|
|
49
|
+
</schmancy-radio-group>
|
|
50
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# schmancy-range
|
|
2
|
+
|
|
3
|
+
> Numeric slider input with theme-driven track gradient and focus halo.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-range
|
|
8
|
+
label="Volume"
|
|
9
|
+
min="0"
|
|
10
|
+
max="100"
|
|
11
|
+
step="1"
|
|
12
|
+
.value=${50}
|
|
13
|
+
@change=${e => this.volume = e.detail.value}
|
|
14
|
+
></schmancy-range>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Properties
|
|
18
|
+
| Property | Type | Default | Description |
|
|
19
|
+
|----------|------|---------|-------------|
|
|
20
|
+
| `min` | number | `0` | Minimum value |
|
|
21
|
+
| `max` | number | `1` | Maximum value |
|
|
22
|
+
| `step` | number | `0.01` | Increment per tick |
|
|
23
|
+
| `value` | number | `0` | Current value |
|
|
24
|
+
| `label` | string | — | Optional label (current value displays on the right) |
|
|
25
|
+
| `disabled` | boolean | `false` | Disabled state (38% opacity) |
|
|
26
|
+
|
|
27
|
+
## Events
|
|
28
|
+
| Event | Payload | When |
|
|
29
|
+
|-------|---------|------|
|
|
30
|
+
| `change` | `{ value: number }` | On input change |
|
|
31
|
+
|
|
32
|
+
## Visual
|
|
33
|
+
- Primary-colored track gradient (filled portion = primary, empty = 30% primary).
|
|
34
|
+
- Circular thumb with hover halo (8px primary glow at 12% opacity).
|
|
35
|
+
- Disabled state: 38% opacity, not-allowed cursor.
|
|
36
|
+
|
|
37
|
+
## Example — precise float control
|
|
38
|
+
```html
|
|
39
|
+
<schmancy-range
|
|
40
|
+
label="Mass"
|
|
41
|
+
min="0.5"
|
|
42
|
+
max="2.0"
|
|
43
|
+
step="0.05"
|
|
44
|
+
.value=${this.mass}
|
|
45
|
+
@change=${(e: CustomEvent<{ value: number }>) => this.mass = e.detail.value}
|
|
46
|
+
></schmancy-range>
|
|
47
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Schmancy RxJS Utils
|
|
2
|
+
|
|
3
|
+
> RxJS-wrapped DOM observation helpers. Use when you need to react to elements appearing, disappearing, or changing across the document.
|
|
4
|
+
|
|
5
|
+
## Imports
|
|
6
|
+
```typescript
|
|
7
|
+
import {
|
|
8
|
+
mutationObserver,
|
|
9
|
+
waitForElement,
|
|
10
|
+
waitForElementAll,
|
|
11
|
+
waitForElements,
|
|
12
|
+
waitForElementsAll,
|
|
13
|
+
waitUntil,
|
|
14
|
+
} from '@mhmo91/schmancy'
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## `mutationObserver(target, options?)`
|
|
18
|
+
RxJS wrapper around `MutationObserver`.
|
|
19
|
+
```typescript
|
|
20
|
+
mutationObserver(document.body, { childList: true, subtree: true })
|
|
21
|
+
.pipe(takeUntil(this.disconnecting))
|
|
22
|
+
.subscribe(mutations => { /* react */ })
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## `waitForElement(selector, timeout = 5000)`
|
|
26
|
+
Emits the first matching element once it exists in the DOM. Throws on timeout. Pass `undefined` to wait forever.
|
|
27
|
+
```typescript
|
|
28
|
+
waitForElement('#auth-banner').subscribe(el => el.focus())
|
|
29
|
+
waitForElement('.lazy-panel', 10000).subscribe(el => el.click())
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## `waitForElementAll(selector, timeout?)`
|
|
33
|
+
Emits whenever the matching set changes (all current matches).
|
|
34
|
+
```typescript
|
|
35
|
+
waitForElementAll('.live-tile').subscribe(tiles => {
|
|
36
|
+
tiles.forEach(t => observe(t))
|
|
37
|
+
})
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## `waitForElements([sel1, sel2, ...], timeout?)` / `waitForElementsAll`
|
|
41
|
+
Multi-selector variants — resolve once *any*/`every` selector is present.
|
|
42
|
+
|
|
43
|
+
## `waitUntil([selectors], timeout = 5000)`
|
|
44
|
+
Emits once when **all** selectors have matches. Throws on timeout.
|
|
45
|
+
```typescript
|
|
46
|
+
waitUntil(['header', 'main', 'footer'])
|
|
47
|
+
.subscribe(() => console.log('Page shell ready'))
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## How It Works
|
|
51
|
+
All helpers share `mutationObserver(document.body)` with `childList: true, subtree: true` and `.startWith(document.body)` so they check once immediately and re-check on every DOM mutation.
|
|
52
|
+
|
|
53
|
+
## When to Use
|
|
54
|
+
- Integrating third-party scripts that inject DOM late.
|
|
55
|
+
- Coordinating with slot-projected children that may mount asynchronously.
|
|
56
|
+
- Awaiting app-shell elements before attaching shortcuts.
|
|
57
|
+
|
|
58
|
+
## When NOT to Use
|
|
59
|
+
- Inside your own component — use `firstUpdated()` or `queryAssignedElements`.
|
|
60
|
+
- For cross-shadow discovery — use [discovery](./discovery.md) instead.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# schmancy-select
|
|
2
|
+
|
|
3
|
+
> Dropdown select with single and multi-select support, keyboard navigation, and form association.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-select label="Country" placeholder="Choose..." required>
|
|
8
|
+
<schmancy-option value="us" label="United States"></schmancy-option>
|
|
9
|
+
<schmancy-option value="de" label="Germany"></schmancy-option>
|
|
10
|
+
</schmancy-select>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Properties
|
|
14
|
+
| Property | Type | Default | Description |
|
|
15
|
+
|----------|------|---------|-------------|
|
|
16
|
+
| value | string \| string[] | `''` | Selected value(s) |
|
|
17
|
+
| values | string[] | `[]` | Selected values (multi-select) |
|
|
18
|
+
| label | string | `''` | Label text |
|
|
19
|
+
| placeholder | string | `''` | Placeholder when no selection |
|
|
20
|
+
| name | string | `undefined` | Form submission name |
|
|
21
|
+
| required | boolean | `false` | Whether selection is required |
|
|
22
|
+
| disabled | boolean | `false` | Whether the select is disabled |
|
|
23
|
+
| multi | boolean | `false` | Enable multi-select mode |
|
|
24
|
+
| hint | string | `''` | Hint text below the select |
|
|
25
|
+
| size | `'xxs'\|'xs'\|'sm'\|'md'\|'lg'` | `'md'` | Input height |
|
|
26
|
+
| validateOn | `'always'\|'touched'\|'dirty'\|'submitted'` | `'touched'` | When to show validation |
|
|
27
|
+
|
|
28
|
+
## Events
|
|
29
|
+
| Event | Detail | Description |
|
|
30
|
+
|-------|--------|-------------|
|
|
31
|
+
| change | `{ value: string \| string[] }` | When selection changes |
|
|
32
|
+
|
|
33
|
+
## Examples
|
|
34
|
+
```html
|
|
35
|
+
<!-- Multi-select -->
|
|
36
|
+
<schmancy-select label="Tags" multi placeholder="Select tags...">
|
|
37
|
+
<schmancy-option value="urgent" label="Urgent"></schmancy-option>
|
|
38
|
+
<schmancy-option value="review" label="Review"></schmancy-option>
|
|
39
|
+
<schmancy-option value="done" label="Done"></schmancy-option>
|
|
40
|
+
</schmancy-select>
|
|
41
|
+
|
|
42
|
+
<!-- Compact size -->
|
|
43
|
+
<schmancy-select size="xs" placeholder="Status">
|
|
44
|
+
<schmancy-option value="active" label="Active"></schmancy-option>
|
|
45
|
+
<schmancy-option value="inactive" label="Inactive"></schmancy-option>
|
|
46
|
+
</schmancy-select>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Children must be `<schmancy-option>` elements with `value` and `label` attributes.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# schmancy-sheet / sheet
|
|
2
|
+
|
|
3
|
+
> Side/bottom panel with glass backdrop, luminous edge glow, and spring entry animation. Use `sheet` service for imperative usage.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```typescript
|
|
7
|
+
import { sheet } from '@mhmo91/schmancy'
|
|
8
|
+
|
|
9
|
+
sheet.push({
|
|
10
|
+
component: MyComponent, // Component class or tag name
|
|
11
|
+
position: SchmancySheetPosition.Side,
|
|
12
|
+
props: { itemId: '123' }, // Passed to component
|
|
13
|
+
})
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## sheet API
|
|
17
|
+
| Method | Description |
|
|
18
|
+
|--------|-------------|
|
|
19
|
+
| `push(config)` | Open a sheet with component content |
|
|
20
|
+
| `dismiss(uid?)` | Close sheet by uid, or most recent |
|
|
21
|
+
| `closeAll()` | Close all open sheets |
|
|
22
|
+
| `isOpen(uid)` | Check if sheet with uid is open |
|
|
23
|
+
|
|
24
|
+
## SheetConfig
|
|
25
|
+
| Option | Type | Default | Description |
|
|
26
|
+
|--------|------|---------|-------------|
|
|
27
|
+
| `component` | `ComponentType` | required | Component class or lazy loader |
|
|
28
|
+
| `uid` | `string` | Auto-generated | Unique identifier for the sheet |
|
|
29
|
+
| `position` | `SchmancySheetPosition` | Auto (side on desktop, bottom on mobile) | `Side` or `Bottom` |
|
|
30
|
+
| `persist` | `boolean` | `false` | Keep DOM after close |
|
|
31
|
+
| `lock` | `boolean` | `false` | Prevent ESC and overlay click dismiss |
|
|
32
|
+
| `props` | `Record<string, unknown>` | `undefined` | Properties passed to component |
|
|
33
|
+
| `close` | `() => void` | `undefined` | Close callback |
|
|
34
|
+
|
|
35
|
+
## Component Properties (schmancy-sheet)
|
|
36
|
+
| Property | Type | Default | Description |
|
|
37
|
+
|----------|------|---------|-------------|
|
|
38
|
+
| `open` | `boolean` | `false` | Open state |
|
|
39
|
+
| `position` | `'side' \| 'bottom'` | `'side'` | Panel position |
|
|
40
|
+
| `persist` | `boolean` | `false` | Keep in DOM after close |
|
|
41
|
+
| `lock` | `boolean` | `false` | Disable dismiss via ESC/overlay |
|
|
42
|
+
| `handleHistory` | `boolean` | `true` | Handle browser back button |
|
|
43
|
+
|
|
44
|
+
## Events
|
|
45
|
+
| Event | Description |
|
|
46
|
+
|-------|-------------|
|
|
47
|
+
| `close` | Fired when sheet closes |
|
|
48
|
+
|
|
49
|
+
## Physics
|
|
50
|
+
- Glass backdrop: `backdrop-blur-lg` + `backdrop-saturate-150`
|
|
51
|
+
- Luminous edge glow on panel (primary color, 15% intensity)
|
|
52
|
+
- Spring entry: `scale(0.95)` to `scale(1)` with Blackbird easing
|
|
53
|
+
- Side: slides from right; Bottom: slides from bottom
|
|
54
|
+
- Background siblings set to `inert` while open
|
|
55
|
+
- Stacks with dialogs via shared `overlayStack` z-index manager
|
|
56
|
+
|
|
57
|
+
## Examples
|
|
58
|
+
```typescript
|
|
59
|
+
import { sheet, SchmancySheetPosition } from '@mhmo91/schmancy'
|
|
60
|
+
|
|
61
|
+
// Open side sheet
|
|
62
|
+
sheet.push({
|
|
63
|
+
component: UserEditor,
|
|
64
|
+
props: { userId: '456' },
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
// Locked bottom sheet
|
|
68
|
+
sheet.push({
|
|
69
|
+
component: PaymentForm,
|
|
70
|
+
position: SchmancySheetPosition.Bottom,
|
|
71
|
+
lock: true,
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
// Dismiss programmatically
|
|
75
|
+
sheet.dismiss()
|
|
76
|
+
```
|