@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,128 @@
|
|
|
1
|
+
import { t as e } from "./decorate-D_utPUsC.js";
|
|
2
|
+
import { t } from "./litElement.mixin-CncaUoxz.js";
|
|
3
|
+
import { classMap as n } from "lit/directives/class-map.js";
|
|
4
|
+
import { styleMap as r } from "lit/directives/style-map.js";
|
|
5
|
+
import { customElement as i, property as a } from "lit/decorators.js";
|
|
6
|
+
import { css as o, html as s } from "lit";
|
|
7
|
+
var c = class extends t(o`
|
|
8
|
+
:host {
|
|
9
|
+
display: block;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* Blackbird-style indeterminate animation with organic easing */
|
|
13
|
+
@keyframes indeterminate {
|
|
14
|
+
0% {
|
|
15
|
+
left: -30%;
|
|
16
|
+
width: 20%;
|
|
17
|
+
opacity: 0.6;
|
|
18
|
+
}
|
|
19
|
+
25% {
|
|
20
|
+
width: 35%;
|
|
21
|
+
opacity: 1;
|
|
22
|
+
}
|
|
23
|
+
50% {
|
|
24
|
+
left: 40%;
|
|
25
|
+
width: 30%;
|
|
26
|
+
}
|
|
27
|
+
75% {
|
|
28
|
+
width: 25%;
|
|
29
|
+
opacity: 0.9;
|
|
30
|
+
}
|
|
31
|
+
100% {
|
|
32
|
+
left: 100%;
|
|
33
|
+
width: 20%;
|
|
34
|
+
opacity: 0.6;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.indeterminate-animation {
|
|
39
|
+
animation: indeterminate 1.8s cubic-bezier(0.34, 1.2, 0.64, 1) infinite;
|
|
40
|
+
}
|
|
41
|
+
`) {
|
|
42
|
+
constructor(...e) {
|
|
43
|
+
super(...e), this.value = 0, this.max = 100, this.indeterminate = !1, this.size = "md", this.color = "primary", this.glass = !1;
|
|
44
|
+
}
|
|
45
|
+
get percentage() {
|
|
46
|
+
return this.indeterminate ? 0 : Math.min(100, Math.max(0, this.value / this.max * 100));
|
|
47
|
+
}
|
|
48
|
+
render() {
|
|
49
|
+
let e = {
|
|
50
|
+
"w-full": !0,
|
|
51
|
+
relative: !0,
|
|
52
|
+
"overflow-hidden": !0,
|
|
53
|
+
"rounded-full": !0,
|
|
54
|
+
"h-px": this.size === "xs",
|
|
55
|
+
"h-0.5": this.size === "sm",
|
|
56
|
+
"h-1": this.size === "md",
|
|
57
|
+
"h-2": this.size === "lg",
|
|
58
|
+
"backdrop-blur-xl": this.glass,
|
|
59
|
+
"backdrop-saturate-150": this.glass,
|
|
60
|
+
"bg-surface-container/20": this.glass && !this.indeterminate,
|
|
61
|
+
"bg-surface-container": !this.glass,
|
|
62
|
+
"shadow-[inset_0_1px_2px_0_rgba(0,0,0,0.1)]": this.glass,
|
|
63
|
+
border: this.glass,
|
|
64
|
+
"border-outline/20": this.glass
|
|
65
|
+
}, t = {
|
|
66
|
+
"h-full": !0,
|
|
67
|
+
"rounded-full": !0,
|
|
68
|
+
"transition-all": !0,
|
|
69
|
+
"duration-300": !0,
|
|
70
|
+
"ease-in-out": !0,
|
|
71
|
+
relative: !0,
|
|
72
|
+
"bg-primary-default": this.color === "primary" && !this.glass,
|
|
73
|
+
"bg-secondary-default": this.color === "secondary" && !this.glass,
|
|
74
|
+
"bg-tertiary-default": this.color === "tertiary" && !this.glass,
|
|
75
|
+
"bg-error-default": this.color === "error" && !this.glass,
|
|
76
|
+
"bg-success-default": this.color === "success" && !this.glass,
|
|
77
|
+
absolute: this.indeterminate,
|
|
78
|
+
"indeterminate-animation": this.indeterminate
|
|
79
|
+
}, i = this.indeterminate ? {} : { width: `${this.percentage}%` }, a = {
|
|
80
|
+
"backdrop-blur-sm": this.glass,
|
|
81
|
+
"shadow-[0_0_20px_rgba(0,0,0,0.1)]": this.glass,
|
|
82
|
+
"bg-primary-default/70": this.glass && this.color === "primary",
|
|
83
|
+
"bg-secondary-default/70": this.glass && this.color === "secondary",
|
|
84
|
+
"bg-tertiary-default/70": this.glass && this.color === "tertiary",
|
|
85
|
+
"bg-error-default/70": this.glass && this.color === "error",
|
|
86
|
+
"bg-success-default/70": this.glass && this.color === "success"
|
|
87
|
+
};
|
|
88
|
+
return s`
|
|
89
|
+
<div class="${n(e)}">
|
|
90
|
+
<div
|
|
91
|
+
class="${n({
|
|
92
|
+
...t,
|
|
93
|
+
...a
|
|
94
|
+
})}"
|
|
95
|
+
style="${r(i)}"
|
|
96
|
+
role="progressbar"
|
|
97
|
+
aria-valuenow="${this.value}"
|
|
98
|
+
aria-valuemin="0"
|
|
99
|
+
aria-valuemax="${this.max}"
|
|
100
|
+
>
|
|
101
|
+
${this.glass ? s`
|
|
102
|
+
<!-- Glass shine effect -->
|
|
103
|
+
<div class="absolute inset-0 bg-linear-to-b from-surface-on/20 to-transparent rounded-full"></div>
|
|
104
|
+
` : ""}
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
`;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
e([a({
|
|
111
|
+
type: Number,
|
|
112
|
+
reflect: !0
|
|
113
|
+
})], c.prototype, "value", void 0), e([a({
|
|
114
|
+
type: Number,
|
|
115
|
+
reflect: !0
|
|
116
|
+
})], c.prototype, "max", void 0), e([a({
|
|
117
|
+
type: Boolean,
|
|
118
|
+
reflect: !0
|
|
119
|
+
})], c.prototype, "indeterminate", void 0), e([a({
|
|
120
|
+
type: String,
|
|
121
|
+
reflect: !0
|
|
122
|
+
})], c.prototype, "size", void 0), e([a({
|
|
123
|
+
type: String,
|
|
124
|
+
reflect: !0
|
|
125
|
+
})], c.prototype, "color", void 0), e([a({
|
|
126
|
+
type: Boolean,
|
|
127
|
+
reflect: !0
|
|
128
|
+
})], c.prototype, "glass", void 0), c = e([i("schmancy-progress")], c);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-CE1Pk2hi.js","names":[],"sources":["../src/progress/progress.ts"],"sourcesContent":["import { $LitElement } from '@mixins/litElement.mixin'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\n\n@customElement('schmancy-progress')\nexport default class SchmancyProgress extends $LitElement(css`\n :host {\n display: block;\n }\n\n /* Blackbird-style indeterminate animation with organic easing */\n @keyframes indeterminate {\n 0% {\n left: -30%;\n width: 20%;\n opacity: 0.6;\n }\n 25% {\n width: 35%;\n opacity: 1;\n }\n 50% {\n left: 40%;\n width: 30%;\n }\n 75% {\n width: 25%;\n opacity: 0.9;\n }\n 100% {\n left: 100%;\n width: 20%;\n opacity: 0.6;\n }\n }\n\n .indeterminate-animation {\n animation: indeterminate 1.8s cubic-bezier(0.34, 1.2, 0.64, 1) infinite;\n }\n`) {\n @property({ type: Number, reflect: true })\n value = 0\n\n @property({ type: Number, reflect: true })\n max = 100\n\n @property({ type: Boolean, reflect: true })\n indeterminate = false\n\n // M3 aligned track heights: xs=1px, sm=2px, md=4px, lg=8px\n @property({ type: String, reflect: true })\n size: 'xs' | 'sm' | 'md' | 'lg' = 'md'\n\n @property({ type: String, reflect: true })\n color: 'primary' | 'secondary' | 'tertiary' | 'error' | 'success' = 'primary'\n\n @property({ type: Boolean, reflect: true })\n glass = false\n\n private get percentage(): number {\n if (this.indeterminate) return 0\n return Math.min(100, Math.max(0, (this.value / this.max) * 100))\n }\n\n protected render() {\n const containerClasses = {\n 'w-full': true,\n 'relative': true,\n 'overflow-hidden': true,\n 'rounded-full': true,\n 'h-px': this.size === 'xs', // 1px - M3 linear indicator track\n 'h-0.5': this.size === 'sm', // 2px\n 'h-1': this.size === 'md', // 4px - M3 default\n 'h-2': this.size === 'lg', // 8px\n // Glass effect background\n 'backdrop-blur-xl': this.glass,\n 'backdrop-saturate-150': this.glass,\n 'bg-surface-container/20': this.glass && !this.indeterminate,\n 'bg-surface-container': !this.glass,\n 'shadow-[inset_0_1px_2px_0_rgba(0,0,0,0.1)]': this.glass,\n 'border': this.glass,\n 'border-outline/20': this.glass\n }\n\n const barClasses = {\n 'h-full': true,\n 'rounded-full': true,\n 'transition-all': true,\n 'duration-300': true,\n 'ease-in-out': true,\n 'relative': true,\n 'bg-primary-default': this.color === 'primary' && !this.glass,\n 'bg-secondary-default': this.color === 'secondary' && !this.glass,\n 'bg-tertiary-default': this.color === 'tertiary' && !this.glass,\n 'bg-error-default': this.color === 'error' && !this.glass,\n 'bg-success-default': this.color === 'success' && !this.glass,\n 'absolute': this.indeterminate,\n 'indeterminate-animation': this.indeterminate\n }\n\n const barStyles = this.indeterminate \n ? {} \n : { width: `${this.percentage}%` }\n\n // Glass effect bar classes\n const glassBarClasses = {\n 'backdrop-blur-sm': this.glass,\n 'shadow-[0_0_20px_rgba(0,0,0,0.1)]': this.glass,\n // Use semi-transparent background colors for glass effect\n 'bg-primary-default/70': this.glass && this.color === 'primary',\n 'bg-secondary-default/70': this.glass && this.color === 'secondary',\n 'bg-tertiary-default/70': this.glass && this.color === 'tertiary',\n 'bg-error-default/70': this.glass && this.color === 'error',\n 'bg-success-default/70': this.glass && this.color === 'success',\n }\n\n return html`\n <div class=\"${classMap(containerClasses)}\">\n <div \n class=\"${classMap({...barClasses, ...glassBarClasses})}\"\n style=\"${styleMap(barStyles)}\"\n role=\"progressbar\"\n aria-valuenow=\"${this.value}\"\n aria-valuemin=\"0\"\n aria-valuemax=\"${this.max}\"\n >\n ${this.glass ? html`\n <!-- Glass shine effect -->\n <div class=\"absolute inset-0 bg-linear-to-b from-surface-on/20 to-transparent rounded-full\"></div>\n ` : ''}\n </div>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-progress': SchmancyProgress\n }\n}\n"],"mappings":";;;;;;AAOe,IAAA,IAAA,cAA+B,EAAY,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAoCnD,GAAA,KAAA,MAGF,KAAA,KAAA,gBAAA,CAGU,GAAA,KAAA,OAIkB,MAAA,KAAA,QAGkC,WAAA,KAAA,QAAA,CAG5D;;CAER,IAAA,aAAY;AACV,SAAI,KAAK,gBAAsB,IACxB,KAAK,IAAI,KAAK,KAAK,IAAI,GAAI,KAAK,QAAQ,KAAK,MAAO,IAAA,CAAA;;CAG7D,SAAA;EACE,IAAM,IAAmB;GACvB,UAAA,CAAU;GACV,UAAA,CAAY;GACZ,mBAAA,CAAmB;GACnB,gBAAA,CAAgB;GAChB,QAAQ,KAAK,SAAS;GACtB,SAAS,KAAK,SAAS;GACvB,OAAO,KAAK,SAAS;GACrB,OAAO,KAAK,SAAS;GAErB,oBAAoB,KAAK;GACzB,yBAAyB,KAAK;GAC9B,2BAA2B,KAAK,SAAA,CAAU,KAAK;GAC/C,wBAAA,CAAyB,KAAK;GAC9B,8CAA8C,KAAK;GACnD,QAAU,KAAK;GACf,qBAAqB,KAAK;GAAA,EAGtB,IAAa;GACjB,UAAA,CAAU;GACV,gBAAA,CAAgB;GAChB,kBAAA,CAAkB;GAClB,gBAAA,CAAgB;GAChB,eAAA,CAAe;GACf,UAAA,CAAY;GACZ,sBAAsB,KAAK,UAAU,aAAV,CAAwB,KAAK;GACxD,wBAAwB,KAAK,UAAU,eAAV,CAA0B,KAAK;GAC5D,uBAAuB,KAAK,UAAU,cAAV,CAAyB,KAAK;GAC1D,oBAAoB,KAAK,UAAU,WAAV,CAAsB,KAAK;GACpD,sBAAsB,KAAK,UAAU,aAAV,CAAwB,KAAK;GACxD,UAAY,KAAK;GACjB,2BAA2B,KAAK;GAAA,EAG5B,IAAY,KAAK,gBACnB,EAAA,GACA,EAAE,OAAO,GAAG,KAAK,WAAA,IAAA,EAGf,IAAkB;GACtB,oBAAoB,KAAK;GACzB,qCAAqC,KAAK;GAE1C,yBAAyB,KAAK,SAAS,KAAK,UAAU;GACtD,2BAA2B,KAAK,SAAS,KAAK,UAAU;GACxD,0BAA0B,KAAK,SAAS,KAAK,UAAU;GACvD,uBAAuB,KAAK,SAAS,KAAK,UAAU;GACpD,yBAAyB,KAAK,SAAS,KAAK,UAAU;GAAV;AAG9C,SAAO,CAAI;oBACK,EAAS,EAAA,CAAA;;mBAEV,EAAS;GAAA,GAAI;GAAA,GAAe;GAAA,CAAA,CAAA;mBAC5B,EAAS,EAAA,CAAA;;2BAED,KAAK,MAAA;;2BAEL,KAAK,IAAA;;YAEpB,KAAK,QAAQ,CAAI;;;cAGf,GAAA;;;;;;GAzFX,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,SAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAS,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,iBAAA,KAAA,EAAA,EAAA,EAAA,CAI1C,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAQ,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,SAAA,KAAA,EAAA,EAAA,EAAA,CAGzC,EAAS;CAAE,MAAM;CAAS,SAAA,CAAS;CAAA,CAAA,CAAA,EAAO,EAAA,WAAA,SAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CApD5C,EAAc,oBAAA,CAAA,EAAoB,EAAA"}
|
package/dist/progress.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./progress-
|
|
1
|
+
require(`./progress-B5ChDPbB.cjs`);
|
package/dist/progress.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import "./progress-
|
|
1
|
+
import "./progress-CE1Pk2hi.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./tailwind.mixin-Cpa-VnnX.cjs`);var t=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){let n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:t}]of this.subscriptions)e(this.o,t)},e!==void 0&&(this.value=e)}addCallback(e,t,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});let{disposer:r}=this.subscriptions.get(e);e(this.value,r)}clearCallbacks(){this.subscriptions.clear()}},n=class extends Event{constructor(e,t){super(`context-provider`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}},r=class extends t{constructor(t,n,r){super(n.context===void 0?r:n.initialValue),this.onContextRequest=e=>{if(e.context!==this.context)return;let t=e.contextTarget??e.composedPath()[0];t!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,t,e.subscribe))},this.onProviderRequest=t=>{if(t.context!==this.context||(t.contextTarget??t.composedPath()[0])===this.host)return;let n=new Set;for(let[t,{consumerHost:r}]of this.subscriptions)n.has(t)||(n.add(t),r.dispatchEvent(new e.s(this.context,r,t,!0)));t.stopPropagation()},this.host=t,n.context===void 0?this.context=n:this.context=n.context,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(`context-request`,this.onContextRequest),this.host.addEventListener(`context-provider`,this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new n(this.context,this.host))}};function i({context:e}){return(t,n)=>{let i=new WeakMap;if(typeof n==`object`)return{get(){return t.get.call(this)},set(e){return i.get(this).setValue(e),t.set.call(this,e)},init(t){return i.set(this,new r(this,{context:e,initialValue:t})),t}};{t.constructor.addInitializer(t=>{i.set(t,new r(t,{context:e}))});let a=Object.getOwnPropertyDescriptor(t,n),o;if(a===void 0){let e=new WeakMap;o={get(){return e.get(this)},set(t){i.get(this).setValue(t),e.set(this,t)},configurable:!0,enumerable:!0}}else{let e=a.set;o={...a,set(t){i.get(this).setValue(t),e?.call(this,t)}}}Object.defineProperty(t,n,o);return}}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provide-BZ9lq_Be.cjs","names":["e","t","i","t"],"sources":["../node_modules/@lit/context/lib/value-notifier.js","../node_modules/@lit/context/lib/controllers/context-provider.js","../node_modules/@lit/context/lib/decorators/provide.js"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s{get value(){return this.o}set value(s){this.setValue(s)}setValue(s,t=!1){const i=t||!Object.is(s,this.o);this.o=s,i&&this.updateObservers()}constructor(s){this.subscriptions=new Map,this.updateObservers=()=>{for(const[s,{disposer:t}]of this.subscriptions)s(this.o,t)},void 0!==s&&(this.value=s)}addCallback(s,t,i){if(!i)return void s(this.value);this.subscriptions.has(s)||this.subscriptions.set(s,{disposer:()=>{this.subscriptions.delete(s)},consumerHost:t});const{disposer:h}=this.subscriptions.get(s);s(this.value,h)}clearCallbacks(){this.subscriptions.clear()}}export{s as ValueNotifier};\n//# sourceMappingURL=value-notifier.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";import{ValueNotifier as s}from\"../value-notifier.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends Event{constructor(t,s){super(\"context-provider\",{bubbles:!0,composed:!0}),this.context=t,this.contextTarget=s}}class i extends s{constructor(s,e,i){super(void 0!==e.context?e.initialValue:i),this.onContextRequest=t=>{if(t.context!==this.context)return;const s=t.contextTarget??t.composedPath()[0];s!==this.host&&(t.stopPropagation(),this.addCallback(t.callback,s,t.subscribe))},this.onProviderRequest=s=>{if(s.context!==this.context)return;if((s.contextTarget??s.composedPath()[0])===this.host)return;const e=new Set;for(const[s,{consumerHost:i}]of this.subscriptions)e.has(s)||(e.add(s),i.dispatchEvent(new t(this.context,i,s,!0)));s.stopPropagation()},this.host=s,void 0!==e.context?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(\"context-request\",this.onContextRequest),this.host.addEventListener(\"context-provider\",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new e(this.context,this.host))}}export{i as ContextProvider,e as ContextProviderEvent};\n//# sourceMappingURL=context-provider.js.map\n","import{ContextProvider as t}from\"../controllers/context-provider.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e({context:e}){return(n,i)=>{const r=new WeakMap;if(\"object\"==typeof i)return{get(){return n.get.call(this)},set(t){return r.get(this).setValue(t),n.set.call(this,t)},init(n){return r.set(this,new t(this,{context:e,initialValue:n})),n}};{n.constructor.addInitializer((n=>{r.set(n,new t(n,{context:e}))}));const o=Object.getOwnPropertyDescriptor(n,i);let s;if(void 0===o){const t=new WeakMap;s={get(){return t.get(this)},set(e){r.get(this).setValue(e),t.set(this,e)},configurable:!0,enumerable:!0}}else{const t=o.set;s={...o,set(e){r.get(this).setValue(e),t?.call(this,e)}}}return void Object.defineProperty(n,i,s)}}}export{e as provide};\n//# sourceMappingURL=provide.js.map\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { s as e } from "./tailwind.mixin-DufHBjmb.js";
|
|
2
|
+
var t = class {
|
|
3
|
+
get value() {
|
|
4
|
+
return this.o;
|
|
5
|
+
}
|
|
6
|
+
set value(e) {
|
|
7
|
+
this.setValue(e);
|
|
8
|
+
}
|
|
9
|
+
setValue(e, t = !1) {
|
|
10
|
+
let n = t || !Object.is(e, this.o);
|
|
11
|
+
this.o = e, n && this.updateObservers();
|
|
12
|
+
}
|
|
13
|
+
constructor(e) {
|
|
14
|
+
this.subscriptions = /* @__PURE__ */ new Map(), this.updateObservers = () => {
|
|
15
|
+
for (let [e, { disposer: t }] of this.subscriptions) e(this.o, t);
|
|
16
|
+
}, e !== void 0 && (this.value = e);
|
|
17
|
+
}
|
|
18
|
+
addCallback(e, t, n) {
|
|
19
|
+
if (!n) return void e(this.value);
|
|
20
|
+
this.subscriptions.has(e) || this.subscriptions.set(e, {
|
|
21
|
+
disposer: () => {
|
|
22
|
+
this.subscriptions.delete(e);
|
|
23
|
+
},
|
|
24
|
+
consumerHost: t
|
|
25
|
+
});
|
|
26
|
+
let { disposer: r } = this.subscriptions.get(e);
|
|
27
|
+
e(this.value, r);
|
|
28
|
+
}
|
|
29
|
+
clearCallbacks() {
|
|
30
|
+
this.subscriptions.clear();
|
|
31
|
+
}
|
|
32
|
+
}, n = class extends Event {
|
|
33
|
+
constructor(e, t) {
|
|
34
|
+
super("context-provider", {
|
|
35
|
+
bubbles: !0,
|
|
36
|
+
composed: !0
|
|
37
|
+
}), this.context = e, this.contextTarget = t;
|
|
38
|
+
}
|
|
39
|
+
}, r = class extends t {
|
|
40
|
+
constructor(t, n, r) {
|
|
41
|
+
super(n.context === void 0 ? r : n.initialValue), this.onContextRequest = (e) => {
|
|
42
|
+
if (e.context !== this.context) return;
|
|
43
|
+
let t = e.contextTarget ?? e.composedPath()[0];
|
|
44
|
+
t !== this.host && (e.stopPropagation(), this.addCallback(e.callback, t, e.subscribe));
|
|
45
|
+
}, this.onProviderRequest = (t) => {
|
|
46
|
+
if (t.context !== this.context || (t.contextTarget ?? t.composedPath()[0]) === this.host) return;
|
|
47
|
+
let n = /* @__PURE__ */ new Set();
|
|
48
|
+
for (let [t, { consumerHost: r }] of this.subscriptions) n.has(t) || (n.add(t), r.dispatchEvent(new e(this.context, r, t, !0)));
|
|
49
|
+
t.stopPropagation();
|
|
50
|
+
}, this.host = t, n.context === void 0 ? this.context = n : this.context = n.context, this.attachListeners(), this.host.addController?.(this);
|
|
51
|
+
}
|
|
52
|
+
attachListeners() {
|
|
53
|
+
this.host.addEventListener("context-request", this.onContextRequest), this.host.addEventListener("context-provider", this.onProviderRequest);
|
|
54
|
+
}
|
|
55
|
+
hostConnected() {
|
|
56
|
+
this.host.dispatchEvent(new n(this.context, this.host));
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
function i({ context: e }) {
|
|
60
|
+
return (t, n) => {
|
|
61
|
+
let i = /* @__PURE__ */ new WeakMap();
|
|
62
|
+
if (typeof n == "object") return {
|
|
63
|
+
get() {
|
|
64
|
+
return t.get.call(this);
|
|
65
|
+
},
|
|
66
|
+
set(e) {
|
|
67
|
+
return i.get(this).setValue(e), t.set.call(this, e);
|
|
68
|
+
},
|
|
69
|
+
init(t) {
|
|
70
|
+
return i.set(this, new r(this, {
|
|
71
|
+
context: e,
|
|
72
|
+
initialValue: t
|
|
73
|
+
})), t;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
{
|
|
77
|
+
t.constructor.addInitializer((t) => {
|
|
78
|
+
i.set(t, new r(t, { context: e }));
|
|
79
|
+
});
|
|
80
|
+
let a = Object.getOwnPropertyDescriptor(t, n), o;
|
|
81
|
+
if (a === void 0) {
|
|
82
|
+
let e = /* @__PURE__ */ new WeakMap();
|
|
83
|
+
o = {
|
|
84
|
+
get() {
|
|
85
|
+
return e.get(this);
|
|
86
|
+
},
|
|
87
|
+
set(t) {
|
|
88
|
+
i.get(this).setValue(t), e.set(this, t);
|
|
89
|
+
},
|
|
90
|
+
configurable: !0,
|
|
91
|
+
enumerable: !0
|
|
92
|
+
};
|
|
93
|
+
} else {
|
|
94
|
+
let e = a.set;
|
|
95
|
+
o = {
|
|
96
|
+
...a,
|
|
97
|
+
set(t) {
|
|
98
|
+
i.get(this).setValue(t), e?.call(this, t);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
Object.defineProperty(t, n, o);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
export { i as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provide-jn1Fj1vv.js","names":["e","t","i","t"],"sources":["../node_modules/@lit/context/lib/value-notifier.js","../node_modules/@lit/context/lib/controllers/context-provider.js","../node_modules/@lit/context/lib/decorators/provide.js"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s{get value(){return this.o}set value(s){this.setValue(s)}setValue(s,t=!1){const i=t||!Object.is(s,this.o);this.o=s,i&&this.updateObservers()}constructor(s){this.subscriptions=new Map,this.updateObservers=()=>{for(const[s,{disposer:t}]of this.subscriptions)s(this.o,t)},void 0!==s&&(this.value=s)}addCallback(s,t,i){if(!i)return void s(this.value);this.subscriptions.has(s)||this.subscriptions.set(s,{disposer:()=>{this.subscriptions.delete(s)},consumerHost:t});const{disposer:h}=this.subscriptions.get(s);s(this.value,h)}clearCallbacks(){this.subscriptions.clear()}}export{s as ValueNotifier};\n//# sourceMappingURL=value-notifier.js.map\n","import{ContextRequestEvent as t}from\"../context-request-event.js\";import{ValueNotifier as s}from\"../value-notifier.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends Event{constructor(t,s){super(\"context-provider\",{bubbles:!0,composed:!0}),this.context=t,this.contextTarget=s}}class i extends s{constructor(s,e,i){super(void 0!==e.context?e.initialValue:i),this.onContextRequest=t=>{if(t.context!==this.context)return;const s=t.contextTarget??t.composedPath()[0];s!==this.host&&(t.stopPropagation(),this.addCallback(t.callback,s,t.subscribe))},this.onProviderRequest=s=>{if(s.context!==this.context)return;if((s.contextTarget??s.composedPath()[0])===this.host)return;const e=new Set;for(const[s,{consumerHost:i}]of this.subscriptions)e.has(s)||(e.add(s),i.dispatchEvent(new t(this.context,i,s,!0)));s.stopPropagation()},this.host=s,void 0!==e.context?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(\"context-request\",this.onContextRequest),this.host.addEventListener(\"context-provider\",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new e(this.context,this.host))}}export{i as ContextProvider,e as ContextProviderEvent};\n//# sourceMappingURL=context-provider.js.map\n","import{ContextProvider as t}from\"../controllers/context-provider.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e({context:e}){return(n,i)=>{const r=new WeakMap;if(\"object\"==typeof i)return{get(){return n.get.call(this)},set(t){return r.get(this).setValue(t),n.set.call(this,t)},init(n){return r.set(this,new t(this,{context:e,initialValue:n})),n}};{n.constructor.addInitializer((n=>{r.set(n,new t(n,{context:e}))}));const o=Object.getOwnPropertyDescriptor(n,i);let s;if(void 0===o){const t=new WeakMap;s={get(){return t.get(this)},set(e){r.get(this).setValue(e),t.set(this,e)},configurable:!0,enumerable:!0}}else{const t=o.set;s={...o,set(e){r.get(this).setValue(e),t?.call(this,e)}}}return void Object.defineProperty(n,i,s)}}}export{e as provide};\n//# sourceMappingURL=provide.js.map\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
package/dist/qr-scanner.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-BCfY8kxB.cjs`),t=require(`./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-BCfY8kxB.cjs`),t=require(`./decorate-F9CuyeHg.cjs`),n=require(`./litElement.mixin-Bj2q1yPw.cjs`);let r=require(`rxjs`),i=require(`rxjs/operators`),a=require(`lit/decorators.js`),o=require(`lit`),s=require(`lit/directives/when.js`),c=require(`jsqr`);c=e.n(c,1);var l=class extends n.t(o.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
width: 100%;
|
|
@@ -32,4 +32,4 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
|
|
|
32
32
|
<div class="absolute bottom-0 right-0 w-12 h-12 border-b-4 border-r-4 border-white rounded-br-2xl"></div>
|
|
33
33
|
</div>
|
|
34
34
|
</div>
|
|
35
|
-
`}};t.
|
|
35
|
+
`}};t.t([(0,a.property)({type:Boolean})],l.prototype,`continuous`,void 0),t.t([(0,a.state)()],l.prototype,`hasPermission`,void 0),t.t([(0,a.state)()],l.prototype,`error`,void 0),t.t([(0,a.state)()],l.prototype,`showSuccess`,void 0),l=t.t([(0,a.customElement)(`schmancy-qr-scanner`)],l),Object.defineProperty(exports,`SchmancyQRScanner`,{enumerable:!0,get:function(){return l}});
|
package/dist/qr-scanner.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qr-scanner.cjs","names":[],"sources":["../src/qr-scanner/qr-scanner.ts"],"sourcesContent":["import { $LitElement } from '@mixins/litElement.mixin'\nimport jsQR from 'jsqr'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { animationFrames, Subject, timer } from 'rxjs'\nimport { distinctUntilChanged, filter, map, takeUntil, throttleTime } from 'rxjs/operators'\n\ninterface QRScanResult {\n\tdata: string\n\ttimestamp: number\n}\n\n@customElement('schmancy-qr-scanner')\nexport class SchmancyQRScanner extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmin-height: 300px;\n\t}\n`) {\n\t@property({ type: Boolean }) continuous = true\n\n\t@state() private hasPermission = false\n\t@state() private error = ''\n\t@state() private showSuccess = false\n\n\tprivate stream: MediaStream | null = null\n\tprivate destroy$ = new Subject<void>()\n\tprivate videoElement: HTMLVideoElement | null = null\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.startCamera()\n\t}\n\n\tprivate async startCamera(): Promise<void> {\n\t\ttry {\n\t\t\tconst constraints: MediaStreamConstraints = {\n\t\t\t\tvideo: {\n\t\t\t\t\tfacingMode: 'environment',\n\t\t\t\t\twidth: { ideal: 1280 },\n\t\t\t\t\theight: { ideal: 720 },\n\t\t\t\t},\n\t\t\t}\n\n\t\t\tthis.stream = await navigator.mediaDevices.getUserMedia(constraints)\n\t\t\tthis.hasPermission = true\n\t\t\tthis.error = ''\n\n\t\t\tawait this.updateComplete\n\n\t\t\tthis.videoElement = this.shadowRoot?.querySelector('#video') as HTMLVideoElement\n\t\t\tif (this.videoElement) {\n\t\t\t\tthis.videoElement.srcObject = this.stream\n\t\t\t\tawait this.videoElement.play()\n\t\t\t\tthis.startScanning()\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Camera access denied:', error)\n\t\t\tthis.hasPermission = false\n\t\t\tthis.error = 'Camera access is required to scan QR codes. Please allow camera access and try again.'\n\t\t}\n\t}\n\n\tprivate stopCamera(): void {\n\t\tthis.destroy$.next()\n\n\t\tif (this.stream) {\n\t\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\t\tthis.stream = null\n\t\t}\n\n\t\tif (this.videoElement) {\n\t\t\tthis.videoElement.srcObject = null\n\t\t\tthis.videoElement = null\n\t\t}\n\n\t\tthis.hasPermission = false\n\t\tthis.error = ''\n\t\tthis.showSuccess = false\n\t}\n\n\tprivate startScanning(): void {\n\t\tif (!this.videoElement || !this.hasPermission) {\n\t\t\treturn\n\t\t}\n\n\t\tanimationFrames()\n\t\t\t.pipe(\n\t\t\t\tmap(() => this.scanFrame()),\n\t\t\t\tfilter((result): result is QRScanResult => result !== null),\n\t\t\t\tdistinctUntilChanged((prev, curr) => {\n\t\t\t\t\tif (prev.data !== curr.data) return false\n\t\t\t\t\treturn curr.timestamp - prev.timestamp < 2000\n\t\t\t\t}),\n\t\t\t\tthrottleTime(500),\n\t\t\t\ttakeUntil(this.destroy$),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: result => this.handleScanResult(result),\n\t\t\t\terror: error => {\n\t\t\t\t\tconsole.error('Scanning error:', error)\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tprivate scanFrame(): QRScanResult | null {\n\t\tif (!this.videoElement || this.videoElement.readyState !== HTMLMediaElement.HAVE_ENOUGH_DATA) {\n\t\t\treturn null\n\t\t}\n\n\t\ttry {\n\t\t\tconst canvas = document.createElement('canvas')\n\t\t\tcanvas.width = this.videoElement.videoWidth\n\t\t\tcanvas.height = this.videoElement.videoHeight\n\n\t\t\tconst ctx = canvas.getContext('2d')\n\t\t\tif (!ctx) return null\n\n\t\t\tctx.drawImage(this.videoElement, 0, 0)\n\t\t\tconst imageData = ctx.getImageData(0, 0, canvas.width, canvas.height)\n\n\t\t\tconst code = jsQR(imageData.data, imageData.width, imageData.height)\n\n\t\t\tif (code && code.data) {\n\t\t\t\treturn {\n\t\t\t\t\tdata: code.data,\n\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Frame scan error:', error)\n\t\t}\n\n\t\treturn null\n\t}\n\n\tprivate handleScanResult(result: QRScanResult): void {\n\t\tthis.showSuccessFlash()\n\n\t\t// Haptic feedback if available\n\t\tif (navigator.vibrate) {\n\t\t\tnavigator.vibrate([100, 50, 100])\n\t\t}\n\n\t\t// Audio feedback\n\t\tthis.playSuccessSound()\n\n\t\t// Dispatch scan result\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('scan-result', {\n\t\t\t\tdetail: { data: result.data, timestamp: result.timestamp },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\n\t}\n\n\tprivate showSuccessFlash(): void {\n\t\tthis.showSuccess = true\n\t\ttimer(500)\n\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showSuccess = false\n\t\t\t})\n\t}\n\n\tprivate playSuccessSound(): void {\n\t\ttry {\n\t\t\tconst AudioContextClass = window.AudioContext || (window as unknown as { webkitAudioContext: typeof AudioContext }).webkitAudioContext\n\t\t\tconst audioContext = new AudioContextClass()\n\t\t\tconst oscillator = audioContext.createOscillator()\n\t\t\tconst gainNode = audioContext.createGain()\n\n\t\t\toscillator.connect(gainNode)\n\t\t\tgainNode.connect(audioContext.destination)\n\n\t\t\toscillator.frequency.setValueAtTime(800, audioContext.currentTime)\n\t\t\toscillator.frequency.setValueAtTime(1000, audioContext.currentTime + 0.1)\n\n\t\t\tgainNode.gain.setValueAtTime(0.3, audioContext.currentTime)\n\t\t\tgainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.2)\n\n\t\t\toscillator.start(audioContext.currentTime)\n\t\t\toscillator.stop(audioContext.currentTime + 0.2)\n\t\t} catch {\n\t\t\t// Audio feedback failed silently\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.stopCamera()\n\t\tthis.destroy$.complete()\n\t}\n\n\trender() {\n\t\tif (this.error) {\n\t\t\treturn html`\n\t\t\t\t<div class=\"w-full h-full flex flex-col items-center justify-center bg-black text-white text-center p-5\">\n\t\t\t\t\t<schmancy-icon size=\"64\" class=\"mb-4\">camera_alt</schmancy-icon>\n\t\t\t\t\t<schmancy-typography type=\"headline\" token=\"md\" class=\"mb-4\">Camera Permission Required</schmancy-typography>\n\t\t\t\t\t<schmancy-typography type=\"body\" token=\"md\" class=\"mb-6 max-w-sm\">${this.error}</schmancy-typography>\n\t\t\t\t\t<schmancy-button variant=\"filled\" @click=${() => window.location.reload()}>Retry</schmancy-button>\n\t\t\t\t</div>\n\t\t\t`\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative w-full h-full bg-black overflow-hidden rounded-xl\">\n\t\t\t\t<!-- Video Stream -->\n\t\t\t\t<video id=\"video\" class=\"absolute inset-0 w-full h-full object-cover\" autoplay muted playsinline></video>\n\n\t\t\t\t<!-- Success Flash -->\n\t\t\t\t${when(this.showSuccess, () => html`<div class=\"absolute inset-0 bg-green-400/30 pointer-events-none\"></div>`)}\n\n\t\t\t\t<!-- Minimal corner brackets - Apple style -->\n\t\t\t\t<div class=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[250px] h-[250px] pointer-events-none animate-pulse\">\n\t\t\t\t\t<!-- Top-left corner -->\n\t\t\t\t\t<div class=\"absolute top-0 left-0 w-12 h-12 border-t-4 border-l-4 border-white rounded-tl-2xl\"></div>\n\t\t\t\t\t<!-- Top-right corner -->\n\t\t\t\t\t<div class=\"absolute top-0 right-0 w-12 h-12 border-t-4 border-r-4 border-white rounded-tr-2xl\"></div>\n\t\t\t\t\t<!-- Bottom-left corner -->\n\t\t\t\t\t<div class=\"absolute bottom-0 left-0 w-12 h-12 border-b-4 border-l-4 border-white rounded-bl-2xl\"></div>\n\t\t\t\t\t<!-- Bottom-right corner -->\n\t\t\t\t\t<div class=\"absolute bottom-0 right-0 w-12 h-12 border-b-4 border-r-4 border-white rounded-br-2xl\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-qr-scanner': SchmancyQRScanner\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"qr-scanner.cjs","names":[],"sources":["../src/qr-scanner/qr-scanner.ts"],"sourcesContent":["import { $LitElement } from '@mixins/litElement.mixin'\nimport jsQR from 'jsqr'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { animationFrames, Subject, timer } from 'rxjs'\nimport { distinctUntilChanged, filter, map, takeUntil, throttleTime } from 'rxjs/operators'\n\ninterface QRScanResult {\n\tdata: string\n\ttimestamp: number\n}\n\n@customElement('schmancy-qr-scanner')\nexport class SchmancyQRScanner extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmin-height: 300px;\n\t}\n`) {\n\t@property({ type: Boolean }) continuous = true\n\n\t@state() private hasPermission = false\n\t@state() private error = ''\n\t@state() private showSuccess = false\n\n\tprivate stream: MediaStream | null = null\n\tprivate destroy$ = new Subject<void>()\n\tprivate videoElement: HTMLVideoElement | null = null\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.startCamera()\n\t}\n\n\tprivate async startCamera(): Promise<void> {\n\t\ttry {\n\t\t\tconst constraints: MediaStreamConstraints = {\n\t\t\t\tvideo: {\n\t\t\t\t\tfacingMode: 'environment',\n\t\t\t\t\twidth: { ideal: 1280 },\n\t\t\t\t\theight: { ideal: 720 },\n\t\t\t\t},\n\t\t\t}\n\n\t\t\tthis.stream = await navigator.mediaDevices.getUserMedia(constraints)\n\t\t\tthis.hasPermission = true\n\t\t\tthis.error = ''\n\n\t\t\tawait this.updateComplete\n\n\t\t\tthis.videoElement = this.shadowRoot?.querySelector('#video') as HTMLVideoElement\n\t\t\tif (this.videoElement) {\n\t\t\t\tthis.videoElement.srcObject = this.stream\n\t\t\t\tawait this.videoElement.play()\n\t\t\t\tthis.startScanning()\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Camera access denied:', error)\n\t\t\tthis.hasPermission = false\n\t\t\tthis.error = 'Camera access is required to scan QR codes. Please allow camera access and try again.'\n\t\t}\n\t}\n\n\tprivate stopCamera(): void {\n\t\tthis.destroy$.next()\n\n\t\tif (this.stream) {\n\t\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\t\tthis.stream = null\n\t\t}\n\n\t\tif (this.videoElement) {\n\t\t\tthis.videoElement.srcObject = null\n\t\t\tthis.videoElement = null\n\t\t}\n\n\t\tthis.hasPermission = false\n\t\tthis.error = ''\n\t\tthis.showSuccess = false\n\t}\n\n\tprivate startScanning(): void {\n\t\tif (!this.videoElement || !this.hasPermission) {\n\t\t\treturn\n\t\t}\n\n\t\tanimationFrames()\n\t\t\t.pipe(\n\t\t\t\tmap(() => this.scanFrame()),\n\t\t\t\tfilter((result): result is QRScanResult => result !== null),\n\t\t\t\tdistinctUntilChanged((prev, curr) => {\n\t\t\t\t\tif (prev.data !== curr.data) return false\n\t\t\t\t\treturn curr.timestamp - prev.timestamp < 2000\n\t\t\t\t}),\n\t\t\t\tthrottleTime(500),\n\t\t\t\ttakeUntil(this.destroy$),\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: result => this.handleScanResult(result),\n\t\t\t\terror: error => {\n\t\t\t\t\tconsole.error('Scanning error:', error)\n\t\t\t\t},\n\t\t\t})\n\t}\n\n\tprivate scanFrame(): QRScanResult | null {\n\t\tif (!this.videoElement || this.videoElement.readyState !== HTMLMediaElement.HAVE_ENOUGH_DATA) {\n\t\t\treturn null\n\t\t}\n\n\t\ttry {\n\t\t\tconst canvas = document.createElement('canvas')\n\t\t\tcanvas.width = this.videoElement.videoWidth\n\t\t\tcanvas.height = this.videoElement.videoHeight\n\n\t\t\tconst ctx = canvas.getContext('2d')\n\t\t\tif (!ctx) return null\n\n\t\t\tctx.drawImage(this.videoElement, 0, 0)\n\t\t\tconst imageData = ctx.getImageData(0, 0, canvas.width, canvas.height)\n\n\t\t\tconst code = jsQR(imageData.data, imageData.width, imageData.height)\n\n\t\t\tif (code && code.data) {\n\t\t\t\treturn {\n\t\t\t\t\tdata: code.data,\n\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Frame scan error:', error)\n\t\t}\n\n\t\treturn null\n\t}\n\n\tprivate handleScanResult(result: QRScanResult): void {\n\t\tthis.showSuccessFlash()\n\n\t\t// Haptic feedback if available\n\t\tif (navigator.vibrate) {\n\t\t\tnavigator.vibrate([100, 50, 100])\n\t\t}\n\n\t\t// Audio feedback\n\t\tthis.playSuccessSound()\n\n\t\t// Dispatch scan result\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('scan-result', {\n\t\t\t\tdetail: { data: result.data, timestamp: result.timestamp },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\n\t}\n\n\tprivate showSuccessFlash(): void {\n\t\tthis.showSuccess = true\n\t\ttimer(500)\n\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showSuccess = false\n\t\t\t})\n\t}\n\n\tprivate playSuccessSound(): void {\n\t\ttry {\n\t\t\tconst AudioContextClass = window.AudioContext || (window as unknown as { webkitAudioContext: typeof AudioContext }).webkitAudioContext\n\t\t\tconst audioContext = new AudioContextClass()\n\t\t\tconst oscillator = audioContext.createOscillator()\n\t\t\tconst gainNode = audioContext.createGain()\n\n\t\t\toscillator.connect(gainNode)\n\t\t\tgainNode.connect(audioContext.destination)\n\n\t\t\toscillator.frequency.setValueAtTime(800, audioContext.currentTime)\n\t\t\toscillator.frequency.setValueAtTime(1000, audioContext.currentTime + 0.1)\n\n\t\t\tgainNode.gain.setValueAtTime(0.3, audioContext.currentTime)\n\t\t\tgainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.2)\n\n\t\t\toscillator.start(audioContext.currentTime)\n\t\t\toscillator.stop(audioContext.currentTime + 0.2)\n\t\t} catch {\n\t\t\t// Audio feedback failed silently\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.stopCamera()\n\t\tthis.destroy$.complete()\n\t}\n\n\trender() {\n\t\tif (this.error) {\n\t\t\treturn html`\n\t\t\t\t<div class=\"w-full h-full flex flex-col items-center justify-center bg-black text-white text-center p-5\">\n\t\t\t\t\t<schmancy-icon size=\"64\" class=\"mb-4\">camera_alt</schmancy-icon>\n\t\t\t\t\t<schmancy-typography type=\"headline\" token=\"md\" class=\"mb-4\">Camera Permission Required</schmancy-typography>\n\t\t\t\t\t<schmancy-typography type=\"body\" token=\"md\" class=\"mb-6 max-w-sm\">${this.error}</schmancy-typography>\n\t\t\t\t\t<schmancy-button variant=\"filled\" @click=${() => window.location.reload()}>Retry</schmancy-button>\n\t\t\t\t</div>\n\t\t\t`\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative w-full h-full bg-black overflow-hidden rounded-xl\">\n\t\t\t\t<!-- Video Stream -->\n\t\t\t\t<video id=\"video\" class=\"absolute inset-0 w-full h-full object-cover\" autoplay muted playsinline></video>\n\n\t\t\t\t<!-- Success Flash -->\n\t\t\t\t${when(this.showSuccess, () => html`<div class=\"absolute inset-0 bg-green-400/30 pointer-events-none\"></div>`)}\n\n\t\t\t\t<!-- Minimal corner brackets - Apple style -->\n\t\t\t\t<div class=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[250px] h-[250px] pointer-events-none animate-pulse\">\n\t\t\t\t\t<!-- Top-left corner -->\n\t\t\t\t\t<div class=\"absolute top-0 left-0 w-12 h-12 border-t-4 border-l-4 border-white rounded-tl-2xl\"></div>\n\t\t\t\t\t<!-- Top-right corner -->\n\t\t\t\t\t<div class=\"absolute top-0 right-0 w-12 h-12 border-t-4 border-r-4 border-white rounded-tr-2xl\"></div>\n\t\t\t\t\t<!-- Bottom-left corner -->\n\t\t\t\t\t<div class=\"absolute bottom-0 left-0 w-12 h-12 border-b-4 border-l-4 border-white rounded-bl-2xl\"></div>\n\t\t\t\t\t<!-- Bottom-right corner -->\n\t\t\t\t\t<div class=\"absolute bottom-0 right-0 w-12 h-12 border-b-4 border-r-4 border-white rounded-br-2xl\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-qr-scanner': SchmancyQRScanner\n\t}\n}\n"],"mappings":"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"}
|
package/dist/qr-scanner.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t } from "./litElement.mixin-
|
|
1
|
+
import { t as e } from "./decorate-D_utPUsC.js";
|
|
2
|
+
import { t } from "./litElement.mixin-CncaUoxz.js";
|
|
3
3
|
import { Subject as n, animationFrames as r, timer as i } from "rxjs";
|
|
4
4
|
import { distinctUntilChanged as a, filter as o, map as s, takeUntil as c, throttleTime as l } from "rxjs/operators";
|
|
5
5
|
import { customElement as u, property as d, state as f } from "lit/decorators.js";
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Cpa-VnnX.cjs`),t=require(`./decorate-F9CuyeHg.cjs`),n=require(`./mixins.cjs`);let r=require(`rxjs`),i=require(`lit/decorators.js`),a=require(`lit`),o=require(`lit/directives/when.js`);var s=class extends n.FormFieldMixin(e.t(`:host{display:inherit;position:inherit}`)){constructor(...e){super(...e),this.label=``,this.name=``,this.value=``,this.options=[],this.required=!1,this.selection$=new r.Subject}connectedCallback(){super.connectedCallback(),this.selection$.pipe((0,r.takeUntil)(this.disconnecting)).subscribe(e=>{this.value=e,this.emitChange({value:e}),this.updateChildRadioButtons()}),(0,r.fromEvent)(this,`radio-button-click`).pipe((0,r.takeUntil)(this.disconnecting)).subscribe(e=>{this.selection$.next(e.detail.value)})}disconnectedCallback(){super.disconnectedCallback(),this.selection$?.complete()}handleSelection(e){this.selection$.next(e)}updateChildRadioButtons(){this.querySelectorAll(`schmancy-radio-button`).forEach(e=>{e.getAttribute(`value`)===this.value?e.setAttribute(`checked`,``):e.removeAttribute(`checked`)})}updated(e){super.updated(e),e.has(`value`)&&this.updateChildRadioButtons()}render(){let e=this.childElementCount>0;return a.html`
|
|
2
|
+
<div class="grid gap-4">
|
|
3
|
+
${(0,o.when)(this.label,()=>a.html` <label class="text-base font-semibold text-surface-on">${this.label}</label> `)}
|
|
4
|
+
|
|
5
|
+
${e?a.html`<slot></slot>`:this.options?.map(e=>a.html`
|
|
6
|
+
<div class="flex items-center">
|
|
7
|
+
<input
|
|
8
|
+
.required=${this.required}
|
|
9
|
+
id=${e.value}
|
|
10
|
+
class="h-4 w-4 border-outline text-primary-default focus:ring-primary-default"
|
|
11
|
+
type="radio"
|
|
12
|
+
name=${this.name}
|
|
13
|
+
.value=${e.value}
|
|
14
|
+
.checked=${e.value===this.value}
|
|
15
|
+
@change=${()=>this.handleSelection(e.value)}
|
|
16
|
+
/>
|
|
17
|
+
<label for=${e.value} class="ml-3 block text-sm font-medium leading-6 text-surface-on">
|
|
18
|
+
${e.label||e.value}
|
|
19
|
+
</label>
|
|
20
|
+
</div>
|
|
21
|
+
`)}
|
|
22
|
+
</div>
|
|
23
|
+
`}};t.t([(0,i.property)({type:String})],s.prototype,`label`,void 0),t.t([(0,i.property)({type:String})],s.prototype,`name`,void 0),t.t([(0,i.property)({type:String})],s.prototype,`value`,void 0),t.t([(0,i.property)({type:Array})],s.prototype,`options`,void 0),t.t([(0,i.property)({type:Boolean})],s.prototype,`required`,void 0),s=t.t([(0,i.customElement)(`schmancy-radio-group`)],s);var c=class extends n.FormFieldMixin(e.t()){constructor(...e){super(...e),this.value=``,this.checked=!1,this.disabled=!1,this.name=``}connectedCallback(){super.connectedCallback(),(0,r.fromEvent)(this,`click`).pipe((0,r.takeUntil)(this.disconnecting)).subscribe(this.handleClick)}disconnectedCallback(){super.disconnectedCallback()}handleClick(){if(!this.disabled)if(this.closest(`schmancy-radio-group`)){let e=new CustomEvent(`radio-button-click`,{detail:{value:this.value},bubbles:!0,composed:!0});this.dispatchEvent(e)}else this.checked=!0,this.emitChange({value:this.value})}render(){return a.html`
|
|
24
|
+
<label class="relative flex items-start cursor-pointer">
|
|
25
|
+
<div class="flex items-center h-6">
|
|
26
|
+
<input
|
|
27
|
+
type="radio"
|
|
28
|
+
class="h-4 w-4 text-primary-default focus:ring-primary-container border-outline"
|
|
29
|
+
.value=${this.value}
|
|
30
|
+
.checked=${this.checked}
|
|
31
|
+
.disabled=${this.disabled}
|
|
32
|
+
.name=${this.name}
|
|
33
|
+
@change=${()=>{}}
|
|
34
|
+
/>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="ml-3">
|
|
37
|
+
<slot name="label"></slot>
|
|
38
|
+
</div>
|
|
39
|
+
</label>
|
|
40
|
+
`}};t.t([(0,i.property)({type:String})],c.prototype,`value`,void 0),t.t([(0,i.property)({type:Boolean,reflect:!0})],c.prototype,`checked`,void 0),t.t([(0,i.property)({type:Boolean})],c.prototype,`disabled`,void 0),t.t([(0,i.property)({type:String})],c.prototype,`name`,void 0),c=t.t([(0,i.customElement)(`schmancy-radio-button`)],c),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group-Cd9pZ2MR.cjs","names":[],"sources":["../src/radio-group/radio-group.scss?inline","../src/radio-group/radio-group.ts","../src/radio-group/radio-button.ts"],"sourcesContent":[":host {\n\tdisplay: inherit;\n\tposition: inherit;\n}\n","import { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { Subject, fromEvent, takeUntil } from 'rxjs'\nimport style from './radio-group.scss?inline'\nimport { TailwindElement } from '@mixins/index'\nimport { when } from 'lit/directives/when.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\n\nexport type SchmancyRadioGroupOption = {\n\tlabel: string\n\tvalue: string\n}\nexport type SchmancyRadioGroupChangeEvent = CustomEvent<{\n\tvalue: string\n}>\n@customElement('schmancy-radio-group')\nexport class RadioGroup extends FormFieldMixin(TailwindElement(style)) {\n\t@property({ type: String }) override label = ''\n\t@property({ type: String }) override name = ''\n\t@property({ type: String }) override value = ''\n\t@property({ type: Array }) options: SchmancyRadioGroupOption[] = []\n\t@property({ type: Boolean }) override required: boolean = false\n\tprivate selection$ = new Subject<string>()\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.selection$.pipe(takeUntil(this.disconnecting)).subscribe(value => {\n\t\t\tthis.value = value\n\t\t\tthis.emitChange({ value })\n\t\t\t// Update all child radio buttons\n\t\t\tthis.updateChildRadioButtons()\n\t\t})\n\n\t\t// Listen for radio button clicks from children\n\t\tfromEvent<CustomEvent>(this, 'radio-button-click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe((e: CustomEvent) => {\n\t\t\t\tthis.selection$.next(e.detail.value)\n\t\t\t})\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Subscriptions are automatically cleaned up via takeUntil(this.disconnecting)\n\t\tthis.selection$?.complete()\n\t}\n\t\n\tprivate handleSelection(value: string) {\n\t\tthis.selection$.next(value)\n\t}\n\t\n\tprivate updateChildRadioButtons() {\n\t\t// Update child radio buttons checked state\n\t\tconst radioButtons = this.querySelectorAll('schmancy-radio-button')\n\t\tradioButtons.forEach(button => {\n\t\t\tconst buttonValue = button.getAttribute('value')\n\t\t\tif (buttonValue === this.value) {\n\t\t\t\tbutton.setAttribute('checked', '')\n\t\t\t} else {\n\t\t\t\tbutton.removeAttribute('checked')\n\t\t\t}\n\t\t})\n\t}\n\t\n\t// For backwards compatibility with direct option setting\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('value')) {\n\t\t\tthis.updateChildRadioButtons()\n\t\t}\n\t}\n\n\trender() {\n\t\t// Check if we have any slotted radio buttons\n\t\tconst hasSlottedContent = this.childElementCount > 0\n\t\t\n\t\treturn html`\n\t\t\t<div class=\"grid gap-4\">\n\t\t\t\t${when(this.label, () => html` <label class=\"text-base font-semibold text-surface-on\">${this.label}</label> `)}\n\t\t\t\t\n\t\t\t\t${hasSlottedContent ? \n\t\t\t\t\thtml`<slot></slot>` :\n\t\t\t\t\tthis.options?.map(option => html`\n\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\t\t\tid=${option.value}\n\t\t\t\t\t\t\t\tclass=\"h-4 w-4 border-outline text-primary-default focus:ring-primary-default\"\n\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\tname=${this.name}\n\t\t\t\t\t\t\t\t.value=${option.value}\n\t\t\t\t\t\t\t\t.checked=${option.value === this.value}\n\t\t\t\t\t\t\t\t@change=${() => this.handleSelection(option.value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label for=${option.value} class=\"ml-3 block text-sm font-medium leading-6 text-surface-on\">\n\t\t\t\t\t\t\t\t${option.label || option.value}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`)\n\t\t\t\t}\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-group': RadioGroup\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Radio button component for use within radio groups.\n *\n * @prop {string} name - Name attribute for grouping radio buttons\n * @prop {string} value - Value of this radio button\n * @prop {boolean} checked - Whether the radio button is selected\n * @prop {boolean} disabled - Whether the radio button is disabled\n */\n@customElement('schmancy-radio-button')\nexport class RadioButton extends FormFieldMixin(TailwindElement()) {\n\t@property({ type: String }) override value = ''\n\t@property({ type: Boolean, reflect: true }) checked = false\n\t@property({ type: Boolean }) override disabled = false\n\t@property({ type: String }) override name = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Listen for click events\n\t\tfromEvent<MouseEvent>(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(this.handleClick)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Event listeners are automatically cleaned up via takeUntil(this.disconnecting)\n\t}\n\n\tprivate handleClick() {\n\t\tif (this.disabled) return\n\n\t\t// Find parent radio-group if exists\n\t\tconst radioGroup = this.closest('schmancy-radio-group')\n\t\tif (radioGroup) {\n\t\t\t// Let the radio-group handle the change\n\t\t\tconst event = new CustomEvent('radio-button-click', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t\tthis.dispatchEvent(event)\n\t\t} else {\n\t\t\t// Standalone usage\n\t\t\tthis.checked = true\n\t\t\tthis.emitChange({ value: this.value })\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<label class=\"relative flex items-start cursor-pointer\">\n\t\t\t\t<div class=\"flex items-center h-6\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tclass=\"h-4 w-4 text-primary-default focus:ring-primary-container border-outline\"\n\t\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t\t.checked=${this.checked}\n\t\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t\t@change=${() => {}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t</div>\n\t\t\t</label>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-button': RadioButton\n\t}\n}\n"],"mappings":"8PCgBO,EAAA,cAAyB,EAAA,eAAe,EAAA,EAAA,0CAAA,CAAA,AAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,EAAA,CAAA,KAAA,MACD,GAAA,KAAA,KACD,GAAA,KAAA,MACC,GAAA,KAAA,QACoB,EAAA,CAAA,KAAA,SAAA,CACP,EAAA,KAAA,WACrC,IAAI,EAAA,QAEzB,mBAAA,CACC,MAAM,mBAAA,CACN,KAAK,WAAW,MAAA,EAAA,EAAA,WAAe,KAAK,cAAA,CAAA,CAAgB,UAAU,GAAA,CAC7D,KAAK,MAAQ,EACb,KAAK,WAAW,CAAE,MAAA,EAAA,CAAA,CAElB,KAAK,yBAAA,EAAA,EAIN,EAAA,EAAA,WAAuB,KAAM,qBAAA,CAC3B,MAAA,EAAA,EAAA,WAAe,KAAK,cAAA,CAAA,CACpB,UAAW,GAAA,CACX,KAAK,WAAW,KAAK,EAAE,OAAO,MAAA,EAAA,CAIjC,sBAAA,CACC,MAAM,sBAAA,CAEN,KAAK,YAAY,UAAA,CAGlB,gBAAwB,EAAA,CACvB,KAAK,WAAW,KAAK,EAAA,CAGtB,yBAAA,CAEsB,KAAK,iBAAiB,wBAAA,CAC9B,QAAQ,GAAA,CACA,EAAO,aAAa,QAAA,GACpB,KAAK,MACxB,EAAO,aAAa,UAAW,GAAA,CAE/B,EAAO,gBAAgB,UAAA,EAAA,CAM1B,QAAQ,EAAA,CACP,MAAM,QAAQ,EAAA,CACV,EAAkB,IAAI,QAAA,EACzB,KAAK,yBAAA,CAIP,QAAA,CAEC,IAAM,EAAoB,KAAK,kBAAoB,EAEnD,MAAO,GAAA,IAAI;;iBAEF,KAAK,UAAa,EAAA,IAAI,2DAA2D,KAAK,MAAA,WAAA,CAAA;;MAE3F,EACD,EAAA,IAAI,gBACJ,KAAK,SAAS,IAAI,GAAU,EAAA,IAAI;;;oBAGjB,KAAK,SAAA;aACZ,EAAO,MAAA;;;eAGL,KAAK,KAAA;iBACH,EAAO,MAAA;mBACL,EAAO,QAAU,KAAK,MAAA;sBACjB,KAAK,gBAAgB,EAAO,MAAA,CAAA;;oBAEhC,EAAO,MAAA;UACjB,EAAO,OAAS,EAAO,MAAA;;;;;0BA9EtB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,QAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,QAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjB,CAAE,KAAM,MAAA,CAAA,CAAA,CAAQ,EAAA,UAAA,UAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAChB,CAAE,KAAM,QAAA,CAAA,CAAA,CAAU,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eANd,uBAAA,CAAA,CAAuB,EAAA,CCA/B,IAAA,EAAA,cAA0B,EAAA,eAAe,EAAA,GAAA,CAAA,AAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,EAAA,CAAA,KAAA,MACF,GAAA,KAAA,QAAA,CACS,EAAA,KAAA,SAAA,CACL,EAAA,KAAA,KACL,GAE5C,mBAAA,CACC,MAAM,mBAAA,EAEN,EAAA,EAAA,WAAsB,KAAM,QAAA,CAC1B,MAAA,EAAA,EAAA,WAAe,KAAK,cAAA,CAAA,CACpB,UAAU,KAAK,YAAA,CAGlB,sBAAA,CACC,MAAM,sBAAA,CAIP,aAAA,CACC,GAAA,CAAI,KAAK,SAIT,GADmB,KAAK,QAAQ,uBAAA,CAChB,CAEf,IAAM,EAAQ,IAAI,YAAY,qBAAsB,CACnD,OAAQ,CAAE,MAAO,KAAK,MAAA,CACtB,QAAA,CAAS,EACT,SAAA,CAAU,EAAA,CAAA,CAEX,KAAK,cAAc,EAAA,MAGnB,KAAK,QAAA,CAAU,EACf,KAAK,WAAW,CAAE,MAAO,KAAK,MAAA,CAAA,CAIhC,QAAA,CACC,MAAO,GAAA,IAAI;;;;;;eAME,KAAK,MAAA;iBACH,KAAK,QAAA;kBACJ,KAAK,SAAA;cACT,KAAK,KAAA;;;;;;;;0BAhDR,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,QAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjB,CAAE,KAAM,QAAS,QAAA,CAAS,EAAA,CAAA,CAAA,CAAO,EAAA,UAAA,UAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UACjC,CAAE,KAAM,QAAA,CAAA,CAAA,CAAU,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAClB,CAAE,KAAM,OAAA,CAAA,CAAA,CAAS,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eALb,wBAAA,CAAA,CAAwB,EAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { t as e } from "./tailwind.mixin-DufHBjmb.js";
|
|
2
|
+
import { t } from "./decorate-D_utPUsC.js";
|
|
3
|
+
import { FormFieldMixin as n } from "./mixins.js";
|
|
4
|
+
import { Subject as r, fromEvent as i, takeUntil as a } from "rxjs";
|
|
5
|
+
import { customElement as o, property as s } from "lit/decorators.js";
|
|
6
|
+
import { html as c } from "lit";
|
|
7
|
+
import { when as l } from "lit/directives/when.js";
|
|
8
|
+
var u = class extends n(e(":host{display:inherit;position:inherit}")) {
|
|
9
|
+
constructor(...e) {
|
|
10
|
+
super(...e), this.label = "", this.name = "", this.value = "", this.options = [], this.required = !1, this.selection$ = new r();
|
|
11
|
+
}
|
|
12
|
+
connectedCallback() {
|
|
13
|
+
super.connectedCallback(), this.selection$.pipe(a(this.disconnecting)).subscribe((e) => {
|
|
14
|
+
this.value = e, this.emitChange({ value: e }), this.updateChildRadioButtons();
|
|
15
|
+
}), i(this, "radio-button-click").pipe(a(this.disconnecting)).subscribe((e) => {
|
|
16
|
+
this.selection$.next(e.detail.value);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
disconnectedCallback() {
|
|
20
|
+
super.disconnectedCallback(), this.selection$?.complete();
|
|
21
|
+
}
|
|
22
|
+
handleSelection(e) {
|
|
23
|
+
this.selection$.next(e);
|
|
24
|
+
}
|
|
25
|
+
updateChildRadioButtons() {
|
|
26
|
+
this.querySelectorAll("schmancy-radio-button").forEach((e) => {
|
|
27
|
+
e.getAttribute("value") === this.value ? e.setAttribute("checked", "") : e.removeAttribute("checked");
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
updated(e) {
|
|
31
|
+
super.updated(e), e.has("value") && this.updateChildRadioButtons();
|
|
32
|
+
}
|
|
33
|
+
render() {
|
|
34
|
+
let e = this.childElementCount > 0;
|
|
35
|
+
return c`
|
|
36
|
+
<div class="grid gap-4">
|
|
37
|
+
${l(this.label, () => c` <label class="text-base font-semibold text-surface-on">${this.label}</label> `)}
|
|
38
|
+
|
|
39
|
+
${e ? c`<slot></slot>` : this.options?.map((e) => c`
|
|
40
|
+
<div class="flex items-center">
|
|
41
|
+
<input
|
|
42
|
+
.required=${this.required}
|
|
43
|
+
id=${e.value}
|
|
44
|
+
class="h-4 w-4 border-outline text-primary-default focus:ring-primary-default"
|
|
45
|
+
type="radio"
|
|
46
|
+
name=${this.name}
|
|
47
|
+
.value=${e.value}
|
|
48
|
+
.checked=${e.value === this.value}
|
|
49
|
+
@change=${() => this.handleSelection(e.value)}
|
|
50
|
+
/>
|
|
51
|
+
<label for=${e.value} class="ml-3 block text-sm font-medium leading-6 text-surface-on">
|
|
52
|
+
${e.label || e.value}
|
|
53
|
+
</label>
|
|
54
|
+
</div>
|
|
55
|
+
`)}
|
|
56
|
+
</div>
|
|
57
|
+
`;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
t([s({ type: String })], u.prototype, "label", void 0), t([s({ type: String })], u.prototype, "name", void 0), t([s({ type: String })], u.prototype, "value", void 0), t([s({ type: Array })], u.prototype, "options", void 0), t([s({ type: Boolean })], u.prototype, "required", void 0), u = t([o("schmancy-radio-group")], u);
|
|
61
|
+
var d = class extends n(e()) {
|
|
62
|
+
constructor(...e) {
|
|
63
|
+
super(...e), this.value = "", this.checked = !1, this.disabled = !1, this.name = "";
|
|
64
|
+
}
|
|
65
|
+
connectedCallback() {
|
|
66
|
+
super.connectedCallback(), i(this, "click").pipe(a(this.disconnecting)).subscribe(this.handleClick);
|
|
67
|
+
}
|
|
68
|
+
disconnectedCallback() {
|
|
69
|
+
super.disconnectedCallback();
|
|
70
|
+
}
|
|
71
|
+
handleClick() {
|
|
72
|
+
if (!this.disabled) if (this.closest("schmancy-radio-group")) {
|
|
73
|
+
let e = new CustomEvent("radio-button-click", {
|
|
74
|
+
detail: { value: this.value },
|
|
75
|
+
bubbles: !0,
|
|
76
|
+
composed: !0
|
|
77
|
+
});
|
|
78
|
+
this.dispatchEvent(e);
|
|
79
|
+
} else this.checked = !0, this.emitChange({ value: this.value });
|
|
80
|
+
}
|
|
81
|
+
render() {
|
|
82
|
+
return c`
|
|
83
|
+
<label class="relative flex items-start cursor-pointer">
|
|
84
|
+
<div class="flex items-center h-6">
|
|
85
|
+
<input
|
|
86
|
+
type="radio"
|
|
87
|
+
class="h-4 w-4 text-primary-default focus:ring-primary-container border-outline"
|
|
88
|
+
.value=${this.value}
|
|
89
|
+
.checked=${this.checked}
|
|
90
|
+
.disabled=${this.disabled}
|
|
91
|
+
.name=${this.name}
|
|
92
|
+
@change=${() => {}}
|
|
93
|
+
/>
|
|
94
|
+
</div>
|
|
95
|
+
<div class="ml-3">
|
|
96
|
+
<slot name="label"></slot>
|
|
97
|
+
</div>
|
|
98
|
+
</label>
|
|
99
|
+
`;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
t([s({ type: String })], d.prototype, "value", void 0), t([s({
|
|
103
|
+
type: Boolean,
|
|
104
|
+
reflect: !0
|
|
105
|
+
})], d.prototype, "checked", void 0), t([s({ type: Boolean })], d.prototype, "disabled", void 0), t([s({ type: String })], d.prototype, "name", void 0), d = t([o("schmancy-radio-button")], d);
|
|
106
|
+
export { u as n, d as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group-CyRHgIF3.js","names":[],"sources":["../src/radio-group/radio-group.scss?inline","../src/radio-group/radio-group.ts","../src/radio-group/radio-button.ts"],"sourcesContent":[":host {\n\tdisplay: inherit;\n\tposition: inherit;\n}\n","import { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { Subject, fromEvent, takeUntil } from 'rxjs'\nimport style from './radio-group.scss?inline'\nimport { TailwindElement } from '@mixins/index'\nimport { when } from 'lit/directives/when.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\n\nexport type SchmancyRadioGroupOption = {\n\tlabel: string\n\tvalue: string\n}\nexport type SchmancyRadioGroupChangeEvent = CustomEvent<{\n\tvalue: string\n}>\n@customElement('schmancy-radio-group')\nexport class RadioGroup extends FormFieldMixin(TailwindElement(style)) {\n\t@property({ type: String }) override label = ''\n\t@property({ type: String }) override name = ''\n\t@property({ type: String }) override value = ''\n\t@property({ type: Array }) options: SchmancyRadioGroupOption[] = []\n\t@property({ type: Boolean }) override required: boolean = false\n\tprivate selection$ = new Subject<string>()\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.selection$.pipe(takeUntil(this.disconnecting)).subscribe(value => {\n\t\t\tthis.value = value\n\t\t\tthis.emitChange({ value })\n\t\t\t// Update all child radio buttons\n\t\t\tthis.updateChildRadioButtons()\n\t\t})\n\n\t\t// Listen for radio button clicks from children\n\t\tfromEvent<CustomEvent>(this, 'radio-button-click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe((e: CustomEvent) => {\n\t\t\t\tthis.selection$.next(e.detail.value)\n\t\t\t})\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Subscriptions are automatically cleaned up via takeUntil(this.disconnecting)\n\t\tthis.selection$?.complete()\n\t}\n\t\n\tprivate handleSelection(value: string) {\n\t\tthis.selection$.next(value)\n\t}\n\t\n\tprivate updateChildRadioButtons() {\n\t\t// Update child radio buttons checked state\n\t\tconst radioButtons = this.querySelectorAll('schmancy-radio-button')\n\t\tradioButtons.forEach(button => {\n\t\t\tconst buttonValue = button.getAttribute('value')\n\t\t\tif (buttonValue === this.value) {\n\t\t\t\tbutton.setAttribute('checked', '')\n\t\t\t} else {\n\t\t\t\tbutton.removeAttribute('checked')\n\t\t\t}\n\t\t})\n\t}\n\t\n\t// For backwards compatibility with direct option setting\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('value')) {\n\t\t\tthis.updateChildRadioButtons()\n\t\t}\n\t}\n\n\trender() {\n\t\t// Check if we have any slotted radio buttons\n\t\tconst hasSlottedContent = this.childElementCount > 0\n\t\t\n\t\treturn html`\n\t\t\t<div class=\"grid gap-4\">\n\t\t\t\t${when(this.label, () => html` <label class=\"text-base font-semibold text-surface-on\">${this.label}</label> `)}\n\t\t\t\t\n\t\t\t\t${hasSlottedContent ? \n\t\t\t\t\thtml`<slot></slot>` :\n\t\t\t\t\tthis.options?.map(option => html`\n\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t\t\t\tid=${option.value}\n\t\t\t\t\t\t\t\tclass=\"h-4 w-4 border-outline text-primary-default focus:ring-primary-default\"\n\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\tname=${this.name}\n\t\t\t\t\t\t\t\t.value=${option.value}\n\t\t\t\t\t\t\t\t.checked=${option.value === this.value}\n\t\t\t\t\t\t\t\t@change=${() => this.handleSelection(option.value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label for=${option.value} class=\"ml-3 block text-sm font-medium leading-6 text-surface-on\">\n\t\t\t\t\t\t\t\t${option.label || option.value}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`)\n\t\t\t\t}\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-group': RadioGroup\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { FormFieldMixin } from '../../mixins/formField.mixin'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Radio button component for use within radio groups.\n *\n * @prop {string} name - Name attribute for grouping radio buttons\n * @prop {string} value - Value of this radio button\n * @prop {boolean} checked - Whether the radio button is selected\n * @prop {boolean} disabled - Whether the radio button is disabled\n */\n@customElement('schmancy-radio-button')\nexport class RadioButton extends FormFieldMixin(TailwindElement()) {\n\t@property({ type: String }) override value = ''\n\t@property({ type: Boolean, reflect: true }) checked = false\n\t@property({ type: Boolean }) override disabled = false\n\t@property({ type: String }) override name = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Listen for click events\n\t\tfromEvent<MouseEvent>(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(this.handleClick)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\t// Event listeners are automatically cleaned up via takeUntil(this.disconnecting)\n\t}\n\n\tprivate handleClick() {\n\t\tif (this.disabled) return\n\n\t\t// Find parent radio-group if exists\n\t\tconst radioGroup = this.closest('schmancy-radio-group')\n\t\tif (radioGroup) {\n\t\t\t// Let the radio-group handle the change\n\t\t\tconst event = new CustomEvent('radio-button-click', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t\tthis.dispatchEvent(event)\n\t\t} else {\n\t\t\t// Standalone usage\n\t\t\tthis.checked = true\n\t\t\tthis.emitChange({ value: this.value })\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<label class=\"relative flex items-start cursor-pointer\">\n\t\t\t\t<div class=\"flex items-center h-6\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tclass=\"h-4 w-4 text-primary-default focus:ring-primary-container border-outline\"\n\t\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t\t.checked=${this.checked}\n\t\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t\t@change=${() => {}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ml-3\">\n\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t</div>\n\t\t\t</label>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-radio-button': RadioButton\n\t}\n}\n"],"mappings":"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"}
|
package/dist/radio-group.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./radio-group-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./radio-group-Cd9pZ2MR.cjs`);Object.defineProperty(exports,`RadioButton`,{enumerable:!0,get:function(){return e.t}}),Object.defineProperty(exports,`RadioGroup`,{enumerable:!0,get:function(){return e.n}});
|
package/dist/radio-group.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./radio-group-
|
|
1
|
+
import { n as e, t } from "./radio-group-CyRHgIF3.js";
|
|
2
2
|
export { t as RadioButton, e as RadioGroup };
|
package/dist/range.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Cpa-VnnX.cjs`),t=require(`./decorate-F9CuyeHg.cjs`);require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`),i=require(`lit/directives/when.js`);var a=class extends e.t(r.css`
|
|
2
2
|
input[type='range'] {
|
|
3
3
|
-webkit-appearance: none;
|
|
4
4
|
appearance: none;
|
|
@@ -40,9 +40,9 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./ch
|
|
|
40
40
|
background: var(--color-primary, #6750a4);
|
|
41
41
|
cursor: pointer;
|
|
42
42
|
}
|
|
43
|
-
`){constructor(...e){super(...e),this.min=0,this.max=1,this.step=.01,this.value=0,this.disabled=!1}get progress(){return(this.value-this.min)/(this.max-this.min)*100+`%`}render(){return
|
|
43
|
+
`){constructor(...e){super(...e),this.min=0,this.max=1,this.step=.01,this.value=0,this.disabled=!1}get progress(){return(this.value-this.min)/(this.max-this.min)*100+`%`}render(){return r.html`
|
|
44
44
|
<div class="flex flex-col gap-1 w-full">
|
|
45
|
-
${(0,
|
|
45
|
+
${(0,i.when)(this.label,()=>r.html`
|
|
46
46
|
<div class="flex justify-between items-center">
|
|
47
47
|
<schmancy-typography type="label" token="sm" class="text-surface-on">${this.label}</schmancy-typography>
|
|
48
48
|
<schmancy-typography type="label" token="sm" class="text-surface-on opacity-60">${this.value}</schmancy-typography>
|
|
@@ -59,4 +59,4 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./ch
|
|
|
59
59
|
@input=${e=>{this.value=Number(e.target.value),this.dispatchEvent(new CustomEvent(`change`,{detail:{value:this.value},bubbles:!0,composed:!0}))}}
|
|
60
60
|
/>
|
|
61
61
|
</div>
|
|
62
|
-
`}};
|
|
62
|
+
`}};t.t([(0,n.property)({type:Number})],a.prototype,`min`,void 0),t.t([(0,n.property)({type:Number})],a.prototype,`max`,void 0),t.t([(0,n.property)({type:Number})],a.prototype,`step`,void 0),t.t([(0,n.property)({type:Number})],a.prototype,`value`,void 0),t.t([(0,n.property)({type:String})],a.prototype,`label`,void 0),t.t([(0,n.property)({type:Boolean})],a.prototype,`disabled`,void 0),a=t.t([(0,n.customElement)(`schmancy-range`)],a),Object.defineProperty(exports,`SchmancyRange`,{enumerable:!0,get:function(){return a}});
|