@material/web 1.0.0-pre.0 → 1.0.0-pre.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 +66 -19
- package/autocomplete/lib/_filled-autocomplete.scss +1 -34
- package/autocomplete/lib/_outlined-autocomplete.scss +1 -34
- package/autocomplete/lib/autocomplete.d.ts +0 -4
- package/autocomplete/lib/autocomplete.js +5 -12
- package/autocomplete/lib/autocomplete.js.map +1 -1
- package/autocomplete/lib/autocompleteitem/autocomplete-item.d.ts +2 -2
- package/autocomplete/lib/autocompleteitem/autocomplete-item.js +2 -2
- package/autocomplete/lib/autocompleteitem/autocomplete-item.js.map +1 -1
- package/autocomplete/lib/autocompletelist/autocomplete-list.d.ts +1 -1
- package/autocomplete/lib/autocompletelist/autocomplete-list.js +2 -2
- package/autocomplete/lib/autocompletelist/autocomplete-list.js.map +1 -1
- package/autocomplete/lib/filled-styles.css.js +1 -1
- package/autocomplete/lib/filled-styles.css.js.map +1 -1
- package/autocomplete/lib/outlined-styles.css.js +1 -1
- package/autocomplete/lib/outlined-styles.css.js.map +1 -1
- package/button/lib/_elevation.scss +1 -1
- package/button/lib/_icon.scss +12 -29
- package/button/lib/_shared.scss +1 -0
- package/button/lib/button.d.ts +1 -14
- package/button/lib/button.js +6 -42
- package/button/lib/button.js.map +1 -1
- package/button/lib/filled-styles.css.js +1 -1
- package/button/lib/filled-styles.css.js.map +1 -1
- package/button/lib/link-button.d.ts +0 -1
- package/button/lib/link-button.js +0 -5
- package/button/lib/link-button.js.map +1 -1
- package/button/lib/shared-elevation-styles.css.js +1 -1
- package/button/lib/shared-elevation-styles.css.js.map +1 -1
- package/button/lib/shared-styles.css.js +1 -1
- package/button/lib/shared-styles.css.js.map +1 -1
- package/checkbox/checkbox.d.ts +11 -2
- package/checkbox/checkbox.js +11 -2
- package/checkbox/checkbox.js.map +1 -1
- package/checkbox/lib/checkbox.d.ts +28 -0
- package/checkbox/lib/checkbox.js +30 -1
- package/checkbox/lib/checkbox.js.map +1 -1
- package/chips/chip/lib/_chip-theme.scss +1 -1
- package/dialog/_dialog.scss +6 -0
- package/dialog/dialog.d.ts +38 -0
- package/dialog/dialog.js +41 -0
- package/dialog/dialog.js.map +1 -0
- package/dialog/harness.d.ts +18 -0
- package/dialog/harness.js +55 -0
- package/dialog/harness.js.map +1 -0
- package/dialog/lib/_dialog.scss +386 -0
- package/dialog/lib/_tokens.scss +86 -0
- package/{elevationold/lib/elevation-overlay-styles.css.d.ts → dialog/lib/dialog-styles.css.d.ts} +0 -0
- package/dialog/lib/dialog-styles.css.js +9 -0
- package/dialog/lib/dialog-styles.css.js.map +1 -0
- package/dialog/lib/dialog-styles.scss +8 -0
- package/dialog/lib/dialog.d.ts +190 -0
- package/dialog/lib/dialog.js +566 -0
- package/dialog/lib/dialog.js.map +1 -0
- package/divider/_divider.scss +6 -0
- package/divider/divider.d.ts +24 -0
- package/divider/divider.js +27 -0
- package/divider/divider.js.map +1 -0
- package/divider/lib/_divider.scss +54 -0
- package/{list/lib/divider/list-divider-styles.css.d.ts → divider/lib/divider-styles.css.d.ts} +0 -0
- package/divider/lib/divider-styles.css.js +9 -0
- package/divider/lib/divider-styles.css.js.map +1 -0
- package/divider/lib/divider-styles.scss +8 -0
- package/divider/lib/divider.d.ts +23 -0
- package/divider/lib/divider.js +41 -0
- package/divider/lib/divider.js.map +1 -0
- package/elevation/lib/_elevation.scss +1 -1
- package/elevation/lib/_md-comp-elevation.scss +1 -1
- package/elevation/lib/elevation-styles.css.js +1 -1
- package/elevation/lib/elevation-styles.css.js.map +1 -1
- package/fab/lib/_shared.scss +1 -1
- package/fab/lib/fab-shared-styles.css.js +1 -1
- package/fab/lib/fab-shared-styles.css.js.map +1 -1
- package/field/lib/_filled-field.scss +5 -2
- package/field/lib/_md-comp-filled-field.scss +3 -1
- package/field/lib/_md-comp-outlined-field.scss +1 -1
- package/field/lib/_shared.scss +2 -0
- package/field/lib/field.d.ts +0 -2
- package/field/lib/field.js +2 -4
- package/field/lib/field.js.map +1 -1
- package/field/lib/filled-styles.css.js +1 -1
- package/field/lib/filled-styles.css.js.map +1 -1
- package/field/lib/outlined-styles.css.js +1 -1
- package/field/lib/outlined-styles.css.js.map +1 -1
- package/field/lib/shared-styles.css.js +1 -1
- package/field/lib/shared-styles.css.js.map +1 -1
- package/focus/lib/_focus-ring.scss +3 -10
- package/focus/lib/focus-ring-styles.css.js +1 -1
- package/focus/lib/focus-ring-styles.css.js.map +1 -1
- package/focus/lib/focus-ring.d.ts +1 -4
- package/focus/lib/focus-ring.js +2 -11
- package/focus/lib/focus-ring.js.map +1 -1
- package/icon/lib/_icon.scss +8 -5
- package/icon/lib/icon-styles.css.js +1 -1
- package/icon/lib/icon-styles.css.js.map +1 -1
- package/iconbutton/lib/_filled-icon-button.scss +1 -1
- package/iconbutton/lib/_filled-tonal-icon-button.scss +1 -1
- package/iconbutton/lib/_outlined-icon-button.scss +9 -22
- package/iconbutton/lib/_shared.scss +14 -40
- package/iconbutton/lib/_standard-icon-button.scss +6 -14
- package/iconbutton/lib/filled-styles.css.js +1 -1
- package/iconbutton/lib/filled-styles.css.js.map +1 -1
- package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
- package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
- package/iconbutton/lib/icon-button-toggle.d.ts +13 -42
- package/iconbutton/lib/icon-button-toggle.js +33 -103
- package/iconbutton/lib/icon-button-toggle.js.map +1 -1
- package/iconbutton/lib/icon-button.d.ts +2 -4
- package/iconbutton/lib/icon-button.js +3 -9
- package/iconbutton/lib/icon-button.js.map +1 -1
- package/iconbutton/lib/outlined-styles.css.js +1 -1
- package/iconbutton/lib/outlined-styles.css.js.map +1 -1
- package/iconbutton/lib/shared-styles.css.js +1 -1
- package/iconbutton/lib/shared-styles.css.js.map +1 -1
- package/iconbutton/lib/standard-styles.css.js +1 -1
- package/iconbutton/lib/standard-styles.css.js.map +1 -1
- package/list/lib/_list.scss +32 -40
- package/list/lib/avatar/_list-item-avatar.scss +1 -1
- package/list/lib/avatar/list-item-avatar-styles.css.js +1 -1
- package/list/lib/avatar/list-item-avatar-styles.css.js.map +1 -1
- package/list/lib/avatar/list-item-avatar.d.ts +9 -4
- package/list/lib/avatar/list-item-avatar.js +24 -11
- package/list/lib/avatar/list-item-avatar.js.map +1 -1
- package/list/lib/icon/_list-item-icon.scss +3 -1
- package/list/lib/icon/list-item-icon-styles.css.js +1 -1
- package/list/lib/icon/list-item-icon-styles.css.js.map +1 -1
- package/list/lib/icon/list-item-icon.d.ts +0 -3
- package/list/lib/icon/list-item-icon.js +1 -12
- package/list/lib/icon/list-item-icon.js.map +1 -1
- package/list/lib/image/_list-item-image.scss +1 -1
- package/list/lib/image/list-item-image-styles.css.js +1 -1
- package/list/lib/image/list-item-image-styles.css.js.map +1 -1
- package/list/lib/image/list-item-image.d.ts +11 -4
- package/list/lib/image/list-item-image.js +24 -13
- package/list/lib/image/list-item-image.js.map +1 -1
- package/list/lib/list-styles.css.js +1 -1
- package/list/lib/list-styles.css.js.map +1 -1
- package/list/lib/list.d.ts +99 -28
- package/list/lib/list.js +210 -111
- package/list/lib/list.js.map +1 -1
- package/list/lib/listitem/_list-item.scss +104 -39
- package/list/lib/listitem/harness.js +2 -1
- package/list/lib/listitem/harness.js.map +1 -1
- package/{menu/lib/menu-button-styles.css.d.ts → list/lib/listitem/list-item-private-styles.css.d.ts} +0 -0
- package/list/lib/listitem/list-item-private-styles.css.js +9 -0
- package/list/lib/listitem/list-item-private-styles.css.js.map +1 -0
- package/list/lib/listitem/list-item-private-styles.scss +8 -0
- package/list/lib/listitem/list-item-styles.css.js +1 -1
- package/list/lib/listitem/list-item-styles.css.js.map +1 -1
- package/list/lib/listitem/list-item.d.ts +99 -43
- package/list/lib/listitem/list-item.js +201 -172
- package/list/lib/listitem/list-item.js.map +1 -1
- package/list/lib/listitemlink/list-item-link.d.ts +17 -0
- package/list/lib/listitemlink/list-item-link.js +42 -0
- package/list/lib/listitemlink/list-item-link.js.map +1 -0
- package/list/lib/video/_list-item-video.scss +10 -4
- package/list/lib/video/list-item-video-styles.css.js +1 -1
- package/list/lib/video/list-item-video-styles.css.js.map +1 -1
- package/list/lib/video/list-item-video.d.ts +43 -4
- package/list/lib/video/list-item-video.js +90 -12
- package/list/lib/video/list-item-video.js.map +1 -1
- package/list/list-item-avatar.d.ts +2 -1
- package/list/list-item-avatar.js +2 -1
- package/list/list-item-avatar.js.map +1 -1
- package/list/list-item-icon.d.ts +2 -1
- package/list/list-item-icon.js +2 -1
- package/list/list-item-icon.js.map +1 -1
- package/list/list-item-image.d.ts +2 -1
- package/list/list-item-image.js +2 -1
- package/list/list-item-image.js.map +1 -1
- package/list/list-item-link.d.ts +35 -0
- package/list/list-item-link.js +39 -0
- package/list/list-item-link.js.map +1 -0
- package/list/list-item-video.d.ts +2 -1
- package/list/list-item-video.js +2 -1
- package/list/list-item-video.js.map +1 -1
- package/list/list-item.d.ts +18 -2
- package/list/list-item.js +20 -3
- package/list/list-item.js.map +1 -1
- package/list/list.d.ts +15 -1
- package/list/list.js +15 -1
- package/list/list.js.map +1 -1
- package/menu/_menu-item.scss +6 -0
- package/menu/_menu.scss +6 -0
- package/menu/harness.d.ts +5 -0
- package/menu/harness.js +22 -0
- package/menu/harness.js.map +1 -1
- package/menu/lib/_menu.scss +61 -62
- package/menu/lib/menu-styles.css.js +1 -1
- package/menu/lib/menu-styles.css.js.map +1 -1
- package/menu/lib/menu.d.ts +176 -42
- package/menu/lib/menu.js +506 -246
- package/menu/lib/menu.js.map +1 -1
- package/menu/lib/menuitem/_menu-item.scss +115 -0
- package/{tokens/v0_150/index.test.css.d.ts → menu/lib/menuitem/menu-item-private-styles.css.d.ts} +0 -0
- package/menu/lib/menuitem/menu-item-private-styles.css.js +9 -0
- package/menu/lib/menuitem/menu-item-private-styles.css.js.map +1 -0
- package/menu/lib/menuitem/menu-item-private-styles.scss +8 -0
- package/{tokens/v0_150/lib.test.css.d.ts → menu/lib/menuitem/menu-item-styles.css.d.ts} +0 -0
- package/menu/lib/menuitem/menu-item-styles.css.js +9 -0
- package/menu/lib/menuitem/menu-item-styles.css.js.map +1 -0
- package/menu/lib/menuitem/menu-item-styles.scss +8 -0
- package/menu/lib/menuitem/menu-item.d.ts +20 -3
- package/menu/lib/menuitem/menu-item.js +42 -3
- package/menu/lib/menuitem/menu-item.js.map +1 -1
- package/menu/lib/menuitemlink/menu-item-link.d.ts +25 -0
- package/menu/lib/menuitemlink/menu-item-link.js +51 -0
- package/menu/lib/menuitemlink/menu-item-link.js.map +1 -0
- package/menu/lib/shared.d.ts +134 -0
- package/menu/lib/shared.js +85 -0
- package/menu/lib/shared.js.map +1 -0
- package/menu/lib/submenuitem/harness.d.ts +11 -0
- package/menu/lib/submenuitem/harness.js +12 -0
- package/menu/lib/submenuitem/harness.js.map +1 -0
- package/menu/lib/submenuitem/sub-menu-item.d.ts +89 -0
- package/menu/lib/submenuitem/sub-menu-item.js +266 -0
- package/menu/lib/submenuitem/sub-menu-item.js.map +1 -0
- package/menu/lib/surfacePositionController.d.ts +117 -0
- package/menu/lib/surfacePositionController.js +196 -0
- package/menu/lib/surfacePositionController.js.map +1 -0
- package/menu/lib/typeaheadController.d.ts +144 -0
- package/menu/lib/typeaheadController.js +242 -0
- package/menu/lib/typeaheadController.js.map +1 -0
- package/menu/menu-item-link.d.ts +33 -0
- package/menu/menu-item-link.js +37 -0
- package/menu/menu-item-link.js.map +1 -0
- package/menu/menu-item.d.ts +19 -2
- package/menu/menu-item.js +22 -4
- package/menu/menu-item.js.map +1 -1
- package/menu/menu.d.ts +45 -0
- package/menu/menu.js +43 -0
- package/menu/menu.js.map +1 -1
- package/menu/sub-menu-item.d.ts +60 -0
- package/menu/sub-menu-item.js +64 -0
- package/menu/sub-menu-item.js.map +1 -0
- package/menusurface/lib/_menu-surface.scss +1 -1
- package/menusurface/lib/menu-surface-styles.css.js +1 -1
- package/menusurface/lib/menu-surface-styles.css.js.map +1 -1
- package/motion/animation.d.ts +20 -3
- package/motion/animation.js +39 -4
- package/motion/animation.js.map +1 -1
- package/navigationbar/lib/_navigation-bar.scss +9 -9
- package/navigationbar/lib/navigation-bar-styles.css.js +1 -1
- package/navigationbar/lib/navigation-bar-styles.css.js.map +1 -1
- package/navigationdrawer/lib/_navigation-drawer.scss +1 -1
- package/navigationdrawer/lib/navigation-drawer-styles.css.js +1 -1
- package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -1
- package/navigationtab/lib/_navigation-tab.scss +8 -19
- package/navigationtab/lib/navigation-tab-styles.css.js +1 -1
- package/navigationtab/lib/navigation-tab-styles.css.js.map +1 -1
- package/package.json +1 -8
- package/radio/lib/_radio.scss +21 -22
- package/radio/lib/radio-styles.css.js +1 -1
- package/radio/lib/radio-styles.css.js.map +1 -1
- package/radio/lib/radio.d.ts +10 -1
- package/radio/lib/radio.js +12 -3
- package/radio/lib/radio.js.map +1 -1
- package/radio/radio.d.ts +16 -1
- package/radio/radio.js +16 -1
- package/radio/radio.js.map +1 -1
- package/ripple/lib/_ripple.scss +5 -21
- package/ripple/lib/ripple-styles.css.js +1 -1
- package/ripple/lib/ripple-styles.css.js.map +1 -1
- package/ripple/lib/ripple.js +2 -2
- package/ripple/lib/ripple.js.map +1 -1
- package/sass/_map-ext.scss +24 -0
- package/sass/_string-ext.scss +23 -0
- package/segmentedbuttonset/lib/segmented-button-set.d.ts +0 -2
- package/segmentedbuttonset/lib/segmented-button-set.js +0 -2
- package/segmentedbuttonset/lib/segmented-button-set.js.map +1 -1
- package/switch/lib/_handle.scss +56 -9
- package/switch/lib/_icon.scss +36 -0
- package/switch/lib/_switch.scss +1 -115
- package/switch/lib/_track.scss +39 -0
- package/switch/lib/switch-styles.css.js +1 -1
- package/switch/lib/switch-styles.css.js.map +1 -1
- package/switch/lib/switch.d.ts +3 -0
- package/switch/lib/switch.js +3 -0
- package/switch/lib/switch.js.map +1 -1
- package/textfield/lib/_filled-text-field.scss +4 -2
- package/textfield/lib/_outlined-text-field.scss +3 -2
- package/textfield/lib/filled-styles.css.js +1 -1
- package/textfield/lib/filled-styles.css.js.map +1 -1
- package/textfield/lib/outlined-styles.css.js +1 -1
- package/textfield/lib/outlined-styles.css.js.map +1 -1
- package/textfield/lib/text-field.d.ts +0 -2
- package/textfield/lib/text-field.js +0 -2
- package/textfield/lib/text-field.js.map +1 -1
- package/tokens/_index.scss +1 -1
- package/tokens/{v0_150 → v0_152}/_index.scss +1 -1
- package/tokens/{v0_150 → v0_152}/_md-comp-assist-chip.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-badge.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-banner.scss +2 -43
- package/tokens/{v0_150 → v0_152}/_md-comp-bottom-app-bar.scss +3 -4
- package/tokens/{v0_150 → v0_152}/_md-comp-carousel-item.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-checkbox.scss +2 -12
- package/tokens/{v0_150 → v0_152}/_md-comp-circular-progress-indicator.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-data-table.scss +2 -4
- package/tokens/{v0_150 → v0_152}/_md-comp-date-input-modal.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-date-picker-docked.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-date-picker-modal.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-dialog.scss +2 -25
- package/tokens/{v0_150 → v0_152}/_md-comp-divider.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-elevated-button.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-elevated-card.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-branded.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-primary.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-secondary.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-surface.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-extended-fab-tertiary.scss +2 -4
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-branded-large.scss +2 -3
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-branded.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary-large.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary-small.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-primary.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary-large.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary-small.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-secondary.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface-large.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface-small.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-surface.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary-large.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary-small.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-fab-tertiary.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-filled-autocomplete.scss +2 -3
- package/tokens/{v0_150 → v0_152}/_md-comp-filled-button.scss +2 -8
- package/tokens/{v0_150 → v0_152}/_md-comp-filled-card.scss +2 -4
- package/tokens/{v0_150 → v0_152}/_md-comp-filled-icon-button.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-filled-menu-button.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-filled-select.scss +2 -6
- package/tokens/{v0_150 → v0_152}/_md-comp-filled-text-field.scss +2 -3
- package/tokens/{v0_150 → v0_152}/_md-comp-filled-tonal-button.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-filled-tonal-icon-button.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-filter-chip.scss +2 -30
- package/tokens/{v0_150 → v0_152}/_md-comp-full-screen-dialog.scss +3 -53
- package/tokens/{v0_150 → v0_152}/_md-comp-icon-button.scss +3 -3
- package/tokens/{v0_150 → v0_152}/_md-comp-input-chip.scss +2 -52
- package/tokens/{v0_150 → v0_152}/_md-comp-linear-progress-indicator.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-list.scss +3 -12
- package/tokens/{v0_150 → v0_152}/_md-comp-menu.scss +2 -4
- package/tokens/{v0_150 → v0_152}/_md-comp-navigation-bar.scss +2 -9
- package/tokens/{v0_150 → v0_152}/_md-comp-navigation-drawer.scss +2 -8
- package/tokens/{v0_150 → v0_152}/_md-comp-navigation-rail.scss +2 -39
- package/tokens/{v0_150 → v0_152}/_md-comp-outlined-autocomplete.scss +2 -3
- package/tokens/{v0_150 → v0_152}/_md-comp-outlined-button.scss +2 -6
- package/tokens/{v0_150 → v0_152}/_md-comp-outlined-card.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-outlined-icon-button.scss +2 -4
- package/tokens/{v0_150 → v0_152}/_md-comp-outlined-menu-button.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-outlined-segmented-button.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-outlined-select.scss +2 -6
- package/tokens/{v0_150 → v0_152}/_md-comp-outlined-text-field.scss +2 -3
- package/tokens/{v0_150 → v0_152}/_md-comp-plain-tooltip.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-primary-navigation-tab.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-radio-button.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-rich-tooltip.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-scrim.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-search-bar.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-search-view.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-secondary-navigation-tab.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-sheet-bottom.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-sheet-floating.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-sheet-side.scss +4 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-slider.scss +2 -4
- package/tokens/{v0_150 → v0_152}/_md-comp-snackbar.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-standard-menu-button.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-suggestion-chip.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-switch.scss +2 -11
- package/tokens/{v0_150 → v0_152}/_md-comp-text-button.scss +2 -6
- package/tokens/{v0_150 → v0_152}/_md-comp-time-input.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-time-picker.scss +2 -5
- package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-large.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-medium.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-small-centered.scss +2 -3
- package/tokens/{v0_150 → v0_152}/_md-comp-top-app-bar-small.scss +2 -3
- package/tokens/{v0_150 → v0_152}/_md-ref-palette.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-ref-typeface.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-sys-color.scss +2 -20
- package/tokens/{v0_150 → v0_152}/_md-sys-elevation.scss +4 -13
- package/tokens/{v0_150 → v0_152}/_md-sys-motion.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-sys-shape.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-sys-state.scss +2 -2
- package/tokens/{v0_150 → v0_152}/_md-sys-typescale.scss +2 -3
- package/tokens/v0_152/index.test.css.d.ts +1 -0
- package/tokens/{v0_150 → v0_152}/index.test.css.js +0 -0
- package/tokens/{v0_150 → v0_152}/index.test.css.js.map +0 -0
- package/tokens/{v0_150 → v0_152}/index.test.scss +1 -1
- package/tokens/v0_152/lib.test.css.d.ts +1 -0
- package/tokens/{v0_150 → v0_152}/lib.test.css.js +0 -0
- package/tokens/{v0_150 → v0_152}/lib.test.css.js.map +0 -0
- package/tokens/{v0_150 → v0_152}/lib.test.scss +1 -1
- package/CHANGELOG.md +0 -141
- package/elevationold/lib/elevation-overlay-styles.css.js +0 -9
- package/elevationold/lib/elevation-overlay-styles.css.js.map +0 -1
- package/list/lib/_tokens.scss +0 -80
- package/list/lib/divider/_list-divider.scss +0 -46
- package/list/lib/divider/list-divider-styles.css.js +0 -9
- package/list/lib/divider/list-divider-styles.css.js.map +0 -1
- package/list/lib/divider/list-divider-styles.scss +0 -8
- package/list/lib/divider/list-divider.d.ts +0 -13
- package/list/lib/divider/list-divider.js +0 -32
- package/list/lib/divider/list-divider.js.map +0 -1
- package/list/list-divider.d.ts +0 -19
- package/list/list-divider.js +0 -22
- package/list/list-divider.js.map +0 -1
- package/menu/lib/_menu-button.scss +0 -14
- package/menu/lib/adapter.d.ts +0 -66
- package/menu/lib/adapter.js +0 -7
- package/menu/lib/adapter.js.map +0 -1
- package/menu/lib/constants.d.ts +0 -22
- package/menu/lib/constants.js +0 -23
- package/menu/lib/constants.js.map +0 -1
- package/menu/lib/foundation.d.ts +0 -49
- package/menu/lib/foundation.js +0 -123
- package/menu/lib/foundation.js.map +0 -1
- package/menu/lib/menu-button-styles.css.js +0 -9
- package/menu/lib/menu-button-styles.css.js.map +0 -1
- package/menu/lib/menu-button-styles.scss +0 -8
- package/menu/lib/menu-button.d.ts +0 -27
- package/menu/lib/menu-button.js +0 -93
- package/menu/lib/menu-button.js.map +0 -1
- package/menu/menu-button.d.ts +0 -14
- package/menu/menu-button.js +0 -17
- package/menu/menu-button.js.map +0 -1
package/button/lib/button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["button.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @requirecss {button.lib.shared_styles}\n *\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// This is required for @ariaProperty\n// tslint:disable:no-new-decorators\n\nimport '../../icon/icon.js';\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, TemplateResult} from 'lit';\nimport {property, query, queryAssignedElements, queryAsync, state} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {when} from 'lit/directives/when.js';\nimport {html as staticHtml, literal} from 'lit/static-html.js';\n\nimport {dispatchActivationClick, isActivationClick} from '../../controller/events.js';\nimport {ariaProperty} from '../../decorators/aria-property.js';\nimport {pointerPress, shouldShowStrongFocus} from '../../focus/strong-focus.js';\nimport {ripple} from '../../ripple/directive.js';\nimport {MdRipple} from '../../ripple/ripple.js';\nimport {ARIAHasPopup} from '../../types/aria.js';\n\nimport {ButtonState} from './state.js';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport abstract class Button extends LitElement implements ButtonState {\n static override shadowRootOptions:\n ShadowRootInit = {mode: 'open', delegatesFocus: true};\n\n protected readonly iconTag = literal`md-icon`;\n\n @property({type: String, attribute: 'data-aria-has-popup', noAccessor: true})\n @ariaProperty\n override ariaHasPopup!: ARIAHasPopup;\n\n @property({type: String, attribute: 'data-aria-label', noAccessor: true})\n @ariaProperty\n override ariaLabel!: string;\n\n /**\n * Whether or not the button is disabled.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * Whether to render the icon at the inline end of the label rather than the\n * inline start.\n *\n * _Note:_ Link buttons cannot have trailing icons.\n */\n @property({type: Boolean, attribute: 'trailingicon'}) trailingIcon = false;\n\n /**\n * The label of the icon to render.\n *\n * See md-icon's documentation for usage.\n */\n @property({type: String}) icon = '';\n\n /**\n * The button's visible label.\n */\n @property({type: String}) label = '';\n\n /**\n * Whether to display the icon or not.\n */\n @property({type: Boolean}) hasIcon = false;\n\n /**\n * Whether `preventDefault()` should be called on the underlying button.\n * Useful for preventing certain native functionalities like preventing form\n * submissions.\n */\n @property({type: Boolean}) preventClickDefault = false;\n\n @query('.md3-button') protected buttonElement!: HTMLElement;\n\n @queryAsync('md-ripple') protected ripple!: Promise<MdRipple|null>;\n\n @state() protected showFocusRing = false;\n\n @state() protected showRipple = false;\n\n @queryAssignedElements({slot: 'icon', flatten: true})\n protected iconElement!: HTMLElement[]|null;\n\n constructor() {\n super();\n this.addEventListener('click', this.handleActivationClick);\n }\n\n private readonly handleActivationClick = (event: MouseEvent) => {\n if (!isActivationClick((event))) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.buttonElement);\n };\n\n override focus() {\n this.buttonElement.focus();\n }\n\n override blur() {\n this.buttonElement.blur();\n }\n\n protected readonly getRipple = () => {\n this.showRipple = true;\n return this.ripple;\n };\n\n protected override render(): TemplateResult {\n // TODO(b/237283903): Replace ifDefined(... || undefined) with ifTruthy(...)\n return html`\n <button\n class=\"md3-button ${classMap(this.getRenderClasses())}\"\n ?disabled=\"${this.disabled}\"\n aria-label=\"${ifDefined(this.ariaLabel || undefined)}\"\n aria-haspopup=\"${ifDefined(this.ariaHasPopup || undefined)}\"\n @pointerdown=\"${this.handlePointerDown}\"\n @focus=\"${this.handleFocus}\"\n @blur=\"${this.handleBlur}\"\n @click=\"${this.handleClick}\"\n ${ripple(this.getRipple)}>\n ${this.renderFocusRing()}\n ${this.renderElevation()}\n ${when(this.showRipple, this.renderRipple)}\n ${this.renderOutline()}\n ${this.renderTouchTarget()}\n ${this.renderLeadingIcon()}\n ${this.renderLabel()}\n ${this.renderTrailingIcon()}\n </button>`;\n }\n\n protected getRenderClasses(): ClassInfo {\n return {\n 'md3-button--icon-leading': !this.trailingIcon && this.hasIcon,\n 'md3-button--icon-trailing': this.trailingIcon && this.hasIcon,\n };\n }\n\n protected getIconContainerClasses(): ClassInfo {\n return {\n 'md3-button__icon--leading': !this.trailingIcon,\n 'md3-button__icon--trailing': this.trailingIcon,\n };\n }\n\n protected renderTouchTarget(): TemplateResult {\n return html`\n <span class=\"md3-button__touch\"></span>\n `;\n }\n\n protected renderElevation(): TemplateResult {\n return html``;\n }\n\n protected renderRipple = () => {\n return html`<md-ripple class=\"md3-button__ripple\" ?disabled=\"${\n this.disabled}\"></md-ripple>`;\n };\n\n protected renderOutline(): TemplateResult {\n return html``;\n }\n\n protected renderFocusRing(): TemplateResult {\n return html`<md-focus-ring .visible=\"${\n this.showFocusRing}\"></md-focus-ring>`;\n }\n\n protected renderLabel(): TemplateResult {\n return html`<span class=\"md3-button__label\">${this.label}</span>`;\n }\n\n protected renderLeadingIcon(): TemplateResult|string {\n return this.trailingIcon ? '' : this.renderIcon();\n }\n\n protected renderTrailingIcon(): TemplateResult|string {\n return this.trailingIcon ? this.renderIcon() : '';\n }\n\n protected renderIcon(): TemplateResult {\n return html`<span class=\"md3-button__icon-slot-container ${\n classMap(this.getIconContainerClasses())}\">\n <slot name=\"icon\" @slotchange=\"${this.handleSlotChange}\">\n ${this.icon ? this.renderFontIcon() : ''}\n </slot>\n </span>`;\n }\n\n protected renderFontIcon(): TemplateResult {\n return staticHtml`\n <${this.iconTag} class=\"md3-button__icon\">\n ${this.icon}\n </${this.iconTag}>`;\n }\n\n override update(changedProperties: Map<string, string>) {\n super.update(changedProperties);\n this.hasIcon = !!this.iconElement && this.iconElement.length > 0;\n }\n\n protected handlePointerDown(e: PointerEvent) {\n pointerPress();\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n protected handleClick(e: MouseEvent) {\n if (this.preventClickDefault) {\n e.preventDefault();\n }\n }\n\n protected handleFocus() {\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n protected handleBlur() {\n this.showFocusRing = false;\n }\n\n protected handleSlotChange() {\n this.requestUpdate();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["button.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// This is required for @ariaProperty\n// tslint:disable:no-new-decorators\n\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, nothing, TemplateResult} from 'lit';\nimport {property, query, queryAssignedElements, queryAsync, state} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {dispatchActivationClick, isActivationClick} from '../../controller/events.js';\nimport {ariaProperty} from '../../decorators/aria-property.js';\nimport {pointerPress, shouldShowStrongFocus} from '../../focus/strong-focus.js';\nimport {ripple} from '../../ripple/directive.js';\nimport {MdRipple} from '../../ripple/ripple.js';\nimport {ARIAHasPopup} from '../../types/aria.js';\n\nimport {ButtonState} from './state.js';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport abstract class Button extends LitElement implements ButtonState {\n static override shadowRootOptions:\n ShadowRootInit = {mode: 'open', delegatesFocus: true};\n\n @property({type: String, attribute: 'data-aria-has-popup', noAccessor: true})\n @ariaProperty\n override ariaHasPopup!: ARIAHasPopup;\n\n @property({type: String, attribute: 'data-aria-label', noAccessor: true})\n @ariaProperty\n override ariaLabel!: string;\n\n /**\n * Whether or not the button is disabled.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * Whether to render the icon at the inline end of the label rather than the\n * inline start.\n *\n * _Note:_ Link buttons cannot have trailing icons.\n */\n @property({type: Boolean, attribute: 'trailingicon'}) trailingIcon = false;\n\n /**\n * The button's visible label.\n */\n @property({type: String}) label = '';\n\n /**\n * Whether to display the icon or not.\n */\n @property({type: Boolean}) hasIcon = false;\n\n /**\n * Whether `preventDefault()` should be called on the underlying button.\n * Useful for preventing certain native functionalities like preventing form\n * submissions.\n */\n @property({type: Boolean}) preventClickDefault = false;\n\n @query('.md3-button') protected buttonElement!: HTMLElement;\n\n @queryAsync('md-ripple') protected ripple!: Promise<MdRipple|null>;\n\n @state() protected showFocusRing = false;\n\n @state() protected showRipple = false;\n\n @queryAssignedElements({slot: 'icon', flatten: true})\n protected assignedIcons!: HTMLElement[];\n\n constructor() {\n super();\n this.addEventListener('click', this.handleActivationClick);\n }\n\n private readonly handleActivationClick = (event: MouseEvent) => {\n if (!isActivationClick((event))) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.buttonElement);\n };\n\n override focus() {\n this.buttonElement.focus();\n }\n\n override blur() {\n this.buttonElement.blur();\n }\n\n protected readonly getRipple = () => {\n this.showRipple = true;\n return this.ripple;\n };\n\n protected override render(): TemplateResult {\n // TODO(b/237283903): Replace ifDefined(... || undefined) with ifTruthy(...)\n return html`\n <button\n class=\"md3-button ${classMap(this.getRenderClasses())}\"\n ?disabled=\"${this.disabled}\"\n aria-label=\"${this.ariaLabel || nothing}\"\n aria-haspopup=\"${this.ariaHasPopup || nothing}\"\n @pointerdown=\"${this.handlePointerDown}\"\n @focus=\"${this.handleFocus}\"\n @blur=\"${this.handleBlur}\"\n @click=\"${this.handleClick}\"\n ${ripple(this.getRipple)}>\n ${this.renderFocusRing()}\n ${this.renderElevation()}\n ${when(this.showRipple, this.renderRipple)}\n ${this.renderOutline()}\n ${this.renderTouchTarget()}\n ${this.renderLeadingIcon()}\n ${this.renderLabel()}\n ${this.renderTrailingIcon()}\n </button>`;\n }\n\n protected getRenderClasses(): ClassInfo {\n return {\n 'md3-button--icon-leading': !this.trailingIcon && this.hasIcon,\n 'md3-button--icon-trailing': this.trailingIcon && this.hasIcon,\n };\n }\n\n protected renderTouchTarget(): TemplateResult {\n return html`\n <span class=\"md3-button__touch\"></span>\n `;\n }\n\n protected renderElevation(): TemplateResult {\n return html``;\n }\n\n protected renderRipple = () => {\n return html`<md-ripple class=\"md3-button__ripple\" ?disabled=\"${\n this.disabled}\"></md-ripple>`;\n };\n\n protected renderOutline(): TemplateResult {\n return html``;\n }\n\n protected renderFocusRing(): TemplateResult {\n return html`<md-focus-ring .visible=\"${\n this.showFocusRing}\"></md-focus-ring>`;\n }\n\n protected renderLabel(): TemplateResult {\n return html`<span class=\"md3-button__label\">${this.label}</span>`;\n }\n\n protected renderLeadingIcon(): TemplateResult|string {\n return this.trailingIcon ? '' : this.renderIcon();\n }\n\n protected renderTrailingIcon(): TemplateResult|string {\n return this.trailingIcon ? this.renderIcon() : '';\n }\n\n protected renderIcon(): TemplateResult {\n return html`<slot name=\"icon\" @slotchange=\"${\n this.handleSlotChange}\"></slot>`;\n }\n\n protected handlePointerDown(e: PointerEvent) {\n pointerPress();\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n protected handleClick(e: MouseEvent) {\n if (this.preventClickDefault) {\n e.preventDefault();\n }\n }\n\n protected handleFocus() {\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n protected handleBlur() {\n this.showFocusRing = false;\n }\n\n protected handleSlotChange() {\n this.hasIcon = this.assignedIcons.length > 0;\n }\n}\n"]}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { css } from 'lit';
|
|
7
|
-
export const styles = css `:host{--_container-shape-start-start: var(--md-filled-button-container-shape-start-start, 9999px);--_container-shape-start-end: var(--md-filled-button-container-shape-start-end, 9999px);--_container-shape-end-end: var(--md-filled-button-container-shape-end-end, 9999px);--_container-shape-end-start: var(--md-filled-button-container-shape-end-start, 9999px);--_container-color: var(--md-filled-button-container-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-filled-button-container-elevation, 0);--_container-height: var(--md-filled-button-container-height, 40px);--_container-shadow-color: var(--md-filled-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-button-disabled-container-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_disabled-container-elevation: var(--md-filled-button-disabled-container-elevation, 0);--_disabled-label-text-color: var(--md-filled-button-disabled-label-text-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--
|
|
7
|
+
export const styles = css `:host{--_container-shape-start-start: var(--md-filled-button-container-shape-start-start, 9999px);--_container-shape-start-end: var(--md-filled-button-container-shape-start-end, 9999px);--_container-shape-end-end: var(--md-filled-button-container-shape-end-end, 9999px);--_container-shape-end-start: var(--md-filled-button-container-shape-end-start, 9999px);--_container-color: var(--md-filled-button-container-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-filled-button-container-elevation, 0);--_container-height: var(--md-filled-button-container-height, 40px);--_container-shadow-color: var(--md-filled-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-button-disabled-container-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_disabled-container-elevation: var(--md-filled-button-disabled-container-elevation, 0);--_disabled-label-text-color: var(--md-filled-button-disabled-label-text-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_focus-container-elevation: var(--md-filled-button-focus-container-elevation, 0);--_focus-label-text-color: var(--md-filled-button-focus-label-text-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-color: var(--md-filled-button-focus-state-layer-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-opacity: var(--md-filled-button-focus-state-layer-opacity, 0.12);--_hover-container-elevation: var(--md-filled-button-hover-container-elevation, 1);--_hover-label-text-color: var(--md-filled-button-hover-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-color: var(--md-filled-button-hover-state-layer-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-opacity: var(--md-filled-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filled-button-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-text-font: var(--md-filled-button-label-text-font, Roboto);--_label-text-line-height: var(--md-filled-button-label-text-line-height, 1.25rem);--_label-text-size: var(--md-filled-button-label-text-size, 0.875rem);--_label-text-tracking: var(--md-filled-button-label-text-tracking, 0.006rem);--_label-text-type: var(--md-filled-button-label-text-type, 500 0.875rem / 1.25rem Roboto);--_label-text-weight: var(--md-filled-button-label-text-weight, 500);--_pressed-container-elevation: var(--md-filled-button-pressed-container-elevation, 0);--_pressed-label-text-color: var(--md-filled-button-pressed-label-text-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-color: var(--md-filled-button-pressed-state-layer-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-opacity: var(--md-filled-button-pressed-state-layer-opacity, 0.12);--_with-icon-disabled-icon-color: var(--md-filled-button-with-icon-disabled-icon-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_with-icon-focus-icon-color: var(--md-filled-button-with-icon-focus-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-hover-icon-color: var(--md-filled-button-with-icon-hover-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-color: var(--md-filled-button-with-icon-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-size: var(--md-filled-button-with-icon-icon-size, 18px);--_with-icon-pressed-icon-color: var(--md-filled-button-with-icon-pressed-icon-color, var(--md-sys-color-on-primary, #fff));--_spacing-leading: var(--md-filled-button-spacing-leading, 24px);--_spacing-trailing: var(--md-filled-button-spacing-trailing, 24px);--_with-icon-spacing-leading: var(--md-filled-button-with-icon-spacing-leading, 16px);--_with-icon-spacing-trailing: var(--md-filled-button-with-icon-spacing-trailing, 24px);--_with-trailing-icon-spacing-leading: var(--md-filled-button-with-trailing-icon-spacing-leading, 24px);--_with-trailing-icon-spacing-trailing: var(--md-filled-button-with-trailing-icon-spacing-trailing, 16px)}/*# sourceMappingURL=filled-styles.css.map */
|
|
8
8
|
`;
|
|
9
9
|
//# sourceMappingURL=filled-styles.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filled-styles.css.js","sourceRoot":"","sources":["filled-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_container-shape-start-start: var(--md-filled-button-container-shape-start-start, 9999px);--_container-shape-start-end: var(--md-filled-button-container-shape-start-end, 9999px);--_container-shape-end-end: var(--md-filled-button-container-shape-end-end, 9999px);--_container-shape-end-start: var(--md-filled-button-container-shape-end-start, 9999px);--_container-color: var(--md-filled-button-container-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-filled-button-container-elevation, 0);--_container-height: var(--md-filled-button-container-height, 40px);--_container-shadow-color: var(--md-filled-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-button-disabled-container-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_disabled-container-elevation: var(--md-filled-button-disabled-container-elevation, 0);--_disabled-label-text-color: var(--md-filled-button-disabled-label-text-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--
|
|
1
|
+
{"version":3,"file":"filled-styles.css.js","sourceRoot":"","sources":["filled-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_container-shape-start-start: var(--md-filled-button-container-shape-start-start, 9999px);--_container-shape-start-end: var(--md-filled-button-container-shape-start-end, 9999px);--_container-shape-end-end: var(--md-filled-button-container-shape-end-end, 9999px);--_container-shape-end-start: var(--md-filled-button-container-shape-end-start, 9999px);--_container-color: var(--md-filled-button-container-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-filled-button-container-elevation, 0);--_container-height: var(--md-filled-button-container-height, 40px);--_container-shadow-color: var(--md-filled-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-button-disabled-container-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.12));--_disabled-container-elevation: var(--md-filled-button-disabled-container-elevation, 0);--_disabled-label-text-color: var(--md-filled-button-disabled-label-text-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_focus-container-elevation: var(--md-filled-button-focus-container-elevation, 0);--_focus-label-text-color: var(--md-filled-button-focus-label-text-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-color: var(--md-filled-button-focus-state-layer-color, var(--md-sys-color-on-primary, #fff));--_focus-state-layer-opacity: var(--md-filled-button-focus-state-layer-opacity, 0.12);--_hover-container-elevation: var(--md-filled-button-hover-container-elevation, 1);--_hover-label-text-color: var(--md-filled-button-hover-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-color: var(--md-filled-button-hover-state-layer-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-opacity: var(--md-filled-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filled-button-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-text-font: var(--md-filled-button-label-text-font, Roboto);--_label-text-line-height: var(--md-filled-button-label-text-line-height, 1.25rem);--_label-text-size: var(--md-filled-button-label-text-size, 0.875rem);--_label-text-tracking: var(--md-filled-button-label-text-tracking, 0.006rem);--_label-text-type: var(--md-filled-button-label-text-type, 500 0.875rem / 1.25rem Roboto);--_label-text-weight: var(--md-filled-button-label-text-weight, 500);--_pressed-container-elevation: var(--md-filled-button-pressed-container-elevation, 0);--_pressed-label-text-color: var(--md-filled-button-pressed-label-text-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-color: var(--md-filled-button-pressed-state-layer-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-opacity: var(--md-filled-button-pressed-state-layer-opacity, 0.12);--_with-icon-disabled-icon-color: var(--md-filled-button-with-icon-disabled-icon-color, rgb(var(--md-sys-color-on-surface-rgb, 28, 27, 31), 0.38));--_with-icon-focus-icon-color: var(--md-filled-button-with-icon-focus-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-hover-icon-color: var(--md-filled-button-with-icon-hover-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-color: var(--md-filled-button-with-icon-icon-color, var(--md-sys-color-on-primary, #fff));--_with-icon-icon-size: var(--md-filled-button-with-icon-icon-size, 18px);--_with-icon-pressed-icon-color: var(--md-filled-button-with-icon-pressed-icon-color, var(--md-sys-color-on-primary, #fff));--_spacing-leading: var(--md-filled-button-spacing-leading, 24px);--_spacing-trailing: var(--md-filled-button-spacing-trailing, 24px);--_with-icon-spacing-leading: var(--md-filled-button-with-icon-spacing-leading, 16px);--_with-icon-spacing-trailing: var(--md-filled-button-with-icon-spacing-trailing, 24px);--_with-trailing-icon-spacing-leading: var(--md-filled-button-with-trailing-icon-spacing-leading, 24px);--_with-trailing-icon-spacing-trailing: var(--md-filled-button-with-trailing-icon-spacing-trailing, 16px)}/*# sourceMappingURL=filled-styles.css.map */\n`;\n "]}
|
|
@@ -26,11 +26,6 @@ export class LinkButton extends Button {
|
|
|
26
26
|
'md3-button--icon-leading': this.hasIcon,
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
-
getIconContainerClasses() {
|
|
30
|
-
return {
|
|
31
|
-
'md3-button__icon--leading': true,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
29
|
render() {
|
|
35
30
|
return html `
|
|
36
31
|
<span class="md3-link-button-wrapper">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-button.js","sourceRoot":"","sources":["link-button.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAY,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAEjD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAUnC,gEAAgE;AAChE,MAAM,OAAgB,UAAW,SAAQ,MAAM;IAA/C;;QAWE;;WAEG;QACM,aAAQ,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"link-button.js","sourceRoot":"","sources":["link-button.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAY,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAEjD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAUnC,gEAAgE;AAChE,MAAM,OAAgB,UAAW,SAAQ,MAAM;IAA/C;;QAWE;;WAEG;QACM,aAAQ,GAAG,KAAK,CAAC;IA8B5B,CAAC;IA5BC,iDAAiD;IAC9B,gBAAgB;QACjC,OAAO;YACL,0BAA0B,EAAE,IAAI,CAAC,OAAO;SACzC,CAAC;IACJ,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;+BAEgB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;kBAC9C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClB,SAAS,CAAC,IAAI,CAAC,MAAoB,CAAC;wBAChC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC7B,IAAI,CAAC,WAAW;mBACjB,IAAI,CAAC,UAAU;0BACR,IAAI,CAAC,iBAAiB;oBAC5B,IAAI,CAAC,WAAW;YACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;cACpB,IAAI,CAAC,eAAe,EAAE;cACtB,IAAI,CAAC,eAAe,EAAE;cACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;cACxC,IAAI,CAAC,aAAa,EAAE;cACpB,IAAI,CAAC,iBAAiB,EAAE;cACxB,IAAI,CAAC,UAAU,EAAE;cACjB,IAAI,CAAC,WAAW,EAAE;cAClB,CAAC;IACb,CAAC;CACF;AAxC2B;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;;wCAAe;AAKd;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;;0CAAiB","sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {ripple} from '../../ripple/directive.js';\n\nimport {Button} from './button.js';\n\n/**\n * Note that we cast `linkTarget` to this type, below. The Lit compiler\n * enforces the `target` attribute value to be of this type, but this is not\n * compatible with the generated Wit Soy/JS, which expects `linkTarget`\n * to be a string type.\n */\ntype LinkTarget = '_blank'|'_parent'|'_self'|'_top';\n\n// tslint:disable-next-line:enforce-comments-on-exported-symbols\nexport abstract class LinkButton extends Button {\n /**\n * Sets the underlying `HTMLAnchorElement`'s `href` resource attribute.\n */\n @property({type: String}) href!: string;\n\n /**\n * Sets the underlying `HTMLAnchorElement`'s `target` attribute.\n */\n @property({type: String}) target!: string;\n\n /**\n * Link buttons cannot be disabled.\n */\n override disabled = false;\n\n // Note: link buttons cannot have trailing icons.\n protected override getRenderClasses(): ClassInfo {\n return {\n 'md3-button--icon-leading': this.hasIcon,\n };\n }\n\n protected override render(): TemplateResult {\n return html`\n <span class=\"md3-link-button-wrapper\">\n <a class=\"md3-button ${classMap(this.getRenderClasses())}\"\n href=\"${ifDefined(this.href)}\"\n target=\"${ifDefined(this.target as LinkTarget)}\"\n aria-label=\"${ifDefined(this.ariaLabel)}\"\n @focus=\"${this.handleFocus}\"\n @blur=\"${this.handleBlur}\"\n @pointerdown=\"${this.handlePointerDown}\"\n @click=\"${this.handleClick}\"\n ${ripple(this.getRipple)}>\n ${this.renderFocusRing()}\n ${this.renderElevation()}\n ${when(this.showRipple, this.renderRipple)}\n ${this.renderOutline()}\n ${this.renderTouchTarget()}\n ${this.renderIcon()}\n ${this.renderLabel()}</a>\n </span>`;\n }\n}\n"]}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { css } from 'lit';
|
|
7
|
-
export const styles = css `md-elevation{inset:0;position:absolute}.md3-button{--md-elevation-duration:280ms;--md-elevation-level:var(--_container-elevation);--md-elevation-shadow-color:var(--_container-shadow-color);--md-elevation-surface-tint
|
|
7
|
+
export const styles = css `md-elevation{inset:0;position:absolute}.md3-button{--md-elevation-duration:280ms;--md-elevation-level:var(--_container-elevation);--md-elevation-shadow-color:var(--_container-shadow-color);--md-elevation-surface-tint:var(--_container-surface-tint-layer-color)}.md3-button:focus{--md-elevation-level:var(--_focus-container-elevation)}.md3-button:hover{--md-elevation-level:var(--_hover-container-elevation)}.md3-button:active{--md-elevation-level:var(--_pressed-container-elevation)}.md3-button:disabled{--md-elevation-level:var(--_disabled-container-elevation)}/*# sourceMappingURL=shared-elevation-styles.css.map */
|
|
8
8
|
`;
|
|
9
9
|
//# sourceMappingURL=shared-elevation-styles.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-elevation-styles.css.js","sourceRoot":"","sources":["shared-elevation-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`md-elevation{inset:0;position:absolute}.md3-button{--md-elevation-duration:280ms;--md-elevation-level:var(--_container-elevation);--md-elevation-shadow-color:var(--_container-shadow-color);--md-elevation-surface-tint
|
|
1
|
+
{"version":3,"file":"shared-elevation-styles.css.js","sourceRoot":"","sources":["shared-elevation-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`md-elevation{inset:0;position:absolute}.md3-button{--md-elevation-duration:280ms;--md-elevation-level:var(--_container-elevation);--md-elevation-shadow-color:var(--_container-shadow-color);--md-elevation-surface-tint:var(--_container-surface-tint-layer-color)}.md3-button:focus{--md-elevation-level:var(--_focus-container-elevation)}.md3-button:hover{--md-elevation-level:var(--_hover-container-elevation)}.md3-button:active{--md-elevation-level:var(--_pressed-container-elevation)}.md3-button:disabled{--md-elevation-level:var(--_disabled-container-elevation)}/*# sourceMappingURL=shared-elevation-styles.css.map */\n`;\n "]}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { css } from 'lit';
|
|
7
|
-
export const styles = css `:host{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:top;--md-ripple-hover-state-layer-color:var(--_hover-state-layer-color);--md-ripple-focus-state-layer-color:var(--_focus-state-layer-color);--md-ripple-pressed-state-layer-color:var(--_pressed-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_hover-state-layer-opacity);--md-ripple-focus-state-layer-opacity:var(--_focus-state-layer-opacity);--md-ripple-pressed-state-layer-opacity:var(--_pressed-state-layer-opacity);--md-focus-ring-shape-start-start:var(--_container-shape-start-start);--md-focus-ring-shape-start-end:var(--_container-shape-start-end);--md-focus-ring-shape-end-end:var(--_container-shape-end-end);--md-focus-ring-shape-end-start:var(--_container-shape-end-start)}:host([disabled]){cursor:default;pointer-events:none}.md3-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;inline-size:100%;position:relative;z-index:0;block-size:var(--_container-height);font-family:var(--_label-text-font);font-size:var(--_label-text-size);letter-spacing:var(--_label-text-tracking);font-weight:var(--_label-text-weight);background-color:var(--_container-color);color:var(--_label-text-color);padding-inline-start:var(--_spacing-leading);padding-inline-end:var(--_spacing-trailing)}.md3-button::-moz-focus-inner{padding:0;border:0}.md3-button:hover{color:var(--_hover-label-text-color);cursor:pointer}.md3-button:focus{color:var(--_focus-label-text-color)}.md3-button:active{color:var(--_pressed-label-text-color);outline:none}.md3-button:disabled{background-color:var(--_disabled-container-color);color:var(--_disabled-label-text-color)}@media(forced-colors: active){.md3-button::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}}.md3-button,.md3-button__ripple{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}md-elevation,.md3-button__ripple{z-index:-1}.md3-button--icon-leading{padding-inline-start:var(--_with-icon-spacing-leading);padding-inline-end:var(--_with-icon-spacing-trailing)}.md3-button--icon-trailing{padding-inline-start:var(--_with-trailing-icon-spacing-leading);padding-inline-end:var(--_with-trailing-icon-spacing-trailing)}.md3-link-button-wrapper{inline-size:100%}.md3-
|
|
7
|
+
export const styles = css `:host{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:top;--md-ripple-hover-state-layer-color:var(--_hover-state-layer-color);--md-ripple-focus-state-layer-color:var(--_focus-state-layer-color);--md-ripple-pressed-state-layer-color:var(--_pressed-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_hover-state-layer-opacity);--md-ripple-focus-state-layer-opacity:var(--_focus-state-layer-opacity);--md-ripple-pressed-state-layer-opacity:var(--_pressed-state-layer-opacity);--md-focus-ring-shape-start-start:var(--_container-shape-start-start);--md-focus-ring-shape-start-end:var(--_container-shape-start-end);--md-focus-ring-shape-end-end:var(--_container-shape-end-end);--md-focus-ring-shape-end-start:var(--_container-shape-end-start)}:host([disabled]){cursor:default;pointer-events:none}.md3-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;inline-size:100%;position:relative;z-index:0;block-size:var(--_container-height);font-family:var(--_label-text-font);font-size:var(--_label-text-size);letter-spacing:var(--_label-text-tracking);font-weight:var(--_label-text-weight);background-color:var(--_container-color);color:var(--_label-text-color);padding-inline-start:var(--_spacing-leading);padding-inline-end:var(--_spacing-trailing);gap:8px}.md3-button::-moz-focus-inner{padding:0;border:0}.md3-button:hover{color:var(--_hover-label-text-color);cursor:pointer}.md3-button:focus{color:var(--_focus-label-text-color)}.md3-button:active{color:var(--_pressed-label-text-color);outline:none}.md3-button:disabled{background-color:var(--_disabled-container-color);color:var(--_disabled-label-text-color)}@media(forced-colors: active){.md3-button::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}}.md3-button,.md3-button__ripple{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}md-elevation,.md3-button__ripple{z-index:-1}.md3-button--icon-leading{padding-inline-start:var(--_with-icon-spacing-leading);padding-inline-end:var(--_with-icon-spacing-trailing)}.md3-button--icon-trailing{padding-inline-start:var(--_with-trailing-icon-spacing-leading);padding-inline-end:var(--_with-trailing-icon-spacing-trailing)}.md3-link-button-wrapper{inline-size:100%}.md3-button ::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;color:var(--_with-icon-icon-color);font-size:var(--_with-icon-icon-size);inline-size:var(--_with-icon-icon-size);block-size:var(--_with-icon-icon-size)}.md3-button:hover ::slotted([slot=icon]){color:var(--_with-icon-hover-icon-color)}.md3-button:focus ::slotted([slot=icon]){color:var(--_with-icon-focus-icon-color)}.md3-button:active ::slotted([slot=icon]){color:var(--_with-icon-pressed-icon-color)}.md3-button:disabled ::slotted([slot=icon]){color:var(--_with-icon-disabled-icon-color)}.md3-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}/*# sourceMappingURL=shared-styles.css.map */
|
|
8
8
|
`;
|
|
9
9
|
//# sourceMappingURL=shared-styles.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-styles.css.js","sourceRoot":"","sources":["shared-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:top;--md-ripple-hover-state-layer-color:var(--_hover-state-layer-color);--md-ripple-focus-state-layer-color:var(--_focus-state-layer-color);--md-ripple-pressed-state-layer-color:var(--_pressed-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_hover-state-layer-opacity);--md-ripple-focus-state-layer-opacity:var(--_focus-state-layer-opacity);--md-ripple-pressed-state-layer-opacity:var(--_pressed-state-layer-opacity);--md-focus-ring-shape-start-start:var(--_container-shape-start-start);--md-focus-ring-shape-start-end:var(--_container-shape-start-end);--md-focus-ring-shape-end-end:var(--_container-shape-end-end);--md-focus-ring-shape-end-start:var(--_container-shape-end-start)}:host([disabled]){cursor:default;pointer-events:none}.md3-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;inline-size:100%;position:relative;z-index:0;block-size:var(--_container-height);font-family:var(--_label-text-font);font-size:var(--_label-text-size);letter-spacing:var(--_label-text-tracking);font-weight:var(--_label-text-weight);background-color:var(--_container-color);color:var(--_label-text-color);padding-inline-start:var(--_spacing-leading);padding-inline-end:var(--_spacing-trailing)}.md3-button::-moz-focus-inner{padding:0;border:0}.md3-button:hover{color:var(--_hover-label-text-color);cursor:pointer}.md3-button:focus{color:var(--_focus-label-text-color)}.md3-button:active{color:var(--_pressed-label-text-color);outline:none}.md3-button:disabled{background-color:var(--_disabled-container-color);color:var(--_disabled-label-text-color)}@media(forced-colors: active){.md3-button::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:\"\";pointer-events:none}}.md3-button,.md3-button__ripple{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}md-elevation,.md3-button__ripple{z-index:-1}.md3-button--icon-leading{padding-inline-start:var(--_with-icon-spacing-leading);padding-inline-end:var(--_with-icon-spacing-trailing)}.md3-button--icon-trailing{padding-inline-start:var(--_with-trailing-icon-spacing-leading);padding-inline-end:var(--_with-trailing-icon-spacing-trailing)}.md3-link-button-wrapper{inline-size:100%}.md3-
|
|
1
|
+
{"version":3,"file":"shared-styles.css.js","sourceRoot":"","sources":["shared-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{display:inline-flex;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:top;--md-ripple-hover-state-layer-color:var(--_hover-state-layer-color);--md-ripple-focus-state-layer-color:var(--_focus-state-layer-color);--md-ripple-pressed-state-layer-color:var(--_pressed-state-layer-color);--md-ripple-hover-state-layer-opacity:var(--_hover-state-layer-opacity);--md-ripple-focus-state-layer-opacity:var(--_focus-state-layer-opacity);--md-ripple-pressed-state-layer-opacity:var(--_pressed-state-layer-opacity);--md-focus-ring-shape-start-start:var(--_container-shape-start-start);--md-focus-ring-shape-start-end:var(--_container-shape-start-end);--md-focus-ring-shape-end-end:var(--_container-shape-end-end);--md-focus-ring-shape-end-start:var(--_container-shape-end-start)}:host([disabled]){cursor:default;pointer-events:none}.md3-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;inline-size:100%;position:relative;z-index:0;block-size:var(--_container-height);font-family:var(--_label-text-font);font-size:var(--_label-text-size);letter-spacing:var(--_label-text-tracking);font-weight:var(--_label-text-weight);background-color:var(--_container-color);color:var(--_label-text-color);padding-inline-start:var(--_spacing-leading);padding-inline-end:var(--_spacing-trailing);gap:8px}.md3-button::-moz-focus-inner{padding:0;border:0}.md3-button:hover{color:var(--_hover-label-text-color);cursor:pointer}.md3-button:focus{color:var(--_focus-label-text-color)}.md3-button:active{color:var(--_pressed-label-text-color);outline:none}.md3-button:disabled{background-color:var(--_disabled-container-color);color:var(--_disabled-label-text-color)}@media(forced-colors: active){.md3-button::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:\"\";pointer-events:none}}.md3-button,.md3-button__ripple{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end)}md-elevation,.md3-button__ripple{z-index:-1}.md3-button--icon-leading{padding-inline-start:var(--_with-icon-spacing-leading);padding-inline-end:var(--_with-icon-spacing-trailing)}.md3-button--icon-trailing{padding-inline-start:var(--_with-trailing-icon-spacing-leading);padding-inline-end:var(--_with-trailing-icon-spacing-trailing)}.md3-link-button-wrapper{inline-size:100%}.md3-button ::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;color:var(--_with-icon-icon-color);font-size:var(--_with-icon-icon-size);inline-size:var(--_with-icon-icon-size);block-size:var(--_with-icon-icon-size)}.md3-button:hover ::slotted([slot=icon]){color:var(--_with-icon-hover-icon-color)}.md3-button:focus ::slotted([slot=icon]){color:var(--_with-icon-focus-icon-color)}.md3-button:active ::slotted([slot=icon]){color:var(--_with-icon-pressed-icon-color)}.md3-button:disabled ::slotted([slot=icon]){color:var(--_with-icon-disabled-icon-color)}.md3-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}/*# sourceMappingURL=shared-styles.css.map */\n`;\n "]}
|
package/checkbox/checkbox.d.ts
CHANGED
|
@@ -10,8 +10,17 @@ declare global {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
* Checkboxes allow users to select one or more items from a set.
|
|
14
|
-
* turn an option on or off.
|
|
13
|
+
* @summary Checkboxes allow users to select one or more items from a set.
|
|
14
|
+
* Checkboxes can turn an option on or off.
|
|
15
|
+
*
|
|
16
|
+
* @description
|
|
17
|
+
* Use checkboxes to:
|
|
18
|
+
* - Select one or more options from a list
|
|
19
|
+
* - Present a list containing sub-selections
|
|
20
|
+
* - Turn an item on or off in a desktop environment
|
|
21
|
+
*
|
|
22
|
+
* @final
|
|
23
|
+
* @suppress {visibility}
|
|
15
24
|
*/
|
|
16
25
|
export declare class MdCheckbox extends Checkbox {
|
|
17
26
|
static styles: import("lit").CSSResult[];
|
package/checkbox/checkbox.js
CHANGED
|
@@ -9,8 +9,17 @@ import { Checkbox } from './lib/checkbox.js';
|
|
|
9
9
|
import { styles } from './lib/checkbox-styles.css.js';
|
|
10
10
|
import { styles as forcedColorsStyles } from './lib/forced-colors-styles.css.js';
|
|
11
11
|
/**
|
|
12
|
-
* Checkboxes allow users to select one or more items from a set.
|
|
13
|
-
* turn an option on or off.
|
|
12
|
+
* @summary Checkboxes allow users to select one or more items from a set.
|
|
13
|
+
* Checkboxes can turn an option on or off.
|
|
14
|
+
*
|
|
15
|
+
* @description
|
|
16
|
+
* Use checkboxes to:
|
|
17
|
+
* - Select one or more options from a list
|
|
18
|
+
* - Present a list containing sub-selections
|
|
19
|
+
* - Turn an item on or off in a desktop environment
|
|
20
|
+
*
|
|
21
|
+
* @final
|
|
22
|
+
* @suppress {visibility}
|
|
14
23
|
*/
|
|
15
24
|
let MdCheckbox = class MdCheckbox extends Checkbox {
|
|
16
25
|
};
|
package/checkbox/checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["checkbox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAQ/E
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["checkbox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAQ/E;;;;;;;;;;;;GAYG;AAEH,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,QAAQ;CAEvC,CAAA;AADiB,iBAAM,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAE,CAAA;AAD3C,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAEtB;SAFY,UAAU","sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {Checkbox} from './lib/checkbox.js';\nimport {styles} from './lib/checkbox-styles.css.js';\nimport {styles as forcedColorsStyles} from './lib/forced-colors-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-checkbox': MdCheckbox;\n }\n}\n\n/**\n * @summary Checkboxes allow users to select one or more items from a set.\n * Checkboxes can turn an option on or off.\n *\n * @description\n * Use checkboxes to:\n * - Select one or more options from a list\n * - Present a list containing sub-selections\n * - Turn an item on or off in a desktop environment\n *\n * @final\n * @suppress {visibility}\n */\n@customElement('md-checkbox')\nexport class MdCheckbox extends Checkbox {\n static override styles = [styles, forcedColorsStyles];\n}\n"]}
|
|
@@ -11,13 +11,41 @@ import { getFormValue } from '../../controller/form-controller.js';
|
|
|
11
11
|
* A checkbox component.
|
|
12
12
|
*/
|
|
13
13
|
export declare class Checkbox extends LitElement {
|
|
14
|
+
/**
|
|
15
|
+
* @nocollapse
|
|
16
|
+
*/
|
|
14
17
|
static formAssociated: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Whether or not the checkbox is selected.
|
|
20
|
+
*/
|
|
15
21
|
checked: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Whether or not the checkbox is disabled.
|
|
24
|
+
*/
|
|
16
25
|
disabled: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether or not the checkbox is invalid.
|
|
28
|
+
*/
|
|
17
29
|
error: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether or not the checkbox is indeterminate.
|
|
32
|
+
*
|
|
33
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes
|
|
34
|
+
*/
|
|
18
35
|
indeterminate: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* The value of the checkbox that is submitted with a form when selected.
|
|
38
|
+
*
|
|
39
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value
|
|
40
|
+
*/
|
|
19
41
|
value: string;
|
|
42
|
+
/**
|
|
43
|
+
* The HTML name to use in form submission.
|
|
44
|
+
*/
|
|
20
45
|
name: string;
|
|
46
|
+
/**
|
|
47
|
+
* The associated form element with which this element's value will submit.
|
|
48
|
+
*/
|
|
21
49
|
get form(): HTMLFormElement;
|
|
22
50
|
ariaLabel: string;
|
|
23
51
|
private prevChecked;
|
package/checkbox/lib/checkbox.js
CHANGED
|
@@ -12,6 +12,7 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
|
12
12
|
import { when } from 'lit/directives/when.js';
|
|
13
13
|
import { dispatchActivationClick, isActivationClick, redispatchEvent } from '../../controller/events.js';
|
|
14
14
|
import { FormController, getFormValue } from '../../controller/form-controller.js';
|
|
15
|
+
import { stringConverter } from '../../controller/string-converter.js';
|
|
15
16
|
import { ariaProperty } from '../../decorators/aria-property.js';
|
|
16
17
|
import { pointerPress, shouldShowStrongFocus } from '../../focus/strong-focus.js';
|
|
17
18
|
import { ripple } from '../../ripple/directive.js';
|
|
@@ -21,11 +22,33 @@ import { ripple } from '../../ripple/directive.js';
|
|
|
21
22
|
export class Checkbox extends LitElement {
|
|
22
23
|
constructor() {
|
|
23
24
|
super();
|
|
25
|
+
/**
|
|
26
|
+
* Whether or not the checkbox is selected.
|
|
27
|
+
*/
|
|
24
28
|
this.checked = false;
|
|
29
|
+
/**
|
|
30
|
+
* Whether or not the checkbox is disabled.
|
|
31
|
+
*/
|
|
25
32
|
this.disabled = false;
|
|
33
|
+
/**
|
|
34
|
+
* Whether or not the checkbox is invalid.
|
|
35
|
+
*/
|
|
26
36
|
this.error = false;
|
|
37
|
+
/**
|
|
38
|
+
* Whether or not the checkbox is indeterminate.
|
|
39
|
+
*
|
|
40
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes
|
|
41
|
+
*/
|
|
27
42
|
this.indeterminate = false;
|
|
43
|
+
/**
|
|
44
|
+
* The value of the checkbox that is submitted with a form when selected.
|
|
45
|
+
*
|
|
46
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value
|
|
47
|
+
*/
|
|
28
48
|
this.value = 'on';
|
|
49
|
+
/**
|
|
50
|
+
* The HTML name to use in form submission.
|
|
51
|
+
*/
|
|
29
52
|
this.name = '';
|
|
30
53
|
this.prevChecked = false;
|
|
31
54
|
this.prevDisabled = false;
|
|
@@ -48,6 +71,9 @@ export class Checkbox extends LitElement {
|
|
|
48
71
|
dispatchActivationClick(this.input);
|
|
49
72
|
});
|
|
50
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* The associated form element with which this element's value will submit.
|
|
76
|
+
*/
|
|
51
77
|
get form() {
|
|
52
78
|
return this.closest('form');
|
|
53
79
|
}
|
|
@@ -126,6 +152,9 @@ export class Checkbox extends LitElement {
|
|
|
126
152
|
this.showFocusRing = shouldShowStrongFocus();
|
|
127
153
|
}
|
|
128
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* @nocollapse
|
|
157
|
+
*/
|
|
129
158
|
Checkbox.formAssociated = true;
|
|
130
159
|
__decorate([
|
|
131
160
|
property({ type: Boolean, reflect: true }),
|
|
@@ -148,7 +177,7 @@ __decorate([
|
|
|
148
177
|
__metadata("design:type", Object)
|
|
149
178
|
], Checkbox.prototype, "value", void 0);
|
|
150
179
|
__decorate([
|
|
151
|
-
property(),
|
|
180
|
+
property({ type: String, reflect: true, converter: stringConverter }),
|
|
152
181
|
__metadata("design:type", Object)
|
|
153
182
|
], Checkbox.prototype, "name", void 0);
|
|
154
183
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, nothing, PropertyValues, TemplateResult} from 'lit';\nimport {property, query, queryAsync, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {dispatchActivationClick, isActivationClick, redispatchEvent} from '../../controller/events.js';\nimport {FormController, getFormValue} from '../../controller/form-controller.js';\nimport {ariaProperty} from '../../decorators/aria-property.js';\nimport {pointerPress, shouldShowStrongFocus} from '../../focus/strong-focus.js';\nimport {ripple} from '../../ripple/directive.js';\nimport {MdRipple} from '../../ripple/ripple.js';\n\n/**\n * A checkbox component.\n */\nexport class Checkbox extends LitElement {\n static formAssociated = true;\n\n @property({type: Boolean, reflect: true}) checked = false;\n @property({type: Boolean, reflect: true}) disabled = false;\n @property({type: Boolean, reflect: true}) error = false;\n @property({type: Boolean, reflect: true}) indeterminate = false;\n @property() value = 'on';\n @property() name = '';\n\n get form() {\n return this.closest('form');\n }\n\n @ariaProperty // tslint:disable-line:no-new-decorators\n @property({type: String, attribute: 'data-aria-label', noAccessor: true})\n override ariaLabel!: string;\n\n @state() private prevChecked = false;\n @state() private prevDisabled = false;\n @state() private prevIndeterminate = false;\n @queryAsync('md-ripple') private readonly ripple!: Promise<MdRipple|null>;\n @query('input') private readonly input!: HTMLInputElement|null;\n @state() private showFocusRing = false;\n @state() private showRipple = false;\n\n constructor() {\n super();\n this.addController(new FormController(this));\n this.addEventListener('click', (event: MouseEvent) => {\n if (!isActivationClick(event)) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.input!);\n });\n }\n\n override focus() {\n this.input?.focus();\n }\n\n [getFormValue]() {\n return this.checked ? this.value : null;\n }\n\n protected override update(changed: PropertyValues<Checkbox>) {\n if (changed.has('checked') || changed.has('disabled') ||\n changed.has('indeterminate')) {\n this.prevChecked = changed.get('checked') ?? this.checked;\n this.prevDisabled = changed.get('disabled') ?? this.disabled;\n this.prevIndeterminate =\n changed.get('indeterminate') ?? this.indeterminate;\n }\n\n super.update(changed);\n }\n\n protected override render(): TemplateResult {\n const prevNone = !this.prevChecked && !this.prevIndeterminate;\n const prevChecked = this.prevChecked && !this.prevIndeterminate;\n const prevIndeterminate = this.prevIndeterminate;\n const isChecked = this.checked && !this.indeterminate;\n const isIndeterminate = this.indeterminate;\n\n const containerClasses = classMap({\n 'selected': isChecked || isIndeterminate,\n 'unselected': !isChecked && !isIndeterminate,\n 'checked': isChecked,\n 'indeterminate': isIndeterminate,\n 'error': this.error && !this.disabled,\n 'prev-unselected': prevNone,\n 'prev-checked': prevChecked,\n 'prev-indeterminate': prevIndeterminate,\n 'prev-disabled': this.prevDisabled,\n });\n\n return html`\n <div class=\"container ${containerClasses}\">\n <div class=\"outline\"></div>\n <div class=\"background\"></div>\n <md-focus-ring .visible=${this.showFocusRing}></md-focus-ring>\n ${when(this.showRipple, this.renderRipple)}\n <svg class=\"icon\" viewBox=\"0 0 18 18\">\n <rect class=\"mark short\" />\n <rect class=\"mark long\" />\n </svg>\n </div>\n <input type=\"checkbox\"\n aria-checked=${isIndeterminate ? 'mixed' : nothing}\n aria-label=${this.ariaLabel || nothing}\n ?disabled=${this.disabled}\n .indeterminate=${this.indeterminate}\n .checked=${this.checked}\n @blur=${this.handleBlur}\n @change=${this.handleChange}\n @focus=${this.handleFocus}\n @pointerdown=${this.handlePointerDown}\n ${ripple(this.getRipple)}\n >\n `;\n }\n\n private handleBlur() {\n this.showFocusRing = false;\n }\n\n private handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n this.indeterminate = target.indeterminate;\n\n redispatchEvent(this, event);\n }\n\n private handleFocus() {\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n private handlePointerDown() {\n pointerPress();\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n private readonly getRipple = () => { // bind to this\n this.showRipple = true;\n return this.ripple;\n };\n\n private readonly renderRipple = () => { // bind to this\n return html`<md-ripple ?disabled=${this.disabled} unbounded></md-ripple>`;\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../focus/focus-ring.js';\nimport '../../ripple/ripple.js';\n\nimport {html, LitElement, nothing, PropertyValues, TemplateResult} from 'lit';\nimport {property, query, queryAsync, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {when} from 'lit/directives/when.js';\n\nimport {dispatchActivationClick, isActivationClick, redispatchEvent} from '../../controller/events.js';\nimport {FormController, getFormValue} from '../../controller/form-controller.js';\nimport {stringConverter} from '../../controller/string-converter.js';\nimport {ariaProperty} from '../../decorators/aria-property.js';\nimport {pointerPress, shouldShowStrongFocus} from '../../focus/strong-focus.js';\nimport {ripple} from '../../ripple/directive.js';\nimport {MdRipple} from '../../ripple/ripple.js';\n\n/**\n * A checkbox component.\n */\nexport class Checkbox extends LitElement {\n /**\n * @nocollapse\n */\n static formAssociated = true;\n\n /**\n * Whether or not the checkbox is selected.\n */\n @property({type: Boolean, reflect: true}) checked = false;\n\n /**\n * Whether or not the checkbox is disabled.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n /**\n * Whether or not the checkbox is invalid.\n */\n @property({type: Boolean, reflect: true}) error = false;\n\n /**\n * Whether or not the checkbox is indeterminate.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes\n */\n @property({type: Boolean, reflect: true}) indeterminate = false;\n\n /**\n * The value of the checkbox that is submitted with a form when selected.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value\n */\n @property() value = 'on';\n\n /**\n * The HTML name to use in form submission.\n */\n @property({type: String, reflect: true, converter: stringConverter})\n name = '';\n\n /**\n * The associated form element with which this element's value will submit.\n */\n get form() {\n return this.closest('form');\n }\n\n @ariaProperty // tslint:disable-line:no-new-decorators\n @property({type: String, attribute: 'data-aria-label', noAccessor: true})\n override ariaLabel!: string;\n\n @state() private prevChecked = false;\n @state() private prevDisabled = false;\n @state() private prevIndeterminate = false;\n @queryAsync('md-ripple') private readonly ripple!: Promise<MdRipple|null>;\n @query('input') private readonly input!: HTMLInputElement|null;\n @state() private showFocusRing = false;\n @state() private showRipple = false;\n\n constructor() {\n super();\n this.addController(new FormController(this));\n this.addEventListener('click', (event: MouseEvent) => {\n if (!isActivationClick(event)) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.input!);\n });\n }\n\n override focus() {\n this.input?.focus();\n }\n\n [getFormValue]() {\n return this.checked ? this.value : null;\n }\n\n protected override update(changed: PropertyValues<Checkbox>) {\n if (changed.has('checked') || changed.has('disabled') ||\n changed.has('indeterminate')) {\n this.prevChecked = changed.get('checked') ?? this.checked;\n this.prevDisabled = changed.get('disabled') ?? this.disabled;\n this.prevIndeterminate =\n changed.get('indeterminate') ?? this.indeterminate;\n }\n\n super.update(changed);\n }\n\n protected override render(): TemplateResult {\n const prevNone = !this.prevChecked && !this.prevIndeterminate;\n const prevChecked = this.prevChecked && !this.prevIndeterminate;\n const prevIndeterminate = this.prevIndeterminate;\n const isChecked = this.checked && !this.indeterminate;\n const isIndeterminate = this.indeterminate;\n\n const containerClasses = classMap({\n 'selected': isChecked || isIndeterminate,\n 'unselected': !isChecked && !isIndeterminate,\n 'checked': isChecked,\n 'indeterminate': isIndeterminate,\n 'error': this.error && !this.disabled,\n 'prev-unselected': prevNone,\n 'prev-checked': prevChecked,\n 'prev-indeterminate': prevIndeterminate,\n 'prev-disabled': this.prevDisabled,\n });\n\n return html`\n <div class=\"container ${containerClasses}\">\n <div class=\"outline\"></div>\n <div class=\"background\"></div>\n <md-focus-ring .visible=${this.showFocusRing}></md-focus-ring>\n ${when(this.showRipple, this.renderRipple)}\n <svg class=\"icon\" viewBox=\"0 0 18 18\">\n <rect class=\"mark short\" />\n <rect class=\"mark long\" />\n </svg>\n </div>\n <input type=\"checkbox\"\n aria-checked=${isIndeterminate ? 'mixed' : nothing}\n aria-label=${this.ariaLabel || nothing}\n ?disabled=${this.disabled}\n .indeterminate=${this.indeterminate}\n .checked=${this.checked}\n @blur=${this.handleBlur}\n @change=${this.handleChange}\n @focus=${this.handleFocus}\n @pointerdown=${this.handlePointerDown}\n ${ripple(this.getRipple)}\n >\n `;\n }\n\n private handleBlur() {\n this.showFocusRing = false;\n }\n\n private handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n this.indeterminate = target.indeterminate;\n\n redispatchEvent(this, event);\n }\n\n private handleFocus() {\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n private handlePointerDown() {\n pointerPress();\n this.showFocusRing = shouldShowStrongFocus();\n }\n\n private readonly getRipple = () => { // bind to this\n this.showRipple = true;\n return this.ripple;\n };\n\n private readonly renderRipple = () => { // bind to this\n return html`<md-ripple ?disabled=${this.disabled} unbounded></md-ripple>`;\n };\n}\n"]}
|
|
@@ -194,7 +194,7 @@ $_custom-property-prefix: 'chip';
|
|
|
194
194
|
@include elevation.theme(
|
|
195
195
|
(
|
|
196
196
|
shadow-color: map.get($theme, elevated-container-shadow-color),
|
|
197
|
-
surface-tint
|
|
197
|
+
surface-tint: map.get($theme, container-surface-tint-layer-color),
|
|
198
198
|
)
|
|
199
199
|
);
|
|
200
200
|
@include _container-elevation(
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Dialog } from './lib/dialog.js';
|
|
7
|
+
declare global {
|
|
8
|
+
interface HTMLElementTagNameMap {
|
|
9
|
+
'md-dialog': MdDialog;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @summary Dialogs can require an action, communicate information, or help
|
|
14
|
+
* users accomplish a task. There are two types of dialogs: basic and
|
|
15
|
+
* full-screen.
|
|
16
|
+
*
|
|
17
|
+
* @description
|
|
18
|
+
* A dialog is a modal window that appears in front of app content to provide
|
|
19
|
+
* critical information or ask for a decision. Dialogs disable all app
|
|
20
|
+
* functionality when they appear, and remain on screen until confirmed,
|
|
21
|
+
* dismissed, or a required action has been taken.
|
|
22
|
+
*
|
|
23
|
+
* Dialogs are purposefully interruptive, so they should be used sparingly.
|
|
24
|
+
* A less disruptive alternative is to use a menu, which provides options
|
|
25
|
+
* without interrupting a user’s experience.
|
|
26
|
+
*
|
|
27
|
+
* On mobile devices only, complex dialogs should be displayed fullscreen.
|
|
28
|
+
*
|
|
29
|
+
* __Example usages:__
|
|
30
|
+
* - Common use cases for basic dialogs include alerts, quick selection, and
|
|
31
|
+
* confirmation.
|
|
32
|
+
* - More complex dialogs may contain actions that require a series of tasks
|
|
33
|
+
* to complete. One example is creating a calendar entry with the event title,
|
|
34
|
+
* date, location, and time.
|
|
35
|
+
*/
|
|
36
|
+
export declare class MdDialog extends Dialog {
|
|
37
|
+
static styles: import("lit").CSSResult[];
|
|
38
|
+
}
|
package/dialog/dialog.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { __decorate } from "tslib";
|
|
7
|
+
import { customElement } from 'lit/decorators.js';
|
|
8
|
+
import { Dialog } from './lib/dialog.js';
|
|
9
|
+
import { styles } from './lib/dialog-styles.css.js';
|
|
10
|
+
/**
|
|
11
|
+
* @summary Dialogs can require an action, communicate information, or help
|
|
12
|
+
* users accomplish a task. There are two types of dialogs: basic and
|
|
13
|
+
* full-screen.
|
|
14
|
+
*
|
|
15
|
+
* @description
|
|
16
|
+
* A dialog is a modal window that appears in front of app content to provide
|
|
17
|
+
* critical information or ask for a decision. Dialogs disable all app
|
|
18
|
+
* functionality when they appear, and remain on screen until confirmed,
|
|
19
|
+
* dismissed, or a required action has been taken.
|
|
20
|
+
*
|
|
21
|
+
* Dialogs are purposefully interruptive, so they should be used sparingly.
|
|
22
|
+
* A less disruptive alternative is to use a menu, which provides options
|
|
23
|
+
* without interrupting a user’s experience.
|
|
24
|
+
*
|
|
25
|
+
* On mobile devices only, complex dialogs should be displayed fullscreen.
|
|
26
|
+
*
|
|
27
|
+
* __Example usages:__
|
|
28
|
+
* - Common use cases for basic dialogs include alerts, quick selection, and
|
|
29
|
+
* confirmation.
|
|
30
|
+
* - More complex dialogs may contain actions that require a series of tasks
|
|
31
|
+
* to complete. One example is creating a calendar entry with the event title,
|
|
32
|
+
* date, location, and time.
|
|
33
|
+
*/
|
|
34
|
+
let MdDialog = class MdDialog extends Dialog {
|
|
35
|
+
};
|
|
36
|
+
MdDialog.styles = [styles];
|
|
37
|
+
MdDialog = __decorate([
|
|
38
|
+
customElement('md-dialog')
|
|
39
|
+
], MdDialog);
|
|
40
|
+
export { MdDialog };
|
|
41
|
+
//# sourceMappingURL=dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAQlD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,IAAa,QAAQ,GAArB,MAAa,QAAS,SAAQ,MAAM;CAEnC,CAAA;AADiB,eAAM,GAAG,CAAC,MAAM,CAAE,CAAA;AADvB,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAEpB;SAFY,QAAQ","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {Dialog} from './lib/dialog.js';\nimport {styles} from './lib/dialog-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-dialog': MdDialog;\n }\n}\n\n/**\n * @summary Dialogs can require an action, communicate information, or help\n * users accomplish a task. There are two types of dialogs: basic and\n * full-screen.\n *\n * @description\n * A dialog is a modal window that appears in front of app content to provide\n * critical information or ask for a decision. Dialogs disable all app\n * functionality when they appear, and remain on screen until confirmed,\n * dismissed, or a required action has been taken.\n *\n * Dialogs are purposefully interruptive, so they should be used sparingly.\n * A less disruptive alternative is to use a menu, which provides options\n * without interrupting a user’s experience.\n *\n * On mobile devices only, complex dialogs should be displayed fullscreen.\n *\n * __Example usages:__\n * - Common use cases for basic dialogs include alerts, quick selection, and\n * confirmation.\n * - More complex dialogs may contain actions that require a series of tasks\n * to complete. One example is creating a calendar entry with the event title,\n * date, location, and time.\n */\n@customElement('md-dialog')\nexport class MdDialog extends Dialog {\n static override styles = [styles];\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Harness } from '../testing/harness.js';
|
|
7
|
+
import { Dialog } from './lib/dialog.js';
|
|
8
|
+
/**
|
|
9
|
+
* Test harness for dialog.
|
|
10
|
+
*/
|
|
11
|
+
export declare class DialogHarness extends Harness<Dialog> {
|
|
12
|
+
getInteractiveElement(): Promise<HTMLDialogElement>;
|
|
13
|
+
isOpening(): Promise<boolean>;
|
|
14
|
+
isClosing(): Promise<boolean>;
|
|
15
|
+
transitionComplete(): Promise<void>;
|
|
16
|
+
isDialogVisible(): Promise<boolean>;
|
|
17
|
+
isScrimVisible(): Promise<boolean>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Harness } from '../testing/harness.js';
|
|
7
|
+
/**
|
|
8
|
+
* Test harness for dialog.
|
|
9
|
+
*/
|
|
10
|
+
export class DialogHarness extends Harness {
|
|
11
|
+
async getInteractiveElement() {
|
|
12
|
+
await this.element.updateComplete;
|
|
13
|
+
return this.element.renderRoot.querySelector('.dialog');
|
|
14
|
+
}
|
|
15
|
+
async isOpening() {
|
|
16
|
+
await this.element.updateComplete;
|
|
17
|
+
return Boolean(this.element.open && this.element.hasAttribute('opening'));
|
|
18
|
+
}
|
|
19
|
+
async isClosing() {
|
|
20
|
+
await this.element.updateComplete;
|
|
21
|
+
return Boolean(!this.element.open && this.element.hasAttribute('closing'));
|
|
22
|
+
}
|
|
23
|
+
async transitionComplete() {
|
|
24
|
+
let resolve = () => { };
|
|
25
|
+
const doneTransitioning = new Promise(resolver => {
|
|
26
|
+
resolve = () => {
|
|
27
|
+
resolver();
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
if (await this.isOpening()) {
|
|
31
|
+
this.element.addEventListener('opened', resolve, { once: true });
|
|
32
|
+
}
|
|
33
|
+
else if (await this.isClosing()) {
|
|
34
|
+
this.element.addEventListener('closed', resolve, { once: true });
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
resolve();
|
|
38
|
+
}
|
|
39
|
+
await doneTransitioning;
|
|
40
|
+
}
|
|
41
|
+
async isDialogVisible() {
|
|
42
|
+
await this.transitionComplete();
|
|
43
|
+
const dialogElement = await this.getInteractiveElement();
|
|
44
|
+
const { display } = getComputedStyle(dialogElement);
|
|
45
|
+
return display !== 'none';
|
|
46
|
+
}
|
|
47
|
+
async isScrimVisible() {
|
|
48
|
+
await this.transitionComplete();
|
|
49
|
+
const dialogElement = await this.getInteractiveElement();
|
|
50
|
+
const { backgroundColor, display } = getComputedStyle(dialogElement, '::before');
|
|
51
|
+
const hiddenBg = `rgba(0, 0, 0, 0)`;
|
|
52
|
+
return backgroundColor !== hiddenBg && display !== 'none';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=harness.js.map
|