@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,93 @@
|
|
|
1
|
+
# Schmancy Charts
|
|
2
|
+
|
|
3
|
+
> Canvas-rendered area chart and horizontal pill chart. Theme-aware, lazy-animated, with auto peak highlighting.
|
|
4
|
+
|
|
5
|
+
## schmancy-area-chart
|
|
6
|
+
|
|
7
|
+
> Smooth Catmull-Rom spline area chart with peak markers and hover tooltips.
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<schmancy-area-chart
|
|
11
|
+
.data=${[
|
|
12
|
+
{ label: '9 AM', value: 12.4 },
|
|
13
|
+
{ label: '10 AM', value: 18.9 },
|
|
14
|
+
{ label: '11 AM', value: 42.1, metadata: { users: 320 } },
|
|
15
|
+
{ label: '12 PM', value: 56.7 },
|
|
16
|
+
]}
|
|
17
|
+
value-prefix="EUR "
|
|
18
|
+
value-decimals="2"
|
|
19
|
+
peak-count="2"
|
|
20
|
+
height="240"
|
|
21
|
+
></schmancy-area-chart>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Properties
|
|
25
|
+
| Property | Type | Default | Description |
|
|
26
|
+
|----------|------|---------|-------------|
|
|
27
|
+
| `data` | `ChartDataPoint[]` | `[]` | `{ label, value, metadata? }[]` |
|
|
28
|
+
| `height` | number | `200` | Chart height in px |
|
|
29
|
+
| `showGrid` | boolean | `true` | Background grid lines |
|
|
30
|
+
| `showLabels` | boolean | `true` | X-axis labels |
|
|
31
|
+
| `showTooltip` | boolean | `true` | Hover tooltip |
|
|
32
|
+
| `peakCount` | number | `3` | Top-N points highlighted larger |
|
|
33
|
+
| `animationDuration` | number | `800` | Entrance animation ms |
|
|
34
|
+
| `animated` | boolean | `true` | Animate on first visible |
|
|
35
|
+
| `valuePrefix` | string | `''` | Display prefix (e.g. `"EUR "`) |
|
|
36
|
+
| `valueSuffix` | string | `''` | Display suffix (e.g. `"%"`) |
|
|
37
|
+
| `valueDecimals` | number | `2` | Decimal places |
|
|
38
|
+
| `theme` | `Partial<ChartTheme>` | `{}` | Override colors, stroke, radii |
|
|
39
|
+
|
|
40
|
+
### ChartTheme
|
|
41
|
+
| Key | Default | Description |
|
|
42
|
+
|-----|---------|-------------|
|
|
43
|
+
| `primaryColor` | `--schmancy-sys-color-primary` | Line + fill gradient color |
|
|
44
|
+
| `gradientOpacity` | `[0.4, 0.05]` | Top/bottom fill opacity |
|
|
45
|
+
| `strokeWidth` | `2` | Line thickness |
|
|
46
|
+
| `pointRadius` | `4` | Normal point radius |
|
|
47
|
+
| `peakRadius` | `6` | Peak point radius |
|
|
48
|
+
|
|
49
|
+
## schmancy-pills
|
|
50
|
+
|
|
51
|
+
> Horizontal bar chart with optional stacked segments, medal ranks, and peak/low styling.
|
|
52
|
+
|
|
53
|
+
```html
|
|
54
|
+
<schmancy-pills
|
|
55
|
+
.data=${[
|
|
56
|
+
{ label: 'Mon', value: 1240, rank: 1 },
|
|
57
|
+
{ label: 'Tue', value: 980 },
|
|
58
|
+
{ label: 'Wed', value: 1830, rank: 2, segments: [
|
|
59
|
+
{ label: 'Pizza', value: 1200 },
|
|
60
|
+
{ label: 'Drinks', value: 630 }
|
|
61
|
+
]},
|
|
62
|
+
]}
|
|
63
|
+
></schmancy-pills>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Properties
|
|
67
|
+
| Property | Type | Default | Description |
|
|
68
|
+
|----------|------|---------|-------------|
|
|
69
|
+
| `data` | `PillDataPoint[]` | `[]` | Rows with optional stacked `segments` |
|
|
70
|
+
| `valuePrefix` / `valueSuffix` / `valueDecimals` | — | — | Value formatting (same as area chart) |
|
|
71
|
+
| `showMedals` | boolean | `true` | Show 🥇🥈🥉 for rank 1/2/3 |
|
|
72
|
+
|
|
73
|
+
### PillDataPoint
|
|
74
|
+
```typescript
|
|
75
|
+
{
|
|
76
|
+
label: string
|
|
77
|
+
value: number
|
|
78
|
+
segments?: { label, value, color }[] // stacked
|
|
79
|
+
isPeak?: boolean // highlighted
|
|
80
|
+
isLow?: boolean // muted
|
|
81
|
+
rank?: 1 | 2 | 3 // medal
|
|
82
|
+
metadata?: Record<string, unknown>
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Behavior
|
|
87
|
+
- Both charts use an IntersectionObserver to defer animation until visible.
|
|
88
|
+
- Responsive — resize triggers a re-render.
|
|
89
|
+
- Dark/light aware via theme CSS variables.
|
|
90
|
+
|
|
91
|
+
## When to Use
|
|
92
|
+
- Area chart: time-series or comparative trends.
|
|
93
|
+
- Pills: ranked categorical data (leaderboards, top days, distribution).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# schmancy-checkbox
|
|
2
|
+
|
|
3
|
+
> Checkbox with label support and form association.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-checkbox label="I agree to terms" @change=${(e) => handle(e.detail.value)}>
|
|
8
|
+
</schmancy-checkbox>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
| Property | Type | Default | Description |
|
|
13
|
+
|----------|------|---------|-------------|
|
|
14
|
+
| value | boolean | `false` | Whether the checkbox is checked |
|
|
15
|
+
| checked | boolean | `false` | Alias for value |
|
|
16
|
+
| label | string | `undefined` | Label text (alternative to slot) |
|
|
17
|
+
| name | string | auto | Form submission name |
|
|
18
|
+
| disabled | boolean | `false` | Whether the checkbox is disabled |
|
|
19
|
+
| required | boolean | `false` | Whether the checkbox is required |
|
|
20
|
+
| size | `'xxs'\|'xs'\|'sm'\|'md'\|'lg'` | `'md'` | Checkbox size |
|
|
21
|
+
|
|
22
|
+
## Events
|
|
23
|
+
| Event | Detail | Description |
|
|
24
|
+
|-------|--------|-------------|
|
|
25
|
+
| change | `{ value: boolean }` | When checked state changes |
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
```html
|
|
29
|
+
<!-- With label property -->
|
|
30
|
+
<schmancy-checkbox label="Enable notifications" .value=${true}></schmancy-checkbox>
|
|
31
|
+
|
|
32
|
+
<!-- With slotted label -->
|
|
33
|
+
<schmancy-checkbox name="terms" required>
|
|
34
|
+
Accept <a href="/terms">terms and conditions</a>
|
|
35
|
+
</schmancy-checkbox>
|
|
36
|
+
```
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Chips
|
|
2
|
+
|
|
3
|
+
> Four chip types: filter (toggleable), input (removable), suggestion (action), assist (action + elevated). Filter chips have embedded `magnetic` directive and selection glow.
|
|
4
|
+
|
|
5
|
+
## Chip Types
|
|
6
|
+
|
|
7
|
+
| Element | Purpose | Selected state | Default elevated |
|
|
8
|
+
|---------|---------|---------------|-----------------|
|
|
9
|
+
| `schmancy-filter-chip` | Toggle filters on/off | Yes (persists) | No |
|
|
10
|
+
| `schmancy-input-chip` | Display user input, removable | No | No |
|
|
11
|
+
| `schmancy-suggestion-chip` | Contextual recommendations | No | No |
|
|
12
|
+
| `schmancy-assist-chip` | Prompt user actions | No | Yes |
|
|
13
|
+
|
|
14
|
+
## Properties (schmancy-filter-chip)
|
|
15
|
+
| Property | Type | Default | Description |
|
|
16
|
+
|----------|------|---------|-------------|
|
|
17
|
+
| `value` | `string` | `''` | Unique identifier |
|
|
18
|
+
| `selected` | `boolean` | `false` | Toggle state |
|
|
19
|
+
| `removable` | `boolean` | `false` | Show remove button |
|
|
20
|
+
| `disabled` | `boolean` | `false` | Disabled state |
|
|
21
|
+
| `elevated` | `boolean` | `false` | Add shadow elevation |
|
|
22
|
+
|
|
23
|
+
## Properties (schmancy-input-chip)
|
|
24
|
+
| Property | Type | Default | Description |
|
|
25
|
+
|----------|------|---------|-------------|
|
|
26
|
+
| `value` | `string` | `''` | Unique identifier |
|
|
27
|
+
| `icon` | `string` | `''` | Material icon name |
|
|
28
|
+
| `avatar` | `string` | `''` | Avatar image URL |
|
|
29
|
+
| `removable` | `boolean` | `true` | Show remove button |
|
|
30
|
+
| `disabled` | `boolean` | `false` | Disabled state |
|
|
31
|
+
|
|
32
|
+
## Properties (schmancy-suggestion-chip / schmancy-assist-chip)
|
|
33
|
+
| Property | Type | Default | Description |
|
|
34
|
+
|----------|------|---------|-------------|
|
|
35
|
+
| `value` | `string` | `''` | Unique identifier |
|
|
36
|
+
| `icon` | `string` | `''` | Material icon name |
|
|
37
|
+
| `href` | `string` | `''` | Navigation URL |
|
|
38
|
+
| `target` | `string` | `''` | Link target |
|
|
39
|
+
| `disabled` | `boolean` | `false` | Disabled state |
|
|
40
|
+
| `elevated` | `boolean` | `false` (suggestion) / `true` (assist) | Shadow elevation |
|
|
41
|
+
|
|
42
|
+
## Events
|
|
43
|
+
| Event | Chip types | Detail | Description |
|
|
44
|
+
|-------|-----------|--------|-------------|
|
|
45
|
+
| `change` | filter | `{ value, selected }` | Selection toggled |
|
|
46
|
+
| `remove` | filter, input | `{ value }` | Remove button clicked |
|
|
47
|
+
| `action` | suggestion, assist | `{ value }` | Chip clicked |
|
|
48
|
+
|
|
49
|
+
## Physics
|
|
50
|
+
- **magnetic** directive on filter chips (strength: 2, radius: 40)
|
|
51
|
+
- Filter selected: secondary glow shadow (20% intensity)
|
|
52
|
+
- Hover: luminous glow shadow (primary, 15%)
|
|
53
|
+
- Active: spring press `scale(0.95)` with 100ms transition
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
```html
|
|
57
|
+
<!-- Filter chips for categories -->
|
|
58
|
+
${repeat(categories, c => c.id, c => html`
|
|
59
|
+
<schmancy-filter-chip
|
|
60
|
+
value=${c.id}
|
|
61
|
+
?selected=${selectedIds.has(c.id)}
|
|
62
|
+
@change=${(e: CustomEvent) => this.toggleFilter(e.detail)}
|
|
63
|
+
>
|
|
64
|
+
${c.name}
|
|
65
|
+
</schmancy-filter-chip>
|
|
66
|
+
`)}
|
|
67
|
+
|
|
68
|
+
<!-- Input chips for tags -->
|
|
69
|
+
${repeat(tags, t => t, t => html`
|
|
70
|
+
<schmancy-input-chip
|
|
71
|
+
value=${t}
|
|
72
|
+
@remove=${(e: CustomEvent) => this.removeTag(e.detail.value)}
|
|
73
|
+
>
|
|
74
|
+
${t}
|
|
75
|
+
</schmancy-input-chip>
|
|
76
|
+
`)}
|
|
77
|
+
|
|
78
|
+
<!-- Suggestion chips -->
|
|
79
|
+
<schmancy-suggestion-chip value="nearby" icon="location_on">
|
|
80
|
+
Nearby
|
|
81
|
+
</schmancy-suggestion-chip>
|
|
82
|
+
|
|
83
|
+
<!-- Assist chip with navigation -->
|
|
84
|
+
<schmancy-assist-chip value="calendar" icon="event" href="/calendar">
|
|
85
|
+
Open Calendar
|
|
86
|
+
</schmancy-assist-chip>
|
|
87
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# schmancy-code
|
|
2
|
+
|
|
3
|
+
> Syntax-highlighted code block with line numbers, copy button, and collapsible display.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-code language="typescript" .code=${'const x = 42'}></schmancy-code>
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
| Property | Type | Default | Description |
|
|
12
|
+
|----------|------|---------|-------------|
|
|
13
|
+
| code | string | `''` | Code content to highlight |
|
|
14
|
+
| language | string | `'javascript'` | Language for syntax highlighting |
|
|
15
|
+
| filename | string | `undefined` | Filename shown in header |
|
|
16
|
+
| lineNumbers | boolean | `false` | Show line numbers |
|
|
17
|
+
| copyButton | boolean | `true` | Show copy-to-clipboard button |
|
|
18
|
+
| highlightLines | string | `undefined` | Lines to highlight (e.g., `'1-3,5,7-9'`) |
|
|
19
|
+
| maxHeight | string | `undefined` | Max height before scrolling |
|
|
20
|
+
|
|
21
|
+
## Supported Languages
|
|
22
|
+
javascript, typescript, html, xml, markdown, bash
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
```html
|
|
26
|
+
<!-- TypeScript with line numbers and highlighted lines -->
|
|
27
|
+
<schmancy-code
|
|
28
|
+
language="typescript"
|
|
29
|
+
lineNumbers
|
|
30
|
+
highlightLines="2-3"
|
|
31
|
+
.code=${`import { html } from 'lit'
|
|
32
|
+
const greeting = 'Hello'
|
|
33
|
+
console.log(greeting)`}>
|
|
34
|
+
</schmancy-code>
|
|
35
|
+
|
|
36
|
+
<!-- Bash with filename -->
|
|
37
|
+
<schmancy-code language="bash" filename="install.sh"
|
|
38
|
+
.code=${'npm install @mhmo91/schmancy'}>
|
|
39
|
+
</schmancy-code>
|
|
40
|
+
|
|
41
|
+
<!-- With max height -->
|
|
42
|
+
<schmancy-code language="javascript" maxHeight="300px"
|
|
43
|
+
.code=${longCodeString}>
|
|
44
|
+
</schmancy-code>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Renders inside a collapsible `schmancy-details` with a macOS-style header (colored dots + language label). Uses highlight.js with schmancy color tokens.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# schmancy-connectivity-status
|
|
2
|
+
|
|
3
|
+
> App-wide online/offline banner. Mount once near the root and forget it.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<!-- In your app shell -->
|
|
8
|
+
<schmancy-connectivity-status></schmancy-connectivity-status>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
None — it's entirely self-driven from `window` online/offline events.
|
|
13
|
+
|
|
14
|
+
## Behavior
|
|
15
|
+
- Listens to `window` `online` / `offline` events via RxJS `merge`.
|
|
16
|
+
- `distinctUntilChanged` prevents duplicate banners.
|
|
17
|
+
- Animated slide-down banner with spring-style easing when state changes.
|
|
18
|
+
- Offline: error-colored banner with pulsing icon.
|
|
19
|
+
- Online (after offline): success-colored banner with bouncing icon, auto-dismisses after a short timer.
|
|
20
|
+
- Plays matching sounds from the `$sounds` audio service (skipped on initial load).
|
|
21
|
+
- Respects `prefers-reduced-motion` implicitly via CSS.
|
|
22
|
+
|
|
23
|
+
## Setup
|
|
24
|
+
Place it once at the root — typically just inside your main `schmancy-theme` or app shell:
|
|
25
|
+
|
|
26
|
+
```html
|
|
27
|
+
<schmancy-theme>
|
|
28
|
+
<schmancy-connectivity-status></schmancy-connectivity-status>
|
|
29
|
+
<schmancy-page>
|
|
30
|
+
<!-- rest of app -->
|
|
31
|
+
</schmancy-page>
|
|
32
|
+
</schmancy-theme>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## See Also
|
|
36
|
+
- [audio.md](./audio.md) — the `$sounds` service used for feedback tones.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# schmancy-content-drawer
|
|
2
|
+
|
|
3
|
+
> Responsive content drawer that switches between side panel (push) and bottom sheet (overlay) based on viewport.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-content-drawer>
|
|
8
|
+
<schmancy-content-drawer-main>
|
|
9
|
+
<!-- Primary content -->
|
|
10
|
+
</schmancy-content-drawer-main>
|
|
11
|
+
<schmancy-content-drawer-sheet>
|
|
12
|
+
<div slot="placeholder">Select an item</div>
|
|
13
|
+
</schmancy-content-drawer-sheet>
|
|
14
|
+
</schmancy-content-drawer>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Properties (schmancy-content-drawer)
|
|
18
|
+
| Property | Type | Default | Description |
|
|
19
|
+
|----------|------|---------|-------------|
|
|
20
|
+
| open | `'open'\|'close'` | auto | Sheet state |
|
|
21
|
+
|
|
22
|
+
## Properties (schmancy-content-drawer-main)
|
|
23
|
+
| Property | Type | Default | Description |
|
|
24
|
+
|----------|------|---------|-------------|
|
|
25
|
+
| minWidth | number | `360` | Minimum width in pixels |
|
|
26
|
+
|
|
27
|
+
## Properties (schmancy-content-drawer-sheet)
|
|
28
|
+
| Property | Type | Default | Description |
|
|
29
|
+
|----------|------|---------|-------------|
|
|
30
|
+
| minWidth | number | `576` | Minimum width in pixels |
|
|
31
|
+
|
|
32
|
+
## Rendering Content to Sheet
|
|
33
|
+
```typescript
|
|
34
|
+
// Dispatch event to render component in the sheet
|
|
35
|
+
window.dispatchEvent(new CustomEvent('schmancy-content-drawer-render', {
|
|
36
|
+
detail: {
|
|
37
|
+
component: myElement,
|
|
38
|
+
state: {},
|
|
39
|
+
params: {},
|
|
40
|
+
props: {}
|
|
41
|
+
}
|
|
42
|
+
}))
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Behavior
|
|
46
|
+
- When `main.minWidth + sheet.minWidth <= viewport`: push mode (side-by-side)
|
|
47
|
+
- When viewport is smaller: overlay mode (bottom sheet)
|
|
48
|
+
- Sheet content is routed via an internal `schmancy-area`
|
|
49
|
+
|
|
50
|
+
## Examples
|
|
51
|
+
```html
|
|
52
|
+
<schmancy-content-drawer>
|
|
53
|
+
<schmancy-content-drawer-main minWidth="400">
|
|
54
|
+
<div class="p-4">
|
|
55
|
+
<h2>List View</h2>
|
|
56
|
+
<!-- List items that open detail in sheet -->
|
|
57
|
+
</div>
|
|
58
|
+
</schmancy-content-drawer-main>
|
|
59
|
+
<schmancy-content-drawer-sheet minWidth="500">
|
|
60
|
+
<div slot="placeholder">
|
|
61
|
+
<p>Select an item to view details</p>
|
|
62
|
+
</div>
|
|
63
|
+
</schmancy-content-drawer-sheet>
|
|
64
|
+
</schmancy-content-drawer>
|
|
65
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# schmancy-date-range-inline
|
|
2
|
+
|
|
3
|
+
> Smart inline from/to date picker with validation, auto-correction, and gap constraints. Simpler surface than the full `schmancy-date-range` popover.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-date-range-inline
|
|
8
|
+
.dateFrom=${{ label: 'Check-in', value: '2026-05-01' }}
|
|
9
|
+
.dateTo=${{ label: 'Check-out', value: '2026-05-05' }}
|
|
10
|
+
min-date="2026-01-01"
|
|
11
|
+
max-date="2026-12-31"
|
|
12
|
+
.minGap=${1}
|
|
13
|
+
.maxGap=${30}
|
|
14
|
+
@change=${e => this.handleRange(e.detail)}
|
|
15
|
+
></schmancy-date-range-inline>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Properties
|
|
19
|
+
| Property | Type | Default | Description |
|
|
20
|
+
|----------|------|---------|-------------|
|
|
21
|
+
| `type` | `'date' \| 'datetime-local'` | `'date'` | Underlying input type |
|
|
22
|
+
| `dateFrom` | `{ label, value }` | `{ label: 'From', value: '' }` | From-date configuration |
|
|
23
|
+
| `dateTo` | `{ label, value }` | `{ label: 'To', value: '' }` | To-date configuration |
|
|
24
|
+
| `minDate` | string | — | Minimum selectable date (ISO string) |
|
|
25
|
+
| `maxDate` | string | — | Maximum selectable date (ISO string) |
|
|
26
|
+
| `compact` | boolean | `false` | Tighter UI spacing |
|
|
27
|
+
| `autoCorrect` | boolean | `true` | Auto-fix invalid ranges (e.g. swap if from > to) |
|
|
28
|
+
| `minGap` | number | `0` | Minimum days between from and to |
|
|
29
|
+
| `maxGap` | number | — | Maximum days between from and to |
|
|
30
|
+
| `defaultGap` | number | `1` | Default gap when seeding the second date |
|
|
31
|
+
| `allowSameDate` | boolean | `false` | Permit from === to |
|
|
32
|
+
|
|
33
|
+
## Events
|
|
34
|
+
| Event | Detail | When |
|
|
35
|
+
|-------|--------|------|
|
|
36
|
+
| `change` | `{ dateFrom, dateTo, isValid }` | Either input changes |
|
|
37
|
+
|
|
38
|
+
## Behavior
|
|
39
|
+
- Extends `SchmancyFormField()` — integrates with `schmancy-form` validation.
|
|
40
|
+
- Auto-correction: invalid ranges flip, or the second date shifts to respect `minGap`/`maxGap`.
|
|
41
|
+
- Inline (not a popover) — always visible, good for filters and trip-planning UIs.
|
|
42
|
+
|
|
43
|
+
## Prefer full picker
|
|
44
|
+
For a popup calendar with presets and visual selection, use [`schmancy-date-range`](./date-range.md).
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# schmancy-date-range
|
|
2
|
+
|
|
3
|
+
> Date range selector with preset ranges, step navigation, and mobile sheet support.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-date-range
|
|
8
|
+
.dateFrom=${{label: 'From', value: '2024-01-01'}}
|
|
9
|
+
.dateTo=${{label: 'To', value: '2024-12-31'}}
|
|
10
|
+
@change=${(e) => handleRange(e.detail)}>
|
|
11
|
+
</schmancy-date-range>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Properties
|
|
15
|
+
| Property | Type | Default | Description |
|
|
16
|
+
|----------|------|---------|-------------|
|
|
17
|
+
| type | `'date'\|'datetime-local'` | `'date'` | Date input type |
|
|
18
|
+
| dateFrom | `{label: string, value: string}` | `{label:'From',value:''}` | Start date |
|
|
19
|
+
| dateTo | `{label: string, value: string}` | `{label:'To',value:''}` | End date |
|
|
20
|
+
| minDate | string | `undefined` | Minimum selectable date |
|
|
21
|
+
| maxDate | string | `undefined` | Maximum selectable date |
|
|
22
|
+
| step | `'day'\|'week'\|'month'\|'year'\|number` | `undefined` | Navigation step size |
|
|
23
|
+
| placeholder | string | `'Select date range'` | Display placeholder |
|
|
24
|
+
| disabled | boolean | `false` | Whether disabled |
|
|
25
|
+
| required | boolean | `false` | Whether required |
|
|
26
|
+
| clearable | boolean | `true` | Allow clearing selection |
|
|
27
|
+
| collapse | boolean | `false` | Icon-only on mobile |
|
|
28
|
+
| customPresets | array | `[]` | Additional preset ranges |
|
|
29
|
+
| format | string | auto | Date format string |
|
|
30
|
+
|
|
31
|
+
## Events
|
|
32
|
+
| Event | Detail | Description |
|
|
33
|
+
|-------|--------|-------------|
|
|
34
|
+
| change | `{ dateFrom: string, dateTo: string }` | When date range changes |
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
```html
|
|
38
|
+
<!-- With step navigation (arrows shift by week) -->
|
|
39
|
+
<schmancy-date-range step="week"
|
|
40
|
+
.dateFrom=${{label:'From', value:'2024-03-01'}}
|
|
41
|
+
.dateTo=${{label:'To', value:'2024-03-07'}}>
|
|
42
|
+
</schmancy-date-range>
|
|
43
|
+
|
|
44
|
+
<!-- Collapsed on mobile, custom presets -->
|
|
45
|
+
<schmancy-date-range collapse
|
|
46
|
+
.customPresets=${[{label:'Q1',dateFrom:'2024-01-01',dateTo:'2024-03-31'}]}>
|
|
47
|
+
</schmancy-date-range>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Built-in presets include Today, Yesterday, This Week, This Month, This Year, and more.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# schmancy-delay
|
|
2
|
+
|
|
3
|
+
> Defers rendering of children by a duration, with an entrance motion. Siblings auto-stagger without manual delay math.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-delay delay="200">
|
|
8
|
+
<h1>Appears after 200ms</h1>
|
|
9
|
+
</schmancy-delay>
|
|
10
|
+
|
|
11
|
+
<!-- Auto-staggered list: each child inherits + stacks its own delay -->
|
|
12
|
+
<schmancy-delay delay="100">
|
|
13
|
+
<schmancy-delay delay="100"><div>Step 1</div></schmancy-delay>
|
|
14
|
+
<schmancy-delay delay="100"><div>Step 2</div></schmancy-delay>
|
|
15
|
+
<schmancy-delay delay="100"><div>Step 3</div></schmancy-delay>
|
|
16
|
+
</schmancy-delay>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Properties
|
|
20
|
+
| Property | Type | Default | Description |
|
|
21
|
+
|----------|------|---------|-------------|
|
|
22
|
+
| `delay` | number | `0` | Ms to wait before rendering this node |
|
|
23
|
+
| `motion` | `'flyBelow' \| 'flyAbove' \| 'fadeIn'` | `'flyBelow'` | `@lit-labs/motion` entrance animation |
|
|
24
|
+
| `once` | boolean | `true` | Skip delay on subsequent renders within the same session (keyed on content hash) |
|
|
25
|
+
|
|
26
|
+
## Context
|
|
27
|
+
- Consumes parent `delayContext` and adds its own delay.
|
|
28
|
+
- Walks previous siblings that are also `schmancy-delay` and accumulates their delays.
|
|
29
|
+
- Provides the resulting `effectiveDelay` down to descendants via context.
|
|
30
|
+
|
|
31
|
+
Result: nested `schmancy-delay` nodes produce natural staggered entrances without manual math.
|
|
32
|
+
|
|
33
|
+
## Session Caching
|
|
34
|
+
- When `once=true`, the content is hashed on first render and cached in `sessionStorage`.
|
|
35
|
+
- On subsequent component mounts (route revisits), the delay is skipped — content appears instantly.
|
|
36
|
+
- Set `once=false` to always replay the delay.
|
|
37
|
+
|
|
38
|
+
## Example — hero reveal
|
|
39
|
+
```html
|
|
40
|
+
<schmancy-delay delay="0" motion="fadeIn">
|
|
41
|
+
<schmancy-delay delay="300"><h1>Welcome</h1></schmancy-delay>
|
|
42
|
+
<schmancy-delay delay="200"><p>Subtitle…</p></schmancy-delay>
|
|
43
|
+
<schmancy-delay delay="200">
|
|
44
|
+
<schmancy-button variant="filled">Get started</schmancy-button>
|
|
45
|
+
</schmancy-delay>
|
|
46
|
+
</schmancy-delay>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## See Also
|
|
50
|
+
- Use [`gravity`](./directives.md#gravity--elements-fall-into-place-with-mass-based-bounce) directive for mass-based staggered reveal on lists — often simpler than nested `schmancy-delay`.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# schmancy-details
|
|
2
|
+
|
|
3
|
+
> Expandable disclosure with spring-animated indicator, magnetic summary, and CSS grid collapse animation.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```html
|
|
7
|
+
<schmancy-details summary="Show more">
|
|
8
|
+
<p>Expandable content here</p>
|
|
9
|
+
</schmancy-details>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Properties
|
|
13
|
+
| Property | Type | Default | Description |
|
|
14
|
+
|----------|------|---------|-------------|
|
|
15
|
+
| `summary` | `string` | `''` | Summary text (or use `summary` slot) |
|
|
16
|
+
| `open` | `boolean` | `false` | Expanded state |
|
|
17
|
+
| `type` | SurfaceMixin type | `'solid'` | Surface type for the container |
|
|
18
|
+
| `rounded` | SurfaceMixin rounded | `'all'` | Corner rounding |
|
|
19
|
+
| `locked` | `boolean` | `false` | Prevents open/close interaction |
|
|
20
|
+
| `overlay` | `boolean` | `false` | Content overlays below instead of pushing |
|
|
21
|
+
| `indicator-placement` | `'start' \| 'end'` | `'end'` | Chevron indicator position |
|
|
22
|
+
| `hide-indicator` | `boolean` | `false` | Hide the expand/collapse indicator |
|
|
23
|
+
| `indicator-rotate` | `number` | `90` | Indicator rotation degrees when open |
|
|
24
|
+
| `summary-padding` | `string` | `'p-3'` | Tailwind padding class for summary |
|
|
25
|
+
| `content-padding` | `string` | `'p-3'` | Tailwind padding class for content |
|
|
26
|
+
|
|
27
|
+
## Events
|
|
28
|
+
| Event | Detail | Description |
|
|
29
|
+
|-------|--------|-------------|
|
|
30
|
+
| `toggle` | `{ open: boolean }` | Fired when open state changes |
|
|
31
|
+
|
|
32
|
+
## Slots
|
|
33
|
+
| Slot | Description |
|
|
34
|
+
|------|-------------|
|
|
35
|
+
| (default) | Content revealed on expand |
|
|
36
|
+
| `summary` | Custom summary content (overrides `summary` prop) |
|
|
37
|
+
| `indicator` | Custom expand/collapse indicator |
|
|
38
|
+
| `actions` | Action buttons in the summary bar (click does not toggle) |
|
|
39
|
+
| `details` | Additional content slot |
|
|
40
|
+
|
|
41
|
+
## Physics
|
|
42
|
+
- **magnetic** directive on summary (strength: 2, radius: 50) when not locked
|
|
43
|
+
- Spring-animated chevron indicator using Web Animations API
|
|
44
|
+
- CSS grid transition for smooth height animation (400ms spring easing)
|
|
45
|
+
- Luminous elevation glow when open
|
|
46
|
+
- Lazy rendering: content is not rendered until first opened
|
|
47
|
+
|
|
48
|
+
## Examples
|
|
49
|
+
```html
|
|
50
|
+
<!-- Basic expandable -->
|
|
51
|
+
<schmancy-details summary="Advanced Settings" indicator-placement="start">
|
|
52
|
+
<div>Settings content</div>
|
|
53
|
+
</schmancy-details>
|
|
54
|
+
|
|
55
|
+
<!-- Overlay mode (content floats over siblings) -->
|
|
56
|
+
<schmancy-details summary="Quick preview" overlay>
|
|
57
|
+
<div>Preview content overlays below</div>
|
|
58
|
+
</schmancy-details>
|
|
59
|
+
|
|
60
|
+
<!-- With custom summary and actions -->
|
|
61
|
+
<schmancy-details>
|
|
62
|
+
<span slot="summary">Custom title</span>
|
|
63
|
+
<schmancy-icon-button slot="actions" icon="edit"></schmancy-icon-button>
|
|
64
|
+
<div>Detail content</div>
|
|
65
|
+
</schmancy-details>
|
|
66
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# schmancy-dialog / $dialog
|
|
2
|
+
|
|
3
|
+
> Dialog with glass surface, cursorGlow, and mobile bottom-sheet adaptation. Use `$dialog` service for imperative usage.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
```typescript
|
|
7
|
+
import { $dialog } from '@mhmo91/schmancy'
|
|
8
|
+
|
|
9
|
+
// Confirm dialog
|
|
10
|
+
const confirmed = await $dialog.confirm({
|
|
11
|
+
title: 'Delete item?',
|
|
12
|
+
message: 'This cannot be undone.',
|
|
13
|
+
confirmText: 'Delete',
|
|
14
|
+
cancelText: 'Cancel',
|
|
15
|
+
variant: 'danger',
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
// Component dialog (renders any template/element)
|
|
19
|
+
await $dialog.component(html`<my-editor .data=${item}></my-editor>`)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## $dialog API
|
|
23
|
+
| Method | Returns | Description |
|
|
24
|
+
|--------|---------|-------------|
|
|
25
|
+
| `confirm(options)` | `Promise<boolean>` | Show confirm dialog with title/message/buttons |
|
|
26
|
+
| `ask(message, event?)` | `Promise<boolean>` | Quick confirm with just a message |
|
|
27
|
+
| `danger(options)` | `Promise<boolean>` | Confirm with danger variant |
|
|
28
|
+
| `component(content, options?)` | `Promise<boolean>` | Show any template/element as dialog |
|
|
29
|
+
| `prompt(options)` | `Promise<string \| null>` | Input dialog, returns value or null |
|
|
30
|
+
| `dismiss()` | `boolean` | Dismiss topmost dialog |
|
|
31
|
+
|
|
32
|
+
## Confirm Options
|
|
33
|
+
| Option | Type | Default | Description |
|
|
34
|
+
|--------|------|---------|-------------|
|
|
35
|
+
| `title` | `string` | `undefined` | Dialog title |
|
|
36
|
+
| `subtitle` | `string` | `undefined` | Subtitle below title |
|
|
37
|
+
| `message` | `string` | `undefined` | Body message |
|
|
38
|
+
| `confirmText` | `string` | `'Confirm'` | Confirm button label |
|
|
39
|
+
| `cancelText` | `string` | `'Cancel'` | Cancel button label |
|
|
40
|
+
| `variant` | `'default' \| 'danger'` | `'default'` | Button color scheme |
|
|
41
|
+
| `position` | `{x,y} \| MouseEvent` | Last click | Animation origin |
|
|
42
|
+
| `content` | `TemplateResult \| HTMLElement` | `undefined` | Custom content in body |
|
|
43
|
+
|
|
44
|
+
## Physics
|
|
45
|
+
- **cursorGlow** on dialog surface (radius: 250, intensity: 0.1)
|
|
46
|
+
- Glass surface with `backdrop-blur-lg` and `backdrop-saturate-150`
|
|
47
|
+
- Luminous glow shadow around dialog container
|
|
48
|
+
- Mobile: renders as bottom sheet with drag handle and swipe dismiss
|
|
49
|
+
|
|
50
|
+
## Examples
|
|
51
|
+
```typescript
|
|
52
|
+
// Quick ask
|
|
53
|
+
if (await $dialog.ask('Remove this entry?', event)) {
|
|
54
|
+
removeEntry()
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Prompt for input
|
|
58
|
+
const name = await $dialog.prompt({
|
|
59
|
+
title: 'Rename',
|
|
60
|
+
label: 'New name',
|
|
61
|
+
defaultValue: currentName,
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
// Custom component dialog
|
|
65
|
+
await $dialog.component(
|
|
66
|
+
html`<user-profile-editor .user=${user}></user-profile-editor>`,
|
|
67
|
+
{ position: event }
|
|
68
|
+
)
|
|
69
|
+
```
|