@francofantomius/material-components 1.1.1 → 1.2.0
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/CHANGELOG.md +44 -0
- package/README.md +2 -1
- package/custom-elements.json +1049 -300
- package/dist/chunks/{account-menu-Dau0UHTl.js → account-menu-Bo7NghIm.js} +181 -223
- package/dist/chunks/{account-menu-Dau0UHTl.js.map → account-menu-Bo7NghIm.js.map} +1 -1
- package/dist/chunks/app-drawer-DjKSuatE.js +855 -0
- package/dist/chunks/{app-drawer-Du1ePzxZ.js.map → app-drawer-DjKSuatE.js.map} +1 -1
- package/dist/chunks/{badge-G4EjcMoy.js → badge-sZzNelZz.js} +30 -34
- package/dist/chunks/{badge-G4EjcMoy.js.map → badge-sZzNelZz.js.map} +1 -1
- package/dist/chunks/{bottom-sheet-q79BBYAj.js → bottom-sheet-BGgbUmKd.js} +98 -109
- package/dist/chunks/{bottom-sheet-q79BBYAj.js.map → bottom-sheet-BGgbUmKd.js.map} +1 -1
- package/dist/chunks/{button-D2vn7kJ8.js → button-DeQQlYds.js} +62 -72
- package/dist/chunks/{button-D2vn7kJ8.js.map → button-DeQQlYds.js.map} +1 -1
- package/dist/chunks/button-group-R2jN8FXK.js +136 -0
- package/dist/chunks/{button-group-CNqvJx1n.js.map → button-group-R2jN8FXK.js.map} +1 -1
- package/dist/chunks/{card-DVffdPpv.js → card-CVhWizDF.js} +45 -50
- package/dist/chunks/{card-DVffdPpv.js.map → card-CVhWizDF.js.map} +1 -1
- package/dist/chunks/{carousel-item-BG6kjjjk.js → carousel-item-DNp2zhP9.js} +62 -73
- package/dist/chunks/{carousel-item-BG6kjjjk.js.map → carousel-item-DNp2zhP9.js.map} +1 -1
- package/dist/chunks/{checkbox-BqlboAHd.js → checkbox-CsqUHVOF.js} +59 -64
- package/dist/chunks/{checkbox-BqlboAHd.js.map → checkbox-CsqUHVOF.js.map} +1 -1
- package/dist/chunks/{chip-CI1ZINnr.js → chip-B5c-I8bj.js} +56 -63
- package/dist/chunks/{chip-CI1ZINnr.js.map → chip-B5c-I8bj.js.map} +1 -1
- package/dist/chunks/code-CM6hIZNx.js +1531 -0
- package/dist/chunks/{code-C5UFBkCh.js.map → code-CM6hIZNx.js.map} +1 -1
- package/dist/chunks/date-picker-B15_rR0f.js +774 -0
- package/dist/chunks/date-picker-B15_rR0f.js.map +1 -0
- package/dist/chunks/decorate-DknOJ8FJ.js +40 -0
- package/dist/chunks/{decorate-DXuynaiA.js.map → decorate-DknOJ8FJ.js.map} +1 -1
- package/dist/chunks/{dialog-DGVEE5m_.js → dialog-Czknf8dl.js} +47 -52
- package/dist/chunks/{dialog-DGVEE5m_.js.map → dialog-Czknf8dl.js.map} +1 -1
- package/dist/chunks/divider-DIyCOosa.js +78 -0
- package/dist/chunks/{divider-DNepwoZv.js.map → divider-DIyCOosa.js.map} +1 -1
- package/dist/chunks/{fab-C9j3WBHE.js → fab-aZC0-lHo.js} +38 -44
- package/dist/chunks/{fab-C9j3WBHE.js.map → fab-aZC0-lHo.js.map} +1 -1
- package/dist/chunks/{fab-menu.css-3pu930sZ.js → fab-menu.css-BdVg1k4c.js} +5 -6
- package/dist/chunks/{fab-menu.css-3pu930sZ.js.map → fab-menu.css-BdVg1k4c.js.map} +1 -1
- package/dist/chunks/focus-ring-K6SY_mIm.js +69 -0
- package/dist/chunks/{focus-ring-CuiJuM-y.js.map → focus-ring-K6SY_mIm.js.map} +1 -1
- package/dist/chunks/form-associated-Do5uXckv.js +69 -0
- package/dist/chunks/{form-associated-Cty_ZaS9.js.map → form-associated-Do5uXckv.js.map} +1 -1
- package/dist/chunks/icon-FvKeXi61.js +59 -0
- package/dist/chunks/{icon-DrNqcNEL.js.map → icon-FvKeXi61.js.map} +1 -1
- package/dist/chunks/{icon-button-BQz73GLa.js → icon-button-CulnCZpZ.js} +58 -67
- package/dist/chunks/{icon-button-BQz73GLa.js.map → icon-button-CulnCZpZ.js.map} +1 -1
- package/dist/chunks/{list-D8olR7oZ.js → list-D7yrbJRL.js} +64 -72
- package/dist/chunks/{list-D8olR7oZ.js.map → list-D7yrbJRL.js.map} +1 -1
- package/dist/chunks/{loading-indicator-CvWnZr9o.js → loading-indicator-D9AyxNQh.js} +41 -46
- package/dist/chunks/{loading-indicator-CvWnZr9o.js.map → loading-indicator-D9AyxNQh.js.map} +1 -1
- package/dist/chunks/{menu-item-BBSp5Cqc.js → menu-item-C3entPo7.js} +77 -91
- package/dist/chunks/{menu-item-BBSp5Cqc.js.map → menu-item-C3entPo7.js.map} +1 -1
- package/dist/chunks/{navigation-bar-item-C9DfOEzg.js → navigation-bar-item-CWHCQeNw.js} +98 -115
- package/dist/chunks/{navigation-bar-item-C9DfOEzg.js.map → navigation-bar-item-CWHCQeNw.js.map} +1 -1
- package/dist/chunks/{navigation-drawer-CKl44Ef5.js → navigation-drawer-pGer0t4z.js} +116 -138
- package/dist/chunks/{navigation-drawer-CKl44Ef5.js.map → navigation-drawer-pGer0t4z.js.map} +1 -1
- package/dist/chunks/{navigation-rail-item-6pdhNHJK.js → navigation-rail-item-CWvGjLjC.js} +70 -86
- package/dist/chunks/{navigation-rail-item-6pdhNHJK.js.map → navigation-rail-item-CWvGjLjC.js.map} +1 -1
- package/dist/chunks/{player-C4ydiIpr.js → player-dT08kxeG.js} +423 -466
- package/dist/chunks/{player-C4ydiIpr.js.map → player-dT08kxeG.js.map} +1 -1
- package/dist/chunks/{progress-LQmLMDjX.js → progress-etZuX_VD.js} +46 -53
- package/dist/chunks/{progress-LQmLMDjX.js.map → progress-etZuX_VD.js.map} +1 -1
- package/dist/chunks/radio-jPCwykIa.js +197 -0
- package/dist/chunks/{radio-Bily78NT.js.map → radio-jPCwykIa.js.map} +1 -1
- package/dist/chunks/ripple-CBOKeVfm.js +132 -0
- package/dist/chunks/{ripple-squbKHhj.js.map → ripple-CBOKeVfm.js.map} +1 -1
- package/dist/chunks/{search-bar-fUD0qU2P.js → search-bar-B6xxVT7u.js} +244 -203
- package/dist/chunks/search-bar-B6xxVT7u.js.map +1 -0
- package/dist/chunks/segmented-button-Fon9kOHV.js +253 -0
- package/dist/chunks/{segmented-button-B0BvGSQ7.js.map → segmented-button-Fon9kOHV.js.map} +1 -1
- package/dist/chunks/{side-sheet-S2w081AK.js → side-sheet-sQ8qGKVm.js} +73 -81
- package/dist/chunks/{side-sheet-S2w081AK.js.map → side-sheet-sQ8qGKVm.js.map} +1 -1
- package/dist/chunks/slider-OIyEcUU9.js +448 -0
- package/dist/chunks/slider-OIyEcUU9.js.map +1 -0
- package/dist/chunks/{snackbar-Wsz3BzEY.js → snackbar-Yi6fF9vM.js} +57 -62
- package/dist/chunks/{snackbar-Wsz3BzEY.js.map → snackbar-Yi6fF9vM.js.map} +1 -1
- package/dist/chunks/{split-button-DUfjukQY.js → split-button-CLjVJe3I.js} +155 -172
- package/dist/chunks/{split-button-DUfjukQY.js.map → split-button-CLjVJe3I.js.map} +1 -1
- package/dist/chunks/{switch-DdukrvXb.js → switch-mtu6AVEh.js} +54 -57
- package/dist/chunks/{switch-DdukrvXb.js.map → switch-mtu6AVEh.js.map} +1 -1
- package/dist/chunks/table-C5rCvdFc.js +724 -0
- package/dist/chunks/{table-CqHnneAj.js.map → table-C5rCvdFc.js.map} +1 -1
- package/dist/chunks/tabs-C0mtURlT.js +182 -0
- package/dist/chunks/{tabs-BfOtoeir.js.map → tabs-C0mtURlT.js.map} +1 -1
- package/dist/chunks/{text-field-hN6-2HQy.js → text-field-MifFD7uk.js} +92 -110
- package/dist/chunks/{text-field-hN6-2HQy.js.map → text-field-MifFD7uk.js.map} +1 -1
- package/dist/chunks/time-picker-JTcLcJuz.js +810 -0
- package/dist/chunks/time-picker-JTcLcJuz.js.map +1 -0
- package/dist/chunks/{toolbar-DXVQbQKJ.js → toolbar-CsxKc2Yd.js} +48 -55
- package/dist/chunks/{toolbar-DXVQbQKJ.js.map → toolbar-CsxKc2Yd.js.map} +1 -1
- package/dist/chunks/tooltip-Ds3lNowS.js +380 -0
- package/dist/chunks/{tooltip-CE7JMHMu.js.map → tooltip-Ds3lNowS.js.map} +1 -1
- package/dist/chunks/{top-app-bar-Dgbp6CFv.js → top-app-bar-TrnjKzOX.js} +52 -53
- package/dist/chunks/top-app-bar-TrnjKzOX.js.map +1 -0
- package/dist/components/account-menu/account-menu.js +2 -8
- package/dist/components/app-drawer/app-drawer.js +2 -9
- package/dist/components/badge/badge.js +2 -4
- package/dist/components/bottom-sheet/bottom-sheet.js +2 -4
- package/dist/components/button/button.js +2 -4
- package/dist/components/button-group/button-group.js +2 -4
- package/dist/components/card/card.js +2 -4
- package/dist/components/carousel/carousel-item.js +2 -4
- package/dist/components/carousel/carousel.js +214 -232
- package/dist/components/carousel/carousel.js.map +1 -1
- package/dist/components/checkbox/checkbox.js +2 -4
- package/dist/components/chip/chip.js +2 -5
- package/dist/components/code/code.js +2 -5
- package/dist/components/date-picker/date-picker.js +2 -4
- package/dist/components/dialog/dialog.js +2 -4
- package/dist/components/divider/divider.js +2 -4
- package/dist/components/fab/fab.js +2 -4
- package/dist/components/fab-menu/fab-menu-item.js +53 -61
- package/dist/components/fab-menu/fab-menu-item.js.map +1 -1
- package/dist/components/fab-menu/fab-menu.js +98 -111
- package/dist/components/fab-menu/fab-menu.js.map +1 -1
- package/dist/components/icon/icon.js +2 -4
- package/dist/components/icon-button/icon-button.js +2 -4
- package/dist/components/list/list.js +2 -5
- package/dist/components/loading-indicator/loading-indicator.js +2 -4
- package/dist/components/menu/menu-item.js +2 -4
- package/dist/components/menu/menu.js +165 -183
- package/dist/components/menu/menu.js.map +1 -1
- package/dist/components/navigation-bar/navigation-bar-item.js +2 -5
- package/dist/components/navigation-bar/navigation-bar.js +131 -143
- package/dist/components/navigation-bar/navigation-bar.js.map +1 -1
- package/dist/components/navigation-drawer/navigation-drawer.js +2 -8
- package/dist/components/navigation-rail/navigation-rail-item.js +2 -5
- package/dist/components/navigation-rail/navigation-rail.js +92 -102
- package/dist/components/navigation-rail/navigation-rail.js.map +1 -1
- package/dist/components/player/player.js +2 -7
- package/dist/components/progress/progress.js +2 -5
- package/dist/components/radio/radio.js +2 -5
- package/dist/components/search-bar/search-bar.js +2 -5
- package/dist/components/segmented-button/segmented-button.js +2 -5
- package/dist/components/side-sheet/side-sheet.js +2 -4
- package/dist/components/slider/slider.js +2 -4
- package/dist/components/snackbar/snackbar.js +2 -4
- package/dist/components/split-button/split-button.js +2 -4
- package/dist/components/switch/switch.js +2 -4
- package/dist/components/table/table.js +2 -13
- package/dist/components/tabs/tabs.js +2 -5
- package/dist/components/text-field/text-field.js +2 -4
- package/dist/components/time-picker/time-picker.js +2 -4
- package/dist/components/toolbar/toolbar.js +2 -4
- package/dist/components/tooltip/tooltip.js +2 -4
- package/dist/components/top-app-bar/top-app-bar.js +2 -5
- package/dist/index.js +52 -150
- package/dist/internal/focus-ring/focus-ring.js +2 -4
- package/dist/internal/ripple/ripple.js +2 -4
- package/dist/tokens/index.js +468 -314
- package/dist/tokens/index.js.map +1 -1
- package/llms.txt +74 -8
- package/package.json +2 -14
- package/dist/chunks/app-drawer-Du1ePzxZ.js +0 -903
- package/dist/chunks/button-group-CNqvJx1n.js +0 -143
- package/dist/chunks/code-C5UFBkCh.js +0 -1830
- package/dist/chunks/date-picker-DJeHi4w-.js +0 -777
- package/dist/chunks/date-picker-DJeHi4w-.js.map +0 -1
- package/dist/chunks/decorate-DXuynaiA.js +0 -39
- package/dist/chunks/divider-DNepwoZv.js +0 -82
- package/dist/chunks/focus-ring-CuiJuM-y.js +0 -71
- package/dist/chunks/form-associated-Cty_ZaS9.js +0 -73
- package/dist/chunks/icon-DrNqcNEL.js +0 -62
- package/dist/chunks/radio-Bily78NT.js +0 -205
- package/dist/chunks/ripple-squbKHhj.js +0 -135
- package/dist/chunks/search-bar-fUD0qU2P.js.map +0 -1
- package/dist/chunks/segmented-button-B0BvGSQ7.js +0 -265
- package/dist/chunks/slider-D-mnO8yQ.js +0 -450
- package/dist/chunks/slider-D-mnO8yQ.js.map +0 -1
- package/dist/chunks/table-CqHnneAj.js +0 -773
- package/dist/chunks/tabs-BfOtoeir.js +0 -191
- package/dist/chunks/time-picker-CZnb2sWz.js +0 -785
- package/dist/chunks/time-picker-CZnb2sWz.js.map +0 -1
- package/dist/chunks/tooltip-CE7JMHMu.js +0 -398
- package/dist/chunks/top-app-bar-Dgbp6CFv.js.map +0 -1
- package/dist/components/account-menu/account-menu.css.d.ts +0 -3
- package/dist/components/account-menu/account-menu.css.d.ts.map +0 -1
- package/dist/components/account-menu/account-menu.d.ts +0 -111
- package/dist/components/account-menu/account-menu.d.ts.map +0 -1
- package/dist/components/app-drawer/app-drawer.css.d.ts +0 -3
- package/dist/components/app-drawer/app-drawer.css.d.ts.map +0 -1
- package/dist/components/app-drawer/app-drawer.d.ts +0 -173
- package/dist/components/app-drawer/app-drawer.d.ts.map +0 -1
- package/dist/components/badge/badge.css.d.ts +0 -2
- package/dist/components/badge/badge.css.d.ts.map +0 -1
- package/dist/components/badge/badge.d.ts +0 -16
- package/dist/components/badge/badge.d.ts.map +0 -1
- package/dist/components/bottom-sheet/bottom-sheet.css.d.ts +0 -2
- package/dist/components/bottom-sheet/bottom-sheet.css.d.ts.map +0 -1
- package/dist/components/bottom-sheet/bottom-sheet.d.ts +0 -69
- package/dist/components/bottom-sheet/bottom-sheet.d.ts.map +0 -1
- package/dist/components/button/button.css.d.ts +0 -2
- package/dist/components/button/button.css.d.ts.map +0 -1
- package/dist/components/button/button.d.ts +0 -25
- package/dist/components/button/button.d.ts.map +0 -1
- package/dist/components/button-group/button-group.css.d.ts +0 -2
- package/dist/components/button-group/button-group.css.d.ts.map +0 -1
- package/dist/components/button-group/button-group.d.ts +0 -28
- package/dist/components/button-group/button-group.d.ts.map +0 -1
- package/dist/components/card/card.css.d.ts +0 -2
- package/dist/components/card/card.css.d.ts.map +0 -1
- package/dist/components/card/card.d.ts +0 -18
- package/dist/components/card/card.d.ts.map +0 -1
- package/dist/components/carousel/carousel-item.d.ts +0 -33
- package/dist/components/carousel/carousel-item.d.ts.map +0 -1
- package/dist/components/carousel/carousel.css.d.ts +0 -3
- package/dist/components/carousel/carousel.css.d.ts.map +0 -1
- package/dist/components/carousel/carousel.d.ts +0 -81
- package/dist/components/carousel/carousel.d.ts.map +0 -1
- package/dist/components/checkbox/checkbox.css.d.ts +0 -2
- package/dist/components/checkbox/checkbox.css.d.ts.map +0 -1
- package/dist/components/checkbox/checkbox.d.ts +0 -24
- package/dist/components/checkbox/checkbox.d.ts.map +0 -1
- package/dist/components/chip/chip.css.d.ts +0 -3
- package/dist/components/chip/chip.css.d.ts.map +0 -1
- package/dist/components/chip/chip.d.ts +0 -27
- package/dist/components/chip/chip.d.ts.map +0 -1
- package/dist/components/code/code.css.d.ts +0 -2
- package/dist/components/code/code.css.d.ts.map +0 -1
- package/dist/components/code/code.d.ts +0 -106
- package/dist/components/code/code.d.ts.map +0 -1
- package/dist/components/code/highlighter.d.ts +0 -8
- package/dist/components/code/highlighter.d.ts.map +0 -1
- package/dist/components/code/linter.d.ts +0 -44
- package/dist/components/code/linter.d.ts.map +0 -1
- package/dist/components/date-picker/date-picker.css.d.ts +0 -2
- package/dist/components/date-picker/date-picker.css.d.ts.map +0 -1
- package/dist/components/date-picker/date-picker.d.ts +0 -59
- package/dist/components/date-picker/date-picker.d.ts.map +0 -1
- package/dist/components/dialog/dialog.css.d.ts +0 -2
- package/dist/components/dialog/dialog.css.d.ts.map +0 -1
- package/dist/components/dialog/dialog.d.ts +0 -22
- package/dist/components/dialog/dialog.d.ts.map +0 -1
- package/dist/components/divider/divider.css.d.ts +0 -2
- package/dist/components/divider/divider.css.d.ts.map +0 -1
- package/dist/components/divider/divider.d.ts +0 -16
- package/dist/components/divider/divider.d.ts.map +0 -1
- package/dist/components/fab/fab.css.d.ts +0 -2
- package/dist/components/fab/fab.css.d.ts.map +0 -1
- package/dist/components/fab/fab.d.ts +0 -19
- package/dist/components/fab/fab.d.ts.map +0 -1
- package/dist/components/fab-menu/fab-menu-item.d.ts +0 -35
- package/dist/components/fab-menu/fab-menu-item.d.ts.map +0 -1
- package/dist/components/fab-menu/fab-menu.css.d.ts +0 -3
- package/dist/components/fab-menu/fab-menu.css.d.ts.map +0 -1
- package/dist/components/fab-menu/fab-menu.d.ts +0 -72
- package/dist/components/fab-menu/fab-menu.d.ts.map +0 -1
- package/dist/components/icon/icon.css.d.ts +0 -2
- package/dist/components/icon/icon.css.d.ts.map +0 -1
- package/dist/components/icon/icon.d.ts +0 -15
- package/dist/components/icon/icon.d.ts.map +0 -1
- package/dist/components/icon-button/icon-button.css.d.ts +0 -2
- package/dist/components/icon-button/icon-button.css.d.ts.map +0 -1
- package/dist/components/icon-button/icon-button.d.ts +0 -22
- package/dist/components/icon-button/icon-button.d.ts.map +0 -1
- package/dist/components/list/list.css.d.ts +0 -3
- package/dist/components/list/list.css.d.ts.map +0 -1
- package/dist/components/list/list.d.ts +0 -25
- package/dist/components/list/list.d.ts.map +0 -1
- package/dist/components/loading-indicator/loading-indicator.css.d.ts +0 -2
- package/dist/components/loading-indicator/loading-indicator.css.d.ts.map +0 -1
- package/dist/components/loading-indicator/loading-indicator.d.ts +0 -48
- package/dist/components/loading-indicator/loading-indicator.d.ts.map +0 -1
- package/dist/components/menu/menu-item.d.ts +0 -41
- package/dist/components/menu/menu-item.d.ts.map +0 -1
- package/dist/components/menu/menu.css.d.ts +0 -3
- package/dist/components/menu/menu.css.d.ts.map +0 -1
- package/dist/components/menu/menu.d.ts +0 -91
- package/dist/components/menu/menu.d.ts.map +0 -1
- package/dist/components/navigation-bar/navigation-bar-item.d.ts +0 -49
- package/dist/components/navigation-bar/navigation-bar-item.d.ts.map +0 -1
- package/dist/components/navigation-bar/navigation-bar.css.d.ts +0 -3
- package/dist/components/navigation-bar/navigation-bar.css.d.ts.map +0 -1
- package/dist/components/navigation-bar/navigation-bar.d.ts +0 -50
- package/dist/components/navigation-bar/navigation-bar.d.ts.map +0 -1
- package/dist/components/navigation-drawer/navigation-drawer.css.d.ts +0 -3
- package/dist/components/navigation-drawer/navigation-drawer.css.d.ts.map +0 -1
- package/dist/components/navigation-drawer/navigation-drawer.d.ts +0 -76
- package/dist/components/navigation-drawer/navigation-drawer.d.ts.map +0 -1
- package/dist/components/navigation-rail/navigation-rail-item.d.ts +0 -36
- package/dist/components/navigation-rail/navigation-rail-item.d.ts.map +0 -1
- package/dist/components/navigation-rail/navigation-rail.css.d.ts +0 -3
- package/dist/components/navigation-rail/navigation-rail.css.d.ts.map +0 -1
- package/dist/components/navigation-rail/navigation-rail.d.ts +0 -43
- package/dist/components/navigation-rail/navigation-rail.d.ts.map +0 -1
- package/dist/components/player/player.css.d.ts +0 -2
- package/dist/components/player/player.css.d.ts.map +0 -1
- package/dist/components/player/player.d.ts +0 -99
- package/dist/components/player/player.d.ts.map +0 -1
- package/dist/components/progress/progress.css.d.ts +0 -2
- package/dist/components/progress/progress.css.d.ts.map +0 -1
- package/dist/components/progress/progress.d.ts +0 -21
- package/dist/components/progress/progress.d.ts.map +0 -1
- package/dist/components/radio/radio.css.d.ts +0 -3
- package/dist/components/radio/radio.css.d.ts.map +0 -1
- package/dist/components/radio/radio.d.ts +0 -38
- package/dist/components/radio/radio.d.ts.map +0 -1
- package/dist/components/search-bar/search-bar.css.d.ts +0 -2
- package/dist/components/search-bar/search-bar.css.d.ts.map +0 -1
- package/dist/components/search-bar/search-bar.d.ts +0 -81
- package/dist/components/search-bar/search-bar.d.ts.map +0 -1
- package/dist/components/segmented-button/segmented-button.css.d.ts +0 -3
- package/dist/components/segmented-button/segmented-button.css.d.ts.map +0 -1
- package/dist/components/segmented-button/segmented-button.d.ts +0 -40
- package/dist/components/segmented-button/segmented-button.d.ts.map +0 -1
- package/dist/components/side-sheet/side-sheet.css.d.ts +0 -2
- package/dist/components/side-sheet/side-sheet.css.d.ts.map +0 -1
- package/dist/components/side-sheet/side-sheet.d.ts +0 -57
- package/dist/components/side-sheet/side-sheet.d.ts.map +0 -1
- package/dist/components/slider/slider.css.d.ts +0 -2
- package/dist/components/slider/slider.css.d.ts.map +0 -1
- package/dist/components/slider/slider.d.ts +0 -51
- package/dist/components/slider/slider.d.ts.map +0 -1
- package/dist/components/snackbar/snackbar.css.d.ts +0 -2
- package/dist/components/snackbar/snackbar.css.d.ts.map +0 -1
- package/dist/components/snackbar/snackbar.d.ts +0 -24
- package/dist/components/snackbar/snackbar.d.ts.map +0 -1
- package/dist/components/split-button/split-button.css.d.ts +0 -2
- package/dist/components/split-button/split-button.css.d.ts.map +0 -1
- package/dist/components/split-button/split-button.d.ts +0 -89
- package/dist/components/split-button/split-button.d.ts.map +0 -1
- package/dist/components/switch/switch.css.d.ts +0 -2
- package/dist/components/switch/switch.css.d.ts.map +0 -1
- package/dist/components/switch/switch.d.ts +0 -22
- package/dist/components/switch/switch.d.ts.map +0 -1
- package/dist/components/table/table.css.d.ts +0 -8
- package/dist/components/table/table.css.d.ts.map +0 -1
- package/dist/components/table/table.d.ts +0 -158
- package/dist/components/table/table.d.ts.map +0 -1
- package/dist/components/tabs/tabs.css.d.ts +0 -3
- package/dist/components/tabs/tabs.css.d.ts.map +0 -1
- package/dist/components/tabs/tabs.d.ts +0 -33
- package/dist/components/tabs/tabs.d.ts.map +0 -1
- package/dist/components/text-field/text-field.css.d.ts +0 -2
- package/dist/components/text-field/text-field.css.d.ts.map +0 -1
- package/dist/components/text-field/text-field.d.ts +0 -40
- package/dist/components/text-field/text-field.d.ts.map +0 -1
- package/dist/components/time-picker/time-picker.css.d.ts +0 -2
- package/dist/components/time-picker/time-picker.css.d.ts.map +0 -1
- package/dist/components/time-picker/time-picker.d.ts +0 -87
- package/dist/components/time-picker/time-picker.d.ts.map +0 -1
- package/dist/components/toolbar/toolbar.css.d.ts +0 -2
- package/dist/components/toolbar/toolbar.css.d.ts.map +0 -1
- package/dist/components/toolbar/toolbar.d.ts +0 -53
- package/dist/components/toolbar/toolbar.d.ts.map +0 -1
- package/dist/components/tooltip/tooltip.css.d.ts +0 -2
- package/dist/components/tooltip/tooltip.css.d.ts.map +0 -1
- package/dist/components/tooltip/tooltip.d.ts +0 -89
- package/dist/components/tooltip/tooltip.d.ts.map +0 -1
- package/dist/components/top-app-bar/top-app-bar.css.d.ts +0 -2
- package/dist/components/top-app-bar/top-app-bar.css.d.ts.map +0 -1
- package/dist/components/top-app-bar/top-app-bar.d.ts +0 -29
- package/dist/components/top-app-bar/top-app-bar.d.ts.map +0 -1
- package/dist/index.d.ts +0 -52
- package/dist/index.d.ts.map +0 -1
- package/dist/internal/base-component.d.ts +0 -13
- package/dist/internal/base-component.d.ts.map +0 -1
- package/dist/internal/focus-ring/focus-ring.css.d.ts +0 -2
- package/dist/internal/focus-ring/focus-ring.css.d.ts.map +0 -1
- package/dist/internal/focus-ring/focus-ring.d.ts +0 -18
- package/dist/internal/focus-ring/focus-ring.d.ts.map +0 -1
- package/dist/internal/form-associated.d.ts +0 -26
- package/dist/internal/form-associated.d.ts.map +0 -1
- package/dist/internal/ripple/ripple.css.d.ts +0 -2
- package/dist/internal/ripple/ripple.css.d.ts.map +0 -1
- package/dist/internal/ripple/ripple.d.ts +0 -23
- package/dist/internal/ripple/ripple.d.ts.map +0 -1
- package/dist/tokens/colors.d.ts +0 -42
- package/dist/tokens/colors.d.ts.map +0 -1
- package/dist/tokens/elevation.d.ts +0 -9
- package/dist/tokens/elevation.d.ts.map +0 -1
- package/dist/tokens/index.d.ts +0 -7
- package/dist/tokens/index.d.ts.map +0 -1
- package/dist/tokens/motion.d.ts +0 -21
- package/dist/tokens/motion.d.ts.map +0 -1
- package/dist/tokens/shape.d.ts +0 -10
- package/dist/tokens/shape.d.ts.map +0 -1
- package/dist/tokens/theme.css.d.ts +0 -4
- package/dist/tokens/theme.css.d.ts.map +0 -1
- package/dist/tokens/typography.d.ts +0 -101
- package/dist/tokens/typography.d.ts.map +0 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { t as e } from "./decorate-
|
|
2
|
-
import { t
|
|
3
|
-
import "./ripple-
|
|
4
|
-
import "./icon-
|
|
5
|
-
import { css as
|
|
6
|
-
import { customElement as
|
|
7
|
-
|
|
1
|
+
import { t as e } from "./decorate-DknOJ8FJ.js";
|
|
2
|
+
import { t } from "./form-associated-Do5uXckv.js";
|
|
3
|
+
import "./ripple-CBOKeVfm.js";
|
|
4
|
+
import "./icon-FvKeXi61.js";
|
|
5
|
+
import { css as n, html as r, nothing as i } from "lit";
|
|
6
|
+
import { customElement as a, property as o, query as s, queryAssignedElements as c, state as l } from "lit/decorators.js";
|
|
7
|
+
//#region src/components/text-field/text-field.css.ts
|
|
8
|
+
var u = n`
|
|
8
9
|
:host {
|
|
9
10
|
display: inline-flex;
|
|
10
11
|
flex-direction: column;
|
|
@@ -200,56 +201,56 @@ var f = h`
|
|
|
200
201
|
:host([error]) .supporting-text {
|
|
201
202
|
color: var(--md-sys-color-error, #B3261E);
|
|
202
203
|
}
|
|
203
|
-
`,
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
204
|
+
`, d = class extends t {
|
|
205
|
+
constructor(...e) {
|
|
206
|
+
super(...e), this.variant = "filled", this.label = "", this.value = "", this.placeholder = "", this.type = "text", this.readonly = !1, this.error = !1, this.errorText = "", this.supportingText = "", this.prefixText = "", this.suffixText = "", this.maxLength = -1, this.pattern = "", this.leadingIcon = "", this.trailingIcon = "", this.focused = !1, this.handleFocus = () => {
|
|
207
|
+
this.focused = !0, this.toggleAttribute("focused", !0);
|
|
208
|
+
}, this.handleBlur = () => {
|
|
209
|
+
this.focused = !1, this.toggleAttribute("focused", !1), this.validateInput();
|
|
210
|
+
}, this.handleInput = (e) => {
|
|
211
|
+
let t = e.target;
|
|
212
|
+
this.value = t.value, this.setFormValue(this.value), this.emitEvent("input", { value: this.value });
|
|
213
|
+
}, this.handleChange = () => {
|
|
214
|
+
this.emitEvent("change", { value: this.value });
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
static {
|
|
218
|
+
this.styles = [t.styles, u];
|
|
219
|
+
}
|
|
220
|
+
connectedCallback() {
|
|
221
|
+
super.connectedCallback(), this.setFormValue(this.value), this.toggleAttribute("has-value", !!this.value), this.toggleAttribute("has-placeholder", !!this.placeholder), this.toggleAttribute("has-leading-icon", !!this.leadingIcon);
|
|
222
|
+
}
|
|
223
|
+
firstUpdated(e) {
|
|
224
|
+
super.firstUpdated(e), this.handleSlotChange();
|
|
225
|
+
}
|
|
226
|
+
willUpdate(e) {
|
|
227
|
+
super.willUpdate(e), e.has("value") && (this.setFormValue(this.value), this.toggleAttribute("has-value", !!this.value), this.validateInput()), e.has("placeholder") && this.toggleAttribute("has-placeholder", !!this.placeholder), e.has("leadingIcon") && this.toggleAttribute("has-leading-icon", !!this.leadingIcon);
|
|
228
|
+
}
|
|
229
|
+
formResetCallback() {
|
|
230
|
+
this.value = "", this.error = !1, this.toggleAttribute("has-value", !1), this.setFormValue(null);
|
|
231
|
+
}
|
|
232
|
+
validateInput() {
|
|
233
|
+
this.inputElement && (this.required && !this.value ? (this.setValidity({ valueMissing: !0 }, this.errorText || "This field is required"), this.error = !0) : this.pattern && !new RegExp(this.pattern).test(this.value) ? (this.setValidity({ patternMismatch: !0 }, this.errorText || "Invalid format"), this.error = !0) : (this.setValidity({}), this.errorText || (this.error = !1)));
|
|
234
|
+
}
|
|
235
|
+
handleSlotChange() {
|
|
236
|
+
let e = !!(this.leadingIcon || this.assignedLeadingIcons && this.assignedLeadingIcons.length > 0);
|
|
237
|
+
this.toggleAttribute("has-leading-icon", e);
|
|
238
|
+
}
|
|
239
|
+
render() {
|
|
240
|
+
let e = this.error && this.errorText || this.supportingText;
|
|
241
|
+
return r`
|
|
241
242
|
<div class="container" @click=${() => this.inputElement?.focus()}>
|
|
242
|
-
${this.variant === "filled" ?
|
|
243
|
+
${this.variant === "filled" ? r`<md-ripple ?disabled=${this.disabled}></md-ripple>` : i}
|
|
243
244
|
|
|
244
245
|
<span class="icon-slot leading-icon">
|
|
245
246
|
<slot name="leading-icon" @slotchange=${this.handleSlotChange}>
|
|
246
|
-
${this.leadingIcon ?
|
|
247
|
+
${this.leadingIcon ? r`<md-icon name=${this.leadingIcon}></md-icon>` : i}
|
|
247
248
|
</slot>
|
|
248
249
|
</span>
|
|
249
250
|
|
|
250
251
|
<div class="input-wrapper">
|
|
251
|
-
${this.label ?
|
|
252
|
-
${this.prefixText ?
|
|
252
|
+
${this.label ? r`<label class="label">${this.label}</label>` : i}
|
|
253
|
+
${this.prefixText ? r`<span class="affix prefix">${this.prefixText}</span>` : i}
|
|
253
254
|
<input
|
|
254
255
|
type=${this.type}
|
|
255
256
|
.value=${this.value}
|
|
@@ -257,82 +258,63 @@ var f = h`
|
|
|
257
258
|
?disabled=${this.disabled}
|
|
258
259
|
?readonly=${this.readonly}
|
|
259
260
|
?required=${this.required}
|
|
260
|
-
maxlength=${this.maxLength > 0 ? this.maxLength :
|
|
261
|
+
maxlength=${this.maxLength > 0 ? this.maxLength : i}
|
|
261
262
|
@focus=${this.handleFocus}
|
|
262
263
|
@blur=${this.handleBlur}
|
|
263
264
|
@input=${this.handleInput}
|
|
264
265
|
@change=${this.handleChange}
|
|
265
266
|
/>
|
|
266
|
-
${this.suffixText ?
|
|
267
|
+
${this.suffixText ? r`<span class="affix suffix">${this.suffixText}</span>` : i}
|
|
267
268
|
</div>
|
|
268
269
|
|
|
269
270
|
<span class="icon-slot trailing-icon">
|
|
270
271
|
<slot name="trailing-icon">
|
|
271
|
-
${this.error ?
|
|
272
|
+
${this.error ? r`<md-icon name="error" filled></md-icon>` : this.trailingIcon ? r`<md-icon name=${this.trailingIcon}></md-icon>` : i}
|
|
272
273
|
</slot>
|
|
273
274
|
</span>
|
|
274
275
|
</div>
|
|
275
276
|
|
|
276
|
-
${
|
|
277
|
+
${e || this.maxLength > 0 ? r`
|
|
277
278
|
<div class="supporting-text">
|
|
278
|
-
<span>${
|
|
279
|
-
${this.maxLength > 0 ?
|
|
279
|
+
<span>${e}</span>
|
|
280
|
+
${this.maxLength > 0 ? r`<span>${this.value.length} / ${this.maxLength}</span>` : i}
|
|
280
281
|
</div>
|
|
281
|
-
` :
|
|
282
|
+
` : i}
|
|
282
283
|
`;
|
|
283
|
-
|
|
284
|
-
};
|
|
285
|
-
e([i({
|
|
286
|
-
type: String,
|
|
287
|
-
reflect: !0
|
|
288
|
-
})], t.prototype, "variant", void 0);
|
|
289
|
-
e([i({ type: String })], t.prototype, "label", void 0);
|
|
290
|
-
e([i({ type: String })], t.prototype, "value", void 0);
|
|
291
|
-
e([i({ type: String })], t.prototype, "placeholder", void 0);
|
|
292
|
-
e([i({ type: String })], t.prototype, "type", void 0);
|
|
293
|
-
e([i({
|
|
294
|
-
type: Boolean,
|
|
295
|
-
reflect: !0
|
|
296
|
-
})], t.prototype, "readonly", void 0);
|
|
297
|
-
e([i({
|
|
298
|
-
type: Boolean,
|
|
299
|
-
reflect: !0
|
|
300
|
-
})], t.prototype, "error", void 0);
|
|
301
|
-
e([i({
|
|
302
|
-
type: String,
|
|
303
|
-
attribute: "error-text"
|
|
304
|
-
})], t.prototype, "errorText", void 0);
|
|
305
|
-
e([i({
|
|
306
|
-
type: String,
|
|
307
|
-
attribute: "supporting-text"
|
|
308
|
-
})], t.prototype, "supportingText", void 0);
|
|
309
|
-
e([i({
|
|
310
|
-
type: String,
|
|
311
|
-
attribute: "prefix-text"
|
|
312
|
-
})], t.prototype, "prefixText", void 0);
|
|
313
|
-
e([i({
|
|
314
|
-
type: String,
|
|
315
|
-
attribute: "suffix-text"
|
|
316
|
-
})], t.prototype, "suffixText", void 0);
|
|
317
|
-
e([i({
|
|
318
|
-
type: Number,
|
|
319
|
-
attribute: "maxlength"
|
|
320
|
-
})], t.prototype, "maxLength", void 0);
|
|
321
|
-
e([i({ type: String })], t.prototype, "pattern", void 0);
|
|
322
|
-
e([i({
|
|
323
|
-
type: String,
|
|
324
|
-
attribute: "leading-icon"
|
|
325
|
-
})], t.prototype, "leadingIcon", void 0);
|
|
326
|
-
e([i({
|
|
327
|
-
type: String,
|
|
328
|
-
attribute: "trailing-icon"
|
|
329
|
-
})], t.prototype, "trailingIcon", void 0);
|
|
330
|
-
e([u()], t.prototype, "focused", void 0);
|
|
331
|
-
e([p("input")], t.prototype, "inputElement", void 0);
|
|
332
|
-
e([c({ slot: "leading-icon" })], t.prototype, "assignedLeadingIcons", void 0);
|
|
333
|
-
t = e([d("md-text-field")], t);
|
|
334
|
-
export {
|
|
335
|
-
t
|
|
284
|
+
}
|
|
336
285
|
};
|
|
286
|
+
e([o({
|
|
287
|
+
type: String,
|
|
288
|
+
reflect: !0
|
|
289
|
+
})], d.prototype, "variant", void 0), e([o({ type: String })], d.prototype, "label", void 0), e([o({ type: String })], d.prototype, "value", void 0), e([o({ type: String })], d.prototype, "placeholder", void 0), e([o({ type: String })], d.prototype, "type", void 0), e([o({
|
|
290
|
+
type: Boolean,
|
|
291
|
+
reflect: !0
|
|
292
|
+
})], d.prototype, "readonly", void 0), e([o({
|
|
293
|
+
type: Boolean,
|
|
294
|
+
reflect: !0
|
|
295
|
+
})], d.prototype, "error", void 0), e([o({
|
|
296
|
+
type: String,
|
|
297
|
+
attribute: "error-text"
|
|
298
|
+
})], d.prototype, "errorText", void 0), e([o({
|
|
299
|
+
type: String,
|
|
300
|
+
attribute: "supporting-text"
|
|
301
|
+
})], d.prototype, "supportingText", void 0), e([o({
|
|
302
|
+
type: String,
|
|
303
|
+
attribute: "prefix-text"
|
|
304
|
+
})], d.prototype, "prefixText", void 0), e([o({
|
|
305
|
+
type: String,
|
|
306
|
+
attribute: "suffix-text"
|
|
307
|
+
})], d.prototype, "suffixText", void 0), e([o({
|
|
308
|
+
type: Number,
|
|
309
|
+
attribute: "maxlength"
|
|
310
|
+
})], d.prototype, "maxLength", void 0), e([o({ type: String })], d.prototype, "pattern", void 0), e([o({
|
|
311
|
+
type: String,
|
|
312
|
+
attribute: "leading-icon"
|
|
313
|
+
})], d.prototype, "leadingIcon", void 0), e([o({
|
|
314
|
+
type: String,
|
|
315
|
+
attribute: "trailing-icon"
|
|
316
|
+
})], d.prototype, "trailingIcon", void 0), e([l()], d.prototype, "focused", void 0), e([s("input")], d.prototype, "inputElement", void 0), e([c({ slot: "leading-icon" })], d.prototype, "assignedLeadingIcons", void 0), d = e([a("md-text-field")], d);
|
|
317
|
+
//#endregion
|
|
318
|
+
export { d as t };
|
|
337
319
|
|
|
338
|
-
//# sourceMappingURL=text-field-
|
|
320
|
+
//# sourceMappingURL=text-field-MifFD7uk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-field-hN6-2HQy.js","names":[],"sources":["../../src/components/text-field/text-field.css.ts","../../src/components/text-field/text-field.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const textFieldStyles = css`\n :host {\n display: inline-flex;\n flex-direction: column;\n min-width: 240px;\n vertical-align: top;\n align-self: flex-start;\n box-sizing: border-box;\n font-family: var(--md-sys-typescale-font-family, inherit);\n -webkit-tap-highlight-color: transparent;\n }\n\n :host([disabled]) {\n pointer-events: none;\n opacity: 0.38;\n }\n\n .container {\n position: relative;\n display: flex;\n align-items: center;\n min-height: 56px;\n padding: 0 16px;\n box-sizing: border-box;\n transition: background-color 150ms cubic-bezier(0.2, 0, 0, 1),\n border-color 150ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n /* --- Filled Variant (Default) --- */\n :host(:not([variant])) .container,\n :host([variant=\"filled\"]) .container {\n background-color: var(--md-sys-color-surface-container-highest, #E6E0E9);\n border-radius: var(--md-sys-shape-corner-extra-small, 4px) var(--md-sys-shape-corner-extra-small, 4px) 0 0;\n border-bottom: 1px solid var(--md-sys-color-on-surface-variant, #49454F);\n }\n\n :host(:not([variant])[focused]) .container,\n :host([variant=\"filled\"][focused]) .container {\n border-bottom: 2px solid var(--md-sys-color-primary, #6750A4);\n }\n\n :host(:not([variant])[error]) .container,\n :host([variant=\"filled\"][error]) .container {\n border-bottom-color: var(--md-sys-color-error, #B3261E);\n }\n\n /* --- Outlined Variant --- */\n :host([variant=\"outlined\"]) .container {\n background-color: transparent;\n border: 1px solid var(--md-sys-color-outline, #79747E);\n border-radius: var(--md-sys-shape-corner-extra-small, 4px);\n }\n\n :host([variant=\"outlined\"][focused]) .container {\n border: 2px solid var(--md-sys-color-primary, #6750A4);\n padding: 0 15px; /* Offset for 2px border */\n }\n\n :host([variant=\"outlined\"][error]) .container {\n border-color: var(--md-sys-color-error, #B3261E);\n }\n\n /* Floating Label */\n .label {\n position: absolute;\n left: 16px;\n top: 50%;\n transform: translateY(-50%);\n font-size: 16px;\n line-height: 16px;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n pointer-events: none;\n transition: transform 150ms cubic-bezier(0.2, 0, 0, 1),\n font-size 150ms cubic-bezier(0.2, 0, 0, 1),\n color 150ms cubic-bezier(0.2, 0, 0, 1),\n left 150ms cubic-bezier(0.2, 0, 0, 1),\n top 150ms cubic-bezier(0.2, 0, 0, 1);\n transform-origin: top left;\n white-space: nowrap;\n max-width: calc(100% - 32px);\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n :host([has-leading-icon]) .label {\n left: 52px;\n max-width: calc(100% - 68px);\n }\n\n /* Filled Variant Floating Label */\n :host(:not([variant])[focused]) .label,\n :host(:not([variant])[has-value]) .label,\n :host(:not([variant])[has-placeholder]) .label,\n :host([variant=\"filled\"][focused]) .label,\n :host([variant=\"filled\"][has-value]) .label,\n :host([variant=\"filled\"][has-placeholder]) .label {\n top: 8px;\n transform: translateY(0) scale(0.75);\n transform-origin: top left;\n }\n\n /* Outlined Variant Floating Label */\n :host([variant=\"outlined\"][focused]) .label,\n :host([variant=\"outlined\"][has-value]) .label,\n :host([variant=\"outlined\"][has-placeholder]) .label {\n top: 0;\n left: 12px;\n transform: translateY(-50%) scale(0.75);\n transform-origin: left center;\n background-color: var(--md-sys-color-surface, #FEF7FF);\n padding: 0 4px;\n max-width: calc(100% - 24px);\n z-index: 1;\n }\n\n :host([focused]) .label {\n color: var(--md-sys-color-primary, #6750A4);\n }\n\n :host([error]) .label {\n color: var(--md-sys-color-error, #B3261E);\n }\n\n .input-wrapper {\n display: flex;\n align-items: center;\n flex: 1;\n height: 100%;\n min-width: 0;\n }\n\n :host(:not([variant])) .input-wrapper,\n :host([variant=\"filled\"]) .input-wrapper {\n padding-top: 18px;\n }\n\n input {\n flex: 1;\n width: 100%;\n border: none;\n outline: none;\n background: transparent;\n font-family: inherit;\n font-size: 16px;\n line-height: 24px;\n color: var(--md-sys-color-on-surface, #1D1B20);\n padding: 0;\n }\n\n input::placeholder {\n color: var(--md-sys-color-on-surface-variant, #49454F);\n opacity: 0.6;\n }\n\n .affix {\n font-size: 16px;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n user-select: none;\n transition: opacity 150ms ease;\n }\n\n :host(:not([focused]):not([has-value]):not([has-placeholder])) .affix {\n opacity: 0;\n }\n\n .prefix { margin-right: 4px; }\n .suffix { margin-left: 4px; }\n\n .icon-slot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n flex-shrink: 0;\n }\n\n .leading-icon { margin-right: 12px; }\n .trailing-icon { margin-left: 12px; }\n\n :host([error]) .trailing-icon {\n color: var(--md-sys-color-error, #B3261E);\n }\n\n /* Supporting / Error text */\n .supporting-text {\n display: flex;\n justify-content: space-between;\n padding: 4px 16px 0;\n font-size: 12px;\n line-height: 16px;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n }\n\n :host([error]) .supporting-text {\n color: var(--md-sys-color-error, #B3261E);\n }\n`;\n\n","import { html, nothing } from 'lit';\nimport { customElement, property, state, query, queryAssignedElements } from 'lit/decorators.js';\nimport { MdBaseElement } from '../../internal/base-component.js';\nimport { MdFormAssociatedElement } from '../../internal/form-associated.js';\nimport '../../internal/ripple/ripple.js';\nimport '../icon/icon.js';\nimport { textFieldStyles } from './text-field.css.js';\n\nexport type TextFieldVariant = 'filled' | 'outlined';\n\n@customElement('md-text-field')\nexport class MdTextField extends MdFormAssociatedElement {\n static override styles = [MdFormAssociatedElement.styles, textFieldStyles];\n\n @property({ type: String, reflect: true })\n variant: TextFieldVariant = 'filled';\n\n @property({ type: String })\n label = '';\n\n @property({ type: String })\n value = '';\n\n @property({ type: String })\n placeholder = '';\n\n @property({ type: String })\n type = 'text';\n\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n @property({ type: Boolean, reflect: true })\n error = false;\n\n @property({ type: String, attribute: 'error-text' })\n errorText = '';\n\n @property({ type: String, attribute: 'supporting-text' })\n supportingText = '';\n\n @property({ type: String, attribute: 'prefix-text' })\n prefixText = '';\n\n @property({ type: String, attribute: 'suffix-text' })\n suffixText = '';\n\n @property({ type: Number, attribute: 'maxlength' })\n maxLength = -1;\n\n @property({ type: String })\n pattern = '';\n\n @property({ type: String, attribute: 'leading-icon' })\n leadingIcon = '';\n\n @property({ type: String, attribute: 'trailing-icon' })\n trailingIcon = '';\n\n @state()\n private focused = false;\n\n @query('input')\n private inputElement?: HTMLInputElement;\n\n @queryAssignedElements({ slot: 'leading-icon' })\n private assignedLeadingIcons!: HTMLElement[];\n\n override connectedCallback() {\n super.connectedCallback();\n this.setFormValue(this.value);\n this.toggleAttribute('has-value', Boolean(this.value));\n this.toggleAttribute('has-placeholder', Boolean(this.placeholder));\n this.toggleAttribute('has-leading-icon', Boolean(this.leadingIcon));\n }\n\n override firstUpdated(changedProperties: Map<string, unknown>) {\n super.firstUpdated(changedProperties);\n this.handleSlotChange();\n }\n\n override willUpdate(changedProperties: Map<string, unknown>) {\n super.willUpdate(changedProperties);\n if (changedProperties.has('value')) {\n this.setFormValue(this.value);\n this.toggleAttribute('has-value', Boolean(this.value));\n this.validateInput();\n }\n if (changedProperties.has('placeholder')) {\n this.toggleAttribute('has-placeholder', Boolean(this.placeholder));\n }\n if (changedProperties.has('leadingIcon')) {\n this.toggleAttribute('has-leading-icon', Boolean(this.leadingIcon));\n }\n }\n\n override formResetCallback() {\n this.value = '';\n this.error = false;\n this.toggleAttribute('has-value', false);\n this.setFormValue(null);\n }\n\n private handleFocus = () => {\n this.focused = true;\n this.toggleAttribute('focused', true);\n };\n\n private handleBlur = () => {\n this.focused = false;\n this.toggleAttribute('focused', false);\n this.validateInput();\n };\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.setFormValue(this.value);\n this.emitEvent('input', { value: this.value });\n };\n\n private handleChange = () => {\n this.emitEvent('change', { value: this.value });\n };\n\n private validateInput() {\n if (!this.inputElement) return;\n\n if (this.required && !this.value) {\n this.setValidity({ valueMissing: true }, this.errorText || 'This field is required');\n this.error = true;\n } else if (this.pattern && !new RegExp(this.pattern).test(this.value)) {\n this.setValidity({ patternMismatch: true }, this.errorText || 'Invalid format');\n this.error = true;\n } else {\n this.setValidity({});\n if (!this.errorText) {\n this.error = false;\n }\n }\n }\n\n private handleSlotChange() {\n const hasLeading = Boolean(this.leadingIcon || (this.assignedLeadingIcons && this.assignedLeadingIcons.length > 0));\n this.toggleAttribute('has-leading-icon', hasLeading);\n }\n\n override render() {\n const displayText = this.error ? (this.errorText || this.supportingText) : this.supportingText;\n\n return html`\n <div class=\"container\" @click=${() => this.inputElement?.focus()}>\n ${this.variant === 'filled' ? html`<md-ripple ?disabled=${this.disabled}></md-ripple>` : nothing}\n\n <span class=\"icon-slot leading-icon\">\n <slot name=\"leading-icon\" @slotchange=${this.handleSlotChange}>\n ${this.leadingIcon ? html`<md-icon name=${this.leadingIcon}></md-icon>` : nothing}\n </slot>\n </span>\n\n <div class=\"input-wrapper\">\n ${this.label ? html`<label class=\"label\">${this.label}</label>` : nothing}\n ${this.prefixText ? html`<span class=\"affix prefix\">${this.prefixText}</span>` : nothing}\n <input\n type=${this.type}\n .value=${this.value}\n placeholder=${this.focused || !this.label ? this.placeholder : ''}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n maxlength=${this.maxLength > 0 ? this.maxLength : nothing}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n @input=${this.handleInput}\n @change=${this.handleChange}\n />\n ${this.suffixText ? html`<span class=\"affix suffix\">${this.suffixText}</span>` : nothing}\n </div>\n\n <span class=\"icon-slot trailing-icon\">\n <slot name=\"trailing-icon\">\n ${this.error ? html`<md-icon name=\"error\" filled></md-icon>` : (this.trailingIcon ? html`<md-icon name=${this.trailingIcon}></md-icon>` : nothing)}\n </slot>\n </span>\n </div>\n\n ${displayText || (this.maxLength > 0)\n ? html`\n <div class=\"supporting-text\">\n <span>${displayText}</span>\n ${this.maxLength > 0 ? html`<span>${this.value.length} / ${this.maxLength}</span>` : nothing}\n </div>\n `\n : nothing}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-text-field': MdTextField;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"text-field-MifFD7uk.js","names":[],"sources":["../../src/components/text-field/text-field.css.ts","../../src/components/text-field/text-field.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const textFieldStyles = css`\n :host {\n display: inline-flex;\n flex-direction: column;\n min-width: 240px;\n vertical-align: top;\n align-self: flex-start;\n box-sizing: border-box;\n font-family: var(--md-sys-typescale-font-family, inherit);\n -webkit-tap-highlight-color: transparent;\n }\n\n :host([disabled]) {\n pointer-events: none;\n opacity: 0.38;\n }\n\n .container {\n position: relative;\n display: flex;\n align-items: center;\n min-height: 56px;\n padding: 0 16px;\n box-sizing: border-box;\n transition: background-color 150ms cubic-bezier(0.2, 0, 0, 1),\n border-color 150ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n /* --- Filled Variant (Default) --- */\n :host(:not([variant])) .container,\n :host([variant=\"filled\"]) .container {\n background-color: var(--md-sys-color-surface-container-highest, #E6E0E9);\n border-radius: var(--md-sys-shape-corner-extra-small, 4px) var(--md-sys-shape-corner-extra-small, 4px) 0 0;\n border-bottom: 1px solid var(--md-sys-color-on-surface-variant, #49454F);\n }\n\n :host(:not([variant])[focused]) .container,\n :host([variant=\"filled\"][focused]) .container {\n border-bottom: 2px solid var(--md-sys-color-primary, #6750A4);\n }\n\n :host(:not([variant])[error]) .container,\n :host([variant=\"filled\"][error]) .container {\n border-bottom-color: var(--md-sys-color-error, #B3261E);\n }\n\n /* --- Outlined Variant --- */\n :host([variant=\"outlined\"]) .container {\n background-color: transparent;\n border: 1px solid var(--md-sys-color-outline, #79747E);\n border-radius: var(--md-sys-shape-corner-extra-small, 4px);\n }\n\n :host([variant=\"outlined\"][focused]) .container {\n border: 2px solid var(--md-sys-color-primary, #6750A4);\n padding: 0 15px; /* Offset for 2px border */\n }\n\n :host([variant=\"outlined\"][error]) .container {\n border-color: var(--md-sys-color-error, #B3261E);\n }\n\n /* Floating Label */\n .label {\n position: absolute;\n left: 16px;\n top: 50%;\n transform: translateY(-50%);\n font-size: 16px;\n line-height: 16px;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n pointer-events: none;\n transition: transform 150ms cubic-bezier(0.2, 0, 0, 1),\n font-size 150ms cubic-bezier(0.2, 0, 0, 1),\n color 150ms cubic-bezier(0.2, 0, 0, 1),\n left 150ms cubic-bezier(0.2, 0, 0, 1),\n top 150ms cubic-bezier(0.2, 0, 0, 1);\n transform-origin: top left;\n white-space: nowrap;\n max-width: calc(100% - 32px);\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n :host([has-leading-icon]) .label {\n left: 52px;\n max-width: calc(100% - 68px);\n }\n\n /* Filled Variant Floating Label */\n :host(:not([variant])[focused]) .label,\n :host(:not([variant])[has-value]) .label,\n :host(:not([variant])[has-placeholder]) .label,\n :host([variant=\"filled\"][focused]) .label,\n :host([variant=\"filled\"][has-value]) .label,\n :host([variant=\"filled\"][has-placeholder]) .label {\n top: 8px;\n transform: translateY(0) scale(0.75);\n transform-origin: top left;\n }\n\n /* Outlined Variant Floating Label */\n :host([variant=\"outlined\"][focused]) .label,\n :host([variant=\"outlined\"][has-value]) .label,\n :host([variant=\"outlined\"][has-placeholder]) .label {\n top: 0;\n left: 12px;\n transform: translateY(-50%) scale(0.75);\n transform-origin: left center;\n background-color: var(--md-sys-color-surface, #FEF7FF);\n padding: 0 4px;\n max-width: calc(100% - 24px);\n z-index: 1;\n }\n\n :host([focused]) .label {\n color: var(--md-sys-color-primary, #6750A4);\n }\n\n :host([error]) .label {\n color: var(--md-sys-color-error, #B3261E);\n }\n\n .input-wrapper {\n display: flex;\n align-items: center;\n flex: 1;\n height: 100%;\n min-width: 0;\n }\n\n :host(:not([variant])) .input-wrapper,\n :host([variant=\"filled\"]) .input-wrapper {\n padding-top: 18px;\n }\n\n input {\n flex: 1;\n width: 100%;\n border: none;\n outline: none;\n background: transparent;\n font-family: inherit;\n font-size: 16px;\n line-height: 24px;\n color: var(--md-sys-color-on-surface, #1D1B20);\n padding: 0;\n }\n\n input::placeholder {\n color: var(--md-sys-color-on-surface-variant, #49454F);\n opacity: 0.6;\n }\n\n .affix {\n font-size: 16px;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n user-select: none;\n transition: opacity 150ms ease;\n }\n\n :host(:not([focused]):not([has-value]):not([has-placeholder])) .affix {\n opacity: 0;\n }\n\n .prefix { margin-right: 4px; }\n .suffix { margin-left: 4px; }\n\n .icon-slot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n flex-shrink: 0;\n }\n\n .leading-icon { margin-right: 12px; }\n .trailing-icon { margin-left: 12px; }\n\n :host([error]) .trailing-icon {\n color: var(--md-sys-color-error, #B3261E);\n }\n\n /* Supporting / Error text */\n .supporting-text {\n display: flex;\n justify-content: space-between;\n padding: 4px 16px 0;\n font-size: 12px;\n line-height: 16px;\n color: var(--md-sys-color-on-surface-variant, #49454F);\n }\n\n :host([error]) .supporting-text {\n color: var(--md-sys-color-error, #B3261E);\n }\n`;\n\n","import { html, nothing } from 'lit';\nimport { customElement, property, state, query, queryAssignedElements } from 'lit/decorators.js';\nimport { MdBaseElement } from '../../internal/base-component.js';\nimport { MdFormAssociatedElement } from '../../internal/form-associated.js';\nimport '../../internal/ripple/ripple.js';\nimport '../icon/icon.js';\nimport { textFieldStyles } from './text-field.css.js';\n\nexport type TextFieldVariant = 'filled' | 'outlined';\n\n@customElement('md-text-field')\nexport class MdTextField extends MdFormAssociatedElement {\n static override styles = [MdFormAssociatedElement.styles, textFieldStyles];\n\n @property({ type: String, reflect: true })\n variant: TextFieldVariant = 'filled';\n\n @property({ type: String })\n label = '';\n\n @property({ type: String })\n value = '';\n\n @property({ type: String })\n placeholder = '';\n\n @property({ type: String })\n type = 'text';\n\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n @property({ type: Boolean, reflect: true })\n error = false;\n\n @property({ type: String, attribute: 'error-text' })\n errorText = '';\n\n @property({ type: String, attribute: 'supporting-text' })\n supportingText = '';\n\n @property({ type: String, attribute: 'prefix-text' })\n prefixText = '';\n\n @property({ type: String, attribute: 'suffix-text' })\n suffixText = '';\n\n @property({ type: Number, attribute: 'maxlength' })\n maxLength = -1;\n\n @property({ type: String })\n pattern = '';\n\n @property({ type: String, attribute: 'leading-icon' })\n leadingIcon = '';\n\n @property({ type: String, attribute: 'trailing-icon' })\n trailingIcon = '';\n\n @state()\n private focused = false;\n\n @query('input')\n private inputElement?: HTMLInputElement;\n\n @queryAssignedElements({ slot: 'leading-icon' })\n private assignedLeadingIcons!: HTMLElement[];\n\n override connectedCallback() {\n super.connectedCallback();\n this.setFormValue(this.value);\n this.toggleAttribute('has-value', Boolean(this.value));\n this.toggleAttribute('has-placeholder', Boolean(this.placeholder));\n this.toggleAttribute('has-leading-icon', Boolean(this.leadingIcon));\n }\n\n override firstUpdated(changedProperties: Map<string, unknown>) {\n super.firstUpdated(changedProperties);\n this.handleSlotChange();\n }\n\n override willUpdate(changedProperties: Map<string, unknown>) {\n super.willUpdate(changedProperties);\n if (changedProperties.has('value')) {\n this.setFormValue(this.value);\n this.toggleAttribute('has-value', Boolean(this.value));\n this.validateInput();\n }\n if (changedProperties.has('placeholder')) {\n this.toggleAttribute('has-placeholder', Boolean(this.placeholder));\n }\n if (changedProperties.has('leadingIcon')) {\n this.toggleAttribute('has-leading-icon', Boolean(this.leadingIcon));\n }\n }\n\n override formResetCallback() {\n this.value = '';\n this.error = false;\n this.toggleAttribute('has-value', false);\n this.setFormValue(null);\n }\n\n private handleFocus = () => {\n this.focused = true;\n this.toggleAttribute('focused', true);\n };\n\n private handleBlur = () => {\n this.focused = false;\n this.toggleAttribute('focused', false);\n this.validateInput();\n };\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.setFormValue(this.value);\n this.emitEvent('input', { value: this.value });\n };\n\n private handleChange = () => {\n this.emitEvent('change', { value: this.value });\n };\n\n private validateInput() {\n if (!this.inputElement) return;\n\n if (this.required && !this.value) {\n this.setValidity({ valueMissing: true }, this.errorText || 'This field is required');\n this.error = true;\n } else if (this.pattern && !new RegExp(this.pattern).test(this.value)) {\n this.setValidity({ patternMismatch: true }, this.errorText || 'Invalid format');\n this.error = true;\n } else {\n this.setValidity({});\n if (!this.errorText) {\n this.error = false;\n }\n }\n }\n\n private handleSlotChange() {\n const hasLeading = Boolean(this.leadingIcon || (this.assignedLeadingIcons && this.assignedLeadingIcons.length > 0));\n this.toggleAttribute('has-leading-icon', hasLeading);\n }\n\n override render() {\n const displayText = this.error ? (this.errorText || this.supportingText) : this.supportingText;\n\n return html`\n <div class=\"container\" @click=${() => this.inputElement?.focus()}>\n ${this.variant === 'filled' ? html`<md-ripple ?disabled=${this.disabled}></md-ripple>` : nothing}\n\n <span class=\"icon-slot leading-icon\">\n <slot name=\"leading-icon\" @slotchange=${this.handleSlotChange}>\n ${this.leadingIcon ? html`<md-icon name=${this.leadingIcon}></md-icon>` : nothing}\n </slot>\n </span>\n\n <div class=\"input-wrapper\">\n ${this.label ? html`<label class=\"label\">${this.label}</label>` : nothing}\n ${this.prefixText ? html`<span class=\"affix prefix\">${this.prefixText}</span>` : nothing}\n <input\n type=${this.type}\n .value=${this.value}\n placeholder=${this.focused || !this.label ? this.placeholder : ''}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n maxlength=${this.maxLength > 0 ? this.maxLength : nothing}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n @input=${this.handleInput}\n @change=${this.handleChange}\n />\n ${this.suffixText ? html`<span class=\"affix suffix\">${this.suffixText}</span>` : nothing}\n </div>\n\n <span class=\"icon-slot trailing-icon\">\n <slot name=\"trailing-icon\">\n ${this.error ? html`<md-icon name=\"error\" filled></md-icon>` : (this.trailingIcon ? html`<md-icon name=${this.trailingIcon}></md-icon>` : nothing)}\n </slot>\n </span>\n </div>\n\n ${displayText || (this.maxLength > 0)\n ? html`\n <div class=\"supporting-text\">\n <span>${displayText}</span>\n ${this.maxLength > 0 ? html`<span>${this.value.length} / ${this.maxLength}</span>` : nothing}\n </div>\n `\n : nothing}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-text-field': MdTextField;\n }\n}\n"],"mappings":"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"}
|