@mhmo91/schmancy 0.8.6 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -1
- package/ai/animation.md +64 -0
- package/ai/area.md +35 -256
- package/ai/autocomplete.md +44 -162
- package/ai/avatar.md +47 -178
- package/ai/badge.md +41 -108
- package/ai/busy.md +25 -184
- package/ai/button.md +52 -150
- package/ai/card.md +42 -215
- package/ai/checkbox.md +32 -135
- package/ai/chips.md +73 -383
- package/ai/code-highlight.md +33 -226
- package/ai/content-drawer.md +65 -232
- package/ai/date-range.md +43 -198
- package/ai/details.md +48 -453
- package/ai/dialog.md +55 -164
- package/ai/directives.md +258 -405
- package/ai/divider.md +15 -137
- package/ai/dropdown.md +44 -235
- package/ai/form.md +41 -137
- package/ai/icons.md +31 -235
- package/ai/input.md +50 -210
- package/ai/lightbox.md +25 -370
- package/ai/list.md +51 -130
- package/ai/menu.md +25 -134
- package/ai/mixins.md +70 -0
- package/ai/nav-drawer.md +30 -184
- package/ai/navigation-bar.md +27 -184
- package/ai/navigation-rail.md +62 -630
- package/ai/notification.md +49 -183
- package/ai/progress.md +26 -65
- package/ai/radio-group.md +45 -189
- package/ai/select.md +49 -209
- package/ai/sheet.md +74 -506
- package/ai/steps.md +30 -392
- package/ai/store.md +60 -247
- package/ai/surface.md +58 -245
- package/ai/table.md +56 -330
- package/ai/tabs.md +31 -176
- package/ai/textarea.md +48 -232
- package/ai/theme.md +40 -1089
- package/ai/tooltip.md +35 -146
- package/ai/tree.md +45 -271
- package/ai/typography.md +43 -296
- package/custom-elements.json +10955 -0
- package/dist/ai/animation.md +64 -0
- package/dist/ai/area.md +35 -256
- package/dist/ai/autocomplete.md +44 -162
- package/dist/ai/avatar.md +47 -178
- package/dist/ai/badge.md +41 -108
- package/dist/ai/busy.md +25 -184
- package/dist/ai/button.md +52 -150
- package/dist/ai/card.md +42 -215
- package/dist/ai/checkbox.md +32 -135
- package/dist/ai/chips.md +73 -383
- package/dist/ai/code-highlight.md +33 -226
- package/dist/ai/content-drawer.md +65 -232
- package/dist/ai/date-range.md +43 -198
- package/dist/ai/details.md +48 -453
- package/dist/ai/dialog.md +55 -164
- package/dist/ai/directives.md +258 -405
- package/dist/ai/divider.md +15 -137
- package/dist/ai/dropdown.md +44 -235
- package/dist/ai/form.md +41 -137
- package/dist/ai/icons.md +31 -235
- package/dist/ai/input.md +50 -210
- package/dist/ai/lightbox.md +25 -370
- package/dist/ai/list.md +51 -130
- package/dist/ai/menu.md +25 -134
- package/dist/ai/mixins.md +70 -0
- package/dist/ai/nav-drawer.md +30 -184
- package/dist/ai/navigation-bar.md +27 -184
- package/dist/ai/navigation-rail.md +62 -630
- package/dist/ai/notification.md +49 -183
- package/dist/ai/progress.md +26 -65
- package/dist/ai/radio-group.md +45 -189
- package/dist/ai/select.md +49 -209
- package/dist/ai/sheet.md +74 -506
- package/dist/ai/steps.md +30 -392
- package/dist/ai/store.md +60 -247
- package/dist/ai/surface.md +58 -245
- package/dist/ai/table.md +56 -330
- package/dist/ai/tabs.md +31 -176
- package/dist/ai/textarea.md +48 -232
- package/dist/ai/theme.md +40 -1089
- package/dist/ai/tooltip.md +35 -146
- package/dist/ai/tree.md +45 -271
- package/dist/ai/typography.md +43 -296
- package/dist/animation-BK-8BwY8.js +173 -0
- package/dist/animation-BK-8BwY8.js.map +1 -0
- package/dist/animation-CO_Csq84.cjs +16 -0
- package/dist/animation-CO_Csq84.cjs.map +1 -0
- package/dist/area-1h9xEpTc.cjs +12 -0
- package/dist/area-1h9xEpTc.cjs.map +1 -0
- package/dist/area-DbBcfm5p.js +590 -0
- package/dist/area-DbBcfm5p.js.map +1 -0
- package/dist/area.cjs +1 -2
- package/dist/area.js +2 -29
- package/dist/audio-DtYYgzYD.cjs +1 -0
- package/dist/audio-DtYYgzYD.cjs.map +1 -0
- package/dist/audio-kz8UgPTO.js +335 -0
- package/dist/audio-kz8UgPTO.js.map +1 -0
- package/dist/audio.cjs +1 -2
- package/dist/audio.js +3 -9
- package/dist/autocomplete-DDVsegep.js +378 -0
- package/dist/autocomplete-DDVsegep.js.map +1 -0
- package/dist/autocomplete-OE70CcYP.cjs +111 -0
- package/dist/autocomplete-OE70CcYP.cjs.map +1 -0
- package/dist/autocomplete.cjs +1 -2
- package/dist/autocomplete.js +1 -2
- package/dist/badge.cjs +1 -2
- package/dist/badge.js +2 -6
- package/dist/boat-Cf1oJ0ka.cjs +80 -0
- package/dist/boat-Cf1oJ0ka.cjs.map +1 -0
- package/dist/boat-T8Ov4-yA.js +347 -0
- package/dist/boat-T8Ov4-yA.js.map +1 -0
- package/dist/boat.cjs +1 -2
- package/dist/boat.js +2 -5
- package/dist/busy-BD6D5P-l.js +167 -0
- package/dist/busy-BD6D5P-l.js.map +1 -0
- package/dist/busy-DF9wztWL.cjs +134 -0
- package/dist/busy-DF9wztWL.cjs.map +1 -0
- package/dist/busy.cjs +1 -2
- package/dist/busy.js +1 -2
- package/dist/button.cjs +113 -2
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +398 -5
- package/dist/button.js.map +1 -1
- package/dist/card-Csvu8UJ9.cjs +177 -0
- package/dist/card-Csvu8UJ9.cjs.map +1 -0
- package/dist/card-DM_miKMd.js +284 -0
- package/dist/card-DM_miKMd.js.map +1 -0
- package/dist/card.cjs +1 -2
- package/dist/card.js +1 -2
- package/dist/charts.cjs +112 -2
- package/dist/charts.cjs.map +1 -1
- package/dist/charts.js +368 -8
- package/dist/charts.js.map +1 -1
- package/dist/checkbox-BgGtMaMR.js +610 -0
- package/dist/checkbox-BgGtMaMR.js.map +1 -0
- package/dist/checkbox-sJujc_ga.cjs +39 -0
- package/dist/checkbox-sJujc_ga.cjs.map +1 -0
- package/dist/checkbox.cjs +1 -2
- package/dist/checkbox.js +2 -5
- package/dist/chips-BZaH4wez.js +645 -0
- package/dist/chips-BZaH4wez.js.map +1 -0
- package/dist/chips-D_e6wijp.cjs +253 -0
- package/dist/chips-D_e6wijp.cjs.map +1 -0
- package/dist/chips.cjs +1 -2
- package/dist/chips.js +3 -10
- package/dist/chunk-BCfY8kxB.cjs +1 -0
- package/dist/chunk-C_1VqBVD.js +11 -0
- package/dist/code-highlight-DlhERv_O.cjs +190 -0
- package/dist/code-highlight-DlhERv_O.cjs.map +1 -0
- package/dist/code-highlight-Q3cc6ukq.js +290 -0
- package/dist/code-highlight-Q3cc6ukq.js.map +1 -0
- package/dist/code-highlight.cjs +1 -2
- package/dist/code-highlight.js +2 -7
- package/dist/components-CRhkB3V2.js +730 -0
- package/dist/components-CRhkB3V2.js.map +1 -0
- package/dist/components-DnlEYYDs.cjs +73 -0
- package/dist/components-DnlEYYDs.cjs.map +1 -0
- package/dist/components.cjs +1 -2
- package/dist/components.js +2 -5
- package/dist/connectivity.cjs +59 -0
- package/dist/connectivity.cjs.map +1 -0
- package/dist/connectivity.js +86 -0
- package/dist/connectivity.js.map +1 -0
- package/dist/content-drawer.cjs +1 -2
- package/dist/content-drawer.js +2 -13
- package/dist/cursor-glow-Ah7VXSj7.js +46 -0
- package/dist/cursor-glow-Ah7VXSj7.js.map +1 -0
- package/dist/cursor-glow-DtSy_PJd.cjs +1 -0
- package/dist/cursor-glow-DtSy_PJd.cjs.map +1 -0
- package/dist/date-range-C0IYnvHF.js +946 -0
- package/dist/date-range-C0IYnvHF.js.map +1 -0
- package/dist/date-range-cymbTDnl.cjs +131 -0
- package/dist/date-range-cymbTDnl.cjs.map +1 -0
- package/dist/date-range-inline-0ENN4Plz.js +267 -0
- package/dist/date-range-inline-0ENN4Plz.js.map +1 -0
- package/dist/date-range-inline-Cfwt-ReH.cjs +43 -0
- package/dist/date-range-inline-Cfwt-ReH.cjs.map +1 -0
- package/dist/date-range-inline.cjs +1 -2
- package/dist/date-range-inline.js +2 -5
- package/dist/date-range.cjs +1 -2
- package/dist/date-range.js +2 -6
- package/dist/delay-D1dVP93u.js +346 -0
- package/dist/delay-D1dVP93u.js.map +1 -0
- package/dist/delay-D6mQLUp-.cjs +9 -0
- package/dist/delay-D6mQLUp-.cjs.map +1 -0
- package/dist/delay.cjs +1 -2
- package/dist/delay.js +2 -6
- package/dist/details-CPT_Mi4e.cjs +168 -0
- package/dist/details-CPT_Mi4e.cjs.map +1 -0
- package/dist/details-Cv4OOrVW.js +293 -0
- package/dist/details-Cv4OOrVW.js.map +1 -0
- package/dist/details.cjs +1 -2
- package/dist/details.js +2 -5
- package/dist/dialog-service-NZEvyEK-.js +193 -0
- package/dist/dialog-service-NZEvyEK-.js.map +1 -0
- package/dist/dialog-service-VnW4gkmE.cjs +1 -0
- package/dist/dialog-service-VnW4gkmE.cjs.map +1 -0
- package/dist/dialog.cjs +82 -2
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.js +396 -9
- package/dist/dialog.js.map +1 -1
- package/dist/directives.cjs +108 -2
- package/dist/directives.cjs.map +1 -1
- package/dist/directives.js +1362 -14
- package/dist/directives.js.map +1 -1
- package/dist/discovery.cjs +1 -2
- package/dist/discovery.cjs.map +1 -1
- package/dist/discovery.js +61 -6
- package/dist/discovery.js.map +1 -1
- package/dist/divider-DDC-kND3.js +87 -0
- package/dist/divider-DDC-kND3.js.map +1 -0
- package/dist/divider-nZ_2to2N.cjs +57 -0
- package/dist/divider-nZ_2to2N.cjs.map +1 -0
- package/dist/divider.cjs +1 -2
- package/dist/divider.js +1 -2
- package/dist/dropdown.cjs +57 -2
- package/dist/dropdown.cjs.map +1 -1
- package/dist/dropdown.js +160 -5
- package/dist/dropdown.js.map +1 -1
- package/dist/expand-Bp3N8CcL.js +336 -0
- package/dist/expand-Bp3N8CcL.js.map +1 -0
- package/dist/expand-Crdts9q_.cjs +141 -0
- package/dist/expand-Crdts9q_.cjs.map +1 -0
- package/dist/expand.cjs +1 -0
- package/dist/expand.js +2 -0
- package/dist/extra-B0IZCg0t.cjs +31 -0
- package/dist/extra-B0IZCg0t.cjs.map +1 -0
- package/dist/extra-DupwhQhC.js +3435 -0
- package/dist/extra-DupwhQhC.js.map +1 -0
- package/dist/extra.cjs +1 -2
- package/dist/extra.js +2 -6
- package/dist/float-CQoJ_oSB.cjs +1 -0
- package/dist/float-CQoJ_oSB.cjs.map +1 -0
- package/dist/float-Dqdc1_S5.js +5 -0
- package/dist/float-Dqdc1_S5.js.map +1 -0
- package/dist/float.cjs +1 -0
- package/dist/float.js +2 -0
- package/dist/flow-Bbwn6dRN.cjs +1 -0
- package/dist/flow-Bbwn6dRN.cjs.map +1 -0
- package/dist/flow-CUj0fDT_.js +386 -0
- package/dist/flow-CUj0fDT_.js.map +1 -0
- package/dist/form-CW5XNuTg.js +270 -0
- package/dist/form-CW5XNuTg.js.map +1 -0
- package/dist/form-CvoLqMY7.cjs +1 -0
- package/dist/form-CvoLqMY7.cjs.map +1 -0
- package/dist/form.cjs +1 -2
- package/dist/form.js +1 -2
- package/dist/hashContent-DYM21p6t.js +6 -0
- package/dist/hashContent-DYM21p6t.js.map +1 -0
- package/dist/hashContent-DaeGmY-p.cjs +1 -0
- package/dist/hashContent-DaeGmY-p.cjs.map +1 -0
- package/dist/icons-BLQHEbIk.cjs +52 -0
- package/dist/icons-BLQHEbIk.cjs.map +1 -0
- package/dist/icons-Cpfdb7sA.js +161 -0
- package/dist/icons-Cpfdb7sA.js.map +1 -0
- package/dist/icons.cjs +1 -2
- package/dist/icons.js +1 -2
- package/dist/iframe-DG6HVYdy.js +44 -0
- package/dist/iframe-DG6HVYdy.js.map +1 -0
- package/dist/iframe-sJGXBbxT.cjs +24 -0
- package/dist/iframe-sJGXBbxT.cjs.map +1 -0
- package/dist/iframe.cjs +1 -0
- package/dist/iframe.js +2 -0
- package/dist/index.cjs +1 -2
- package/dist/index.js +69 -285
- package/dist/input-BevxycIt.js +364 -0
- package/dist/input-BevxycIt.js.map +1 -0
- package/dist/input-DGTdmp1Q.cjs +51 -0
- package/dist/input-DGTdmp1Q.cjs.map +1 -0
- package/dist/input-chip-BWS-SFU4.js +301 -0
- package/dist/input-chip-BWS-SFU4.js.map +1 -0
- package/dist/input-chip-CKVtjInb.cjs +146 -0
- package/dist/input-chip-CKVtjInb.cjs.map +1 -0
- package/dist/input.cjs +1 -2
- package/dist/input.js +2 -6
- package/dist/intersection-BPLpqYEd.js +12 -0
- package/dist/intersection-BPLpqYEd.js.map +1 -0
- package/dist/intersection-CZpaIHeT.cjs +1 -0
- package/dist/intersection-CZpaIHeT.cjs.map +1 -0
- package/dist/json.cjs +11 -2
- package/dist/json.cjs.map +1 -1
- package/dist/json.js +40 -4
- package/dist/json.js.map +1 -1
- package/dist/layout-4C-6_cre.cjs +1 -0
- package/dist/layout-4C-6_cre.cjs.map +1 -0
- package/dist/layout-CQdd8UCr.cjs +17 -0
- package/dist/layout-CQdd8UCr.cjs.map +1 -0
- package/dist/layout-DxLjlDfr.js +267 -0
- package/dist/layout-DxLjlDfr.js.map +1 -0
- package/dist/layout-yxSlLybo.js +94 -0
- package/dist/layout-yxSlLybo.js.map +1 -0
- package/dist/layout.cjs +1 -2
- package/dist/layout.js +3 -9
- package/dist/lightbox-Bjc55lHH.js +678 -0
- package/dist/lightbox-Bjc55lHH.js.map +1 -0
- package/dist/lightbox-C_863_XU.cjs +202 -0
- package/dist/lightbox-C_863_XU.cjs.map +1 -0
- package/dist/lightbox.cjs +1 -2
- package/dist/lightbox.js +2 -8
- package/dist/list-BAqhlzZd.js +105 -0
- package/dist/list-BAqhlzZd.js.map +1 -0
- package/dist/list-CaXzdN9_.cjs +40 -0
- package/dist/list-CaXzdN9_.cjs.map +1 -0
- package/dist/list.cjs +1 -2
- package/dist/list.js +2 -7
- package/dist/litElement.mixin-DN6X9_wD.cjs +1 -0
- package/dist/litElement.mixin-DN6X9_wD.cjs.map +1 -0
- package/dist/litElement.mixin-Dktub0ri.js +12 -0
- package/dist/litElement.mixin-Dktub0ri.js.map +1 -0
- package/dist/magnetic-BZGFxAWG.js +47 -0
- package/dist/magnetic-BZGFxAWG.js.map +1 -0
- package/dist/magnetic-Dux4QwO4.cjs +1 -0
- package/dist/magnetic-Dux4QwO4.cjs.map +1 -0
- package/dist/mailbox-BvsLXpvy.cjs +1142 -0
- package/dist/mailbox-BvsLXpvy.cjs.map +1 -0
- package/dist/mailbox-DuMUH4f3.js +1584 -0
- package/dist/mailbox-DuMUH4f3.js.map +1 -0
- package/dist/mailbox.cjs +1 -2
- package/dist/mailbox.js +2 -9
- package/dist/map-C2Msv9TQ.cjs +80 -0
- package/dist/map-C2Msv9TQ.cjs.map +1 -0
- package/dist/map-DkIy1ph7.js +205 -0
- package/dist/map-DkIy1ph7.js.map +1 -0
- package/dist/map.cjs +1 -2
- package/dist/map.js +2 -5
- package/dist/menu-DEeDKW5U.js +51 -0
- package/dist/menu-DEeDKW5U.js.map +1 -0
- package/dist/menu-Mm71lv9k.cjs +23 -0
- package/dist/menu-Mm71lv9k.cjs.map +1 -0
- package/dist/menu.cjs +1 -2
- package/dist/menu.js +1 -2
- package/dist/mixins.cjs +1 -2
- package/dist/mixins.cjs.map +1 -1
- package/dist/mixins.js +59 -12
- package/dist/mixins.js.map +1 -1
- package/dist/nav-drawer.cjs +1 -2
- package/dist/nav-drawer.js +2 -12
- package/dist/navigation-bar.cjs +1 -2
- package/dist/navigation-bar.js +2 -6
- package/dist/navigation-rail.cjs +71 -2
- package/dist/navigation-rail.cjs.map +1 -1
- package/dist/navigation-rail.js +363 -5
- package/dist/navigation-rail.js.map +1 -1
- package/dist/notification-K-ug8cKk.js +304 -0
- package/dist/notification-K-ug8cKk.js.map +1 -0
- package/dist/notification-cTgXEDZ0.cjs +23 -0
- package/dist/notification-cTgXEDZ0.cjs.map +1 -0
- package/dist/notification.cjs +1 -2
- package/dist/notification.js +2 -9
- package/dist/option-5rEOmtAm.cjs +43 -0
- package/dist/option-5rEOmtAm.cjs.map +1 -0
- package/dist/option-TFSKvSjT.js +97 -0
- package/dist/option-TFSKvSjT.js.map +1 -0
- package/dist/option.cjs +1 -2
- package/dist/option.js +1 -2
- package/dist/overlay-stack-DQey9Qph.cjs +1 -0
- package/dist/overlay-stack-DQey9Qph.cjs.map +1 -0
- package/dist/overlay-stack-DT1SdaGW.js +39 -0
- package/dist/overlay-stack-DT1SdaGW.js.map +1 -0
- package/dist/page.cjs +20 -2
- package/dist/page.cjs.map +1 -1
- package/dist/page.js +71 -4
- package/dist/page.js.map +1 -1
- package/dist/progress-Cta3nM-f.js +128 -0
- package/dist/progress-Cta3nM-f.js.map +1 -0
- package/dist/progress-iu0AMbSg.cjs +51 -0
- package/dist/progress-iu0AMbSg.cjs.map +1 -0
- package/dist/progress.cjs +1 -2
- package/dist/progress.js +1 -2
- package/dist/provide-BEyyKlDM.cjs +1 -0
- package/dist/provide-BEyyKlDM.cjs.map +1 -0
- package/dist/provide-D69zybs5.js +107 -0
- package/dist/provide-D69zybs5.js.map +1 -0
- package/dist/qr-scanner.cjs +35 -2
- package/dist/qr-scanner.cjs.map +1 -1
- package/dist/qr-scanner.js +119 -4
- package/dist/qr-scanner.js.map +1 -1
- package/dist/radio-group-BjSWmYJC.js +105 -0
- package/dist/radio-group-BjSWmYJC.js.map +1 -0
- package/dist/radio-group-DKPN0T50.cjs +40 -0
- package/dist/radio-group-DKPN0T50.cjs.map +1 -0
- package/dist/radio-group.cjs +1 -2
- package/dist/radio-group.js +2 -6
- package/dist/range.cjs +62 -0
- package/dist/range.cjs.map +1 -0
- package/dist/range.js +85 -0
- package/dist/range.js.map +1 -0
- package/dist/reduced-motion-D-L12p7G.js +7 -0
- package/dist/reduced-motion-D-L12p7G.js.map +1 -0
- package/dist/reduced-motion-Ds05GPyz.cjs +1 -0
- package/dist/reduced-motion-Ds05GPyz.cjs.map +1 -0
- package/dist/rxjs-utils-BSjmI9-Q.js +32 -0
- package/dist/rxjs-utils-BSjmI9-Q.js.map +1 -0
- package/dist/rxjs-utils-DCsfzeap.cjs +1 -0
- package/dist/rxjs-utils-DCsfzeap.cjs.map +1 -0
- package/dist/rxjs-utils.cjs +1 -2
- package/dist/rxjs-utils.js +2 -14
- package/dist/scroll-mayaGGpE.cjs +26 -0
- package/dist/scroll-mayaGGpE.cjs.map +1 -0
- package/dist/scroll-tG1vaRFO.js +112 -0
- package/dist/scroll-tG1vaRFO.js.map +1 -0
- package/dist/search-C4dFHYbX.js +91 -0
- package/dist/search-C4dFHYbX.js.map +1 -0
- package/dist/search-Ds8tt7Et.cjs +1 -0
- package/dist/search-Ds8tt7Et.cjs.map +1 -0
- package/dist/select-C4YK5Arj.cjs +56 -0
- package/dist/select-C4YK5Arj.cjs.map +1 -0
- package/dist/select-CepryGGP.js +305 -0
- package/dist/select-CepryGGP.js.map +1 -0
- package/dist/select.cjs +1 -2
- package/dist/select.js +2 -5
- package/dist/sheet-Cy4C2-kG.cjs +35 -0
- package/dist/sheet-Cy4C2-kG.cjs.map +1 -0
- package/dist/sheet-D2uT95S1.js +168 -0
- package/dist/sheet-D2uT95S1.js.map +1 -0
- package/dist/sheet.cjs +1 -2
- package/dist/sheet.js +3 -7
- package/dist/sheet.service-Dv5Hwj3k.cjs +1 -0
- package/dist/sheet.service-Dv5Hwj3k.cjs.map +1 -0
- package/dist/sheet.service-Os8KJGSE.js +86 -0
- package/dist/sheet.service-Os8KJGSE.js.map +1 -0
- package/dist/slider.cjs +82 -2
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +143 -5
- package/dist/slider.js.map +1 -1
- package/dist/sound.service-Bu3EQLv2.cjs +1 -0
- package/dist/sound.service-Bu3EQLv2.cjs.map +1 -0
- package/dist/sound.service-m3BrSfuH.js +2353 -0
- package/dist/sound.service-m3BrSfuH.js.map +1 -0
- package/dist/src-BLcmKlCH.js +1244 -0
- package/dist/src-BLcmKlCH.js.map +1 -0
- package/dist/src-tfU0akqI.cjs +269 -0
- package/dist/src-tfU0akqI.cjs.map +1 -0
- package/dist/steps.cjs +70 -2
- package/dist/steps.cjs.map +1 -1
- package/dist/steps.js +178 -7
- package/dist/steps.js.map +1 -1
- package/dist/store-CorvD3bT.cjs +1 -0
- package/dist/store-CorvD3bT.cjs.map +1 -0
- package/dist/store-DYqDLAvT.js +1654 -0
- package/dist/store-DYqDLAvT.js.map +1 -0
- package/dist/store.cjs +1 -2
- package/dist/store.js +2 -47
- package/dist/surface-CiiIYeJN.cjs +7 -0
- package/dist/surface-CiiIYeJN.cjs.map +1 -0
- package/dist/surface-fXvRpS6s.js +21 -0
- package/dist/surface-fXvRpS6s.js.map +1 -0
- package/dist/surface.cjs +1 -2
- package/dist/surface.js +2 -6
- package/dist/surface.mixin-C4hbgyaP.cjs +297 -0
- package/dist/surface.mixin-C4hbgyaP.cjs.map +1 -0
- package/dist/surface.mixin-DBuxL5aL.js +320 -0
- package/dist/surface.mixin-DBuxL5aL.js.map +1 -0
- package/dist/table-BRVKlNjl.cjs +63 -0
- package/dist/table-BRVKlNjl.cjs.map +1 -0
- package/dist/table-BeXnwSsq.js +631 -0
- package/dist/table-BeXnwSsq.js.map +1 -0
- package/dist/table.cjs +1 -2
- package/dist/table.js +2 -6
- package/dist/tabs-CBU9Ctqm.cjs +31 -0
- package/dist/tabs-CBU9Ctqm.cjs.map +1 -0
- package/dist/tabs-y708NWQ2.js +125 -0
- package/dist/tabs-y708NWQ2.js.map +1 -0
- package/dist/tabs.cjs +1 -2
- package/dist/tabs.js +1 -2
- package/dist/tailwind.mixin-C4cx3IOr.js +225 -0
- package/dist/tailwind.mixin-C4cx3IOr.js.map +1 -0
- package/dist/tailwind.mixin-DGiyLbEi.cjs +2 -0
- package/dist/tailwind.mixin-DGiyLbEi.cjs.map +1 -0
- package/dist/teleport.cjs +1 -2
- package/dist/teleport.js +2 -8
- package/dist/textarea-BhAoJg8c.cjs +35 -0
- package/dist/textarea-BhAoJg8c.cjs.map +1 -0
- package/dist/textarea-Bl8-gQEJ.js +195 -0
- package/dist/textarea-Bl8-gQEJ.js.map +1 -0
- package/dist/textarea.cjs +1 -2
- package/dist/textarea.js +1 -2
- package/dist/theme-C-vdR-Ic.cjs +181 -0
- package/dist/theme-C-vdR-Ic.cjs.map +1 -0
- package/dist/theme-DZUpYJn-.js +4121 -0
- package/dist/theme-DZUpYJn-.js.map +1 -0
- package/dist/theme-button-CwrvpOMK.js +19 -0
- package/dist/theme-button-CwrvpOMK.js.map +1 -0
- package/dist/theme-button-Cx1iKh7G.cjs +8 -0
- package/dist/theme-button-Cx1iKh7G.cjs.map +1 -0
- package/dist/theme-button.cjs +1 -2
- package/dist/theme-button.js +1 -2
- package/dist/theme.cjs +1 -2
- package/dist/theme.events-Cv7N4Toe.js +2 -0
- package/dist/theme.events-Cv7N4Toe.js.map +1 -0
- package/dist/theme.events-DM4H5F2d.cjs +1 -0
- package/dist/theme.events-DM4H5F2d.cjs.map +1 -0
- package/dist/theme.interface-CXloMUCw.js +276 -0
- package/dist/theme.interface-CXloMUCw.js.map +1 -0
- package/dist/theme.interface-Da23QAYb.cjs +1 -0
- package/dist/theme.interface-Da23QAYb.cjs.map +1 -0
- package/dist/theme.js +6 -21
- package/dist/theme.service-C_tjlqgy.cjs +1 -0
- package/dist/theme.service-C_tjlqgy.cjs.map +1 -0
- package/dist/theme.service-D9lEas89.js +108 -0
- package/dist/theme.service-D9lEas89.js.map +1 -0
- package/dist/tooltip.cjs +6 -2
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.js +200 -5
- package/dist/tooltip.js.map +1 -1
- package/dist/tree.cjs +26 -2
- package/dist/tree.cjs.map +1 -1
- package/dist/tree.js +64 -4
- package/dist/tree.js.map +1 -1
- package/dist/tslib.es6-D7BIeDVB.cjs +1 -0
- package/dist/tslib.es6-D7BIeDVB.cjs.map +1 -0
- package/dist/tslib.es6-ErZEp3OO.js +7 -0
- package/dist/tslib.es6-ErZEp3OO.js.map +1 -0
- package/dist/types.cjs +1 -2
- package/dist/types.cjs.map +1 -1
- package/dist/types.js +4 -5
- package/dist/types.js.map +1 -1
- package/dist/typewriter-CXQIzqPV.cjs +123 -0
- package/dist/typewriter-CXQIzqPV.cjs.map +1 -0
- package/dist/typewriter-mxVw5dFn.js +700 -0
- package/dist/typewriter-mxVw5dFn.js.map +1 -0
- package/dist/typewriter.cjs +1 -2
- package/dist/typewriter.js +2 -5
- package/dist/typography.cjs +282 -2
- package/dist/typography.cjs.map +1 -1
- package/dist/typography.js +353 -4
- package/dist/typography.js.map +1 -1
- package/dist/utils-BcaKtQuA.cjs +1 -0
- package/dist/utils-BcaKtQuA.cjs.map +1 -0
- package/dist/utils-CoU7M2YS.js +259 -0
- package/dist/utils-CoU7M2YS.js.map +1 -0
- package/dist/utils.cjs +1 -2
- package/dist/utils.js +6 -9
- package/dist/window-DFMlB1Tq.cjs +59 -0
- package/dist/window-DFMlB1Tq.cjs.map +1 -0
- package/dist/window-EWYJJC_H.js +548 -0
- package/dist/window-EWYJJC_H.js.map +1 -0
- package/dist/window.cjs +1 -0
- package/dist/window.js +2 -0
- package/mixins/baseElement.ts +118 -1
- package/mixins/discovery.service.ts +162 -1
- package/mixins/formField.mixin.ts +13 -8
- package/mixins/index.ts +2 -0
- package/mixins/surface.mixin.ts +93 -0
- package/mixins/tailwind.css +331 -14
- package/package.json +32 -28
- package/src/CLAUDE.md +428 -0
- package/src/area/.excalidraw +357 -0
- package/src/area/area.component.ts +449 -0
- package/src/area/area.service.test.ts +1007 -0
- package/src/area/area.service.ts +748 -0
- package/src/area/ecrypt.ts +7 -0
- package/src/area/index.ts +7 -0
- package/src/area/lazy.ts +83 -0
- package/src/area/readme.md +338 -0
- package/src/area/route.component.ts +79 -0
- package/src/area/router-guide.md +360 -0
- package/src/area/router.types.ts +101 -0
- package/src/area/utils.ts +354 -0
- package/src/audio/emotional-sounds.ts +940 -0
- package/src/audio/index.ts +53 -0
- package/src/audio/sound.service.ts +1079 -0
- package/src/autocomplete/README.md +485 -0
- package/src/autocomplete/autocomplete.scss +24 -0
- package/src/autocomplete/autocomplete.ts +733 -0
- package/src/autocomplete/index.ts +1 -0
- package/src/avatar.ts +164 -0
- package/src/badge/badge.ts +286 -0
- package/src/badge/index.ts +1 -0
- package/src/boat/boat.ts +664 -0
- package/src/boat/index.ts +1 -0
- package/src/busy/busy.ts +39 -0
- package/src/busy/index.ts +2 -0
- package/src/busy/spinner.ts +165 -0
- package/src/button/button.ts +382 -0
- package/src/button/icon-button.ts +287 -0
- package/src/button/index.ts +2 -0
- package/src/card/actions.ts +28 -0
- package/src/card/card.ts +319 -0
- package/src/card/content.ts +24 -0
- package/src/card/index.ts +4 -0
- package/src/card/media.ts +77 -0
- package/src/charts/area-chart.ts +495 -0
- package/src/charts/index.ts +4 -0
- package/src/charts/pills.ts +350 -0
- package/src/charts/types.ts +66 -0
- package/src/charts/utils.ts +65 -0
- package/src/checkbox/checkbox.ts +122 -0
- package/src/checkbox/index.ts +1 -0
- package/src/chips/assist-chip.ts +261 -0
- package/src/chips/chips.ts +259 -0
- package/src/chips/filter-chip.ts +255 -0
- package/src/chips/index.ts +5 -0
- package/src/chips/input-chip.ts +408 -0
- package/src/chips/suggestion-chip.ts +266 -0
- package/src/code-highlight/code-highlight.ts +344 -0
- package/src/code-highlight/code-preview.ts +123 -0
- package/src/code-highlight/index.ts +3 -0
- package/src/components/form-elements/index.ts +1 -0
- package/src/components/form-elements/payment-card-form.ts +331 -0
- package/src/components/index.ts +1 -0
- package/src/connectivity/connectivity-status.ts +153 -0
- package/src/connectivity/index.ts +1 -0
- package/src/content-drawer/context.ts +13 -0
- package/src/content-drawer/drawer.service.ts +148 -0
- package/src/content-drawer/drawer.ts +183 -0
- package/src/content-drawer/index.ts +5 -0
- package/src/content-drawer/main.ts +83 -0
- package/src/content-drawer/readme.md +709 -0
- package/src/content-drawer/sheet.ts +180 -0
- package/src/date-range/date-range-dialog.ts +230 -0
- package/src/date-range/date-range-helpers.ts +135 -0
- package/src/date-range/date-range-presets.ts +220 -0
- package/src/date-range/date-range.ts +530 -0
- package/src/date-range/date-utils.ts +58 -0
- package/src/date-range/index.ts +2 -0
- package/src/date-range-inline/date-range-inline.ts +522 -0
- package/src/date-range-inline/index.ts +2 -0
- package/src/delay/delay.ts +136 -0
- package/src/delay/index.ts +1 -0
- package/src/details/details.ts +429 -0
- package/src/details/index.ts +1 -0
- package/src/dialog/dialog-base.mixin.ts +565 -0
- package/src/dialog/dialog-events.ts +17 -0
- package/src/dialog/dialog-service.ts +482 -0
- package/src/dialog/dialog.component.ts +394 -0
- package/src/dialog/index.ts +3 -0
- package/src/directives/animate-text.ts +551 -0
- package/src/directives/color.ts +41 -0
- package/src/directives/confirm-click.ts +350 -0
- package/src/directives/cursor-glow.ts +142 -0
- package/src/directives/cycle-text.ts +496 -0
- package/src/directives/depth-of-field.ts +83 -0
- package/src/directives/drag.ts +370 -0
- package/src/directives/gravity.ts +117 -0
- package/src/directives/index.ts +19 -0
- package/src/directives/intersect.ts +204 -0
- package/src/directives/layout.ts +261 -0
- package/src/directives/liquid.ts +150 -0
- package/src/directives/living-border.ts +166 -0
- package/src/directives/long-press.ts +150 -0
- package/src/directives/magnetic.ts +133 -0
- package/src/directives/nebula.ts +773 -0
- package/src/directives/reduced-motion.ts +30 -0
- package/src/directives/reveal.ts +158 -0
- package/src/directives/ripple.ts +102 -0
- package/src/directives/typewriter.ts +349 -0
- package/src/discovery/discovery.service.ts +210 -0
- package/src/discovery/index.ts +1 -0
- package/src/divider/divider.ts +100 -0
- package/src/divider/index.ts +1 -0
- package/src/dropdown/dropdown-component.ts +264 -0
- package/src/dropdown/dropdown-content.ts +108 -0
- package/src/dropdown/index.ts +2 -0
- package/src/expand/expand-root.component.ts +278 -0
- package/src/expand/expand.component.ts +287 -0
- package/src/expand/index.ts +2 -0
- package/src/extra/countries/countries.data.ts +196 -0
- package/src/extra/countries/countries.ts +107 -0
- package/src/extra/countries/index.ts +2 -0
- package/src/extra/index.ts +2 -0
- package/src/extra/timezone/index.ts +2 -0
- package/src/extra/timezone/timezone.ts +116 -0
- package/src/extra/timezone/timezones.data.ts +2546 -0
- package/src/float/float.ts +18 -0
- package/src/float/index.ts +1 -0
- package/src/form/form-v2.ts +268 -0
- package/src/form/form.ts +194 -0
- package/src/form/index.ts +2 -0
- package/src/icons/icon.ts +293 -0
- package/src/icons/index.ts +1 -0
- package/src/icons/readme.md +37 -0
- package/src/iframe/iframe.ts +98 -0
- package/src/iframe/index.ts +1 -0
- package/src/index.ts +69 -0
- package/src/input/index.ts +8 -0
- package/src/input/input.scss +211 -0
- package/src/input/input.ts +951 -0
- package/src/json/index.ts +1 -0
- package/src/json/json.ts +55 -0
- package/src/layout/flex/flex.scss +4 -0
- package/src/layout/flex/flex.ts +74 -0
- package/src/layout/flex/index.ts +1 -0
- package/src/layout/grid/.readme +79 -0
- package/src/layout/grid/grid.scss +5 -0
- package/src/layout/grid/grid.ts +121 -0
- package/src/layout/grid/index.ts +1 -0
- package/src/layout/index.ts +5 -0
- package/src/layout/layout.ts +122 -0
- package/src/layout/scroll/index.ts +1 -0
- package/src/layout/scroll/scroll.ts +351 -0
- package/src/layout/v2/flex.ts +243 -0
- package/src/layout/v2/grid.ts +93 -0
- package/src/layout/v2/index.ts +1 -0
- package/src/lightbox/flip-directive.ts +270 -0
- package/src/lightbox/index.ts +4 -0
- package/src/lightbox/lightbox-service.ts +378 -0
- package/src/lightbox/lightbox.directive.ts +256 -0
- package/src/lightbox/lightbox.ts +417 -0
- package/src/list/context.ts +3 -0
- package/src/list/index.ts +3 -0
- package/src/list/list-item.ts +94 -0
- package/src/list/list.ts +87 -0
- package/src/list/readme.md +62 -0
- package/src/mailbox/README.md +131 -0
- package/src/mailbox/email-editor.ts +1071 -0
- package/src/mailbox/email-layout-selector.ts +58 -0
- package/src/mailbox/email-recipients.ts +594 -0
- package/src/mailbox/email-template-picker.ts +296 -0
- package/src/mailbox/email-viewer.ts +715 -0
- package/src/mailbox/index.ts +31 -0
- package/src/mailbox/mailbox.ts +363 -0
- package/src/mailbox/types.ts +181 -0
- package/src/map/index.ts +1 -0
- package/src/map/map.ts +483 -0
- package/src/menu/index.ts +2 -0
- package/src/menu/menu-item.ts +26 -0
- package/src/menu/menu.ts +83 -0
- package/src/nav-drawer/$navbar.ts +51 -0
- package/src/nav-drawer/appbar.ts +26 -0
- package/src/nav-drawer/content.ts +32 -0
- package/src/nav-drawer/context.ts +6 -0
- package/src/nav-drawer/drawer.ts +128 -0
- package/src/nav-drawer/index.ts +6 -0
- package/src/nav-drawer/navbar.ts +191 -0
- package/src/navigation-bar/index.ts +2 -0
- package/src/navigation-bar/navigation-bar-item.ts +417 -0
- package/src/navigation-bar/navigation-bar.ts +482 -0
- package/src/navigation-rail/index.ts +2 -0
- package/src/navigation-rail/navigation-rail-item.ts +443 -0
- package/src/navigation-rail/navigation-rail.ts +492 -0
- package/src/notification/index.ts +6 -0
- package/src/notification/notification-service.ts +324 -0
- package/src/notification/notification.scss +117 -0
- package/src/notification/notification.ts +263 -0
- package/src/notification/notify.ts +207 -0
- package/src/notification/outlet.ts +16 -0
- package/src/option/index.ts +1 -0
- package/src/option/option.ts +180 -0
- package/src/page/index.ts +1 -0
- package/src/page/page.ts +135 -0
- package/src/progress/index.ts +1 -0
- package/src/progress/progress.ts +143 -0
- package/src/qr-scanner/index.ts +1 -0
- package/src/qr-scanner/qr-scanner.ts +240 -0
- package/src/radio-group/index.ts +2 -0
- package/src/radio-group/radio-button.ts +81 -0
- package/src/radio-group/radio-group.scss +4 -0
- package/src/radio-group/radio-group.ts +110 -0
- package/src/radio-group/readme.md +315 -0
- package/src/range/index.ts +1 -0
- package/src/range/range.ts +102 -0
- package/src/rxjs-utils/index.ts +6 -0
- package/src/rxjs-utils/mutation-observer.ts +22 -0
- package/src/rxjs-utils/waitForElement.ts +33 -0
- package/src/rxjs-utils/waitForElementAll.ts +34 -0
- package/src/rxjs-utils/waitForElements.ts +40 -0
- package/src/rxjs-utils/waitForElementsAll.ts +42 -0
- package/src/rxjs-utils/waitUntil.ts +16 -0
- package/src/select/README.md +405 -0
- package/src/select/index.ts +2 -0
- package/src/select/select.ts +766 -0
- package/src/sheet/hook.ts +40 -0
- package/src/sheet/index.ts +2 -0
- package/src/sheet/sheet.service.ts +235 -0
- package/src/sheet/sheet.ts +236 -0
- package/src/slider/index.ts +2 -0
- package/src/slider/slide.ts +107 -0
- package/src/slider/slider.ts +164 -0
- package/src/steps/index.ts +3 -0
- package/src/steps/schmancy-step.ts +213 -0
- package/src/steps/schmancy-steps-container.ts +109 -0
- package/src/steps/steps.context.ts +23 -0
- package/src/store/context-array.ts +358 -0
- package/src/store/context-collection.ts +218 -0
- package/src/store/context-create.ts +284 -0
- package/src/store/context-object.ts +298 -0
- package/src/store/filter-directive.ts +614 -0
- package/src/store/immer-integration.ts +99 -0
- package/src/store/index.ts +10 -0
- package/src/store/selector-hook.ts +259 -0
- package/src/store/selectors.ts +289 -0
- package/src/store/storage-manager.ts +269 -0
- package/src/store/store.class.ts +239 -0
- package/src/store/types.ts +327 -0
- package/src/surface/context.ts +3 -0
- package/src/surface/index.ts +1 -0
- package/src/surface/surface.styles.ts +334 -0
- package/src/surface/surface.ts +59 -0
- package/src/table/index.ts +2 -0
- package/src/table/row.ts +60 -0
- package/src/table/table.ts +266 -0
- package/src/tabs/Readme.md +397 -0
- package/src/tabs/context.ts +5 -0
- package/src/tabs/index.ts +4 -0
- package/src/tabs/tab.ts +39 -0
- package/src/tabs/tabs-compatibility.ts +20 -0
- package/src/tabs/tabs-group.ts +184 -0
- package/src/teleport/.excalidraw +2511 -0
- package/src/teleport/index.ts +2 -0
- package/src/teleport/readme.md +91 -0
- package/src/teleport/teleport.component.ts +132 -0
- package/src/teleport/teleport.service.ts +139 -0
- package/src/teleport/watcher.ts +20 -0
- package/src/textarea/index.ts +1 -0
- package/src/textarea/textarea.scss +54 -0
- package/src/textarea/textarea.ts +432 -0
- package/src/theme/context.ts +28 -0
- package/src/theme/index.ts +17 -0
- package/src/theme/theme-audio-player.ts +470 -0
- package/src/theme/theme-controller-boat.ts +49 -0
- package/src/theme/theme-controller-example.md +152 -0
- package/src/theme/theme-controller.ts +205 -0
- package/src/theme/theme.component.ts +305 -0
- package/src/theme/theme.events.ts +59 -0
- package/src/theme/theme.format.ts +417 -0
- package/src/theme/theme.interface.ts +399 -0
- package/src/theme/theme.service.ts +520 -0
- package/src/theme/theme.style.css +619 -0
- package/src/theme-button/index.ts +1 -0
- package/src/theme-button/theme-button.ts +35 -0
- package/src/tooltip/index.ts +2 -0
- package/src/tooltip/tooltip.directive.ts +277 -0
- package/src/tooltip/tooltip.ts +216 -0
- package/src/tree/README.md +59 -0
- package/src/tree/index.ts +1 -0
- package/src/tree/tree.ts +132 -0
- package/src/types/events.ts +5 -0
- package/src/types/index.ts +3 -0
- package/src/types/mood-audio.types.ts +220 -0
- package/src/types/surface.ts +52 -0
- package/src/typewriter/IMPROVEMENTS.md +174 -0
- package/src/typewriter/QUICK_REFERENCE.md +166 -0
- package/src/typewriter/index.ts +1 -0
- package/src/typewriter/test-typewriter.html +97 -0
- package/src/typewriter/typewriter.ts +376 -0
- package/src/typography/index.ts +1 -0
- package/src/typography/typography.ts +448 -0
- package/src/utils/animation.ts +418 -0
- package/src/utils/hashContent.ts +12 -0
- package/src/utils/index.ts +6 -0
- package/src/utils/intersection.ts +22 -0
- package/src/utils/number.ts +529 -0
- package/src/utils/overlay-stack.ts +101 -0
- package/src/utils/search.ts +322 -0
- package/src/vite-env.d.ts +2 -0
- package/src/window/index.ts +10 -0
- package/src/window/window-manager.ts +204 -0
- package/src/window/window-position.ts +136 -0
- package/src/window/window-registry.ts +34 -0
- package/src/window/window.ts +724 -0
- package/types/mixins/baseElement.d.ts +12 -0
- package/types/mixins/discovery.service.d.ts +72 -0
- package/types/mixins/index.d.ts +2 -0
- package/types/mixins/surface.mixin.d.ts +39 -0
- package/types/src/area/area.service.d.ts +2 -0
- package/types/src/badge/badge.d.ts +1 -1
- package/types/src/boat/boat.d.ts +40 -33
- package/types/src/button/icon-button.d.ts +10 -0
- package/types/src/chips/filter-chip.d.ts +0 -12
- package/types/src/connectivity/connectivity-status.d.ts +25 -0
- package/types/src/connectivity/index.d.ts +1 -0
- package/types/src/content-drawer/drawer.service.d.ts +3 -0
- package/types/src/date-range/date-range.d.ts +2 -0
- package/types/src/details/details.d.ts +26 -2
- package/types/src/dialog/dialog-base.mixin.d.ts +7 -3
- package/types/src/dialog/dialog-service.d.ts +27 -1
- package/types/src/dialog/dialog.component.d.ts +35 -1
- package/types/src/directives/animate-text.d.ts +67 -0
- package/types/src/directives/color.d.ts +2 -3
- package/types/src/directives/confirm-click.d.ts +38 -0
- package/types/src/directives/cursor-glow.d.ts +38 -0
- package/types/src/directives/cycle-text.d.ts +44 -0
- package/types/src/directives/depth-of-field.d.ts +38 -0
- package/types/src/directives/drag.d.ts +8 -8
- package/types/src/directives/gravity.d.ts +40 -0
- package/types/src/directives/index.d.ts +16 -2
- package/types/src/directives/intersect.d.ts +60 -0
- package/types/src/directives/layout.d.ts +62 -0
- package/types/src/directives/liquid.d.ts +38 -0
- package/types/src/directives/living-border.d.ts +39 -0
- package/types/src/directives/long-press.d.ts +38 -0
- package/types/src/directives/magnetic.d.ts +35 -0
- package/types/src/directives/nebula.d.ts +80 -0
- package/types/src/directives/reduced-motion.d.ts +2 -0
- package/types/src/directives/reveal.d.ts +54 -0
- package/types/src/directives/ripple.d.ts +15 -5
- package/types/src/directives/typewriter.d.ts +50 -0
- package/types/src/discovery/discovery.service.d.ts +72 -0
- package/types/src/expand/expand-root.component.d.ts +30 -0
- package/types/src/expand/expand.component.d.ts +38 -0
- package/types/src/expand/index.d.ts +2 -0
- package/types/src/float/float.d.ts +14 -0
- package/types/src/float/index.d.ts +1 -0
- package/types/src/icons/icon.d.ts +14 -0
- package/types/src/iframe/iframe.d.ts +37 -0
- package/types/src/iframe/index.d.ts +1 -0
- package/types/src/index.d.ts +6 -1
- package/types/src/input/index.d.ts +1 -1
- package/types/src/layout/scroll/scroll.d.ts +11 -0
- package/types/src/lightbox/lightbox.d.ts +1 -0
- package/types/src/mailbox/email-recipients.d.ts +2 -2
- package/types/src/mailbox/types.d.ts +1 -1
- package/types/src/navigation-bar/navigation-bar.d.ts +17 -0
- package/types/src/notification/notification.d.ts +1 -0
- package/types/src/page/page.d.ts +6 -0
- package/types/src/range/index.d.ts +1 -0
- package/types/src/range/range.d.ts +25 -0
- package/types/src/sheet/sheet.d.ts +0 -1
- package/types/src/steps/schmancy-steps-container.d.ts +8 -6
- package/types/src/surface/surface.d.ts +4 -27
- package/types/src/surface/surface.styles.d.ts +31 -0
- package/types/src/tabs/tab.d.ts +1 -0
- package/types/src/textarea/textarea.d.ts +3 -2
- package/types/src/theme/context.d.ts +2 -282
- package/types/src/theme/theme.component.d.ts +9 -1
- package/types/src/theme/theme.format.d.ts +1 -1
- package/types/src/theme/theme.interface.d.ts +8 -1
- package/types/src/theme/theme.service.d.ts +20 -282
- package/types/src/types/surface.d.ts +27 -1
- package/types/src/typography/typography.d.ts +17 -3
- package/types/src/utils/animation.d.ts +254 -0
- package/types/src/utils/index.d.ts +2 -0
- package/types/src/utils/number.d.ts +18 -2
- package/types/src/utils/overlay-stack.d.ts +54 -0
- package/types/src/window/index.d.ts +3 -0
- package/types/src/window/window-manager.d.ts +49 -0
- package/types/src/window/window-position.d.ts +64 -0
- package/types/src/window/window-registry.d.ts +28 -0
- package/types/src/window/window.d.ts +67 -0
- package/ai/animated-text.md +0 -116
- package/ai/audio.md +0 -241
- package/ai/boat.md +0 -53
- package/ai/component-relationships.md +0 -93
- package/ai/context.md +0 -572
- package/ai/countries.md +0 -271
- package/ai/date-range-inline.md +0 -262
- package/ai/delay.md +0 -158
- package/ai/index.md +0 -112
- package/ai/layout.md +0 -187
- package/ai/mailbox.md +0 -530
- package/ai/map.md +0 -234
- package/ai/navigation-bar-item.md +0 -259
- package/ai/option.md +0 -173
- package/ai/payment-card-form.md +0 -242
- package/ai/slider.md +0 -227
- package/ai/spinner.md +0 -165
- package/ai/teleport.md +0 -197
- package/ai/template.md +0 -144
- package/ai/theme-button.md +0 -173
- package/ai/timezone.md +0 -276
- package/ai/typewriter.md +0 -335
- package/dist/_commonjsHelpers-Dw9sPFZy.js +0 -7
- package/dist/_commonjsHelpers-Dw9sPFZy.js.map +0 -1
- package/dist/_commonjsHelpers-k2hpEU-q.cjs +0 -2
- package/dist/_commonjsHelpers-k2hpEU-q.cjs.map +0 -1
- package/dist/ai/animated-text.md +0 -116
- package/dist/ai/audio.md +0 -241
- package/dist/ai/boat.md +0 -53
- package/dist/ai/component-relationships.md +0 -93
- package/dist/ai/context.md +0 -572
- package/dist/ai/countries.md +0 -271
- package/dist/ai/date-range-inline.md +0 -262
- package/dist/ai/delay.md +0 -158
- package/dist/ai/index.md +0 -112
- package/dist/ai/layout.md +0 -187
- package/dist/ai/mailbox.md +0 -530
- package/dist/ai/map.md +0 -234
- package/dist/ai/navigation-bar-item.md +0 -259
- package/dist/ai/option.md +0 -173
- package/dist/ai/payment-card-form.md +0 -242
- package/dist/ai/slider.md +0 -227
- package/dist/ai/spinner.md +0 -165
- package/dist/ai/teleport.md +0 -197
- package/dist/ai/template.md +0 -144
- package/dist/ai/theme-button.md +0 -173
- package/dist/ai/timezone.md +0 -276
- package/dist/ai/typewriter.md +0 -335
- package/dist/animated-text-B3DQRJBy.cjs +0 -37
- package/dist/animated-text-B3DQRJBy.cjs.map +0 -1
- package/dist/animated-text-BAj4-6hE.js +0 -76
- package/dist/animated-text-BAj4-6hE.js.map +0 -1
- package/dist/animated-text.cjs +0 -2
- package/dist/animated-text.cjs.map +0 -1
- package/dist/animated-text.js +0 -2
- package/dist/animated-text.js.map +0 -1
- package/dist/area.cjs.map +0 -1
- package/dist/area.component-CP4DZ0d8.js +0 -330
- package/dist/area.component-CP4DZ0d8.js.map +0 -1
- package/dist/area.component-ChxSLt16.cjs +0 -12
- package/dist/area.component-ChxSLt16.cjs.map +0 -1
- package/dist/area.js.map +0 -1
- package/dist/audio.cjs.map +0 -1
- package/dist/audio.js.map +0 -1
- package/dist/autocomplete-CAaVSg4g.cjs +0 -112
- package/dist/autocomplete-CAaVSg4g.cjs.map +0 -1
- package/dist/autocomplete-CGbACUYd.js +0 -333
- package/dist/autocomplete-CGbACUYd.js.map +0 -1
- package/dist/autocomplete.cjs.map +0 -1
- package/dist/autocomplete.js.map +0 -1
- package/dist/avatar-nWOZXEsW.cjs +0 -273
- package/dist/avatar-nWOZXEsW.cjs.map +0 -1
- package/dist/avatar-rLCF6MSI.js +0 -895
- package/dist/avatar-rLCF6MSI.js.map +0 -1
- package/dist/badge.cjs.map +0 -1
- package/dist/badge.js.map +0 -1
- package/dist/boat-Ckt9v__d.js +0 -301
- package/dist/boat-Ckt9v__d.js.map +0 -1
- package/dist/boat-yNAZ2LLB.cjs +0 -97
- package/dist/boat-yNAZ2LLB.cjs.map +0 -1
- package/dist/boat.cjs.map +0 -1
- package/dist/boat.js.map +0 -1
- package/dist/busy.cjs.map +0 -1
- package/dist/busy.js.map +0 -1
- package/dist/card.cjs.map +0 -1
- package/dist/card.js.map +0 -1
- package/dist/checkbox-BnAlpsJN.cjs +0 -40
- package/dist/checkbox-BnAlpsJN.cjs.map +0 -1
- package/dist/checkbox-D22yfGe3.js +0 -526
- package/dist/checkbox-D22yfGe3.js.map +0 -1
- package/dist/checkbox.cjs.map +0 -1
- package/dist/checkbox.js.map +0 -1
- package/dist/chips.cjs.map +0 -1
- package/dist/chips.js.map +0 -1
- package/dist/code-highlight.cjs.map +0 -1
- package/dist/code-highlight.js.map +0 -1
- package/dist/code-preview-DPlQayFd.js +0 -967
- package/dist/code-preview-DPlQayFd.js.map +0 -1
- package/dist/code-preview-jPnX60FF.cjs +0 -193
- package/dist/code-preview-jPnX60FF.cjs.map +0 -1
- package/dist/components.cjs.map +0 -1
- package/dist/components.js.map +0 -1
- package/dist/consume-5D1qfVWM.js +0 -38
- package/dist/consume-5D1qfVWM.js.map +0 -1
- package/dist/consume-edta5ng5.cjs +0 -2
- package/dist/consume-edta5ng5.cjs.map +0 -1
- package/dist/content-drawer.cjs.map +0 -1
- package/dist/content-drawer.js.map +0 -1
- package/dist/context-create-B_S-sD5B.js +0 -1107
- package/dist/context-create-B_S-sD5B.js.map +0 -1
- package/dist/context-create-DTybDbZp.cjs +0 -2
- package/dist/context-create-DTybDbZp.cjs.map +0 -1
- package/dist/date-range-GFm5NG33.js +0 -639
- package/dist/date-range-GFm5NG33.js.map +0 -1
- package/dist/date-range-inline-CgX2o0FP.cjs +0 -44
- package/dist/date-range-inline-CgX2o0FP.cjs.map +0 -1
- package/dist/date-range-inline-DTQLESAZ.js +0 -197
- package/dist/date-range-inline-DTQLESAZ.js.map +0 -1
- package/dist/date-range-inline.cjs.map +0 -1
- package/dist/date-range-inline.js.map +0 -1
- package/dist/date-range-ug3B9CFT.cjs +0 -119
- package/dist/date-range-ug3B9CFT.cjs.map +0 -1
- package/dist/date-range.cjs.map +0 -1
- package/dist/date-range.js.map +0 -1
- package/dist/delay-CWtBL0VD.cjs +0 -10
- package/dist/delay-CWtBL0VD.cjs.map +0 -1
- package/dist/delay-DEe1CmHc.js +0 -288
- package/dist/delay-DEe1CmHc.js.map +0 -1
- package/dist/delay.cjs.map +0 -1
- package/dist/delay.js.map +0 -1
- package/dist/details-D-LXW23W.js +0 -100
- package/dist/details-D-LXW23W.js.map +0 -1
- package/dist/details-DVke77dU.cjs +0 -55
- package/dist/details-DVke77dU.cjs.map +0 -1
- package/dist/details.cjs.map +0 -1
- package/dist/details.js.map +0 -1
- package/dist/dialog-service-C86xTS8q.cjs +0 -2
- package/dist/dialog-service-C86xTS8q.cjs.map +0 -1
- package/dist/dialog-service-D9E3jLAR.js +0 -118
- package/dist/dialog-service-D9E3jLAR.js.map +0 -1
- package/dist/dialog.component-BM0D-hK9.cjs +0 -48
- package/dist/dialog.component-BM0D-hK9.cjs.map +0 -1
- package/dist/dialog.component-a7FlKhGD.js +0 -145
- package/dist/dialog.component-a7FlKhGD.js.map +0 -1
- package/dist/discovery.service-BbYjU5x8.js +0 -21
- package/dist/discovery.service-BbYjU5x8.js.map +0 -1
- package/dist/discovery.service-BpGCuXPd.cjs +0 -2
- package/dist/discovery.service-BpGCuXPd.cjs.map +0 -1
- package/dist/divider-CzTpxOqt.js +0 -84
- package/dist/divider-CzTpxOqt.js.map +0 -1
- package/dist/divider-D8KStUhN.cjs +0 -58
- package/dist/divider-D8KStUhN.cjs.map +0 -1
- package/dist/divider.cjs.map +0 -1
- package/dist/divider.js.map +0 -1
- package/dist/dropdown-content-CngZN3vv.cjs +0 -58
- package/dist/dropdown-content-CngZN3vv.cjs.map +0 -1
- package/dist/dropdown-content-DCn-g0-f.js +0 -147
- package/dist/dropdown-content-DCn-g0-f.js.map +0 -1
- package/dist/email-recipients-BhntMZMf.cjs +0 -1173
- package/dist/email-recipients-BhntMZMf.cjs.map +0 -1
- package/dist/email-recipients-BzjAKNJ0.js +0 -1733
- package/dist/email-recipients-BzjAKNJ0.js.map +0 -1
- package/dist/emotional-sounds-BRnFhww6.js +0 -234
- package/dist/emotional-sounds-BRnFhww6.js.map +0 -1
- package/dist/emotional-sounds-DVGhmoZf.cjs +0 -2
- package/dist/emotional-sounds-DVGhmoZf.cjs.map +0 -1
- package/dist/extra.cjs.map +0 -1
- package/dist/extra.js.map +0 -1
- package/dist/flex-5dR48zie.js +0 -183
- package/dist/flex-5dR48zie.js.map +0 -1
- package/dist/flex-oHl2EfYB.cjs +0 -18
- package/dist/flex-oHl2EfYB.cjs.map +0 -1
- package/dist/flow-D0e7hGXO.cjs +0 -2
- package/dist/flow-D0e7hGXO.cjs.map +0 -1
- package/dist/flow-DXYqC9OA.js +0 -340
- package/dist/flow-DXYqC9OA.js.map +0 -1
- package/dist/form-BlPiAPt7.cjs +0 -2
- package/dist/form-BlPiAPt7.cjs.map +0 -1
- package/dist/form-BxVM6JTn.js +0 -141
- package/dist/form-BxVM6JTn.js.map +0 -1
- package/dist/form.cjs.map +0 -1
- package/dist/form.js.map +0 -1
- package/dist/formField.mixin-BCGA7Ea3.js +0 -48
- package/dist/formField.mixin-BCGA7Ea3.js.map +0 -1
- package/dist/formField.mixin-BfJMifU9.cjs +0 -2
- package/dist/formField.mixin-BfJMifU9.cjs.map +0 -1
- package/dist/height-CfECBO2j.js +0 -44
- package/dist/height-CfECBO2j.js.map +0 -1
- package/dist/height-Z70qJYJK.cjs +0 -2
- package/dist/height-Z70qJYJK.cjs.map +0 -1
- package/dist/icon-DHEXr3c-.cjs +0 -49
- package/dist/icon-DHEXr3c-.cjs.map +0 -1
- package/dist/icon-DYpLoegR.js +0 -84
- package/dist/icon-DYpLoegR.js.map +0 -1
- package/dist/icon-button-CmZBLHWC.js +0 -164
- package/dist/icon-button-CmZBLHWC.js.map +0 -1
- package/dist/icon-button-IbSX8C98.cjs +0 -70
- package/dist/icon-button-IbSX8C98.cjs.map +0 -1
- package/dist/icons.cjs.map +0 -1
- package/dist/icons.js.map +0 -1
- package/dist/index-CCi1otmh.cjs +0 -2
- package/dist/index-CCi1otmh.cjs.map +0 -1
- package/dist/index-CW6PhEkx.js +0 -17
- package/dist/index-CW6PhEkx.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/input-BByjYlgl.cjs +0 -51
- package/dist/input-BByjYlgl.cjs.map +0 -1
- package/dist/input-D0cQ9DOY.js +0 -237
- package/dist/input-D0cQ9DOY.js.map +0 -1
- package/dist/input-chip-B5ErXgCB.js +0 -206
- package/dist/input-chip-B5ErXgCB.js.map +0 -1
- package/dist/input-chip-DkWaTciP.cjs +0 -147
- package/dist/input-chip-DkWaTciP.cjs.map +0 -1
- package/dist/input.cjs.map +0 -1
- package/dist/input.js.map +0 -1
- package/dist/intersection-CJxzz8c-.js +0 -15
- package/dist/intersection-CJxzz8c-.js.map +0 -1
- package/dist/intersection-CVvaDv96.cjs +0 -2
- package/dist/intersection-CVvaDv96.cjs.map +0 -1
- package/dist/json-BZVe74np.cjs +0 -12
- package/dist/json-BZVe74np.cjs.map +0 -1
- package/dist/json-PKewOWuJ.js +0 -51
- package/dist/json-PKewOWuJ.js.map +0 -1
- package/dist/layout.cjs.map +0 -1
- package/dist/layout.js.map +0 -1
- package/dist/lightbox-service-D-0JtxB1.cjs +0 -202
- package/dist/lightbox-service-D-0JtxB1.cjs.map +0 -1
- package/dist/lightbox-service-DZMnb1eU.js +0 -458
- package/dist/lightbox-service-DZMnb1eU.js.map +0 -1
- package/dist/lightbox.cjs.map +0 -1
- package/dist/lightbox.js.map +0 -1
- package/dist/list-B_2m7l3g.cjs +0 -17
- package/dist/list-B_2m7l3g.cjs.map +0 -1
- package/dist/list-CW56LV-v.js +0 -69
- package/dist/list-CW56LV-v.js.map +0 -1
- package/dist/list.cjs.map +0 -1
- package/dist/list.js.map +0 -1
- package/dist/litElement.mixin-CrpeGpZ7.cjs +0 -2
- package/dist/litElement.mixin-CrpeGpZ7.cjs.map +0 -1
- package/dist/litElement.mixin-DHZXtvYq.js +0 -15
- package/dist/litElement.mixin-DHZXtvYq.js.map +0 -1
- package/dist/mailbox.cjs.map +0 -1
- package/dist/mailbox.js.map +0 -1
- package/dist/map-2Hl60a0A.js +0 -175
- package/dist/map-2Hl60a0A.js.map +0 -1
- package/dist/map-DyPS9G7M.cjs +0 -81
- package/dist/map-DyPS9G7M.cjs.map +0 -1
- package/dist/map.cjs.map +0 -1
- package/dist/map.js.map +0 -1
- package/dist/media-CS8HpKnK.cjs +0 -152
- package/dist/media-CS8HpKnK.cjs.map +0 -1
- package/dist/media-DtWbcRxL.js +0 -244
- package/dist/media-DtWbcRxL.js.map +0 -1
- package/dist/menu-Caju5-zd.js +0 -60
- package/dist/menu-Caju5-zd.js.map +0 -1
- package/dist/menu-rX5RPAI2.cjs +0 -24
- package/dist/menu-rX5RPAI2.cjs.map +0 -1
- package/dist/menu.cjs.map +0 -1
- package/dist/menu.js.map +0 -1
- package/dist/nav-drawer.cjs.map +0 -1
- package/dist/nav-drawer.js.map +0 -1
- package/dist/navigation-bar.cjs.map +0 -1
- package/dist/navigation-bar.js.map +0 -1
- package/dist/navigation-rail-Ctketq5a.js +0 -256
- package/dist/navigation-rail-Ctketq5a.js.map +0 -1
- package/dist/navigation-rail-DC9_oSIM.cjs +0 -79
- package/dist/navigation-rail-DC9_oSIM.cjs.map +0 -1
- package/dist/notification-service-CUlfXqmj.js +0 -155
- package/dist/notification-service-CUlfXqmj.js.map +0 -1
- package/dist/notification-service-DknbpqTt.cjs +0 -19
- package/dist/notification-service-DknbpqTt.cjs.map +0 -1
- package/dist/notification.cjs.map +0 -1
- package/dist/notification.js.map +0 -1
- package/dist/notify-DJSOWTxv.js +0 -35
- package/dist/notify-DJSOWTxv.js.map +0 -1
- package/dist/notify-DickIEHW.cjs +0 -2
- package/dist/notify-DickIEHW.cjs.map +0 -1
- package/dist/number-B7aCRYnH.cjs +0 -2
- package/dist/number-B7aCRYnH.cjs.map +0 -1
- package/dist/number-BhTiptLA.js +0 -99
- package/dist/number-BhTiptLA.js.map +0 -1
- package/dist/option-Bng41-rY.js +0 -77
- package/dist/option-Bng41-rY.js.map +0 -1
- package/dist/option-DYT5Rkgy.cjs +0 -44
- package/dist/option-DYT5Rkgy.cjs.map +0 -1
- package/dist/option.cjs.map +0 -1
- package/dist/option.js.map +0 -1
- package/dist/page-BLn9gtSd.cjs +0 -20
- package/dist/page-BLn9gtSd.cjs.map +0 -1
- package/dist/page-D-ROcQDd.js +0 -48
- package/dist/page-D-ROcQDd.js.map +0 -1
- package/dist/payment-card-form-5UtfWzoW.cjs +0 -74
- package/dist/payment-card-form-5UtfWzoW.cjs.map +0 -1
- package/dist/payment-card-form-BJa4RgF2.js +0 -515
- package/dist/payment-card-form-BJa4RgF2.js.map +0 -1
- package/dist/pills-BS5rZ6C3.js +0 -346
- package/dist/pills-BS5rZ6C3.js.map +0 -1
- package/dist/pills-Blf7IAeq.cjs +0 -113
- package/dist/pills-Blf7IAeq.cjs.map +0 -1
- package/dist/progress-DlhYniW_.cjs +0 -35
- package/dist/progress-DlhYniW_.cjs.map +0 -1
- package/dist/progress-yTIX6EqC.js +0 -56
- package/dist/progress-yTIX6EqC.js.map +0 -1
- package/dist/progress.cjs.map +0 -1
- package/dist/progress.js.map +0 -1
- package/dist/provide-BxZ2kn_p.cjs +0 -2
- package/dist/provide-BxZ2kn_p.cjs.map +0 -1
- package/dist/provide-tcktw8xB.js +0 -100
- package/dist/provide-tcktw8xB.js.map +0 -1
- package/dist/qr-scanner-DOs7uNS_.cjs +0 -29
- package/dist/qr-scanner-DOs7uNS_.cjs.map +0 -1
- package/dist/qr-scanner-DjZ8mgHV.js +0 -743
- package/dist/qr-scanner-DjZ8mgHV.js.map +0 -1
- package/dist/radio-button-N_PrrxKB.cjs +0 -41
- package/dist/radio-button-N_PrrxKB.cjs.map +0 -1
- package/dist/radio-button-me3SRHGu.js +0 -115
- package/dist/radio-button-me3SRHGu.js.map +0 -1
- package/dist/radio-group.cjs.map +0 -1
- package/dist/radio-group.js.map +0 -1
- package/dist/ripple-BgJXbNSP.js +0 -124
- package/dist/ripple-BgJXbNSP.js.map +0 -1
- package/dist/ripple-x6sTX02K.cjs +0 -16
- package/dist/ripple-x6sTX02K.cjs.map +0 -1
- package/dist/rxjs-utils.cjs.map +0 -1
- package/dist/rxjs-utils.js.map +0 -1
- package/dist/schmancy-steps-container-J6P-NNNj.js +0 -156
- package/dist/schmancy-steps-container-J6P-NNNj.js.map +0 -1
- package/dist/schmancy-steps-container-T57BKMzi.cjs +0 -70
- package/dist/schmancy-steps-container-T57BKMzi.cjs.map +0 -1
- package/dist/scroll-C_gfUgjn.js +0 -87
- package/dist/scroll-C_gfUgjn.js.map +0 -1
- package/dist/scroll-CecsowP7.cjs +0 -27
- package/dist/scroll-CecsowP7.cjs.map +0 -1
- package/dist/search-B1s7thB0.cjs +0 -2
- package/dist/search-B1s7thB0.cjs.map +0 -1
- package/dist/search-DxxnLa5u.js +0 -95
- package/dist/search-DxxnLa5u.js.map +0 -1
- package/dist/select-BBA0gBHf.js +0 -280
- package/dist/select-BBA0gBHf.js.map +0 -1
- package/dist/select-D9oCjv7N.cjs +0 -57
- package/dist/select-D9oCjv7N.cjs.map +0 -1
- package/dist/select.cjs.map +0 -1
- package/dist/select.js.map +0 -1
- package/dist/selector-hook-9w2auh2O.cjs +0 -2
- package/dist/selector-hook-9w2auh2O.cjs.map +0 -1
- package/dist/selector-hook-CHV4kDMd.js +0 -319
- package/dist/selector-hook-CHV4kDMd.js.map +0 -1
- package/dist/sheet-0oUfBmXX.cjs +0 -15
- package/dist/sheet-0oUfBmXX.cjs.map +0 -1
- package/dist/sheet-CNcDT3VP.js +0 -97
- package/dist/sheet-CNcDT3VP.js.map +0 -1
- package/dist/sheet.cjs.map +0 -1
- package/dist/sheet.js.map +0 -1
- package/dist/sheet.service-2MobB-9z.js +0 -68
- package/dist/sheet.service-2MobB-9z.js.map +0 -1
- package/dist/sheet.service-su_7yDQ-.cjs +0 -2
- package/dist/sheet.service-su_7yDQ-.cjs.map +0 -1
- package/dist/slider-CV-Ehp_5.cjs +0 -83
- package/dist/slider-CV-Ehp_5.cjs.map +0 -1
- package/dist/slider-CkE-iFUy.js +0 -161
- package/dist/slider-CkE-iFUy.js.map +0 -1
- package/dist/sound.service-Nza4c6wv.js +0 -102
- package/dist/sound.service-Nza4c6wv.js.map +0 -1
- package/dist/sound.service-eRirZw59.cjs +0 -2
- package/dist/sound.service-eRirZw59.cjs.map +0 -1
- package/dist/spinner-Bfn8KC-9.cjs +0 -135
- package/dist/spinner-Bfn8KC-9.cjs.map +0 -1
- package/dist/spinner-DiMbWXp9.js +0 -168
- package/dist/spinner-DiMbWXp9.js.map +0 -1
- package/dist/store.cjs.map +0 -1
- package/dist/store.js.map +0 -1
- package/dist/suggestion-chip-CEDqUNoS.js +0 -481
- package/dist/suggestion-chip-CEDqUNoS.js.map +0 -1
- package/dist/suggestion-chip-HhsLtZXR.cjs +0 -271
- package/dist/suggestion-chip-HhsLtZXR.cjs.map +0 -1
- package/dist/surface-CW3H23Va.cjs +0 -199
- package/dist/surface-CW3H23Va.cjs.map +0 -1
- package/dist/surface-eBfnSwQS.js +0 -220
- package/dist/surface-eBfnSwQS.js.map +0 -1
- package/dist/surface.cjs.map +0 -1
- package/dist/surface.js.map +0 -1
- package/dist/table-D0tiSL_u.cjs +0 -64
- package/dist/table-D0tiSL_u.cjs.map +0 -1
- package/dist/table-Dmo4TvTx.js +0 -561
- package/dist/table-Dmo4TvTx.js.map +0 -1
- package/dist/table.cjs.map +0 -1
- package/dist/table.js.map +0 -1
- package/dist/tabs-compatibility-Bit6y6en.js +0 -104
- package/dist/tabs-compatibility-Bit6y6en.js.map +0 -1
- package/dist/tabs-compatibility-Vq_2-ekz.cjs +0 -35
- package/dist/tabs-compatibility-Vq_2-ekz.cjs.map +0 -1
- package/dist/tabs.cjs.map +0 -1
- package/dist/tabs.js.map +0 -1
- package/dist/tailwind.mixin-Bp_PR6yc.js +0 -67
- package/dist/tailwind.mixin-Bp_PR6yc.js.map +0 -1
- package/dist/tailwind.mixin-Cp4PyXok.cjs +0 -2
- package/dist/tailwind.mixin-Cp4PyXok.cjs.map +0 -1
- package/dist/teleport.cjs.map +0 -1
- package/dist/teleport.js.map +0 -1
- package/dist/textarea-B1d1QCqT.js +0 -134
- package/dist/textarea-B1d1QCqT.js.map +0 -1
- package/dist/textarea-DG8CHhZA.cjs +0 -44
- package/dist/textarea-DG8CHhZA.cjs.map +0 -1
- package/dist/textarea.cjs.map +0 -1
- package/dist/textarea.js.map +0 -1
- package/dist/theme-button-CPL6Eaqd.cjs +0 -9
- package/dist/theme-button-CPL6Eaqd.cjs.map +0 -1
- package/dist/theme-button-CrLuMQNe.js +0 -27
- package/dist/theme-button-CrLuMQNe.js.map +0 -1
- package/dist/theme-button.cjs.map +0 -1
- package/dist/theme-button.js.map +0 -1
- package/dist/theme-controller-boat-CXbNJSI3.cjs +0 -178
- package/dist/theme-controller-boat-CXbNJSI3.cjs.map +0 -1
- package/dist/theme-controller-boat-CzSmjyKq.js +0 -1159
- package/dist/theme-controller-boat-CzSmjyKq.js.map +0 -1
- package/dist/theme.cjs.map +0 -1
- package/dist/theme.events-CPSLaOlR.js +0 -6
- package/dist/theme.events-CPSLaOlR.js.map +0 -1
- package/dist/theme.events-Car6U_SQ.cjs +0 -2
- package/dist/theme.events-Car6U_SQ.cjs.map +0 -1
- package/dist/theme.interface-BLfE5J_1.js +0 -5
- package/dist/theme.interface-BLfE5J_1.js.map +0 -1
- package/dist/theme.interface-BMeNadVb.cjs +0 -2
- package/dist/theme.interface-BMeNadVb.cjs.map +0 -1
- package/dist/theme.js.map +0 -1
- package/dist/timezone-4vwX0BgA.js +0 -112
- package/dist/timezone-4vwX0BgA.js.map +0 -1
- package/dist/timezone-BxvQcqe1.cjs +0 -32
- package/dist/timezone-BxvQcqe1.cjs.map +0 -1
- package/dist/tooltip-CjdvBf4X.js +0 -119
- package/dist/tooltip-CjdvBf4X.js.map +0 -1
- package/dist/tooltip-ZtnGjoJd.cjs +0 -7
- package/dist/tooltip-ZtnGjoJd.cjs.map +0 -1
- package/dist/tree-CBEjV7jP.js +0 -65
- package/dist/tree-CBEjV7jP.js.map +0 -1
- package/dist/tree-DP5U00NA.cjs +0 -27
- package/dist/tree-DP5U00NA.cjs.map +0 -1
- package/dist/tslib.es6-DgOcxv4s.cjs +0 -2
- package/dist/tslib.es6-DgOcxv4s.cjs.map +0 -1
- package/dist/tslib.es6-ujVQHAQ4.js +0 -10
- package/dist/tslib.es6-ujVQHAQ4.js.map +0 -1
- package/dist/typewriter-C6kFjLcX.cjs +0 -124
- package/dist/typewriter-C6kFjLcX.cjs.map +0 -1
- package/dist/typewriter-Eo5qXoGC.js +0 -555
- package/dist/typewriter-Eo5qXoGC.js.map +0 -1
- package/dist/typewriter.cjs.map +0 -1
- package/dist/typewriter.js.map +0 -1
- package/dist/typography-C_1gdM2I.js +0 -264
- package/dist/typography-C_1gdM2I.js.map +0 -1
- package/dist/typography-DGyjlLCE.cjs +0 -243
- package/dist/typography-DGyjlLCE.cjs.map +0 -1
- package/dist/utils-C38P63L6.cjs +0 -2
- package/dist/utils-C38P63L6.cjs.map +0 -1
- package/dist/utils-CYOVFxSx.js +0 -150
- package/dist/utils-CYOVFxSx.js.map +0 -1
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.js.map +0 -1
- package/types/src/animated-text/animated-text.d.ts +0 -30
- package/types/src/animated-text/index.d.ts +0 -1
- package/types/src/directives/height.d.ts +0 -20
|
@@ -0,0 +1,951 @@
|
|
|
1
|
+
import { html, LitElement, nothing, PropertyValueMap } from 'lit'
|
|
2
|
+
import { customElement, property, query, state } from 'lit/decorators.js'
|
|
3
|
+
import { ifDefined } from 'lit/directives/if-defined.js'
|
|
4
|
+
import { createRef, ref } from 'lit/directives/ref.js'
|
|
5
|
+
import { when } from 'lit/directives/when.js'
|
|
6
|
+
import { distinctUntilChanged, filter, fromEvent, map, takeUntil } from 'rxjs'
|
|
7
|
+
|
|
8
|
+
import { SchmancyFormField } from '@mixins/index'
|
|
9
|
+
|
|
10
|
+
// Import styles
|
|
11
|
+
import style from './input.scss?inline'
|
|
12
|
+
|
|
13
|
+
// If you want to be form-associated, define the type on `ElementInternals`.
|
|
14
|
+
declare global {
|
|
15
|
+
interface HTMLElementTagNameMap {
|
|
16
|
+
'schmancy-input': SchmancyInput
|
|
17
|
+
'sch-input': SchmancyInput
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
type EventDetails = {
|
|
22
|
+
value: string
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Custom events the component may emit:
|
|
27
|
+
* - 'input': on every keystroke
|
|
28
|
+
* - 'change': on native blur/change
|
|
29
|
+
* - 'enter': specifically when user presses Enter
|
|
30
|
+
*/
|
|
31
|
+
export type SchmancyInputInputEvent = CustomEvent<EventDetails>
|
|
32
|
+
export type SchmancyInputChangeEvent = CustomEvent<EventDetails>
|
|
33
|
+
export type SchmancyInputEnterEvent = CustomEvent<EventDetails>
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Size variants for the input - M3 spec aligned.
|
|
37
|
+
* - xxs: Ultra-compact (24dp) - for menu cards, compact UIs
|
|
38
|
+
* - xs: Dense/compact (32dp) - M3 density -3
|
|
39
|
+
* - sm: Default (40dp) - M3 density 0
|
|
40
|
+
* - md: Standard (48dp) - M3 large
|
|
41
|
+
* - lg: Extra large (56dp) - M3 extra large
|
|
42
|
+
*/
|
|
43
|
+
export type InputSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg'
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Enhanced version of the SchmancyInput component with improved form integration
|
|
47
|
+
* and compatibility with legacy API.
|
|
48
|
+
*
|
|
49
|
+
* This component uses the native form association API and maintains parity with
|
|
50
|
+
* native input behaviors while providing a stylish, accessible interface.
|
|
51
|
+
*
|
|
52
|
+
* @prop {string} name - Name attribute for form submission (inherited from FormFieldMixin)
|
|
53
|
+
* @prop {string} label - Label text for the form field (inherited from FormFieldMixin)
|
|
54
|
+
* @prop {boolean} required - Whether the field is required (inherited from FormFieldMixin)
|
|
55
|
+
* @prop {boolean} disabled - Whether the field is disabled (inherited from FormFieldMixin)
|
|
56
|
+
* @prop {boolean} readonly - Whether the field is read-only (inherited from FormFieldMixin)
|
|
57
|
+
* @prop {boolean} error - Whether the field is in an error state (inherited from FormFieldMixin)
|
|
58
|
+
* @prop {string} validationMessage - The validation message to display (inherited from FormFieldMixin)
|
|
59
|
+
* @prop {string} hint - Optional hint text to display below the field (inherited from FormFieldMixin)
|
|
60
|
+
*/
|
|
61
|
+
@customElement('schmancy-input')
|
|
62
|
+
export default class SchmancyInput extends SchmancyFormField(style) {
|
|
63
|
+
// ----------------------------
|
|
64
|
+
// A) Public properties
|
|
65
|
+
// ----------------------------
|
|
66
|
+
|
|
67
|
+
/** Auto-incrementing counter for generating unique IDs */
|
|
68
|
+
static _idCounter = 0
|
|
69
|
+
|
|
70
|
+
/** Override value to be string only for input element */
|
|
71
|
+
@property({ type: String, reflect: true })
|
|
72
|
+
public override value = ''
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* The type of input. (e.g. 'text', 'password', 'email', etc.)
|
|
77
|
+
*/
|
|
78
|
+
@property({ reflect: true })
|
|
79
|
+
public type: HTMLInputElement['type'] = 'text'
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
@property()
|
|
83
|
+
public placeholder = ''
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
/** Pattern validation attribute. */
|
|
87
|
+
@property({ type: String, reflect: true })
|
|
88
|
+
public pattern?: string
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
/** If true, we visually show a pointer cursor even if readOnly. */
|
|
92
|
+
@property({ type: Boolean, reflect: true }) public clickable = false
|
|
93
|
+
|
|
94
|
+
/** Whether browser spellcheck is enabled. */
|
|
95
|
+
@property({ type: Boolean, reflect: true })
|
|
96
|
+
public spellcheck = false
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Text alignment within the input.
|
|
100
|
+
* - 'left' | 'center' | 'right'
|
|
101
|
+
*/
|
|
102
|
+
@property({ type: String, reflect: true })
|
|
103
|
+
public align: 'left' | 'center' | 'right' = 'left'
|
|
104
|
+
|
|
105
|
+
/** inputmode attribute (affects on-screen keyboards in mobile). */
|
|
106
|
+
@property()
|
|
107
|
+
public inputmode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'
|
|
108
|
+
|
|
109
|
+
@property({ type: Number, reflect: true })
|
|
110
|
+
public minlength?: number
|
|
111
|
+
|
|
112
|
+
@property({ type: Number })
|
|
113
|
+
public maxlength?: number
|
|
114
|
+
|
|
115
|
+
@property()
|
|
116
|
+
public min?: string
|
|
117
|
+
|
|
118
|
+
@property()
|
|
119
|
+
public max?: string
|
|
120
|
+
|
|
121
|
+
@property({ reflect: true })
|
|
122
|
+
public step?: string = 'any'
|
|
123
|
+
|
|
124
|
+
/** If true, auto-focus this input on first render. */
|
|
125
|
+
@property({ type: Boolean })
|
|
126
|
+
public autofocus = false
|
|
127
|
+
|
|
128
|
+
/** Autocomplete/autofill hints. */
|
|
129
|
+
@property({ type: String, reflect: true })
|
|
130
|
+
public autocomplete: AutoFill = 'on'
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* tabIndex for focusing by tab key. Typically 0 or -1.
|
|
134
|
+
*/
|
|
135
|
+
@property({ type: Number, reflect: true })
|
|
136
|
+
public override tabIndex = 0
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* The size of the input.
|
|
141
|
+
* - 'xxs': Ultra-compact size (24px) - for menu cards
|
|
142
|
+
* - 'xs': Extra small, very compact size (32px)
|
|
143
|
+
* - 'sm': Small, compact size (40px)
|
|
144
|
+
* - 'md': Medium size (default) (48px)
|
|
145
|
+
* - 'lg': Large size (56px)
|
|
146
|
+
*/
|
|
147
|
+
@property({ type: String, reflect: true })
|
|
148
|
+
public size: InputSize = 'md'
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Controls when validation should show.
|
|
152
|
+
* - 'always' - Always show validation
|
|
153
|
+
* - 'touched' - Only show after field has been focused and then blurred
|
|
154
|
+
* - 'dirty' - Only show after value has changed
|
|
155
|
+
* - 'submitted' - Only show after form submission
|
|
156
|
+
*/
|
|
157
|
+
@property({ type: String })
|
|
158
|
+
public validateOn: 'always' | 'touched' | 'dirty' | 'submitted' = 'touched'
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* For datalist support
|
|
162
|
+
*/
|
|
163
|
+
@property({ type: String })
|
|
164
|
+
public list?: string
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
// ----------------------------
|
|
168
|
+
// B) Queries & Refs
|
|
169
|
+
// ----------------------------
|
|
170
|
+
@query('input') private inputElement!: HTMLInputElement
|
|
171
|
+
private inputRef = createRef<HTMLInputElement>()
|
|
172
|
+
|
|
173
|
+
// ----------------------------
|
|
174
|
+
// C) Internal States
|
|
175
|
+
// ----------------------------
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* For integration with browser's autofill support
|
|
179
|
+
*/
|
|
180
|
+
@state()
|
|
181
|
+
private isAutofilled = false
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Track user interaction state for validation
|
|
185
|
+
*/
|
|
186
|
+
@state()
|
|
187
|
+
private touched = false
|
|
188
|
+
|
|
189
|
+
@state()
|
|
190
|
+
private dirty = false
|
|
191
|
+
|
|
192
|
+
@state()
|
|
193
|
+
private submitted = false
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Store the default value for reset behavior
|
|
197
|
+
*/
|
|
198
|
+
@state()
|
|
199
|
+
private defaultValue = ''
|
|
200
|
+
|
|
201
|
+
// ----------------------------
|
|
202
|
+
// D) Form-associated logic
|
|
203
|
+
// ----------------------------
|
|
204
|
+
protected static shadowRootOptions = {
|
|
205
|
+
...LitElement.shadowRootOptions,
|
|
206
|
+
delegatesFocus: true, // so focus() goes to <input>
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
private formResetObserver?: MutationObserver
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* If user did not provide an ID, auto-generate one so <label for="...">
|
|
213
|
+
* and various aria-* attributes can reference it.
|
|
214
|
+
*/
|
|
215
|
+
protected override willUpdate(changedProps: PropertyValueMap<any> | Map<PropertyKey, unknown>) {
|
|
216
|
+
if (!this.id) {
|
|
217
|
+
this.id = `sch-input-${SchmancyInput._idCounter++}`
|
|
218
|
+
}
|
|
219
|
+
super.willUpdate(changedProps)
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
protected override updated(changedProps: Map<string, unknown>) {
|
|
224
|
+
super.updated(changedProps)
|
|
225
|
+
|
|
226
|
+
// Handle value changes
|
|
227
|
+
if (changedProps.has('value')) {
|
|
228
|
+
// If value changes from original default, mark as dirty
|
|
229
|
+
if (this.value !== this.defaultValue) {
|
|
230
|
+
this.dirty = true
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
// Update validation state when value changes
|
|
234
|
+
this.validateInput()
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// Store default value if this is the first update
|
|
238
|
+
if (!this.hasUpdated && changedProps.has('value')) {
|
|
239
|
+
this.defaultValue = this.value
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Connect to the closest form element and set up form integration
|
|
245
|
+
*/
|
|
246
|
+
connectedCallback() {
|
|
247
|
+
super.connectedCallback()
|
|
248
|
+
|
|
249
|
+
// Store initial default value for form reset
|
|
250
|
+
this.defaultValue = this.value
|
|
251
|
+
|
|
252
|
+
// Set up form integration
|
|
253
|
+
this.setupFormIntegration()
|
|
254
|
+
|
|
255
|
+
// Setup for external label association
|
|
256
|
+
this.setupExternalLabelAssociation()
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Set up form integration with ElementInternals
|
|
261
|
+
*/
|
|
262
|
+
private setupFormIntegration() {
|
|
263
|
+
if (this.form) {
|
|
264
|
+
// Listen for form reset events
|
|
265
|
+
this.formResetObserver = new MutationObserver(mutations => {
|
|
266
|
+
for (const mutation of mutations) {
|
|
267
|
+
if (mutation.type === 'attributes' && mutation.attributeName === 'reset') {
|
|
268
|
+
this.resetToDefault()
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
})
|
|
272
|
+
|
|
273
|
+
// Observe the form for reset events
|
|
274
|
+
this.formResetObserver.observe(this.form, {
|
|
275
|
+
attributes: true,
|
|
276
|
+
childList: false,
|
|
277
|
+
subtree: false,
|
|
278
|
+
})
|
|
279
|
+
|
|
280
|
+
// Use RxJS for form reset events
|
|
281
|
+
fromEvent(this.form, 'reset')
|
|
282
|
+
.pipe(takeUntil(this.disconnecting))
|
|
283
|
+
.subscribe(() => {
|
|
284
|
+
this.resetToDefault()
|
|
285
|
+
})
|
|
286
|
+
|
|
287
|
+
// Use RxJS for form submit events to mark field as submitted
|
|
288
|
+
fromEvent(this.form, 'submit')
|
|
289
|
+
.pipe(takeUntil(this.disconnecting))
|
|
290
|
+
.subscribe(() => {
|
|
291
|
+
this.submitted = true
|
|
292
|
+
// Validate on form submission
|
|
293
|
+
this.validateInput(true)
|
|
294
|
+
})
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Set up external label association for native HTML label support
|
|
300
|
+
*/
|
|
301
|
+
private setupExternalLabelAssociation() {
|
|
302
|
+
if (this.id) {
|
|
303
|
+
const setupLabelClickListener = () => {
|
|
304
|
+
const labels = document.querySelectorAll(`label[for="${this.id}"]`)
|
|
305
|
+
labels.forEach(label => {
|
|
306
|
+
// Use RxJS for label click events
|
|
307
|
+
fromEvent(label, 'click')
|
|
308
|
+
.pipe(takeUntil(this.disconnecting))
|
|
309
|
+
.subscribe(() => {
|
|
310
|
+
this.focus()
|
|
311
|
+
})
|
|
312
|
+
})
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
// Initialize after DOM is ready
|
|
316
|
+
if (document.readyState === 'complete') {
|
|
317
|
+
setupLabelClickListener()
|
|
318
|
+
} else {
|
|
319
|
+
// Use RxJS for DOMContentLoaded event
|
|
320
|
+
fromEvent(document, 'DOMContentLoaded')
|
|
321
|
+
.pipe(takeUntil(this.disconnecting))
|
|
322
|
+
.subscribe(setupLabelClickListener)
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
disconnectedCallback() {
|
|
328
|
+
super.disconnectedCallback()
|
|
329
|
+
|
|
330
|
+
// Clean up the form observer
|
|
331
|
+
if (this.formResetObserver) {
|
|
332
|
+
this.formResetObserver.disconnect()
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
// Note: RxJS subscriptions are automatically cleaned up via takeUntil(this.disconnecting)
|
|
336
|
+
// No manual removeEventListener calls needed for RxJS-managed events
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Reset the input to its default state
|
|
341
|
+
*/
|
|
342
|
+
private resetToDefault() {
|
|
343
|
+
this.value = this.defaultValue
|
|
344
|
+
this.touched = false
|
|
345
|
+
this.dirty = false
|
|
346
|
+
this.submitted = false
|
|
347
|
+
this.error = false
|
|
348
|
+
this.validationMessage = ''
|
|
349
|
+
this.dispatchEvent(new CustomEvent('reset', { bubbles: true }))
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* Determines if validation errors should be shown based on current state
|
|
354
|
+
* and validation strategy
|
|
355
|
+
*/
|
|
356
|
+
private shouldShowValidation(forceValidation = false): boolean {
|
|
357
|
+
if (forceValidation) return true
|
|
358
|
+
|
|
359
|
+
switch (this.validateOn) {
|
|
360
|
+
case 'always':
|
|
361
|
+
return true
|
|
362
|
+
case 'touched':
|
|
363
|
+
return this.touched
|
|
364
|
+
case 'dirty':
|
|
365
|
+
return this.dirty
|
|
366
|
+
case 'submitted':
|
|
367
|
+
return this.submitted
|
|
368
|
+
default:
|
|
369
|
+
return this.touched
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Validate input based on required, pattern, etc.
|
|
376
|
+
* This mimics native validation behavior
|
|
377
|
+
*/
|
|
378
|
+
private validateInput(forceValidation = false) {
|
|
379
|
+
// Skip validation for disabled inputs
|
|
380
|
+
if (this.disabled) return
|
|
381
|
+
|
|
382
|
+
// Only show validation errors if we should based on the validation strategy
|
|
383
|
+
const shouldValidate = this.shouldShowValidation(forceValidation)
|
|
384
|
+
|
|
385
|
+
// Get validity state from internal input if available
|
|
386
|
+
const validity: ValidityState = this.inputElement?.validity ?? {
|
|
387
|
+
badInput: false,
|
|
388
|
+
customError: false,
|
|
389
|
+
patternMismatch: false,
|
|
390
|
+
rangeOverflow: false,
|
|
391
|
+
rangeUnderflow: false,
|
|
392
|
+
stepMismatch: false,
|
|
393
|
+
tooLong: false,
|
|
394
|
+
tooShort: false,
|
|
395
|
+
typeMismatch: false,
|
|
396
|
+
valid: true,
|
|
397
|
+
valueMissing: false,
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
// Check if the input has an actual validation error (not a custom error)
|
|
401
|
+
const hasError = !validity.valid && !validity.customError
|
|
402
|
+
|
|
403
|
+
if (shouldValidate && hasError) {
|
|
404
|
+
// There's an error and we should show it
|
|
405
|
+
this.error = true
|
|
406
|
+
this.validationMessage = this.inputElement?.validationMessage || ''
|
|
407
|
+
} else if (validity.valid) {
|
|
408
|
+
// Input is valid, so clear the error state
|
|
409
|
+
this.error = false
|
|
410
|
+
|
|
411
|
+
// Only clear validation message if there's no custom error
|
|
412
|
+
if (!validity.customError) {
|
|
413
|
+
this.validationMessage = ''
|
|
414
|
+
}
|
|
415
|
+
} else if (!shouldValidate) {
|
|
416
|
+
// We shouldn't show validation yet, so clear visual error state
|
|
417
|
+
this.error = false
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
// The mixin will handle updating internals based on error state
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Check validity without showing validation UI
|
|
425
|
+
*/
|
|
426
|
+
public override checkValidity() {
|
|
427
|
+
// Check internal input first
|
|
428
|
+
const inputValid = this.inputRef.value?.checkValidity() ?? true
|
|
429
|
+
|
|
430
|
+
// Call parent implementation for basic validation
|
|
431
|
+
const parentValid = super.checkValidity()
|
|
432
|
+
|
|
433
|
+
return inputValid && parentValid
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Show validation UI and check validity
|
|
438
|
+
*/
|
|
439
|
+
public override reportValidity() {
|
|
440
|
+
// Mark as touched and submitted to show validation
|
|
441
|
+
this.touched = true
|
|
442
|
+
this.submitted = true
|
|
443
|
+
|
|
444
|
+
// First check using native input
|
|
445
|
+
const inputValid = this.inputRef.value?.reportValidity() ?? true
|
|
446
|
+
|
|
447
|
+
// Update our component's validation state with force=true
|
|
448
|
+
this.validateInput(true)
|
|
449
|
+
|
|
450
|
+
// Call parent implementation
|
|
451
|
+
const parentValid = super.reportValidity()
|
|
452
|
+
|
|
453
|
+
return inputValid && parentValid
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
/**
|
|
457
|
+
* Set a custom validation error message
|
|
458
|
+
*/
|
|
459
|
+
public override setCustomValidity(message: string) {
|
|
460
|
+
// Set on the native input
|
|
461
|
+
if (this.inputRef.value) {
|
|
462
|
+
this.inputRef.value.setCustomValidity(message)
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
// Call parent implementation
|
|
466
|
+
super.setCustomValidity(message)
|
|
467
|
+
|
|
468
|
+
// Update error state based on validation strategy
|
|
469
|
+
this.error = message !== '' && this.shouldShowValidation()
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
// ----------------------------
|
|
473
|
+
// E) Lifecycle Hooks & Event Handlers
|
|
474
|
+
// ----------------------------
|
|
475
|
+
firstUpdated() {
|
|
476
|
+
// Autofocus if desired
|
|
477
|
+
if (this.autofocus) {
|
|
478
|
+
// Use setTimeout to match browser behavior - autofocus happens after initial rendering
|
|
479
|
+
setTimeout(() => {
|
|
480
|
+
this.focus()
|
|
481
|
+
}, 0)
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
// Subscribe to input events
|
|
485
|
+
this.setupInputEvents()
|
|
486
|
+
this.setupFocusBlurEvents()
|
|
487
|
+
this.setupAutofillDetection()
|
|
488
|
+
this.setupEnterKeyEvents()
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
/**
|
|
492
|
+
* Set up input event handling for value changes
|
|
493
|
+
*/
|
|
494
|
+
private setupInputEvents() {
|
|
495
|
+
fromEvent<InputEvent>(this.inputElement, 'input')
|
|
496
|
+
.pipe(
|
|
497
|
+
map(ev => {
|
|
498
|
+
// Stop native event from bubbling - we'll dispatch our own custom event
|
|
499
|
+
ev.stopPropagation()
|
|
500
|
+
|
|
501
|
+
// Capture all input event properties for complete event forwarding
|
|
502
|
+
const inputEvent = ev as InputEvent
|
|
503
|
+
const target = ev.target as HTMLInputElement
|
|
504
|
+
return {
|
|
505
|
+
value: target.value,
|
|
506
|
+
inputType: inputEvent.inputType,
|
|
507
|
+
data: inputEvent.data,
|
|
508
|
+
isComposing: inputEvent.isComposing,
|
|
509
|
+
originalEvent: ev,
|
|
510
|
+
}
|
|
511
|
+
}),
|
|
512
|
+
takeUntil(this.disconnecting),
|
|
513
|
+
)
|
|
514
|
+
.subscribe(eventData => {
|
|
515
|
+
// Update component value
|
|
516
|
+
this.value = eventData.value
|
|
517
|
+
|
|
518
|
+
// Mark as dirty when user types
|
|
519
|
+
this.dirty = this.value !== this.defaultValue
|
|
520
|
+
|
|
521
|
+
// Fire custom 'input' event with extended details
|
|
522
|
+
const customEvent = new CustomEvent<EventDetails>('input', {
|
|
523
|
+
detail: { value: eventData.value },
|
|
524
|
+
bubbles: true,
|
|
525
|
+
composed: true,
|
|
526
|
+
})
|
|
527
|
+
|
|
528
|
+
// Add additional properties to match native events more closely
|
|
529
|
+
Object.defineProperties(customEvent, {
|
|
530
|
+
inputType: { value: eventData.inputType },
|
|
531
|
+
data: { value: eventData.data },
|
|
532
|
+
isComposing: { value: eventData.isComposing },
|
|
533
|
+
})
|
|
534
|
+
|
|
535
|
+
this.dispatchEvent(customEvent)
|
|
536
|
+
|
|
537
|
+
// Run validation like native inputs do on input, but respect the validation strategy
|
|
538
|
+
this.validateInput()
|
|
539
|
+
})
|
|
540
|
+
|
|
541
|
+
// Subscribe to native change events (usually on blur)
|
|
542
|
+
fromEvent<Event>(this.inputElement, 'change')
|
|
543
|
+
.pipe(
|
|
544
|
+
map(ev => {
|
|
545
|
+
// Stop native event from bubbling - we'll dispatch our own custom event
|
|
546
|
+
ev.stopPropagation()
|
|
547
|
+
return (ev.target as HTMLInputElement).value
|
|
548
|
+
}),
|
|
549
|
+
distinctUntilChanged(),
|
|
550
|
+
takeUntil(this.disconnecting),
|
|
551
|
+
)
|
|
552
|
+
.subscribe(value => {
|
|
553
|
+
this.value = value
|
|
554
|
+
this.dirty = this.value !== this.defaultValue
|
|
555
|
+
|
|
556
|
+
// Fire regular change event using mixin helper
|
|
557
|
+
this.emitChange({ value })
|
|
558
|
+
|
|
559
|
+
// Run validation on change like native inputs
|
|
560
|
+
this.validateInput()
|
|
561
|
+
})
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* Set up focus/blur event handling
|
|
566
|
+
*/
|
|
567
|
+
private setupFocusBlurEvents() {
|
|
568
|
+
fromEvent<FocusEvent>(this.inputElement, 'focus')
|
|
569
|
+
.pipe(takeUntil(this.disconnecting))
|
|
570
|
+
.subscribe(ev => {
|
|
571
|
+
// Create a custom focus event that includes standard props
|
|
572
|
+
const focusEvent = new CustomEvent('focus', {
|
|
573
|
+
bubbles: ev.bubbles,
|
|
574
|
+
cancelable: ev.cancelable,
|
|
575
|
+
composed: ev.composed,
|
|
576
|
+
})
|
|
577
|
+
|
|
578
|
+
// Add focus-specific properties
|
|
579
|
+
Object.defineProperties(focusEvent, {
|
|
580
|
+
relatedTarget: { value: ev.relatedTarget },
|
|
581
|
+
})
|
|
582
|
+
|
|
583
|
+
this.dispatchEvent(focusEvent)
|
|
584
|
+
})
|
|
585
|
+
|
|
586
|
+
fromEvent<FocusEvent>(this.inputElement, 'blur')
|
|
587
|
+
.pipe(takeUntil(this.disconnecting))
|
|
588
|
+
.subscribe(ev => {
|
|
589
|
+
// Mark as touched when field loses focus
|
|
590
|
+
this.touched = true
|
|
591
|
+
|
|
592
|
+
// Run validation on blur like native inputs, respecting validation strategy
|
|
593
|
+
if (!this.disabled) {
|
|
594
|
+
this.validateInput()
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
// Create a custom blur event that includes standard props
|
|
598
|
+
const blurEvent = new CustomEvent('blur', {
|
|
599
|
+
bubbles: ev.bubbles,
|
|
600
|
+
cancelable: ev.cancelable,
|
|
601
|
+
composed: ev.composed,
|
|
602
|
+
})
|
|
603
|
+
|
|
604
|
+
// Add blur-specific properties
|
|
605
|
+
Object.defineProperties(blurEvent, {
|
|
606
|
+
relatedTarget: { value: ev.relatedTarget },
|
|
607
|
+
})
|
|
608
|
+
|
|
609
|
+
this.dispatchEvent(blurEvent)
|
|
610
|
+
})
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
/**
|
|
614
|
+
* Set up autofill detection
|
|
615
|
+
*/
|
|
616
|
+
private setupAutofillDetection() {
|
|
617
|
+
// Detect autofill animation (Chrome, etc.)
|
|
618
|
+
fromEvent<AnimationEvent>(this.inputElement, 'animationstart')
|
|
619
|
+
.pipe(
|
|
620
|
+
filter(ev => ev.animationName === 'onAutoFillStart'),
|
|
621
|
+
takeUntil(this.disconnecting),
|
|
622
|
+
)
|
|
623
|
+
.subscribe(ev => {
|
|
624
|
+
const { value } = ev.target as HTMLInputElement
|
|
625
|
+
this.value = value
|
|
626
|
+
this.isAutofilled = true
|
|
627
|
+
this.dirty = this.value !== this.defaultValue
|
|
628
|
+
|
|
629
|
+
// Dispatch autofill event for integration with autofill systems
|
|
630
|
+
this.dispatchEvent(
|
|
631
|
+
new CustomEvent('autofill', {
|
|
632
|
+
detail: { value },
|
|
633
|
+
bubbles: true,
|
|
634
|
+
composed: true,
|
|
635
|
+
}),
|
|
636
|
+
)
|
|
637
|
+
|
|
638
|
+
// Also propagate as a change event like browsers do
|
|
639
|
+
this.emitChange({ value })
|
|
640
|
+
})
|
|
641
|
+
|
|
642
|
+
// Detect end of autofill (Chrome)
|
|
643
|
+
fromEvent<AnimationEvent>(this.inputElement, 'animationstart')
|
|
644
|
+
.pipe(
|
|
645
|
+
filter(ev => ev.animationName === 'onAutoFillCancel'),
|
|
646
|
+
takeUntil(this.disconnecting),
|
|
647
|
+
)
|
|
648
|
+
.subscribe(() => {
|
|
649
|
+
this.isAutofilled = false
|
|
650
|
+
})
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
/**
|
|
654
|
+
* Set up enter key event handling
|
|
655
|
+
*/
|
|
656
|
+
private setupEnterKeyEvents() {
|
|
657
|
+
// Listen for Enter on keydown
|
|
658
|
+
fromEvent<KeyboardEvent>(this.inputElement, 'keydown')
|
|
659
|
+
.pipe(
|
|
660
|
+
filter(ev => ev.key === 'Enter'),
|
|
661
|
+
takeUntil(this.disconnecting),
|
|
662
|
+
)
|
|
663
|
+
.subscribe(ev => {
|
|
664
|
+
const { value } = ev.target as HTMLInputElement
|
|
665
|
+
|
|
666
|
+
// Update value if changed
|
|
667
|
+
if (this.value !== value) {
|
|
668
|
+
this.value = value
|
|
669
|
+
this.dirty = this.value !== this.defaultValue
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
// Blur the input to trigger change event naturally
|
|
673
|
+
// This mimics what happens when you tab out of the field
|
|
674
|
+
this.inputElement.blur()
|
|
675
|
+
|
|
676
|
+
// Dispatch enhanced enter event
|
|
677
|
+
const enterEvent = new CustomEvent<EventDetails>('enter', {
|
|
678
|
+
detail: { value: this.value },
|
|
679
|
+
bubbles: true,
|
|
680
|
+
composed: true,
|
|
681
|
+
})
|
|
682
|
+
|
|
683
|
+
// Add extra keyboard event props
|
|
684
|
+
Object.defineProperties(enterEvent, {
|
|
685
|
+
key: { value: 'Enter' },
|
|
686
|
+
code: { value: 'Enter' },
|
|
687
|
+
keyCode: { value: 13 },
|
|
688
|
+
which: { value: 13 },
|
|
689
|
+
})
|
|
690
|
+
|
|
691
|
+
this.dispatchEvent(enterEvent)
|
|
692
|
+
})
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
// ----------------------------
|
|
696
|
+
// F) Utility Methods
|
|
697
|
+
// ----------------------------
|
|
698
|
+
/** Selects all text within the input. */
|
|
699
|
+
public select() {
|
|
700
|
+
return this.inputRef.value?.select()
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
/** Returns the native validity state of the inner <input>. */
|
|
704
|
+
public getValidity(): ValidityState | undefined {
|
|
705
|
+
return this.inputRef.value?.validity
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
/**
|
|
709
|
+
* Sets the selection range. Mirrors native input.setSelectionRange
|
|
710
|
+
*/
|
|
711
|
+
public setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {
|
|
712
|
+
this.inputRef.value?.setSelectionRange(start, end, direction)
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
/**
|
|
716
|
+
* Returns the selected text within the input (start position)
|
|
717
|
+
*/
|
|
718
|
+
public get selectionStart(): number | null {
|
|
719
|
+
return this.inputRef.value?.selectionStart ?? null
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
/**
|
|
723
|
+
* Returns the selected text within the input (end position)
|
|
724
|
+
*/
|
|
725
|
+
public get selectionEnd(): number | null {
|
|
726
|
+
return this.inputRef.value?.selectionEnd ?? null
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
/**
|
|
730
|
+
* Returns the direction of selection
|
|
731
|
+
*/
|
|
732
|
+
public get selectionDirection(): 'forward' | 'backward' | 'none' | null {
|
|
733
|
+
return this.inputRef.value?.selectionDirection ?? null
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
/**
|
|
737
|
+
* Sets the range of text to be selected.
|
|
738
|
+
*/
|
|
739
|
+
public setRangeText(
|
|
740
|
+
replacement: string,
|
|
741
|
+
start?: number,
|
|
742
|
+
end?: number,
|
|
743
|
+
selectMode?: 'select' | 'start' | 'end' | 'preserve',
|
|
744
|
+
) {
|
|
745
|
+
if (start !== undefined && end !== undefined) {
|
|
746
|
+
this.inputRef.value?.setRangeText(replacement, start, end, selectMode)
|
|
747
|
+
} else {
|
|
748
|
+
this.inputRef.value?.setRangeText(replacement)
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
/**
|
|
753
|
+
* Override to forward focus to the internal <input>.
|
|
754
|
+
* Also dispatch a 'focus' event for external listeners.
|
|
755
|
+
*/
|
|
756
|
+
public override focus(options?: FocusOptions) {
|
|
757
|
+
this.inputRef.value?.focus(options)
|
|
758
|
+
this.dispatchEvent(new Event('focus'))
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
/**
|
|
762
|
+
* Override to forward clicks to the internal <input>.
|
|
763
|
+
* Also dispatch a 'click' event for external listeners.
|
|
764
|
+
*/
|
|
765
|
+
public override click() {
|
|
766
|
+
this.inputRef.value?.click()
|
|
767
|
+
this.dispatchEvent(new Event('click'))
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
/** Forward blur to the internal <input>. */
|
|
771
|
+
public override blur() {
|
|
772
|
+
this.inputRef.value?.blur()
|
|
773
|
+
this.dispatchEvent(new Event('blur'))
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
// ----------------------------
|
|
777
|
+
// G) Rendering
|
|
778
|
+
// ----------------------------
|
|
779
|
+
protected override render() {
|
|
780
|
+
// Determine height and padding based on size - M3 spec aligned
|
|
781
|
+
const getHeightAndPadding = () => {
|
|
782
|
+
switch (this.size) {
|
|
783
|
+
case 'xxs':
|
|
784
|
+
// Ultra-compact: 24dp height
|
|
785
|
+
return {
|
|
786
|
+
height: '24px',
|
|
787
|
+
padding: '0 8px',
|
|
788
|
+
fontSize: '0.625rem', // 10px
|
|
789
|
+
}
|
|
790
|
+
case 'xs':
|
|
791
|
+
// M3 dense: 32dp height
|
|
792
|
+
return {
|
|
793
|
+
height: '32px',
|
|
794
|
+
padding: '0 12px',
|
|
795
|
+
fontSize: '0.75rem', // 12px
|
|
796
|
+
}
|
|
797
|
+
case 'sm':
|
|
798
|
+
// M3 default: 40dp height
|
|
799
|
+
return {
|
|
800
|
+
height: '40px',
|
|
801
|
+
padding: '0 16px',
|
|
802
|
+
fontSize: '0.875rem', // 14px - M3 body-large
|
|
803
|
+
}
|
|
804
|
+
case 'lg':
|
|
805
|
+
// M3 extra large: 56dp height
|
|
806
|
+
return {
|
|
807
|
+
height: '56px',
|
|
808
|
+
padding: '0 20px',
|
|
809
|
+
fontSize: '1rem', // 16px
|
|
810
|
+
}
|
|
811
|
+
case 'md':
|
|
812
|
+
default:
|
|
813
|
+
// M3 standard: 48dp height
|
|
814
|
+
return {
|
|
815
|
+
height: '48px',
|
|
816
|
+
padding: '0 16px',
|
|
817
|
+
fontSize: '0.875rem', // 14px - M3 body-large
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
const { height, padding, fontSize } = getHeightAndPadding()
|
|
823
|
+
|
|
824
|
+
// Check if it's a date-type input
|
|
825
|
+
const isDateType = ['date', 'datetime-local', 'time', 'month', 'week'].includes(this.type)
|
|
826
|
+
|
|
827
|
+
const inputClasses = {
|
|
828
|
+
// Base styles - outlined style matching Revolut card field
|
|
829
|
+
'block w-full min-w-0 rounded-2xl border bg-surface-containerLowest text-surface-on': true,
|
|
830
|
+
// Border color
|
|
831
|
+
'border-outline': !this.error,
|
|
832
|
+
'border-error-default': this.error,
|
|
833
|
+
// Focus styles
|
|
834
|
+
'outline-secondary-default focus:outline-1 focus:border-secondary-default': true,
|
|
835
|
+
// Disabled styles
|
|
836
|
+
'disabled:opacity-40 disabled:cursor-not-allowed': true,
|
|
837
|
+
// Placeholder
|
|
838
|
+
'placeholder:text-muted': true,
|
|
839
|
+
// Ring styles (subtle focus ring)
|
|
840
|
+
'ring-0 focus:ring-1 focus:ring-inset': true,
|
|
841
|
+
// Ring colors based on error state
|
|
842
|
+
'focus:ring-secondary-default': !this.error,
|
|
843
|
+
'focus:ring-error-default': this.error,
|
|
844
|
+
// Readonly styles
|
|
845
|
+
'caret-transparent focus:outline-hidden cursor-pointer select-none': this.readonly,
|
|
846
|
+
'cursor-pointer': this.clickable,
|
|
847
|
+
// Text alignment (date inputs always left-aligned)
|
|
848
|
+
'text-left': this.align === 'left' || isDateType,
|
|
849
|
+
'text-center': this.align === 'center' && !isDateType,
|
|
850
|
+
'text-right': this.align === 'right' && !isDateType,
|
|
851
|
+
// Autofill
|
|
852
|
+
autofilled: this.isAutofilled,
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
const labelClasses = {
|
|
856
|
+
'block mb-1 font-medium': true,
|
|
857
|
+
'opacity-40': this.disabled,
|
|
858
|
+
'text-[10px]': this.size === 'xxs',
|
|
859
|
+
'text-xs': this.size === 'xs',
|
|
860
|
+
'text-sm': this.size === 'sm',
|
|
861
|
+
'text-base': this.size === 'md',
|
|
862
|
+
'text-lg': this.size === 'lg',
|
|
863
|
+
'text-primary-default': !this.error,
|
|
864
|
+
'text-error-default': this.error,
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
const styles = {
|
|
868
|
+
height,
|
|
869
|
+
padding,
|
|
870
|
+
fontSize,
|
|
871
|
+
// Ensure vertical centering for all input types
|
|
872
|
+
lineHeight: height,
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
/**
|
|
876
|
+
* - If `this.label` is present, we render a proper `<label for="${this.id}">`.
|
|
877
|
+
* - If not, we add an aria-label to the <input> for better accessibility.
|
|
878
|
+
* - If there's a `hint`, we reference it via aria-describedby.
|
|
879
|
+
* - If there's an error, we set aria-invalid and could set aria-errormessage.
|
|
880
|
+
*/
|
|
881
|
+
return html`
|
|
882
|
+
<div class="w-full min-w-0 ${isDateType ? 'date-input-container' : ''}">
|
|
883
|
+
${when(
|
|
884
|
+
this.label,
|
|
885
|
+
() => html`
|
|
886
|
+
<label
|
|
887
|
+
for=${this.id}
|
|
888
|
+
class=${this.classMap(labelClasses)}
|
|
889
|
+
>
|
|
890
|
+
${this.label}
|
|
891
|
+
</label>
|
|
892
|
+
`,
|
|
893
|
+
)}
|
|
894
|
+
|
|
895
|
+
<input
|
|
896
|
+
${ref(this.inputRef)}
|
|
897
|
+
id=${this.id}
|
|
898
|
+
name=${this.name}
|
|
899
|
+
class=${this.classMap(inputClasses)}
|
|
900
|
+
style=${this.styleMap(styles)}
|
|
901
|
+
.value=${this.value}
|
|
902
|
+
.type=${this.type}
|
|
903
|
+
.autocomplete=${this.autocomplete}
|
|
904
|
+
.spellcheck=${this.spellcheck}
|
|
905
|
+
placeholder=${this.placeholder}
|
|
906
|
+
inputmode=${ifDefined(this.inputmode)}
|
|
907
|
+
pattern=${ifDefined(this.pattern)}
|
|
908
|
+
.step=${this.step ?? ''}
|
|
909
|
+
minlength=${ifDefined(this.minlength)}
|
|
910
|
+
maxlength=${ifDefined(this.maxlength)}
|
|
911
|
+
min=${ifDefined(this.min)}
|
|
912
|
+
max=${ifDefined(this.max)}
|
|
913
|
+
list=${ifDefined(this.list)}
|
|
914
|
+
?required=${this.required}
|
|
915
|
+
?disabled=${this.disabled}
|
|
916
|
+
?readonly=${this.readonly}
|
|
917
|
+
aria-invalid=${this.error ? 'true' : 'false'}
|
|
918
|
+
aria-required=${this.required ? 'true' : 'false'}
|
|
919
|
+
aria-labelledby=${this.label ? `label-${this.id}` : nothing}
|
|
920
|
+
aria-describedby=${this.hint || this.validationMessage ? `hint-${this.id}` : nothing}
|
|
921
|
+
aria-label=${ifDefined(!this.label ? this.placeholder || 'Input' : undefined)}
|
|
922
|
+
/>
|
|
923
|
+
|
|
924
|
+
${when(
|
|
925
|
+
this.hint || (this.error && this.validationMessage),
|
|
926
|
+
() => html`
|
|
927
|
+
<div
|
|
928
|
+
id="hint-${this.id}"
|
|
929
|
+
class="mt-1 text-sm ${this.error ? 'text-error-default' : 'text-surface-onVariant'}"
|
|
930
|
+
>
|
|
931
|
+
${this.error && this.validationMessage ? this.validationMessage : this.hint}
|
|
932
|
+
</div>
|
|
933
|
+
`,
|
|
934
|
+
)}
|
|
935
|
+
</div>
|
|
936
|
+
`
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
/**
|
|
941
|
+
* Register the component with the legacy tag name for backward compatibility
|
|
942
|
+
* @prop {string} label - Label text for the form field (inherited from FormFieldMixin)
|
|
943
|
+
* @prop {boolean} required - Whether the field is required (inherited from FormFieldMixin)
|
|
944
|
+
* @prop {boolean} disabled - Whether the field is disabled (inherited from FormFieldMixin)
|
|
945
|
+
* @prop {boolean} readonly - Whether the field is read-only (inherited from FormFieldMixin)
|
|
946
|
+
* @prop {boolean} error - Whether the field is in an error state (inherited from FormFieldMixin)
|
|
947
|
+
* @prop {string} validationMessage - The validation message to display (inherited from FormFieldMixin)
|
|
948
|
+
* @prop {string} hint - Optional hint text to display below the field (inherited from FormFieldMixin)
|
|
949
|
+
*/
|
|
950
|
+
@customElement('sch-input')
|
|
951
|
+
export class SchmancyInputCompat extends SchmancyInput {}
|