@material/web 0.1.0-alpha.0 → 0.1.0-alpha.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/actionelement/action-element.d.ts +1 -1
- package/actionelement/action-element.js +1 -1
- package/actionelement/action-element.js.map +1 -1
- package/autocomplete/_filled-autocomplete.scss +6 -0
- package/autocomplete/_outlined-autocomplete.scss +6 -0
- package/autocomplete/autocomplete-item.d.ts +19 -0
- package/autocomplete/autocomplete-item.js +22 -0
- package/autocomplete/autocomplete-item.js.map +1 -0
- package/autocomplete/autocomplete-list.d.ts +19 -0
- package/autocomplete/autocomplete-list.js +23 -0
- package/autocomplete/autocomplete-list.js.map +1 -0
- package/autocomplete/autocomplete-surface.d.ts +19 -0
- package/autocomplete/autocomplete-surface.js +23 -0
- package/autocomplete/autocomplete-surface.js.map +1 -0
- package/autocomplete/filled-autocomplete.d.ts +30 -0
- package/autocomplete/filled-autocomplete.js +53 -0
- package/autocomplete/filled-autocomplete.js.map +1 -0
- package/autocomplete/lib/_filled-autocomplete.scss +229 -0
- package/autocomplete/lib/_outlined-autocomplete.scss +217 -0
- package/autocomplete/lib/_shared.scss +34 -0
- package/autocomplete/lib/autocomplete.d.ts +58 -0
- package/autocomplete/lib/autocomplete.js +273 -0
- package/autocomplete/lib/autocomplete.js.map +1 -0
- package/autocomplete/lib/autocompleteitem/autocomplete-item.d.ts +11 -0
- package/autocomplete/lib/autocompleteitem/autocomplete-item.js +14 -0
- package/autocomplete/lib/autocompleteitem/autocomplete-item.js.map +1 -0
- package/autocomplete/lib/autocompleteitem/harness.d.ts +11 -0
- package/autocomplete/lib/autocompleteitem/harness.js +12 -0
- package/autocomplete/lib/autocompleteitem/harness.js.map +1 -0
- package/{field/lib/_field-theme.scss → autocomplete/lib/autocompletelist/_autocomplete-list.scss} +4 -6
- package/{elevation/lib/elevation-overlay-styles.css.d.ts → autocomplete/lib/autocompletelist/autocomplete-list-styles.css.d.ts} +0 -0
- package/autocomplete/lib/autocompletelist/autocomplete-list-styles.css.js +9 -0
- package/autocomplete/lib/autocompletelist/autocomplete-list-styles.css.js.map +1 -0
- package/{segmentedbutton/lib/segmented-button-styles.scss → autocomplete/lib/autocompletelist/autocomplete-list-styles.scss} +2 -2
- package/autocomplete/lib/autocompletelist/autocomplete-list.d.ts +14 -0
- package/autocomplete/lib/autocompletelist/autocomplete-list.js +21 -0
- package/autocomplete/lib/autocompletelist/autocomplete-list.js.map +1 -0
- package/autocomplete/lib/autocompletelist/harness.d.ts +11 -0
- package/autocomplete/lib/autocompletelist/harness.js +12 -0
- package/autocomplete/lib/autocompletelist/harness.js.map +1 -0
- package/autocomplete/lib/autocompletesurface/_autocomplete-surface.scss +13 -0
- package/{formfield/lib/formfield-styles.css.d.ts → autocomplete/lib/autocompletesurface/autocomplete-surface-styles.css.d.ts} +0 -0
- package/autocomplete/lib/autocompletesurface/autocomplete-surface-styles.css.js +9 -0
- package/autocomplete/lib/autocompletesurface/autocomplete-surface-styles.css.js.map +1 -0
- package/autocomplete/lib/autocompletesurface/autocomplete-surface-styles.scss +8 -0
- package/autocomplete/lib/autocompletesurface/autocomplete-surface.d.ts +13 -0
- package/autocomplete/lib/autocompletesurface/autocomplete-surface.js +21 -0
- package/autocomplete/lib/autocompletesurface/autocomplete-surface.js.map +1 -0
- package/{iconbutton/lib/icon-button-styles.css.d.ts → autocomplete/lib/filled-styles.css.d.ts} +0 -0
- package/autocomplete/lib/filled-styles.css.js +9 -0
- package/autocomplete/lib/filled-styles.css.js.map +1 -0
- package/autocomplete/lib/filled-styles.scss +8 -0
- package/{segmentedbutton/lib/segmented-button-styles.css.d.ts → autocomplete/lib/outlined-styles.css.d.ts} +0 -0
- package/autocomplete/lib/outlined-styles.css.js +9 -0
- package/autocomplete/lib/outlined-styles.css.js.map +1 -0
- package/autocomplete/lib/outlined-styles.scss +8 -0
- package/autocomplete/lib/shared-styles.css.d.ts +1 -0
- package/autocomplete/lib/shared-styles.css.js +9 -0
- package/autocomplete/lib/shared-styles.css.js.map +1 -0
- package/{iconbutton/lib/icon-button-styles.scss → autocomplete/lib/shared-styles.scss} +2 -2
- package/autocomplete/outlined-autocomplete.d.ts +30 -0
- package/autocomplete/outlined-autocomplete.js +53 -0
- package/autocomplete/outlined-autocomplete.js.map +1 -0
- package/badge/_badge.scss +6 -0
- package/badge/lib/_badge.scss +60 -21
- package/badge/lib/badge-styles.css.js +1 -1
- package/badge/lib/badge-styles.css.js.map +1 -1
- package/badge/lib/badge-styles.scss +1 -9
- package/button/_elevated-button.scss +1 -3
- package/button/_filled-button.scss +1 -3
- package/button/_outlined-button.scss +1 -3
- package/button/_text-button.scss +1 -3
- package/button/_tonal-button.scss +1 -3
- package/button/elevated-button.d.ts +18 -1
- package/button/elevated-button.js +20 -3
- package/button/elevated-button.js.map +1 -1
- package/button/elevated-link-button.d.ts +18 -1
- package/button/elevated-link-button.js +20 -3
- package/button/elevated-link-button.js.map +1 -1
- package/button/filled-button.d.ts +16 -1
- package/button/filled-button.js +18 -2
- package/button/filled-button.js.map +1 -1
- package/button/filled-link-button.d.ts +16 -1
- package/button/filled-link-button.js +18 -2
- package/button/filled-link-button.js.map +1 -1
- package/button/harness.d.ts +1 -1
- package/button/harness.js +1 -1
- package/button/harness.js.map +1 -1
- package/button/lib/_elevated-button.scss +51 -2
- package/button/lib/_elevation.scss +74 -0
- package/button/lib/_filled-button.scss +47 -2
- package/button/lib/_icon.scss +26 -18
- package/button/lib/_outlined-button.scss +70 -8
- package/button/lib/_shared.scss +180 -0
- package/button/lib/_text-button.scss +52 -2
- package/button/lib/_tonal-button.scss +50 -2
- package/button/lib/_touch-target.scss +7 -5
- package/button/lib/button.d.ts +45 -40
- package/button/lib/button.js +83 -88
- package/button/lib/button.js.map +1 -1
- package/button/lib/elevated-button.d.ts +2 -4
- package/button/lib/elevated-button.js +4 -5
- package/button/lib/elevated-button.js.map +1 -1
- package/button/lib/elevated-link-button.d.ts +2 -4
- package/button/lib/elevated-link-button.js +4 -5
- package/button/lib/elevated-link-button.js.map +1 -1
- package/button/lib/elevated-styles.css.js +1 -1
- package/button/lib/elevated-styles.css.js.map +1 -1
- package/button/lib/elevated-styles.scss +1 -11
- package/button/lib/filled-button.d.ts +4 -2
- package/button/lib/filled-button.js +7 -2
- package/button/lib/filled-button.js.map +1 -1
- package/button/lib/filled-link-button.d.ts +4 -2
- package/button/lib/filled-link-button.js +7 -2
- package/button/lib/filled-link-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/filled-styles.scss +1 -9
- package/button/lib/link-button.d.ts +11 -3
- package/button/lib/link-button.js +29 -18
- package/button/lib/link-button.js.map +1 -1
- package/button/lib/outlined-button.d.ts +0 -3
- package/button/lib/outlined-button.js +1 -3
- package/button/lib/outlined-button.js.map +1 -1
- package/button/lib/outlined-link-button.d.ts +0 -3
- package/button/lib/outlined-link-button.js +1 -3
- package/button/lib/outlined-link-button.js.map +1 -1
- package/button/lib/outlined-styles.css.js +1 -1
- package/button/lib/outlined-styles.css.js.map +1 -1
- package/button/lib/outlined-styles.scss +1 -11
- package/button/lib/shared-elevation-styles.css.d.ts +1 -0
- package/button/lib/shared-elevation-styles.css.js +9 -0
- package/button/lib/shared-elevation-styles.css.js.map +1 -0
- package/{ripple/_index.scss → button/lib/shared-elevation-styles.scss} +3 -1
- package/button/lib/shared-styles.css.js +1 -1
- package/button/lib/shared-styles.css.js.map +1 -1
- package/button/lib/shared-styles.scss +4 -4
- package/button/lib/text-button.d.ts +0 -2
- package/button/lib/text-button.js +1 -2
- package/button/lib/text-button.js.map +1 -1
- package/button/lib/text-link-button.d.ts +0 -2
- package/button/lib/text-link-button.js +1 -2
- package/button/lib/text-link-button.js.map +1 -1
- package/button/lib/text-styles.css.js +1 -1
- package/button/lib/text-styles.css.js.map +1 -1
- package/button/lib/text-styles.scss +1 -9
- package/button/lib/tonal-button.d.ts +4 -2
- package/button/lib/tonal-button.js +7 -2
- package/button/lib/tonal-button.js.map +1 -1
- package/button/lib/tonal-link-button.d.ts +4 -2
- package/button/lib/tonal-link-button.js +7 -2
- package/button/lib/tonal-link-button.js.map +1 -1
- package/button/lib/tonal-styles.css.js +1 -1
- package/button/lib/tonal-styles.css.js.map +1 -1
- package/button/lib/tonal-styles.scss +1 -9
- package/button/outlined-button.d.ts +18 -1
- package/button/outlined-button.js +18 -1
- package/button/outlined-button.js.map +1 -1
- package/button/outlined-link-button.d.ts +18 -1
- package/button/outlined-link-button.js +18 -1
- package/button/outlined-link-button.js.map +1 -1
- package/button/text-button.d.ts +16 -1
- package/button/text-button.js +16 -1
- package/button/text-button.js.map +1 -1
- package/button/text-link-button.d.ts +16 -1
- package/button/text-link-button.js +16 -1
- package/button/text-link-button.js.map +1 -1
- package/button/tonal-button.d.ts +17 -1
- package/button/tonal-button.js +19 -2
- package/button/tonal-button.js.map +1 -1
- package/button/tonal-link-button.d.ts +17 -1
- package/button/tonal-link-button.js +19 -2
- package/button/tonal-link-button.js.map +1 -1
- package/checkbox/_checkbox.scss +6 -1
- package/checkbox/checkbox.d.ts +4 -1
- package/checkbox/checkbox.js +6 -2
- package/checkbox/checkbox.js.map +1 -1
- package/checkbox/harness.d.ts +1 -1
- package/checkbox/harness.js +1 -1
- package/checkbox/harness.js.map +1 -1
- package/checkbox/lib/_checkbox.scss +368 -334
- package/checkbox/lib/checkbox-styles.css.js +1 -1
- package/checkbox/lib/checkbox-styles.css.js.map +1 -1
- package/checkbox/lib/checkbox-styles.scss +1 -8
- package/checkbox/lib/checkbox.d.ts +30 -45
- package/checkbox/lib/checkbox.js +127 -177
- package/checkbox/lib/checkbox.js.map +1 -1
- package/checkbox/lib/forced-colors-styles.css.d.ts +1 -0
- package/checkbox/lib/forced-colors-styles.css.js +9 -0
- package/checkbox/lib/forced-colors-styles.css.js.map +1 -0
- package/checkbox/lib/forced-colors-styles.scss +47 -0
- package/{formfield/formfield.d.ts → chips/action/delete-action.d.ts} +3 -4
- package/chips/action/delete-action.js +20 -0
- package/chips/action/delete-action.js.map +1 -0
- package/chips/action/lib/action.d.ts +17 -4
- package/chips/action/lib/action.js +85 -6
- package/chips/action/lib/action.js.map +1 -1
- package/chips/action/lib/{trailing-action.d.ts → delete-action.d.ts} +3 -3
- package/chips/action/lib/{trailing-action.js → delete-action.js} +22 -19
- package/chips/action/lib/delete-action.js.map +1 -0
- package/chips/action/lib/events.d.ts +14 -0
- package/chips/action/lib/events.js +16 -0
- package/chips/action/lib/events.js.map +1 -0
- package/chips/action/lib/link-action.d.ts +2 -0
- package/chips/action/lib/link-action.js +13 -1
- package/chips/action/lib/link-action.js.map +1 -1
- package/chips/action/lib/primary-action.d.ts +0 -1
- package/chips/action/lib/primary-action.js +11 -6
- package/chips/action/lib/primary-action.js.map +1 -1
- package/chips/action/lib/selectable-action.js +11 -1
- package/chips/action/lib/selectable-action.js.map +1 -1
- package/chips/action/link-action.d.ts +18 -0
- package/chips/action/link-action.js +20 -0
- package/chips/action/link-action.js.map +1 -0
- package/chips/action/presentational-action.d.ts +18 -0
- package/chips/action/presentational-action.js +20 -0
- package/chips/action/presentational-action.js.map +1 -0
- package/chips/action/primary-action.d.ts +18 -0
- package/chips/action/primary-action.js +20 -0
- package/chips/action/primary-action.js.map +1 -0
- package/chips/action/selectable-action.d.ts +18 -0
- package/chips/action/selectable-action.js +20 -0
- package/chips/action/selectable-action.js.map +1 -0
- package/chips/chip/lib/_assist-chip-theme.scss +5 -11
- package/chips/chip/lib/_chip-theme.scss +191 -220
- package/chips/chip/lib/_chip.scss +80 -63
- package/chips/chip/lib/_filter-chip-theme.scss +5 -11
- package/chips/chip/lib/_input-chip-theme.scss +12 -18
- package/chips/chip/lib/_suggestion-chip-theme.scss +5 -11
- package/chips/chip/lib/action-chip.d.ts +18 -0
- package/chips/chip/lib/action-chip.js +39 -0
- package/chips/chip/lib/action-chip.js.map +1 -0
- package/{compat/animation → chips/chip/lib}/animationframe.d.ts +0 -0
- package/{compat/animation → chips/chip/lib}/animationframe.js +1 -0
- package/chips/chip/lib/animationframe.js.map +1 -0
- package/chips/chip/lib/chip.d.ts +42 -0
- package/chips/chip/lib/chip.js +133 -0
- package/chips/chip/lib/chip.js.map +1 -0
- package/chips/chip/lib/foundation.js +3 -4
- package/chips/chip/lib/foundation.js.map +1 -1
- package/chips/chip/lib/link-chip.d.ts +21 -0
- package/chips/chip/lib/link-chip.js +53 -0
- package/chips/chip/lib/link-chip.js.map +1 -0
- package/chips/chip/lib/presentational-chip.d.ts +18 -0
- package/chips/chip/lib/presentational-chip.js +39 -0
- package/chips/chip/lib/presentational-chip.js.map +1 -0
- package/chips/chip/lib/selectable-chip.d.ts +22 -0
- package/chips/chip/lib/selectable-chip.js +57 -0
- package/chips/chip/lib/selectable-chip.js.map +1 -0
- package/chips/chipset/lib/_chip-set-theme.scss +1 -1
- package/chips/chipset/lib/foundation.js +8 -10
- package/chips/chipset/lib/foundation.js.map +1 -1
- package/controller/events.d.ts +50 -0
- package/controller/events.js +86 -0
- package/controller/events.js.map +1 -1
- package/controller/form-associated.d.ts +14 -0
- package/controller/form-associated.js +12 -0
- package/controller/form-associated.js.map +1 -0
- package/controller/form-controller.d.ts +7 -0
- package/controller/form-controller.js +15 -1
- package/controller/form-controller.js.map +1 -1
- package/controller/is-rtl.d.ts +14 -0
- package/controller/is-rtl.js +18 -0
- package/controller/is-rtl.js.map +1 -0
- package/controller/shim-label-activation.d.ts +18 -0
- package/controller/shim-label-activation.js +72 -0
- package/controller/shim-label-activation.js.map +1 -0
- package/decorators/bound.d.ts +1 -1
- package/decorators/bound.js.map +1 -1
- package/elevation/_elevation.scss +6 -0
- package/elevation/elevation.d.ts +19 -0
- package/elevation/elevation.js +22 -0
- package/elevation/elevation.js.map +1 -0
- package/elevation/lib/_elevation.scss +218 -0
- package/elevation/lib/_md-comp-elevation.scss +23 -0
- package/elevation/lib/elevation-styles.css.d.ts +1 -0
- package/elevation/lib/elevation-styles.css.js +9 -0
- package/elevation/lib/elevation-styles.css.js.map +1 -0
- package/elevation/lib/elevation-styles.scss +8 -0
- package/elevation/lib/elevation.d.ts +20 -0
- package/elevation/lib/elevation.js +39 -0
- package/elevation/lib/elevation.js.map +1 -0
- package/{elevation → elevationold}/lib/_elevation-overlay-theme.scss +0 -0
- package/{elevation → elevationold}/lib/_elevation-overlay.scss +0 -0
- package/{elevation → elevationold}/lib/_elevation-theme.scss +3 -17
- package/{elevation → elevationold}/lib/_surface.scss +1 -4
- package/elevationold/lib/elevation-overlay-styles.css.d.ts +1 -0
- package/{elevation → elevationold}/lib/elevation-overlay-styles.css.js +0 -0
- package/{elevation → elevationold}/lib/elevation-overlay-styles.css.js.map +0 -0
- package/{elevation → elevationold}/lib/elevation-overlay-styles.scss +0 -0
- package/fab/_fab-extended.scss +1 -6
- package/fab/_fab.scss +1 -15
- package/fab/fab-extended.d.ts +1 -1
- package/fab/fab-extended.js +2 -2
- package/fab/fab-extended.js.map +1 -1
- package/fab/fab.d.ts +1 -1
- package/fab/fab.js +2 -2
- package/fab/fab.js.map +1 -1
- package/fab/harness.d.ts +1 -1
- package/fab/harness.js +1 -1
- package/fab/harness.js.map +1 -1
- package/fab/lib/_fab-extended.scss +55 -21
- package/fab/lib/_fab.scss +30 -6
- package/fab/lib/_shared.scss +209 -0
- package/fab/lib/fab-extended-styles.css.js +1 -1
- package/fab/lib/fab-extended-styles.css.js.map +1 -1
- package/fab/lib/fab-extended-styles.scss +1 -9
- package/fab/lib/fab-shared-styles.css.js +1 -1
- package/fab/lib/fab-shared-styles.css.js.map +1 -1
- package/fab/lib/fab-shared-styles.scss +2 -2
- package/fab/lib/fab-shared.d.ts +6 -5
- package/fab/lib/fab-shared.js +9 -8
- package/fab/lib/fab-shared.js.map +1 -1
- package/fab/lib/fab-styles.css.js +1 -1
- package/fab/lib/fab-styles.css.js.map +1 -1
- package/fab/lib/fab-styles.scss +1 -9
- package/field/_filled-field.scss +1 -3
- package/field/_outlined-field.scss +1 -3
- package/field/harness.d.ts +1 -1
- package/field/harness.js +1 -1
- package/field/harness.js.map +1 -1
- package/field/lib/_content.scss +51 -2
- package/field/lib/_filled-field.scss +167 -88
- package/field/lib/_label.scss +65 -2
- package/field/lib/_md-comp-filled-field.scss +72 -0
- package/field/lib/_md-comp-outlined-field.scss +74 -0
- package/field/lib/_outlined-field.scss +222 -118
- package/field/lib/{_field.scss → _shared.scss} +30 -1
- package/field/lib/_supporting-text.scss +64 -1
- package/field/lib/field.d.ts +1 -1
- package/field/lib/field.js +1 -1
- package/field/lib/field.js.map +1 -1
- package/field/lib/filled-field.d.ts +1 -0
- package/field/lib/filled-field.js +1 -0
- package/field/lib/filled-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/filled-styles.scss +1 -9
- package/field/lib/outlined-styles.css.js +1 -1
- package/field/lib/outlined-styles.css.js.map +1 -1
- package/field/lib/outlined-styles.scss +1 -10
- package/field/lib/shared-styles.css.js +1 -1
- package/field/lib/shared-styles.css.js.map +1 -1
- package/field/lib/shared-styles.scss +2 -8
- package/focus/_focus-ring.scss +6 -0
- package/focus/lib/_focus-ring.scss +48 -21
- package/focus/lib/_md-comp-focus-ring.scss +27 -0
- 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-styles.scss +1 -9
- package/focus/lib/focus-ring.d.ts +16 -3
- package/focus/lib/focus-ring.js +16 -3
- package/focus/lib/focus-ring.js.map +1 -1
- package/focus/strong-focus.d.ts +2 -0
- package/focus/strong-focus.js +6 -4
- package/focus/strong-focus.js.map +1 -1
- package/icon/_icon.scss +6 -0
- package/icon/lib/_icon.scss +54 -0
- package/icon/lib/_md-comp-icon.scss +19 -0
- package/icon/lib/icon-styles.css.js +1 -1
- package/icon/lib/icon-styles.css.js.map +1 -1
- package/icon/lib/icon-styles.scss +2 -19
- package/iconbutton/_filled-icon-button.scss +1 -2
- package/iconbutton/_filled-tonal-icon-button.scss +6 -0
- package/iconbutton/_outlined-icon-button.scss +1 -2
- package/iconbutton/_standard-icon-button.scss +1 -2
- package/iconbutton/filled-icon-button-toggle.d.ts +15 -3
- package/iconbutton/filled-icon-button-toggle.js +16 -4
- package/iconbutton/filled-icon-button-toggle.js.map +1 -1
- package/iconbutton/filled-icon-button.d.ts +15 -3
- package/iconbutton/filled-icon-button.js +16 -4
- package/iconbutton/filled-icon-button.js.map +1 -1
- package/iconbutton/filled-link-icon-button.d.ts +15 -3
- package/iconbutton/filled-link-icon-button.js +16 -4
- package/iconbutton/filled-link-icon-button.js.map +1 -1
- package/iconbutton/filled-tonal-icon-button-toggle.d.ts +15 -3
- package/iconbutton/filled-tonal-icon-button-toggle.js +16 -4
- package/iconbutton/filled-tonal-icon-button-toggle.js.map +1 -1
- package/iconbutton/filled-tonal-icon-button.d.ts +15 -3
- package/iconbutton/filled-tonal-icon-button.js +16 -4
- package/iconbutton/filled-tonal-icon-button.js.map +1 -1
- package/iconbutton/filled-tonal-link-icon-button.d.ts +15 -3
- package/iconbutton/filled-tonal-link-icon-button.js +16 -4
- package/iconbutton/filled-tonal-link-icon-button.js.map +1 -1
- package/iconbutton/harness.d.ts +1 -1
- package/iconbutton/harness.js +1 -1
- package/iconbutton/harness.js.map +1 -1
- package/iconbutton/lib/_filled-icon-button.scss +123 -2
- package/iconbutton/lib/_filled-tonal-icon-button.scss +123 -2
- package/iconbutton/lib/_outlined-icon-button.scss +133 -1
- package/iconbutton/lib/{_icon-button-theme.scss → _shared.scss} +76 -71
- package/iconbutton/lib/_standard-icon-button.scss +94 -2
- package/iconbutton/lib/filled-styles.css.js +1 -1
- package/iconbutton/lib/filled-styles.css.js.map +1 -1
- package/iconbutton/lib/filled-styles.scss +1 -11
- package/iconbutton/lib/filled-tonal-styles.css.js +1 -1
- package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -1
- package/iconbutton/lib/filled-tonal-styles.scss +1 -11
- package/iconbutton/lib/icon-button-toggle.d.ts +42 -23
- package/iconbutton/lib/icon-button-toggle.js +64 -62
- package/iconbutton/lib/icon-button-toggle.js.map +1 -1
- package/iconbutton/lib/icon-button.d.ts +22 -30
- package/iconbutton/lib/icon-button.js +52 -71
- package/iconbutton/lib/icon-button.js.map +1 -1
- package/iconbutton/lib/link-icon-button.d.ts +11 -2
- package/iconbutton/lib/link-icon-button.js +23 -18
- package/iconbutton/lib/link-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/outlined-styles.scss +1 -11
- package/iconbutton/lib/shared-styles.css.d.ts +1 -0
- package/iconbutton/lib/shared-styles.css.js +9 -0
- package/iconbutton/lib/shared-styles.css.js.map +1 -0
- package/iconbutton/lib/shared-styles.scss +8 -0
- package/iconbutton/lib/standard-styles.css.js +1 -1
- package/iconbutton/lib/standard-styles.css.js.map +1 -1
- package/iconbutton/lib/standard-styles.scss +1 -11
- package/iconbutton/outlined-icon-button-toggle.d.ts +15 -3
- package/iconbutton/outlined-icon-button-toggle.js +16 -4
- package/iconbutton/outlined-icon-button-toggle.js.map +1 -1
- package/iconbutton/outlined-icon-button.d.ts +15 -3
- package/iconbutton/outlined-icon-button.js +16 -4
- package/iconbutton/outlined-icon-button.js.map +1 -1
- package/iconbutton/outlined-link-icon-button.d.ts +15 -3
- package/iconbutton/outlined-link-icon-button.js +16 -4
- package/iconbutton/outlined-link-icon-button.js.map +1 -1
- package/iconbutton/standard-icon-button-toggle.d.ts +15 -3
- package/iconbutton/standard-icon-button-toggle.js +16 -4
- package/iconbutton/standard-icon-button-toggle.js.map +1 -1
- package/iconbutton/standard-icon-button.d.ts +15 -3
- package/iconbutton/standard-icon-button.js +16 -4
- package/iconbutton/standard-icon-button.js.map +1 -1
- package/iconbutton/standard-link-icon-button.d.ts +15 -3
- package/iconbutton/standard-link-icon-button.js +16 -4
- package/iconbutton/standard-link-icon-button.js.map +1 -1
- package/list/_list-item.scss +1 -2
- package/list/_list.scss +1 -2
- package/list/harness.d.ts +1 -1
- package/list/harness.js +1 -1
- package/list/harness.js.map +1 -1
- package/list/lib/_list.scss +58 -21
- package/list/lib/_tokens.scss +2 -2
- package/list/lib/avatar/_list-item-avatar.scss +25 -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-styles.scss +1 -13
- package/list/lib/divider/_list-divider.scss +33 -1
- package/list/lib/divider/list-divider-styles.css.js +1 -1
- package/list/lib/divider/list-divider-styles.css.js.map +1 -1
- package/list/lib/divider/list-divider-styles.scss +1 -11
- package/list/lib/divider/list-divider.d.ts +1 -1
- package/list/lib/divider/list-divider.js +1 -1
- package/list/lib/divider/list-divider.js.map +1 -1
- package/list/lib/icon/_list-item-icon.scss +32 -2
- 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-styles.scss +1 -13
- package/list/lib/image/_list-item-image.scss +44 -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-styles.scss +1 -13
- package/list/lib/list-styles.css.js +1 -1
- package/list/lib/list-styles.css.js.map +1 -1
- package/list/lib/list-styles.scss +1 -9
- package/list/lib/list.d.ts +5 -1
- package/list/lib/list.js +13 -2
- package/list/lib/list.js.map +1 -1
- package/list/lib/listitem/_list-item.scss +156 -59
- package/list/lib/listitem/harness.d.ts +1 -1
- package/list/lib/listitem/harness.js +1 -1
- package/list/lib/listitem/harness.js.map +1 -1
- 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-styles.scss +1 -9
- package/list/lib/listitem/list-item.d.ts +5 -5
- package/list/lib/listitem/list-item.js +6 -6
- package/list/lib/listitem/list-item.js.map +1 -1
- package/list/lib/video/_list-item-video.scss +45 -2
- 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-styles.scss +1 -13
- package/localization/localize.d.ts +15 -0
- package/localization/localize.js +18 -0
- package/localization/localize.js.map +1 -0
- package/menu/harness.d.ts +1 -1
- package/menu/harness.js +1 -1
- package/menu/harness.js.map +1 -1
- package/menu/lib/_menu-button.scss +1 -1
- package/menu/lib/_menu.scss +105 -2
- package/menu/lib/menu-button-styles.scss +5 -6
- package/menu/lib/menu-styles.css.js +1 -1
- package/menu/lib/menu-styles.css.js.map +1 -1
- package/menu/lib/menu-styles.scss +5 -14
- package/menu/lib/menu.js +3 -3
- package/menu/lib/menu.js.map +1 -1
- package/menu/lib/menuitem/harness.d.ts +1 -1
- package/menu/lib/menuitem/harness.js +1 -1
- package/menu/lib/menuitem/harness.js.map +1 -1
- package/menu/lib/menuitem/menu-item.d.ts +2 -2
- package/menu/lib/menuitem/menu-item.js +1 -1
- package/menu/lib/menuitem/menu-item.js.map +1 -1
- package/menusurface/_menu-surface.scss +1 -2
- package/menusurface/lib/_md-comp-menu-surface.scss +35 -0
- package/menusurface/lib/_menu-surface.scss +30 -1
- package/menusurface/lib/menu-surface-styles.css.js +1 -1
- package/menusurface/lib/menu-surface-styles.css.js.map +1 -1
- package/menusurface/lib/menu-surface-styles.scss +1 -9
- package/menusurface/lib/menu-surface.d.ts +5 -2
- package/menusurface/lib/menu-surface.js +48 -89
- package/menusurface/lib/menu-surface.js.map +1 -1
- package/navigationbar/_navigation-bar.scss +1 -2
- package/navigationbar/harness.d.ts +1 -1
- package/navigationbar/harness.js +1 -1
- package/navigationbar/harness.js.map +1 -1
- package/navigationbar/lib/_navigation-bar.scss +44 -6
- package/navigationbar/lib/constants.d.ts +1 -1
- package/navigationbar/lib/constants.js.map +1 -1
- package/navigationbar/lib/navigation-bar-styles.css.js +1 -1
- package/navigationbar/lib/navigation-bar-styles.css.js.map +1 -1
- package/navigationbar/lib/navigation-bar-styles.scss +1 -13
- package/navigationbar/lib/navigation-bar.d.ts +4 -3
- package/navigationbar/lib/navigation-bar.js +35 -44
- package/navigationbar/lib/navigation-bar.js.map +1 -1
- package/navigationbar/lib/state.d.ts +1 -1
- package/navigationbar/lib/state.js.map +1 -1
- package/navigationdrawer/_navigation-drawer-modal.scss +1 -1
- package/navigationdrawer/_navigation-drawer.scss +1 -1
- package/navigationdrawer/lib/_navigation-drawer-modal.scss +54 -12
- package/navigationdrawer/lib/_navigation-drawer.scss +48 -9
- package/navigationdrawer/lib/_shared.scss +49 -0
- package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +1 -1
- package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +1 -1
- package/navigationdrawer/lib/navigation-drawer-modal-styles.scss +1 -5
- package/navigationdrawer/lib/navigation-drawer-modal.d.ts +7 -7
- package/navigationdrawer/lib/navigation-drawer-modal.js +13 -14
- package/navigationdrawer/lib/navigation-drawer-modal.js.map +1 -1
- package/navigationdrawer/lib/navigation-drawer-styles.css.js +1 -1
- package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -1
- package/navigationdrawer/lib/navigation-drawer-styles.scss +1 -11
- package/navigationdrawer/lib/navigation-drawer.d.ts +6 -6
- package/navigationdrawer/lib/navigation-drawer.js +13 -14
- package/navigationdrawer/lib/navigation-drawer.js.map +1 -1
- package/navigationdrawer/lib/shared-styles.css.d.ts +1 -0
- package/navigationdrawer/lib/shared-styles.css.js +9 -0
- package/navigationdrawer/lib/shared-styles.css.js.map +1 -0
- package/navigationdrawer/lib/shared-styles.scss +8 -0
- package/navigationdrawer/navigation-drawer-modal.js +2 -1
- package/navigationdrawer/navigation-drawer-modal.js.map +1 -1
- package/navigationdrawer/navigation-drawer.js +2 -1
- package/navigationdrawer/navigation-drawer.js.map +1 -1
- package/navigationtab/_navigation-tab.scss +1 -2
- package/navigationtab/harness.d.ts +1 -1
- package/navigationtab/harness.js +1 -1
- package/navigationtab/harness.js.map +1 -1
- package/navigationtab/lib/_navigation-tab.scss +224 -77
- package/navigationtab/lib/navigation-tab-styles.css.js +1 -1
- package/navigationtab/lib/navigation-tab-styles.css.js.map +1 -1
- package/navigationtab/lib/navigation-tab-styles.scss +1 -14
- package/navigationtab/lib/navigation-tab.d.ts +4 -4
- package/navigationtab/lib/navigation-tab.js +6 -6
- package/navigationtab/lib/navigation-tab.js.map +1 -1
- package/package.json +76 -12
- package/radio/harness.d.ts +1 -1
- package/radio/harness.js +1 -1
- package/radio/harness.js.map +1 -1
- package/radio/lib/_radio-theme.scss +9 -8
- package/radio/lib/_radio.scss +5 -5
- 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 +34 -38
- package/radio/lib/radio.js +88 -118
- package/radio/lib/radio.js.map +1 -1
- package/ripple/_ripple.scss +6 -0
- package/ripple/directive.d.ts +63 -0
- package/ripple/directive.js +266 -0
- package/ripple/directive.js.map +1 -0
- package/ripple/lib/_md-comp-ripple.scss +29 -0
- package/ripple/lib/_ripple.scss +97 -51
- package/ripple/lib/ripple-styles.css.js +1 -1
- package/ripple/lib/ripple-styles.css.js.map +1 -1
- package/ripple/lib/ripple-styles.scss +1 -9
- package/ripple/lib/ripple.d.ts +1 -1
- package/ripple/lib/ripple.js +5 -2
- package/ripple/lib/ripple.js.map +1 -1
- package/sass/_assert.scss +5 -0
- package/sass/_color-scheme.scss +88 -0
- package/sass/_color.scss +30 -50
- package/sass/_feature-flags.scss +3 -3
- package/segmentedbutton/lib/_outlined-segmented-button.scss +26 -2
- package/segmentedbutton/lib/_shared.scss +388 -0
- package/segmentedbutton/lib/outlined-styles.css.js +1 -1
- package/segmentedbutton/lib/outlined-styles.css.js.map +1 -1
- package/segmentedbutton/lib/outlined-styles.scss +1 -10
- package/segmentedbutton/lib/segmented-button.d.ts +3 -3
- package/segmentedbutton/lib/segmented-button.js +5 -5
- package/segmentedbutton/lib/segmented-button.js.map +1 -1
- package/segmentedbutton/lib/shared-styles.css.d.ts +1 -0
- package/segmentedbutton/lib/shared-styles.css.js +9 -0
- package/segmentedbutton/lib/shared-styles.css.js.map +1 -0
- package/segmentedbutton/lib/shared-styles.scss +8 -0
- package/segmentedbutton/outlined-segmented-button.js +1 -1
- package/segmentedbutton/outlined-segmented-button.js.map +1 -1
- package/segmentedbuttonset/lib/_outlined-segmented-button-set.scss +22 -4
- package/segmentedbuttonset/lib/_shared.scss +46 -0
- package/segmentedbuttonset/lib/outlined-styles.css.js +1 -1
- package/segmentedbuttonset/lib/outlined-styles.css.js.map +1 -1
- package/segmentedbuttonset/lib/outlined-styles.scss +1 -10
- package/segmentedbuttonset/lib/segmented-button-set.js +1 -1
- package/segmentedbuttonset/lib/segmented-button-set.js.map +1 -1
- package/segmentedbuttonset/lib/shared-styles.css.js +1 -1
- package/segmentedbuttonset/lib/shared-styles.css.js.map +1 -1
- package/segmentedbuttonset/lib/shared-styles.scss +2 -2
- package/switch/_switch.scss +1 -2
- package/switch/harness.d.ts +1 -1
- package/switch/harness.js +1 -1
- package/switch/harness.js.map +1 -1
- package/switch/lib/_handle.scss +122 -0
- package/switch/lib/_icon.scss +33 -0
- package/switch/lib/_switch.scss +211 -119
- package/switch/lib/_track.scss +57 -0
- package/switch/lib/switch-styles.css.js +1 -1
- package/switch/lib/switch-styles.css.js.map +1 -1
- package/switch/lib/switch-styles.scss +1 -4
- package/switch/lib/switch.d.ts +51 -31
- package/switch/lib/switch.js +106 -70
- package/switch/lib/switch.js.map +1 -1
- package/switch/switch.d.ts +6 -1
- package/switch/switch.js +6 -1
- package/switch/switch.js.map +1 -1
- package/textfield/_filled-text-field.scss +1 -4
- package/textfield/_outlined-text-field.scss +1 -4
- package/textfield/filled-text-field.d.ts +2 -1
- package/textfield/filled-text-field.js +1 -1
- package/textfield/filled-text-field.js.map +1 -1
- package/textfield/harness.d.ts +1 -1
- package/textfield/harness.js +1 -1
- package/textfield/harness.js.map +1 -1
- package/textfield/lib/_filled-text-field.scss +147 -0
- package/textfield/lib/_icon.scss +71 -1
- package/textfield/lib/_input.scss +65 -21
- package/textfield/lib/_outlined-text-field.scss +137 -0
- package/textfield/lib/_shared.scss +59 -0
- package/textfield/lib/filled-forced-colors-styles.css.js +1 -1
- package/textfield/lib/filled-forced-colors-styles.css.js.map +1 -1
- package/textfield/lib/filled-forced-colors-styles.scss +17 -7
- package/textfield/lib/filled-styles.css.js +1 -1
- package/textfield/lib/filled-styles.css.js.map +1 -1
- package/textfield/lib/filled-styles.scss +2 -9
- package/textfield/lib/outlined-forced-colors-styles.css.js +1 -1
- package/textfield/lib/outlined-forced-colors-styles.css.js.map +1 -1
- package/textfield/lib/outlined-forced-colors-styles.scss +17 -7
- package/textfield/lib/outlined-styles.css.js +1 -1
- package/textfield/lib/outlined-styles.css.js.map +1 -1
- package/textfield/lib/outlined-styles.scss +2 -9
- package/textfield/lib/shared-styles.css.js +1 -1
- package/textfield/lib/shared-styles.css.js.map +1 -1
- package/textfield/lib/shared-styles.scss +2 -6
- package/textfield/lib/text-field.d.ts +88 -9
- package/textfield/lib/text-field.js +228 -70
- package/textfield/lib/text-field.js.map +1 -1
- package/textfield/outlined-text-field.d.ts +2 -1
- package/textfield/outlined-text-field.js +1 -1
- package/textfield/outlined-text-field.js.map +1 -1
- package/tokens/_index.scss +1 -1
- package/tokens/{latest → v0_144}/_index.scss +15 -94
- package/tokens/v0_144/_md-comp-assist-chip.scss +109 -0
- package/tokens/v0_144/_md-comp-badge.scss +58 -0
- package/tokens/v0_144/_md-comp-banner.scss +116 -0
- package/tokens/v0_144/_md-comp-bottom-app-bar.scss +36 -0
- package/tokens/v0_144/_md-comp-carousel-item.scss +65 -0
- package/tokens/v0_144/_md-comp-checkbox.scss +147 -0
- package/tokens/v0_144/_md-comp-circular-progress-indicator.scss +39 -0
- package/tokens/v0_144/_md-comp-data-table.scss +100 -0
- package/tokens/v0_144/_md-comp-date-input-modal.scss +89 -0
- package/tokens/v0_144/_md-comp-date-picker-docked.scss +246 -0
- package/tokens/v0_144/_md-comp-date-picker-modal.scss +305 -0
- package/tokens/v0_144/_md-comp-dialog.scss +146 -0
- package/tokens/{latest → v0_144}/_md-comp-divider.scss +5 -5
- package/tokens/v0_144/_md-comp-elevated-button.scss +91 -0
- package/tokens/v0_144/_md-comp-elevated-card.scss +59 -0
- package/tokens/v0_144/_md-comp-extended-fab-branded.scss +86 -0
- package/tokens/v0_144/_md-comp-extended-fab-primary.scss +94 -0
- package/tokens/v0_144/_md-comp-extended-fab-secondary.scss +95 -0
- package/tokens/v0_144/_md-comp-extended-fab-surface.scss +90 -0
- package/tokens/v0_144/_md-comp-extended-fab-tertiary.scss +97 -0
- package/tokens/v0_144/_md-comp-fab-branded-large.scss +61 -0
- package/tokens/v0_144/_md-comp-fab-branded.scss +60 -0
- package/tokens/v0_144/_md-comp-fab-primary-large.scss +65 -0
- package/tokens/v0_144/_md-comp-fab-primary-small.scss +65 -0
- package/tokens/v0_144/_md-comp-fab-primary.scss +65 -0
- package/tokens/v0_144/_md-comp-fab-secondary-large.scss +66 -0
- package/tokens/v0_144/_md-comp-fab-secondary-small.scss +66 -0
- package/tokens/v0_144/_md-comp-fab-secondary.scss +66 -0
- package/tokens/v0_144/_md-comp-fab-surface-large.scss +64 -0
- package/tokens/v0_144/_md-comp-fab-surface-small.scss +64 -0
- package/tokens/v0_144/_md-comp-fab-surface.scss +64 -0
- package/tokens/v0_144/_md-comp-fab-tertiary-large.scss +66 -0
- package/tokens/v0_144/_md-comp-fab-tertiary-small.scss +66 -0
- package/tokens/v0_144/_md-comp-fab-tertiary.scss +66 -0
- package/tokens/v0_144/_md-comp-filled-autocomplete.scss +268 -0
- package/tokens/v0_144/_md-comp-filled-button.scss +95 -0
- package/tokens/v0_144/_md-comp-filled-card.scss +60 -0
- package/tokens/v0_144/_md-comp-filled-icon-button.scss +79 -0
- package/tokens/v0_144/_md-comp-filled-menu-button.scss +98 -0
- package/tokens/v0_144/_md-comp-filled-select.scss +276 -0
- package/tokens/v0_144/_md-comp-filled-text-field.scss +190 -0
- package/tokens/v0_144/_md-comp-filled-tonal-button.scss +99 -0
- package/tokens/v0_144/_md-comp-filled-tonal-icon-button.scss +86 -0
- package/tokens/v0_144/_md-comp-filter-chip.scss +236 -0
- package/tokens/v0_144/_md-comp-full-screen-dialog.scss +161 -0
- package/tokens/v0_144/_md-comp-icon-button.scss +70 -0
- package/tokens/v0_144/_md-comp-input-chip.scss +234 -0
- package/tokens/v0_144/_md-comp-linear-progress-indicator.scss +41 -0
- package/tokens/v0_144/_md-comp-list.scss +257 -0
- package/tokens/v0_144/_md-comp-menu.scss +123 -0
- package/tokens/v0_144/_md-comp-navigation-bar.scss +121 -0
- package/tokens/v0_144/_md-comp-navigation-drawer.scss +168 -0
- package/tokens/v0_144/_md-comp-navigation-rail.scss +168 -0
- package/tokens/v0_144/_md-comp-outlined-autocomplete.scss +258 -0
- package/tokens/v0_144/_md-comp-outlined-button.scss +88 -0
- package/tokens/v0_144/_md-comp-outlined-card.scss +65 -0
- package/tokens/v0_144/_md-comp-outlined-icon-button.scss +81 -0
- package/tokens/v0_144/_md-comp-outlined-menu-button.scss +94 -0
- package/tokens/v0_144/_md-comp-outlined-segmented-button.scss +112 -0
- package/tokens/v0_144/_md-comp-outlined-select.scss +266 -0
- package/tokens/v0_144/_md-comp-outlined-text-field.scss +172 -0
- package/tokens/v0_144/_md-comp-plain-tooltip.scss +55 -0
- package/tokens/v0_144/_md-comp-primary-navigation-tab.scss +123 -0
- package/tokens/v0_144/_md-comp-radio-button.scss +68 -0
- package/tokens/v0_144/_md-comp-rich-tooltip.scss +121 -0
- package/tokens/{v0_93/_md-comp-divider.scss → v0_144/_md-comp-scrim.scss} +5 -5
- package/tokens/v0_144/_md-comp-search-bar.scss +99 -0
- package/tokens/v0_144/_md-comp-search-view.scss +93 -0
- package/tokens/v0_144/_md-comp-secondary-navigation-tab.scss +86 -0
- package/tokens/v0_144/_md-comp-sheet-bottom.scss +45 -0
- package/tokens/v0_144/_md-comp-sheet-floating.scss +34 -0
- package/tokens/v0_144/_md-comp-sheet-side.scss +89 -0
- package/tokens/v0_144/_md-comp-slider.scss +116 -0
- package/tokens/v0_144/_md-comp-snackbar.scss +103 -0
- package/tokens/v0_144/_md-comp-standard-menu-button.scss +98 -0
- package/tokens/v0_144/_md-comp-suggestion-chip.scss +125 -0
- package/tokens/v0_144/_md-comp-switch.scss +145 -0
- package/tokens/v0_144/_md-comp-text-button.scss +81 -0
- package/tokens/v0_144/_md-comp-time-input.scss +218 -0
- package/tokens/v0_144/_md-comp-time-picker.scss +267 -0
- package/tokens/v0_144/_md-comp-top-app-bar-large.scss +63 -0
- package/tokens/v0_144/_md-comp-top-app-bar-medium.scss +63 -0
- package/tokens/v0_144/_md-comp-top-app-bar-small-centered.scss +67 -0
- package/tokens/v0_144/_md-comp-top-app-bar-small.scss +65 -0
- package/tokens/v0_144/_md-ref-palette.scss +107 -0
- package/tokens/v0_144/_md-ref-typeface.scss +21 -0
- package/tokens/v0_144/_md-sys-color.scss +706 -0
- package/tokens/v0_144/_md-sys-elevation.scss +30 -0
- package/tokens/v0_144/_md-sys-motion.scss +53 -0
- package/tokens/v0_144/_md-sys-shape.scss +30 -0
- package/tokens/v0_144/_md-sys-state.scss +19 -0
- package/tokens/v0_144/_md-sys-typescale.scss +285 -0
- package/badge/lib/_badge-theme.scss +0 -118
- package/button/lib/_button-theme.scss +0 -204
- package/button/lib/_button.scss +0 -88
- package/button/lib/_elevated-button-theme.scss +0 -53
- package/button/lib/_elevation-theme.scss +0 -94
- package/button/lib/_filled-button-theme.scss +0 -53
- package/button/lib/_icon-theme.scss +0 -67
- package/button/lib/_outlined-button-theme.scss +0 -112
- package/button/lib/_text-button-theme.scss +0 -57
- package/button/lib/_tonal-button-theme.scss +0 -53
- package/checkbox/lib/_checkbox-theme.scss +0 -532
- package/chips/action/lib/adapter.d.ts +0 -21
- package/chips/action/lib/adapter.js +0 -7
- package/chips/action/lib/adapter.js.map +0 -1
- package/chips/action/lib/foundation.d.ts +0 -31
- package/chips/action/lib/foundation.js +0 -151
- package/chips/action/lib/foundation.js.map +0 -1
- package/chips/action/lib/primary-foundation.d.ts +0 -16
- package/chips/action/lib/primary-foundation.js +0 -24
- package/chips/action/lib/primary-foundation.js.map +0 -1
- package/chips/action/lib/trailing-action.js.map +0 -1
- package/chips/action/lib/trailing-foundation.d.ts +0 -16
- package/chips/action/lib/trailing-foundation.js +0 -23
- package/chips/action/lib/trailing-foundation.js.map +0 -1
- package/compat/animation/animationframe.js.map +0 -1
- package/compat/base/aria-property.d.ts +0 -39
- package/compat/base/aria-property.js +0 -93
- package/compat/base/aria-property.js.map +0 -1
- package/compat/base/foundation.d.ts +0 -44
- package/compat/base/foundation.js +0 -45
- package/compat/base/foundation.js.map +0 -1
- package/compat/base/observer.d.ts +0 -16
- package/compat/base/observer.js +0 -43
- package/compat/base/observer.js.map +0 -1
- package/compat/base/utils.d.ts +0 -7
- package/compat/base/utils.js +0 -39
- package/compat/base/utils.js.map +0 -1
- package/compat/density/_density.scss +0 -106
- package/compat/dom/keyboard.d.ts +0 -33
- package/compat/dom/keyboard.js +0 -109
- package/compat/dom/keyboard.js.map +0 -1
- package/compat/theme/_color-palette.scss +0 -277
- package/compat/theme/_css.scss +0 -92
- package/compat/theme/_custom-properties.scss +0 -309
- package/compat/theme/_gss.scss +0 -45
- package/compat/theme/_keys.scss +0 -507
- package/compat/theme/_map-ext.scss +0 -68
- package/compat/theme/_replace.scss +0 -108
- package/compat/theme/_selector-ext.scss +0 -522
- package/compat/theme/_shadow-dom.scss +0 -474
- package/compat/theme/_state.scss +0 -752
- package/compat/theme/_theme-color.scss +0 -344
- package/compat/theme/_theme.scss +0 -334
- package/compat/touchtarget/_touch-target.scss +0 -56
- package/fab/lib/_fab-extended-theme.scss +0 -108
- package/fab/lib/_fab-shared-theme.scss +0 -202
- package/fab/lib/_fab-shared.scss +0 -114
- package/fab/lib/_fab-theme.scss +0 -107
- package/field/lib/_content-theme.scss +0 -80
- package/field/lib/_filled-field-theme.scss +0 -382
- package/field/lib/_label-theme.scss +0 -123
- package/field/lib/_outlined-field-theme.scss +0 -311
- package/field/lib/_supporting-text-theme.scss +0 -107
- package/focus/lib/_focus-ring-theme.scss +0 -89
- package/formfield/formfield.js +0 -22
- package/formfield/formfield.js.map +0 -1
- package/formfield/lib/_formfield-theme.scss +0 -41
- package/formfield/lib/_formfield.scss +0 -40
- package/formfield/lib/formfield-styles.css.js +0 -9
- package/formfield/lib/formfield-styles.css.js.map +0 -1
- package/formfield/lib/formfield-styles.scss +0 -16
- package/formfield/lib/formfield.d.ts +0 -22
- package/formfield/lib/formfield.js +0 -73
- package/formfield/lib/formfield.js.map +0 -1
- package/iconbutton/lib/_filled-icon-button-theme.scss +0 -138
- package/iconbutton/lib/_filled-tonal-icon-button-theme.scss +0 -144
- package/iconbutton/lib/_icon-button.scss +0 -91
- package/iconbutton/lib/_outlined-icon-button-theme.scss +0 -187
- package/iconbutton/lib/_standard-icon-button-theme.scss +0 -107
- package/iconbutton/lib/icon-button-styles.css.js +0 -9
- package/iconbutton/lib/icon-button-styles.css.js.map +0 -1
- package/list/lib/_list-theme.scss +0 -51
- package/list/lib/avatar/_list-item-avatar-theme.scss +0 -30
- package/list/lib/divider/_list-divider-theme.scss +0 -30
- package/list/lib/icon/_list-item-icon-theme.scss +0 -32
- package/list/lib/image/_list-item-image-theme.scss +0 -36
- package/list/lib/listitem/_list-item-theme.scss +0 -337
- package/list/lib/video/_list-item-video-theme.scss +0 -36
- package/menu/lib/_menu-theme.scss +0 -118
- package/menusurface/lib/_menu-surface-theme.scss +0 -58
- package/navigationbar/lib/_navigation-bar-theme.scss +0 -87
- package/navigationdrawer/lib/_navigation-drawer-modal-theme.scss +0 -138
- package/navigationdrawer/lib/_navigation-drawer-theme.scss +0 -113
- package/navigationtab/lib/_navigation-tab-theme.scss +0 -343
- package/ripple/_ripple-theme.scss +0 -6
- package/ripple/lib/_ripple-theme.scss +0 -98
- package/segmentedbutton/lib/_outlined-segmented-button-theme.scss +0 -167
- package/segmentedbutton/lib/_segmented-button-theme.scss +0 -316
- package/segmentedbutton/lib/_segmented-button.scss +0 -159
- package/segmentedbutton/lib/segmented-button-styles.css.js +0 -9
- package/segmentedbutton/lib/segmented-button-styles.css.js.map +0 -1
- package/segmentedbuttonset/lib/_outlined-segmented-button-set-theme.scss +0 -53
- package/segmentedbuttonset/lib/_segmented-button-set-theme.scss +0 -41
- package/segmentedbuttonset/lib/_segmented-button-set.scss +0 -21
- package/switch/lib/_switch-handle-theme.scss +0 -137
- package/switch/lib/_switch-icon-theme.scss +0 -52
- package/switch/lib/_switch-theme.scss +0 -232
- package/switch/lib/_switch-track-theme.scss +0 -117
- package/textfield/lib/_filled-text-field-theme.scss +0 -203
- package/textfield/lib/_icon-theme.scss +0 -100
- package/textfield/lib/_input-theme.scss +0 -91
- package/textfield/lib/_outlined-text-field-theme.scss +0 -186
- package/textfield/lib/_text-field.scss +0 -28
- package/tokens/latest/_md-comp-assist-chip.scss +0 -98
- package/tokens/latest/_md-comp-badge.scss +0 -51
- package/tokens/latest/_md-comp-banner.scss +0 -99
- package/tokens/latest/_md-comp-bottom-app-bar.scss +0 -36
- package/tokens/latest/_md-comp-checkbox.scss +0 -119
- package/tokens/latest/_md-comp-circular-progress-indicator.scss +0 -37
- package/tokens/latest/_md-comp-date-input-modal.scss +0 -76
- package/tokens/latest/_md-comp-date-picker-docked.scss +0 -210
- package/tokens/latest/_md-comp-date-picker-modal.scss +0 -254
- package/tokens/latest/_md-comp-dialog.scss +0 -115
- package/tokens/latest/_md-comp-elevated-button.scss +0 -83
- package/tokens/latest/_md-comp-elevated-card.scss +0 -59
- package/tokens/latest/_md-comp-extended-fab-branded.scss +0 -77
- package/tokens/latest/_md-comp-extended-fab-primary.scss +0 -80
- package/tokens/latest/_md-comp-extended-fab-secondary.scss +0 -83
- package/tokens/latest/_md-comp-extended-fab-surface.scss +0 -81
- package/tokens/latest/_md-comp-extended-fab-tertiary.scss +0 -80
- package/tokens/latest/_md-comp-fab-branded-large.scss +0 -59
- package/tokens/latest/_md-comp-fab-branded.scss +0 -58
- package/tokens/latest/_md-comp-fab-primary-large.scss +0 -61
- package/tokens/latest/_md-comp-fab-primary-small.scss +0 -61
- package/tokens/latest/_md-comp-fab-primary.scss +0 -61
- package/tokens/latest/_md-comp-fab-secondary-large.scss +0 -63
- package/tokens/latest/_md-comp-fab-secondary-small.scss +0 -62
- package/tokens/latest/_md-comp-fab-secondary.scss +0 -63
- package/tokens/latest/_md-comp-fab-surface-large.scss +0 -62
- package/tokens/latest/_md-comp-fab-surface-small.scss +0 -62
- package/tokens/latest/_md-comp-fab-surface.scss +0 -62
- package/tokens/latest/_md-comp-fab-tertiary-large.scss +0 -61
- package/tokens/latest/_md-comp-fab-tertiary-small.scss +0 -61
- package/tokens/latest/_md-comp-fab-tertiary.scss +0 -61
- package/tokens/latest/_md-comp-filled-autocomplete.scss +0 -235
- package/tokens/latest/_md-comp-filled-button.scss +0 -87
- package/tokens/latest/_md-comp-filled-card.scss +0 -59
- package/tokens/latest/_md-comp-filled-icon-button.scss +0 -72
- package/tokens/latest/_md-comp-filled-menu-button.scss +0 -89
- package/tokens/latest/_md-comp-filled-select.scss +0 -243
- package/tokens/latest/_md-comp-filled-text-field.scss +0 -146
- package/tokens/latest/_md-comp-filled-tonal-button.scss +0 -88
- package/tokens/latest/_md-comp-filled-tonal-icon-button.scss +0 -83
- package/tokens/latest/_md-comp-filter-chip.scss +0 -172
- package/tokens/latest/_md-comp-full-screen-dialog.scss +0 -131
- package/tokens/latest/_md-comp-icon-button.scss +0 -66
- package/tokens/latest/_md-comp-input-chip.scss +0 -112
- package/tokens/latest/_md-comp-linear-progress-indicator.scss +0 -39
- package/tokens/latest/_md-comp-list.scss +0 -205
- package/tokens/latest/_md-comp-menu.scss +0 -113
- package/tokens/latest/_md-comp-navigation-bar.scss +0 -97
- package/tokens/latest/_md-comp-navigation-drawer.scss +0 -137
- package/tokens/latest/_md-comp-navigation-rail.scss +0 -132
- package/tokens/latest/_md-comp-outlined-autocomplete.scss +0 -223
- package/tokens/latest/_md-comp-outlined-button.scss +0 -80
- package/tokens/latest/_md-comp-outlined-card.scss +0 -65
- package/tokens/latest/_md-comp-outlined-icon-button.scss +0 -68
- package/tokens/latest/_md-comp-outlined-menu-button.scss +0 -83
- package/tokens/latest/_md-comp-outlined-segmented-button.scss +0 -97
- package/tokens/latest/_md-comp-outlined-select.scss +0 -231
- package/tokens/latest/_md-comp-outlined-text-field.scss +0 -140
- package/tokens/latest/_md-comp-plain-tooltip.scss +0 -46
- package/tokens/latest/_md-comp-primary-navigation-tab.scss +0 -110
- package/tokens/latest/_md-comp-radio-button.scss +0 -58
- package/tokens/latest/_md-comp-rich-tooltip.scss +0 -98
- package/tokens/latest/_md-comp-search-bar.scss +0 -84
- package/tokens/latest/_md-comp-search-view.scss +0 -79
- package/tokens/latest/_md-comp-secondary-navigation-tab.scss +0 -78
- package/tokens/latest/_md-comp-sheet-bottom.scss +0 -41
- package/tokens/latest/_md-comp-sheet-floating.scss +0 -34
- package/tokens/latest/_md-comp-sheet-side.scss +0 -75
- package/tokens/latest/_md-comp-slider.scss +0 -105
- package/tokens/latest/_md-comp-snackbar.scss +0 -91
- package/tokens/latest/_md-comp-standard-menu-button.scss +0 -82
- package/tokens/latest/_md-comp-suggestion-chip.scss +0 -90
- package/tokens/latest/_md-comp-switch.scss +0 -126
- package/tokens/latest/_md-comp-text-button.scss +0 -75
- package/tokens/latest/_md-comp-time-input.scss +0 -184
- package/tokens/latest/_md-comp-time-picker.scss +0 -235
- package/tokens/latest/_md-comp-top-app-bar-large.scss +0 -57
- package/tokens/latest/_md-comp-top-app-bar-medium.scss +0 -56
- package/tokens/latest/_md-comp-top-app-bar-small-centered.scss +0 -60
- package/tokens/latest/_md-comp-top-app-bar-small.scss +0 -58
- package/tokens/latest/_md-ref-palette.scss +0 -95
- package/tokens/latest/_md-ref-typeface.scss +0 -20
- package/tokens/latest/_md-sys-color.scss +0 -1006
- package/tokens/latest/_md-sys-elevation.scss +0 -30
- package/tokens/latest/_md-sys-motion.scss +0 -51
- package/tokens/latest/_md-sys-shape.scss +0 -26
- package/tokens/latest/_md-sys-state.scss +0 -19
- package/tokens/latest/_md-sys-typescale.scss +0 -204
- package/tokens/v0_75/_index.scss +0 -154
- package/tokens/v0_75/_md-comp-assist-chip.scss +0 -98
- package/tokens/v0_75/_md-comp-badge.scss +0 -51
- package/tokens/v0_75/_md-comp-banner.scss +0 -99
- package/tokens/v0_75/_md-comp-bottom-app-bar.scss +0 -36
- package/tokens/v0_75/_md-comp-checkbox.scss +0 -59
- package/tokens/v0_75/_md-comp-circular-progress-indicator.scss +0 -37
- package/tokens/v0_75/_md-comp-dialog.scss +0 -102
- package/tokens/v0_75/_md-comp-elevated-button.scss +0 -83
- package/tokens/v0_75/_md-comp-elevated-card.scss +0 -56
- package/tokens/v0_75/_md-comp-extended-fab-branded.scss +0 -77
- package/tokens/v0_75/_md-comp-extended-fab-primary.scss +0 -80
- package/tokens/v0_75/_md-comp-extended-fab-secondary.scss +0 -83
- package/tokens/v0_75/_md-comp-extended-fab-surface.scss +0 -81
- package/tokens/v0_75/_md-comp-extended-fab-tertiary.scss +0 -80
- package/tokens/v0_75/_md-comp-fab-branded-large.scss +0 -59
- package/tokens/v0_75/_md-comp-fab-branded.scss +0 -58
- package/tokens/v0_75/_md-comp-fab-primary-large.scss +0 -61
- package/tokens/v0_75/_md-comp-fab-primary-small.scss +0 -61
- package/tokens/v0_75/_md-comp-fab-primary.scss +0 -61
- package/tokens/v0_75/_md-comp-fab-secondary-large.scss +0 -63
- package/tokens/v0_75/_md-comp-fab-secondary-small.scss +0 -62
- package/tokens/v0_75/_md-comp-fab-secondary.scss +0 -63
- package/tokens/v0_75/_md-comp-fab-surface-large.scss +0 -62
- package/tokens/v0_75/_md-comp-fab-surface-small.scss +0 -62
- package/tokens/v0_75/_md-comp-fab-surface.scss +0 -62
- package/tokens/v0_75/_md-comp-fab-tertiary-large.scss +0 -61
- package/tokens/v0_75/_md-comp-fab-tertiary-small.scss +0 -61
- package/tokens/v0_75/_md-comp-fab-tertiary.scss +0 -61
- package/tokens/v0_75/_md-comp-filled-button-tonal.scss +0 -84
- package/tokens/v0_75/_md-comp-filled-button.scss +0 -87
- package/tokens/v0_75/_md-comp-filled-card.scss +0 -56
- package/tokens/v0_75/_md-comp-filled-icon-button.scss +0 -72
- package/tokens/v0_75/_md-comp-filled-text-field.scss +0 -142
- package/tokens/v0_75/_md-comp-filled-tonal-button.scss +0 -88
- package/tokens/v0_75/_md-comp-filled-tonal-icon-button.scss +0 -83
- package/tokens/v0_75/_md-comp-filter-chip.scss +0 -172
- package/tokens/v0_75/_md-comp-full-screen-dialog.scss +0 -131
- package/tokens/v0_75/_md-comp-icon-button.scss +0 -79
- package/tokens/v0_75/_md-comp-input-chip.scss +0 -112
- package/tokens/v0_75/_md-comp-linear-progress-indicator.scss +0 -39
- package/tokens/v0_75/_md-comp-list.scss +0 -205
- package/tokens/v0_75/_md-comp-menu.scss +0 -113
- package/tokens/v0_75/_md-comp-navigation-bar.scss +0 -131
- package/tokens/v0_75/_md-comp-navigation-drawer.scss +0 -137
- package/tokens/v0_75/_md-comp-navigation-rail.scss +0 -136
- package/tokens/v0_75/_md-comp-outlined-button.scss +0 -80
- package/tokens/v0_75/_md-comp-outlined-card.scss +0 -62
- package/tokens/v0_75/_md-comp-outlined-icon-button.scss +0 -68
- package/tokens/v0_75/_md-comp-outlined-segmented-button.scss +0 -96
- package/tokens/v0_75/_md-comp-outlined-text-field.scss +0 -136
- package/tokens/v0_75/_md-comp-primary-navigation-tab.scss +0 -116
- package/tokens/v0_75/_md-comp-radio-button.scss +0 -58
- package/tokens/v0_75/_md-comp-rich-tooltip.scss +0 -98
- package/tokens/v0_75/_md-comp-secondary-navigation-tab.scss +0 -75
- package/tokens/v0_75/_md-comp-slider.scss +0 -129
- package/tokens/v0_75/_md-comp-snackbar.scss +0 -77
- package/tokens/v0_75/_md-comp-suggestion-chip.scss +0 -90
- package/tokens/v0_75/_md-comp-switch.scss +0 -92
- package/tokens/v0_75/_md-comp-text-button.scss +0 -75
- package/tokens/v0_75/_md-comp-top-app-bar-compact-centered.scss +0 -53
- package/tokens/v0_75/_md-comp-top-app-bar-compact.scss +0 -43
- package/tokens/v0_75/_md-comp-top-app-bar-large.scss +0 -57
- package/tokens/v0_75/_md-comp-top-app-bar-medium.scss +0 -56
- package/tokens/v0_75/_md-comp-top-app-bar-small-centered.scss +0 -60
- package/tokens/v0_75/_md-comp-top-app-bar-small.scss +0 -58
- package/tokens/v0_75/_md-ref-palette.scss +0 -186
- package/tokens/v0_75/_md-ref-typeface.scss +0 -25
- package/tokens/v0_75/_md-sys-color.scss +0 -86
- package/tokens/v0_75/_md-sys-elevation.scss +0 -30
- package/tokens/v0_75/_md-sys-motion.scss +0 -61
- package/tokens/v0_75/_md-sys-shape.scss +0 -29
- package/tokens/v0_75/_md-sys-state.scss +0 -19
- package/tokens/v0_75/_md-sys-typescale.scss +0 -252
- package/tokens/v0_93/_index.scss +0 -184
- package/tokens/v0_93/_md-comp-assist-chip.scss +0 -98
- package/tokens/v0_93/_md-comp-badge.scss +0 -51
- package/tokens/v0_93/_md-comp-banner.scss +0 -99
- package/tokens/v0_93/_md-comp-bottom-app-bar.scss +0 -36
- package/tokens/v0_93/_md-comp-checkbox.scss +0 -119
- package/tokens/v0_93/_md-comp-circular-progress-indicator.scss +0 -37
- package/tokens/v0_93/_md-comp-date-input-modal.scss +0 -76
- package/tokens/v0_93/_md-comp-date-picker-docked.scss +0 -210
- package/tokens/v0_93/_md-comp-date-picker-modal.scss +0 -254
- package/tokens/v0_93/_md-comp-dialog.scss +0 -101
- package/tokens/v0_93/_md-comp-elevated-button.scss +0 -83
- package/tokens/v0_93/_md-comp-elevated-card.scss +0 -59
- package/tokens/v0_93/_md-comp-extended-fab-branded.scss +0 -77
- package/tokens/v0_93/_md-comp-extended-fab-primary.scss +0 -80
- package/tokens/v0_93/_md-comp-extended-fab-secondary.scss +0 -83
- package/tokens/v0_93/_md-comp-extended-fab-surface.scss +0 -81
- package/tokens/v0_93/_md-comp-extended-fab-tertiary.scss +0 -80
- package/tokens/v0_93/_md-comp-fab-branded-large.scss +0 -59
- package/tokens/v0_93/_md-comp-fab-branded.scss +0 -58
- package/tokens/v0_93/_md-comp-fab-primary-large.scss +0 -61
- package/tokens/v0_93/_md-comp-fab-primary-small.scss +0 -61
- package/tokens/v0_93/_md-comp-fab-primary.scss +0 -61
- package/tokens/v0_93/_md-comp-fab-secondary-large.scss +0 -63
- package/tokens/v0_93/_md-comp-fab-secondary-small.scss +0 -62
- package/tokens/v0_93/_md-comp-fab-secondary.scss +0 -63
- package/tokens/v0_93/_md-comp-fab-surface-large.scss +0 -62
- package/tokens/v0_93/_md-comp-fab-surface-small.scss +0 -62
- package/tokens/v0_93/_md-comp-fab-surface.scss +0 -62
- package/tokens/v0_93/_md-comp-fab-tertiary-large.scss +0 -61
- package/tokens/v0_93/_md-comp-fab-tertiary-small.scss +0 -61
- package/tokens/v0_93/_md-comp-fab-tertiary.scss +0 -61
- package/tokens/v0_93/_md-comp-filled-autocomplete.scss +0 -235
- package/tokens/v0_93/_md-comp-filled-button.scss +0 -87
- package/tokens/v0_93/_md-comp-filled-card.scss +0 -59
- package/tokens/v0_93/_md-comp-filled-icon-button.scss +0 -72
- package/tokens/v0_93/_md-comp-filled-menu-button.scss +0 -89
- package/tokens/v0_93/_md-comp-filled-select.scss +0 -243
- package/tokens/v0_93/_md-comp-filled-text-field.scss +0 -146
- package/tokens/v0_93/_md-comp-filled-tonal-button.scss +0 -88
- package/tokens/v0_93/_md-comp-filled-tonal-icon-button.scss +0 -83
- package/tokens/v0_93/_md-comp-filter-chip.scss +0 -172
- package/tokens/v0_93/_md-comp-full-screen-dialog.scss +0 -131
- package/tokens/v0_93/_md-comp-icon-button.scss +0 -66
- package/tokens/v0_93/_md-comp-input-chip.scss +0 -112
- package/tokens/v0_93/_md-comp-linear-progress-indicator.scss +0 -39
- package/tokens/v0_93/_md-comp-list.scss +0 -205
- package/tokens/v0_93/_md-comp-menu.scss +0 -113
- package/tokens/v0_93/_md-comp-navigation-bar.scss +0 -97
- package/tokens/v0_93/_md-comp-navigation-drawer.scss +0 -137
- package/tokens/v0_93/_md-comp-navigation-rail.scss +0 -132
- package/tokens/v0_93/_md-comp-outlined-autocomplete.scss +0 -223
- package/tokens/v0_93/_md-comp-outlined-button.scss +0 -80
- package/tokens/v0_93/_md-comp-outlined-card.scss +0 -65
- package/tokens/v0_93/_md-comp-outlined-icon-button.scss +0 -68
- package/tokens/v0_93/_md-comp-outlined-menu-button.scss +0 -83
- package/tokens/v0_93/_md-comp-outlined-segmented-button.scss +0 -97
- package/tokens/v0_93/_md-comp-outlined-select.scss +0 -231
- package/tokens/v0_93/_md-comp-outlined-text-field.scss +0 -140
- package/tokens/v0_93/_md-comp-plain-tooltip.scss +0 -46
- package/tokens/v0_93/_md-comp-primary-navigation-tab.scss +0 -110
- package/tokens/v0_93/_md-comp-radio-button.scss +0 -58
- package/tokens/v0_93/_md-comp-rich-tooltip.scss +0 -98
- package/tokens/v0_93/_md-comp-search-bar.scss +0 -84
- package/tokens/v0_93/_md-comp-search-view.scss +0 -79
- package/tokens/v0_93/_md-comp-secondary-navigation-tab.scss +0 -78
- package/tokens/v0_93/_md-comp-sheet-bottom.scss +0 -41
- package/tokens/v0_93/_md-comp-sheet-side.scss +0 -75
- package/tokens/v0_93/_md-comp-slider.scss +0 -105
- package/tokens/v0_93/_md-comp-snackbar.scss +0 -91
- package/tokens/v0_93/_md-comp-standard-menu-button.scss +0 -82
- package/tokens/v0_93/_md-comp-suggestion-chip.scss +0 -90
- package/tokens/v0_93/_md-comp-switch.scss +0 -126
- package/tokens/v0_93/_md-comp-text-button.scss +0 -75
- package/tokens/v0_93/_md-comp-time-input.scss +0 -184
- package/tokens/v0_93/_md-comp-time-picker.scss +0 -235
- package/tokens/v0_93/_md-comp-top-app-bar-large.scss +0 -57
- package/tokens/v0_93/_md-comp-top-app-bar-medium.scss +0 -56
- package/tokens/v0_93/_md-comp-top-app-bar-small-centered.scss +0 -60
- package/tokens/v0_93/_md-comp-top-app-bar-small.scss +0 -58
- package/tokens/v0_93/_md-ref-palette.scss +0 -95
- package/tokens/v0_93/_md-ref-typeface.scss +0 -20
- package/tokens/v0_93/_md-sys-color.scss +0 -1006
- package/tokens/v0_93/_md-sys-elevation.scss +0 -30
- package/tokens/v0_93/_md-sys-motion.scss +0 -51
- package/tokens/v0_93/_md-sys-shape.scss +0 -26
- package/tokens/v0_93/_md-sys-state.scss +0 -19
- package/tokens/v0_93/_md-sys-typescale.scss +0 -204
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip.js","sourceRoot":"","sources":["chip.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../action/delete-action.js';\n\nimport {html, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {ClassInfo} from 'lit/directives/class-map.js';\n\nimport {ActionElement} from '../../../actionelement/action-element.js';\nimport {ariaProperty} from '../../../decorators/aria-property.js';\n\n/** Defines the border type of a chip. */\nexport enum BorderType {\n ELEVATED = 'ELEVATED',\n HAIRLINE = 'HAIRLINE',\n}\n\n/** Defines the shape of the vertical edge of a chip. */\nexport enum EdgeType {\n ROUNDED = 'ROUNDED',\n STRAIGHT = 'STRAIGHT',\n}\n\n/** @soyCompatible */\nexport abstract class Chip extends ActionElement {\n @property({type: Boolean, reflect: true}) isFocusable = false;\n\n @property({type: Boolean, reflect: true}) isTouchable = false;\n\n @property({type: Boolean, reflect: true}) disabled = false;\n\n @property({type: Boolean, reflect: true}) hasAvatar = false;\n\n @property({type: Boolean, reflect: true}) hasDeleteAction = false;\n\n @property({type: String}) icon = '';\n\n @property({type: String}) label = '';\n\n @property({type: String}) borderType = BorderType.HAIRLINE;\n\n @property({type: String}) edgeType = EdgeType.ROUNDED;\n\n @property({type: String}) addedAnnouncement = '';\n\n @property({type: String}) removedAnnouncement = '';\n\n @property({type: String}) closeActionAriaLabel = '';\n\n /** @soyPrefixAttribute */\n @ariaProperty // tslint:disable-line:no-new-decorators\n @property({type: String, attribute: 'aria-label'})\n override ariaLabel!: string;\n\n /** @soyTemplate */\n protected getRootClasses(): ClassInfo {\n const hasIcon = this.icon.trim().length > 0;\n return {\n 'md3-chip': true,\n 'md3-chip--disabled': this.disabled,\n 'md3-chip--touch': this.isTouchable,\n 'md3-chip--with-primary-graphic': hasIcon,\n 'md3-chip--with-primary-icon': hasIcon,\n 'md3-chip--with-avatar': this.hasAvatar,\n 'md3-chip--with-delete-action': this.hasDeleteAction,\n };\n }\n\n /** @soyTemplate */\n protected renderOverlay(): TemplateResult {\n return this.borderType === BorderType.ELEVATED ?\n html`<div class=\"md3-elevation-overlay\" aria-hidden=\"true\"></div>` :\n html``;\n }\n\n /** @soyTemplate */\n protected renderDeleteAction(): TemplateResult {\n if (!this.hasDeleteAction) {\n return html``;\n } else {\n return html`\n <span class=\"md3-chip__cell md3-chip__cell--delete\"\n role=\"gridcell\">\n <md-delete-action\n ?disabled=${this.disabled}\n ?isFocusable=${this.isFocusable}\n ?isTouchable=${this.isTouchable}\n .ariaLabel=${this.closeActionAriaLabel}>\n </md-delete-action>\n </span>`;\n }\n }\n}\n"]}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
* Copyright 2022 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { AnimationFrame } from '@material/web/compat/animation/animationframe.js';
|
|
7
|
-
import { KEY } from '@material/web/compat/dom/keyboard.js';
|
|
8
6
|
import { MDCChipActionFocusBehavior, MDCChipActionInteractionTrigger, MDCChipActionType } from '../../action/lib/constants.js';
|
|
7
|
+
import { AnimationFrame } from './animationframe.js';
|
|
9
8
|
import { MDCChipAnimation, MDCChipAttributes, MDCChipCssClasses, MDCChipEvents } from './constants.js';
|
|
10
9
|
var Direction;
|
|
11
10
|
(function (Direction) {
|
|
@@ -177,8 +176,8 @@ export class MDCChipFoundation {
|
|
|
177
176
|
});
|
|
178
177
|
}
|
|
179
178
|
directionFromKey(key, isRTL) {
|
|
180
|
-
const isLeftKey = key ===
|
|
181
|
-
const isRightKey = key ===
|
|
179
|
+
const isLeftKey = key === 'ArrowLeft';
|
|
180
|
+
const isRightKey = key === 'ArrowRight';
|
|
182
181
|
if (!isRTL && isLeftKey || isRTL && isRightKey) {
|
|
183
182
|
return Direction.LEFT;
|
|
184
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundation.js","sourceRoot":"","sources":["foundation.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {AnimationFrame} from '@material/web/compat/animation/animationframe.js';\nimport {KEY} from '@material/web/compat/dom/keyboard.js';\n\nimport {MDCChipActionFocusBehavior, MDCChipActionInteractionTrigger, MDCChipActionType} from '../../action/lib/constants.js';\nimport {MDCChipActionInteractionEventDetail} from '../../action/lib/types.js';\n\nimport {MDCChipAdapter} from './adapter.js';\nimport {MDCChipAnimation, MDCChipAttributes, MDCChipCssClasses, MDCChipEvents} from './constants.js';\nimport {ActionInteractionEvent, ActionNavigationEvent, MDCChipAnimationEventDetail, MDCChipInteractionEventDetail, MDCChipNavigationEventDetail} from './types.js';\n\ninterface Navigation {\n from: MDCChipActionType;\n to: MDCChipActionType;\n}\n\nenum Direction {\n UNSPECIFIED, // Default\n LEFT,\n RIGHT,\n}\n\nenum AnimationKeys {\n SELECTION = 'selection',\n EXIT = 'exit',\n}\n\n/**\n * MDCChipFoundation provides a foundation for all chips.\n */\nexport class MDCChipFoundation {\n private readonly adapter: MDCChipAdapter;\n\n static get defaultAdapter(): MDCChipAdapter {\n return {\n addClass: () => undefined,\n emitEvent: () => undefined,\n getActions: () => [],\n getAttribute: () => null,\n getElementID: () => '',\n getOffsetWidth: () => 0,\n hasClass: () => false,\n isActionDisabled: () => false,\n isActionFocusable: () => false,\n isActionSelectable: () => false,\n isActionSelected: () => false,\n isRTL: () => false,\n removeClass: () => undefined,\n setActionDisabled: () => undefined,\n setActionFocus: () => undefined,\n setActionSelected: () => undefined,\n setStyleProperty: () => undefined,\n };\n }\n\n private readonly animFrame: AnimationFrame;\n\n constructor(adapter?: Partial<MDCChipAdapter>) {\n this.adapter = {...MDCChipFoundation.defaultAdapter, ...adapter};\n this.animFrame = new AnimationFrame();\n }\n\n destroy() {\n this.animFrame.cancelAll();\n }\n\n getElementID() {\n return this.adapter.getElementID();\n }\n\n setDisabled(isDisabled: boolean) {\n const actions = this.getActions();\n for (const action of actions) {\n this.adapter.setActionDisabled(action, isDisabled);\n }\n\n if (isDisabled) {\n this.adapter.addClass(MDCChipCssClasses.DISABLED);\n } else {\n this.adapter.removeClass(MDCChipCssClasses.DISABLED);\n }\n }\n\n isDisabled(): boolean {\n const actions = this.getActions();\n for (const action of actions) {\n if (this.adapter.isActionDisabled(action)) {\n return true;\n }\n }\n return false;\n }\n\n getActions(): MDCChipActionType[] {\n return this.adapter.getActions();\n }\n\n isActionFocusable(action: MDCChipActionType): boolean {\n return this.adapter.isActionFocusable(action);\n }\n\n isActionSelectable(action: MDCChipActionType): boolean {\n return this.adapter.isActionSelectable(action);\n }\n\n isActionSelected(action: MDCChipActionType): boolean {\n return this.adapter.isActionSelected(action);\n }\n\n setActionFocus(action: MDCChipActionType, focus: MDCChipActionFocusBehavior) {\n this.adapter.setActionFocus(action, focus);\n }\n\n setActionSelected(action: MDCChipActionType, isSelected: boolean) {\n this.adapter.setActionSelected(action, isSelected);\n this.animateSelection(isSelected);\n }\n\n startAnimation(animation: MDCChipAnimation) {\n if (animation === MDCChipAnimation.ENTER) {\n this.adapter.addClass(MDCChipCssClasses.ENTER);\n return;\n }\n\n if (animation === MDCChipAnimation.EXIT) {\n this.adapter.addClass(MDCChipCssClasses.EXIT);\n return;\n }\n }\n\n handleAnimationEnd(event: AnimationEvent) {\n const {animationName} = event;\n if (animationName === MDCChipAnimation.ENTER) {\n this.adapter.removeClass(MDCChipCssClasses.ENTER);\n this.adapter.emitEvent<MDCChipAnimationEventDetail>(\n MDCChipEvents.ANIMATION, {\n chipID: this.getElementID(),\n animation: MDCChipAnimation.ENTER,\n addedAnnouncement: this.getAddedAnnouncement(),\n isComplete: true,\n });\n return;\n }\n\n if (animationName === MDCChipAnimation.EXIT) {\n this.adapter.removeClass(MDCChipCssClasses.EXIT);\n this.adapter.addClass(MDCChipCssClasses.HIDDEN);\n const width = this.adapter.getOffsetWidth();\n this.adapter.setStyleProperty('width', `${width}px`);\n // Wait two frames so the width gets applied correctly.\n this.animFrame.request(AnimationKeys.EXIT, () => {\n this.animFrame.request(AnimationKeys.EXIT, () => {\n this.adapter.setStyleProperty('width', '0');\n });\n });\n }\n }\n\n handleTransitionEnd() {\n if (!this.adapter.hasClass(MDCChipCssClasses.HIDDEN)) return;\n\n this.adapter.emitEvent<MDCChipAnimationEventDetail>(\n MDCChipEvents.ANIMATION, {\n chipID: this.getElementID(),\n animation: MDCChipAnimation.EXIT,\n removedAnnouncement: this.getRemovedAnnouncement(),\n isComplete: true,\n });\n }\n\n handleActionInteraction({detail}: ActionInteractionEvent) {\n const {source, actionID} = detail;\n const isSelectable = this.adapter.isActionSelectable(source);\n const isSelected = this.adapter.isActionSelected(source);\n\n this.adapter.emitEvent<MDCChipInteractionEventDetail>(\n MDCChipEvents.INTERACTION, {\n chipID: this.getElementID(),\n shouldRemove: this.shouldRemove(detail),\n actionID,\n isSelectable,\n isSelected,\n source,\n });\n }\n\n handleActionNavigation({detail}: ActionNavigationEvent) {\n const {source, key} = detail;\n const isRTL = this.adapter.isRTL();\n const isTrailingActionFocusable =\n this.adapter.isActionFocusable(MDCChipActionType.TRAILING);\n const isPrimaryActionFocusable =\n this.adapter.isActionFocusable(MDCChipActionType.PRIMARY);\n const dir = this.directionFromKey(key, isRTL);\n\n const shouldNavigateToTrailing = source === MDCChipActionType.PRIMARY &&\n dir === Direction.RIGHT && isTrailingActionFocusable;\n\n const shouldNavigateToPrimary = source === MDCChipActionType.TRAILING &&\n dir === Direction.LEFT && isPrimaryActionFocusable;\n\n if (shouldNavigateToTrailing) {\n this.navigateActions({from: source, to: MDCChipActionType.TRAILING});\n return;\n }\n\n if (shouldNavigateToPrimary) {\n this.navigateActions({from: source, to: MDCChipActionType.PRIMARY});\n return;\n }\n\n this.adapter.emitEvent<MDCChipNavigationEventDetail>(\n MDCChipEvents.NAVIGATION, {\n chipID: this.getElementID(),\n isRTL,\n source,\n key,\n });\n }\n\n private directionFromKey(key: string, isRTL: boolean): Direction {\n const isLeftKey = key === KEY.ARROW_LEFT;\n const isRightKey = key === KEY.ARROW_RIGHT;\n if (!isRTL && isLeftKey || isRTL && isRightKey) {\n return Direction.LEFT;\n }\n\n if (!isRTL && isRightKey || isRTL && isLeftKey) {\n return Direction.RIGHT;\n }\n\n return Direction.UNSPECIFIED;\n }\n\n private navigateActions(nav: Navigation) {\n this.adapter.setActionFocus(\n nav.from, MDCChipActionFocusBehavior.NOT_FOCUSABLE);\n this.adapter.setActionFocus(\n nav.to, MDCChipActionFocusBehavior.FOCUSABLE_AND_FOCUSED);\n }\n\n private shouldRemove({source, trigger}: MDCChipActionInteractionEventDetail):\n boolean {\n if (trigger === MDCChipActionInteractionTrigger.BACKSPACE_KEY ||\n trigger === MDCChipActionInteractionTrigger.DELETE_KEY) {\n return true;\n }\n\n return source === MDCChipActionType.TRAILING;\n }\n\n private getRemovedAnnouncement(): string|undefined {\n const msg =\n this.adapter.getAttribute(MDCChipAttributes.DATA_REMOVED_ANNOUNCEMENT);\n return msg || undefined;\n }\n\n private getAddedAnnouncement(): string|undefined {\n const msg =\n this.adapter.getAttribute(MDCChipAttributes.DATA_ADDED_ANNOUNCEMENT);\n return msg || undefined;\n }\n\n private animateSelection(isSelected: boolean) {\n this.resetAnimationStyles();\n // Wait two frames to ensure the animation classes are unset\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.updateSelectionStyles(isSelected);\n });\n });\n }\n\n private resetAnimationStyles() {\n this.adapter.removeClass(MDCChipCssClasses.SELECTING);\n this.adapter.removeClass(MDCChipCssClasses.DESELECTING);\n this.adapter.removeClass(MDCChipCssClasses.SELECTING_WITH_PRIMARY_ICON);\n this.adapter.removeClass(MDCChipCssClasses.DESELECTING_WITH_PRIMARY_ICON);\n }\n\n private updateSelectionStyles(isSelected: boolean) {\n const hasIcon = this.adapter.hasClass(MDCChipCssClasses.WITH_PRIMARY_ICON);\n if (hasIcon && isSelected) {\n this.adapter.addClass(MDCChipCssClasses.SELECTING_WITH_PRIMARY_ICON);\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.adapter.addClass(MDCChipCssClasses.SELECTED);\n });\n return;\n }\n\n if (hasIcon && !isSelected) {\n this.adapter.addClass(MDCChipCssClasses.DESELECTING_WITH_PRIMARY_ICON);\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.adapter.removeClass(MDCChipCssClasses.SELECTED);\n });\n return;\n }\n\n if (isSelected) {\n this.adapter.addClass(MDCChipCssClasses.SELECTING);\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.adapter.addClass(MDCChipCssClasses.SELECTED);\n });\n return;\n }\n\n if (!isSelected) {\n this.adapter.addClass(MDCChipCssClasses.DESELECTING);\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.adapter.removeClass(MDCChipCssClasses.SELECTED);\n });\n return;\n }\n }\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"foundation.js","sourceRoot":"","sources":["foundation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,0BAA0B,EAAE,+BAA+B,EAAE,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAI7H,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAQrG,IAAK,SAIJ;AAJD,WAAK,SAAS;IACZ,uDAAW,CAAA;IACX,yCAAI,CAAA;IACJ,2CAAK,CAAA;AACP,CAAC,EAJI,SAAS,KAAT,SAAS,QAIb;AAED,IAAK,aAGJ;AAHD,WAAK,aAAa;IAChB,wCAAuB,CAAA;IACvB,8BAAa,CAAA;AACf,CAAC,EAHI,aAAa,KAAb,aAAa,QAGjB;AAED;;GAEG;AACH,MAAM,OAAO,iBAAiB;IA2B5B,YAAY,OAAiC;QAC3C,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,iBAAiB,CAAC,cAAc,EAAE,GAAG,OAAO,EAAC,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IACxC,CAAC;IA3BD,MAAM,KAAK,cAAc;QACvB,OAAO;YACL,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;YACzB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;YAC1B,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE;YACpB,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI;YACxB,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;YACtB,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;YACvB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,gBAAgB,EAAE,GAAG,EAAE,CAAC,KAAK;YAC7B,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;YAC9B,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK;YAC/B,gBAAgB,EAAE,GAAG,EAAE,CAAC,KAAK;YAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;YAClB,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;YAC5B,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS;YAClC,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;YAC/B,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS;YAClC,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;SAClC,CAAC;IACJ,CAAC;IASD,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,WAAW,CAAC,UAAmB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SACpD;QAED,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SACnD;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SACtD;IACH,CAAC;IAED,UAAU;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;gBACzC,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,iBAAiB,CAAC,MAAyB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,kBAAkB,CAAC,MAAyB;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB,CAAC,MAAyB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc,CAAC,MAAyB,EAAE,KAAiC;QACzE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,iBAAiB,CAAC,MAAyB,EAAE,UAAmB;QAC9D,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,SAA2B;QACxC,IAAI,SAAS,KAAK,gBAAgB,CAAC,KAAK,EAAE;YACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC/C,OAAO;SACR;QAED,IAAI,SAAS,KAAK,gBAAgB,CAAC,IAAI,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO;SACR;IACH,CAAC;IAED,kBAAkB,CAAC,KAAqB;QACtC,MAAM,EAAC,aAAa,EAAC,GAAG,KAAK,CAAC;QAC9B,IAAI,aAAa,KAAK,gBAAgB,CAAC,KAAK,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,SAAS,CAClB,aAAa,CAAC,SAAS,EAAE;gBACvB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE;gBAC3B,SAAS,EAAE,gBAAgB,CAAC,KAAK;gBACjC,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,EAAE;gBAC9C,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACP,OAAO;SACR;QAED,IAAI,aAAa,KAAK,gBAAgB,CAAC,IAAI,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;YACrD,uDAAuD;YACvD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC9C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC9C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAAE,OAAO;QAE7D,IAAI,CAAC,OAAO,CAAC,SAAS,CAClB,aAAa,CAAC,SAAS,EAAE;YACvB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE;YAC3B,SAAS,EAAE,gBAAgB,CAAC,IAAI;YAChC,mBAAmB,EAAE,IAAI,CAAC,sBAAsB,EAAE;YAClD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACT,CAAC;IAED,uBAAuB,CAAC,EAAC,MAAM,EAAyB;QACtD,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,CAAC,SAAS,CAClB,aAAa,CAAC,WAAW,EAAE;YACzB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACvC,QAAQ;YACR,YAAY;YACZ,UAAU;YACV,MAAM;SACP,CAAC,CAAC;IACT,CAAC;IAED,sBAAsB,CAAC,EAAC,MAAM,EAAwB;QACpD,MAAM,EAAC,MAAM,EAAE,GAAG,EAAC,GAAG,MAAM,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,yBAAyB,GAC3B,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,wBAAwB,GAC1B,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE9C,MAAM,wBAAwB,GAAG,MAAM,KAAK,iBAAiB,CAAC,OAAO;YACjE,GAAG,KAAK,SAAS,CAAC,KAAK,IAAI,yBAAyB,CAAC;QAEzD,MAAM,uBAAuB,GAAG,MAAM,KAAK,iBAAiB,CAAC,QAAQ;YACjE,GAAG,KAAK,SAAS,CAAC,IAAI,IAAI,wBAAwB,CAAC;QAEvD,IAAI,wBAAwB,EAAE;YAC5B,IAAI,CAAC,eAAe,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,CAAC,QAAQ,EAAC,CAAC,CAAC;YACrE,OAAO;SACR;QAED,IAAI,uBAAuB,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,CAAC,OAAO,EAAC,CAAC,CAAC;YACpE,OAAO;SACR;QAED,IAAI,CAAC,OAAO,CAAC,SAAS,CAClB,aAAa,CAAC,UAAU,EAAE;YACxB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE;YAC3B,KAAK;YACL,MAAM;YACN,GAAG;SACJ,CAAC,CAAC;IACT,CAAC;IAEO,gBAAgB,CAAC,GAAW,EAAE,KAAc;QAClD,MAAM,SAAS,GAAG,GAAG,KAAK,WAAW,CAAC;QACtC,MAAM,UAAU,GAAG,GAAG,KAAK,YAAY,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,UAAU,EAAE;YAC9C,OAAO,SAAS,CAAC,IAAI,CAAC;SACvB;QAED,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,SAAS,EAAE;YAC9C,OAAO,SAAS,CAAC,KAAK,CAAC;SACxB;QAED,OAAO,SAAS,CAAC,WAAW,CAAC;IAC/B,CAAC;IAEO,eAAe,CAAC,GAAe;QACrC,IAAI,CAAC,OAAO,CAAC,cAAc,CACvB,GAAG,CAAC,IAAI,EAAE,0BAA0B,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,cAAc,CACvB,GAAG,CAAC,EAAE,EAAE,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC;IAEO,YAAY,CAAC,EAAC,MAAM,EAAE,OAAO,EAAsC;QAEzE,IAAI,OAAO,KAAK,+BAA+B,CAAC,aAAa;YACzD,OAAO,KAAK,+BAA+B,CAAC,UAAU,EAAE;YAC1D,OAAO,IAAI,CAAC;SACb;QAED,OAAO,MAAM,KAAK,iBAAiB,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAEO,sBAAsB;QAC5B,MAAM,GAAG,GACL,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QAC3E,OAAO,GAAG,IAAI,SAAS,CAAC;IAC1B,CAAC;IAEO,oBAAoB;QAC1B,MAAM,GAAG,GACL,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;QACzE,OAAO,GAAG,IAAI,SAAS,CAAC;IAC1B,CAAC;IAEO,gBAAgB,CAAC,UAAmB;QAC1C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,4DAA4D;QAC5D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE;YACnD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE;gBACnD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;IAC5E,CAAC;IAEO,qBAAqB,CAAC,UAAmB;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAC3E,IAAI,OAAO,IAAI,UAAU,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;YACrE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE;gBACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,OAAO;SACR;QAED,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;YACvE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE;gBACnD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,OAAO;SACR;QAED,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE;gBACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,OAAO;SACR;QAED,IAAI,CAAC,UAAU,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE;gBACnD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,OAAO;SACR;IACH,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {MDCChipActionFocusBehavior, MDCChipActionInteractionTrigger, MDCChipActionType} from '../../action/lib/constants.js';\nimport {MDCChipActionInteractionEventDetail} from '../../action/lib/types.js';\n\nimport {MDCChipAdapter} from './adapter.js';\nimport {AnimationFrame} from './animationframe.js';\nimport {MDCChipAnimation, MDCChipAttributes, MDCChipCssClasses, MDCChipEvents} from './constants.js';\nimport {ActionInteractionEvent, ActionNavigationEvent, MDCChipAnimationEventDetail, MDCChipInteractionEventDetail, MDCChipNavigationEventDetail} from './types.js';\n\ninterface Navigation {\n from: MDCChipActionType;\n to: MDCChipActionType;\n}\n\nenum Direction {\n UNSPECIFIED, // Default\n LEFT,\n RIGHT,\n}\n\nenum AnimationKeys {\n SELECTION = 'selection',\n EXIT = 'exit',\n}\n\n/**\n * MDCChipFoundation provides a foundation for all chips.\n */\nexport class MDCChipFoundation {\n private readonly adapter: MDCChipAdapter;\n\n static get defaultAdapter(): MDCChipAdapter {\n return {\n addClass: () => undefined,\n emitEvent: () => undefined,\n getActions: () => [],\n getAttribute: () => null,\n getElementID: () => '',\n getOffsetWidth: () => 0,\n hasClass: () => false,\n isActionDisabled: () => false,\n isActionFocusable: () => false,\n isActionSelectable: () => false,\n isActionSelected: () => false,\n isRTL: () => false,\n removeClass: () => undefined,\n setActionDisabled: () => undefined,\n setActionFocus: () => undefined,\n setActionSelected: () => undefined,\n setStyleProperty: () => undefined,\n };\n }\n\n private readonly animFrame: AnimationFrame;\n\n constructor(adapter?: Partial<MDCChipAdapter>) {\n this.adapter = {...MDCChipFoundation.defaultAdapter, ...adapter};\n this.animFrame = new AnimationFrame();\n }\n\n destroy() {\n this.animFrame.cancelAll();\n }\n\n getElementID() {\n return this.adapter.getElementID();\n }\n\n setDisabled(isDisabled: boolean) {\n const actions = this.getActions();\n for (const action of actions) {\n this.adapter.setActionDisabled(action, isDisabled);\n }\n\n if (isDisabled) {\n this.adapter.addClass(MDCChipCssClasses.DISABLED);\n } else {\n this.adapter.removeClass(MDCChipCssClasses.DISABLED);\n }\n }\n\n isDisabled(): boolean {\n const actions = this.getActions();\n for (const action of actions) {\n if (this.adapter.isActionDisabled(action)) {\n return true;\n }\n }\n return false;\n }\n\n getActions(): MDCChipActionType[] {\n return this.adapter.getActions();\n }\n\n isActionFocusable(action: MDCChipActionType): boolean {\n return this.adapter.isActionFocusable(action);\n }\n\n isActionSelectable(action: MDCChipActionType): boolean {\n return this.adapter.isActionSelectable(action);\n }\n\n isActionSelected(action: MDCChipActionType): boolean {\n return this.adapter.isActionSelected(action);\n }\n\n setActionFocus(action: MDCChipActionType, focus: MDCChipActionFocusBehavior) {\n this.adapter.setActionFocus(action, focus);\n }\n\n setActionSelected(action: MDCChipActionType, isSelected: boolean) {\n this.adapter.setActionSelected(action, isSelected);\n this.animateSelection(isSelected);\n }\n\n startAnimation(animation: MDCChipAnimation) {\n if (animation === MDCChipAnimation.ENTER) {\n this.adapter.addClass(MDCChipCssClasses.ENTER);\n return;\n }\n\n if (animation === MDCChipAnimation.EXIT) {\n this.adapter.addClass(MDCChipCssClasses.EXIT);\n return;\n }\n }\n\n handleAnimationEnd(event: AnimationEvent) {\n const {animationName} = event;\n if (animationName === MDCChipAnimation.ENTER) {\n this.adapter.removeClass(MDCChipCssClasses.ENTER);\n this.adapter.emitEvent<MDCChipAnimationEventDetail>(\n MDCChipEvents.ANIMATION, {\n chipID: this.getElementID(),\n animation: MDCChipAnimation.ENTER,\n addedAnnouncement: this.getAddedAnnouncement(),\n isComplete: true,\n });\n return;\n }\n\n if (animationName === MDCChipAnimation.EXIT) {\n this.adapter.removeClass(MDCChipCssClasses.EXIT);\n this.adapter.addClass(MDCChipCssClasses.HIDDEN);\n const width = this.adapter.getOffsetWidth();\n this.adapter.setStyleProperty('width', `${width}px`);\n // Wait two frames so the width gets applied correctly.\n this.animFrame.request(AnimationKeys.EXIT, () => {\n this.animFrame.request(AnimationKeys.EXIT, () => {\n this.adapter.setStyleProperty('width', '0');\n });\n });\n }\n }\n\n handleTransitionEnd() {\n if (!this.adapter.hasClass(MDCChipCssClasses.HIDDEN)) return;\n\n this.adapter.emitEvent<MDCChipAnimationEventDetail>(\n MDCChipEvents.ANIMATION, {\n chipID: this.getElementID(),\n animation: MDCChipAnimation.EXIT,\n removedAnnouncement: this.getRemovedAnnouncement(),\n isComplete: true,\n });\n }\n\n handleActionInteraction({detail}: ActionInteractionEvent) {\n const {source, actionID} = detail;\n const isSelectable = this.adapter.isActionSelectable(source);\n const isSelected = this.adapter.isActionSelected(source);\n\n this.adapter.emitEvent<MDCChipInteractionEventDetail>(\n MDCChipEvents.INTERACTION, {\n chipID: this.getElementID(),\n shouldRemove: this.shouldRemove(detail),\n actionID,\n isSelectable,\n isSelected,\n source,\n });\n }\n\n handleActionNavigation({detail}: ActionNavigationEvent) {\n const {source, key} = detail;\n const isRTL = this.adapter.isRTL();\n const isTrailingActionFocusable =\n this.adapter.isActionFocusable(MDCChipActionType.TRAILING);\n const isPrimaryActionFocusable =\n this.adapter.isActionFocusable(MDCChipActionType.PRIMARY);\n const dir = this.directionFromKey(key, isRTL);\n\n const shouldNavigateToTrailing = source === MDCChipActionType.PRIMARY &&\n dir === Direction.RIGHT && isTrailingActionFocusable;\n\n const shouldNavigateToPrimary = source === MDCChipActionType.TRAILING &&\n dir === Direction.LEFT && isPrimaryActionFocusable;\n\n if (shouldNavigateToTrailing) {\n this.navigateActions({from: source, to: MDCChipActionType.TRAILING});\n return;\n }\n\n if (shouldNavigateToPrimary) {\n this.navigateActions({from: source, to: MDCChipActionType.PRIMARY});\n return;\n }\n\n this.adapter.emitEvent<MDCChipNavigationEventDetail>(\n MDCChipEvents.NAVIGATION, {\n chipID: this.getElementID(),\n isRTL,\n source,\n key,\n });\n }\n\n private directionFromKey(key: string, isRTL: boolean): Direction {\n const isLeftKey = key === 'ArrowLeft';\n const isRightKey = key === 'ArrowRight';\n if (!isRTL && isLeftKey || isRTL && isRightKey) {\n return Direction.LEFT;\n }\n\n if (!isRTL && isRightKey || isRTL && isLeftKey) {\n return Direction.RIGHT;\n }\n\n return Direction.UNSPECIFIED;\n }\n\n private navigateActions(nav: Navigation) {\n this.adapter.setActionFocus(\n nav.from, MDCChipActionFocusBehavior.NOT_FOCUSABLE);\n this.adapter.setActionFocus(\n nav.to, MDCChipActionFocusBehavior.FOCUSABLE_AND_FOCUSED);\n }\n\n private shouldRemove({source, trigger}: MDCChipActionInteractionEventDetail):\n boolean {\n if (trigger === MDCChipActionInteractionTrigger.BACKSPACE_KEY ||\n trigger === MDCChipActionInteractionTrigger.DELETE_KEY) {\n return true;\n }\n\n return source === MDCChipActionType.TRAILING;\n }\n\n private getRemovedAnnouncement(): string|undefined {\n const msg =\n this.adapter.getAttribute(MDCChipAttributes.DATA_REMOVED_ANNOUNCEMENT);\n return msg || undefined;\n }\n\n private getAddedAnnouncement(): string|undefined {\n const msg =\n this.adapter.getAttribute(MDCChipAttributes.DATA_ADDED_ANNOUNCEMENT);\n return msg || undefined;\n }\n\n private animateSelection(isSelected: boolean) {\n this.resetAnimationStyles();\n // Wait two frames to ensure the animation classes are unset\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.updateSelectionStyles(isSelected);\n });\n });\n }\n\n private resetAnimationStyles() {\n this.adapter.removeClass(MDCChipCssClasses.SELECTING);\n this.adapter.removeClass(MDCChipCssClasses.DESELECTING);\n this.adapter.removeClass(MDCChipCssClasses.SELECTING_WITH_PRIMARY_ICON);\n this.adapter.removeClass(MDCChipCssClasses.DESELECTING_WITH_PRIMARY_ICON);\n }\n\n private updateSelectionStyles(isSelected: boolean) {\n const hasIcon = this.adapter.hasClass(MDCChipCssClasses.WITH_PRIMARY_ICON);\n if (hasIcon && isSelected) {\n this.adapter.addClass(MDCChipCssClasses.SELECTING_WITH_PRIMARY_ICON);\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.adapter.addClass(MDCChipCssClasses.SELECTED);\n });\n return;\n }\n\n if (hasIcon && !isSelected) {\n this.adapter.addClass(MDCChipCssClasses.DESELECTING_WITH_PRIMARY_ICON);\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.adapter.removeClass(MDCChipCssClasses.SELECTED);\n });\n return;\n }\n\n if (isSelected) {\n this.adapter.addClass(MDCChipCssClasses.SELECTING);\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.adapter.addClass(MDCChipCssClasses.SELECTED);\n });\n return;\n }\n\n if (!isSelected) {\n this.adapter.addClass(MDCChipCssClasses.DESELECTING);\n this.animFrame.request(AnimationKeys.SELECTION, () => {\n this.adapter.removeClass(MDCChipCssClasses.SELECTED);\n });\n return;\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import '../../action/link-action.js';
|
|
7
|
+
import { TemplateResult } from 'lit';
|
|
8
|
+
import { Chip } from './chip.js';
|
|
9
|
+
/** @soyCompatible */
|
|
10
|
+
export declare class LinkChip extends Chip {
|
|
11
|
+
href: string;
|
|
12
|
+
target: string;
|
|
13
|
+
/**
|
|
14
|
+
* @soyTemplate
|
|
15
|
+
* @soyAttributes attributes: .md3-chip
|
|
16
|
+
* @soyAttributes linkAttributes: .md3-chip__action
|
|
17
|
+
*/
|
|
18
|
+
protected render(): TemplateResult;
|
|
19
|
+
/** @soyTemplate */
|
|
20
|
+
private renderPrimaryAction;
|
|
21
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { __decorate, __metadata } from "tslib";
|
|
7
|
+
// import '@material/web/chips/action.js';
|
|
8
|
+
import '../../action/link-action.js';
|
|
9
|
+
import { html } from 'lit';
|
|
10
|
+
import { property } from 'lit/decorators.js';
|
|
11
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
12
|
+
import { Chip } from './chip.js';
|
|
13
|
+
/** @soyCompatible */
|
|
14
|
+
export class LinkChip extends Chip {
|
|
15
|
+
/**
|
|
16
|
+
* @soyTemplate
|
|
17
|
+
* @soyAttributes attributes: .md3-chip
|
|
18
|
+
* @soyAttributes linkAttributes: .md3-chip__action
|
|
19
|
+
*/
|
|
20
|
+
render() {
|
|
21
|
+
return html `
|
|
22
|
+
<span class="${classMap(this.getRootClasses())}" role="row">
|
|
23
|
+
${this.renderOverlay()}
|
|
24
|
+
<span class="md3-chip__cell md3-chip__cell--primary" role="gridcell">
|
|
25
|
+
${this.renderPrimaryAction()}
|
|
26
|
+
</span>
|
|
27
|
+
${this.renderDeleteAction()}
|
|
28
|
+
</span>`;
|
|
29
|
+
}
|
|
30
|
+
/** @soyTemplate */
|
|
31
|
+
renderPrimaryAction() {
|
|
32
|
+
return html `
|
|
33
|
+
<md-link-action
|
|
34
|
+
?disabled=${this.disabled}
|
|
35
|
+
?isFocusable=${this.isFocusable}
|
|
36
|
+
?isTouchable=${this.isTouchable}
|
|
37
|
+
.icon=${this.icon}
|
|
38
|
+
.label=${this.label}
|
|
39
|
+
.ariaLabel=${this.ariaLabel}
|
|
40
|
+
.href=${this.href}
|
|
41
|
+
.target=${this.target}>
|
|
42
|
+
</md-link-action>`;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
__decorate([
|
|
46
|
+
property({ type: String }),
|
|
47
|
+
__metadata("design:type", String)
|
|
48
|
+
], LinkChip.prototype, "href", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
property({ type: String }),
|
|
51
|
+
__metadata("design:type", String)
|
|
52
|
+
], LinkChip.prototype, "target", void 0);
|
|
53
|
+
//# sourceMappingURL=link-chip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-chip.js","sourceRoot":"","sources":["link-chip.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,0CAA0C;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,qBAAqB;AACrB,MAAM,OAAO,QAAS,SAAQ,IAAI;IAKhC;;;;OAIG;IACgB,MAAM;QACvB,OAAO,IAAI,CAAA;qBACM,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;UAC1C,IAAI,CAAC,aAAa,EAAE;;YAElB,IAAI,CAAC,mBAAmB,EAAE;;UAE5B,IAAI,CAAC,kBAAkB,EAAE;cACrB,CAAC;IACb,CAAC;IAED,mBAAmB;IACX,mBAAmB;QACzB,OAAO,IAAI,CAAA;;sBAEO,IAAI,CAAC,QAAQ;yBACV,IAAI,CAAC,WAAW;yBAChB,IAAI,CAAC,WAAW;kBACvB,IAAI,CAAC,IAAI;mBACR,IAAI,CAAC,KAAK;uBACN,IAAI,CAAC,SAAS;kBACnB,IAAI,CAAC,IAAI;oBACP,IAAI,CAAC,MAAM;wBACP,CAAC;IACvB,CAAC;CACF;AAlC2B;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;;sCAAe;AAEd;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;;wCAAiB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// import '@material/web/chips/action.js';\nimport '../../action/link-action.js';\n\nimport {html, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {Chip} from './chip.js';\n\n/** @soyCompatible */\nexport class LinkChip extends Chip {\n @property({type: String}) href!: string;\n\n @property({type: String}) target!: string;\n\n /**\n * @soyTemplate\n * @soyAttributes attributes: .md3-chip\n * @soyAttributes linkAttributes: .md3-chip__action\n */\n protected override render(): TemplateResult {\n return html`\n <span class=\"${classMap(this.getRootClasses())}\" role=\"row\">\n ${this.renderOverlay()}\n <span class=\"md3-chip__cell md3-chip__cell--primary\" role=\"gridcell\">\n ${this.renderPrimaryAction()}\n </span>\n ${this.renderDeleteAction()}\n </span>`;\n }\n\n /** @soyTemplate */\n private renderPrimaryAction(): TemplateResult {\n return html`\n <md-link-action\n ?disabled=${this.disabled}\n ?isFocusable=${this.isFocusable}\n ?isTouchable=${this.isTouchable}\n .icon=${this.icon}\n .label=${this.label}\n .ariaLabel=${this.ariaLabel}\n .href=${this.href}\n .target=${this.target}>\n </md-link-action>`;\n }\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import '../../action/presentational-action.js';
|
|
7
|
+
import { TemplateResult } from 'lit';
|
|
8
|
+
import { Chip } from './chip.js';
|
|
9
|
+
/** @soyCompatible */
|
|
10
|
+
export declare class PresentationalChip extends Chip {
|
|
11
|
+
/**
|
|
12
|
+
* @soyTemplate
|
|
13
|
+
* @soyAttributes attributes: .md3-chip
|
|
14
|
+
*/
|
|
15
|
+
protected render(): TemplateResult;
|
|
16
|
+
/** @soyTemplate */
|
|
17
|
+
private renderPrimaryAction;
|
|
18
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import '../../action/presentational-action.js';
|
|
7
|
+
import { html } from 'lit';
|
|
8
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
9
|
+
import { Chip } from './chip.js';
|
|
10
|
+
/** @soyCompatible */
|
|
11
|
+
export class PresentationalChip extends Chip {
|
|
12
|
+
/**
|
|
13
|
+
* @soyTemplate
|
|
14
|
+
* @soyAttributes attributes: .md3-chip
|
|
15
|
+
*/
|
|
16
|
+
render() {
|
|
17
|
+
return html `
|
|
18
|
+
<span class="${classMap(this.getRootClasses())}" role="row">
|
|
19
|
+
${this.renderOverlay()}
|
|
20
|
+
<span class="md3-chip__cell md3-chip__cell--primary" role="gridcell">
|
|
21
|
+
${this.renderPrimaryAction()}
|
|
22
|
+
</span>
|
|
23
|
+
${this.renderDeleteAction()}
|
|
24
|
+
</span>`;
|
|
25
|
+
}
|
|
26
|
+
/** @soyTemplate */
|
|
27
|
+
renderPrimaryAction() {
|
|
28
|
+
return html `
|
|
29
|
+
<md-presentational-action
|
|
30
|
+
?disabled=${this.disabled}
|
|
31
|
+
?isFocusable=${this.isFocusable}
|
|
32
|
+
?isTouchable=${this.isTouchable}
|
|
33
|
+
.icon=${this.icon}
|
|
34
|
+
.label=${this.label}
|
|
35
|
+
.ariaLabel=${this.ariaLabel}>
|
|
36
|
+
</md-presentational-action>`;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=presentational-chip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentational-chip.js","sourceRoot":"","sources":["presentational-chip.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,uCAAuC,CAAC;AAE/C,OAAO,EAAC,IAAI,EAAiB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,qBAAqB;AACrB,MAAM,OAAO,kBAAmB,SAAQ,IAAI;IAC1C;;;OAGG;IACgB,MAAM;QACvB,OAAO,IAAI,CAAA;qBACM,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;UAC1C,IAAI,CAAC,aAAa,EAAE;;YAElB,IAAI,CAAC,mBAAmB,EAAE;;UAE5B,IAAI,CAAC,kBAAkB,EAAE;cACrB,CAAC;IACb,CAAC;IAED,mBAAmB;IACX,mBAAmB;QACzB,OAAO,IAAI,CAAA;;sBAEO,IAAI,CAAC,QAAQ;yBACV,IAAI,CAAC,WAAW;yBAChB,IAAI,CAAC,WAAW;kBACvB,IAAI,CAAC,IAAI;mBACR,IAAI,CAAC,KAAK;uBACN,IAAI,CAAC,SAAS;kCACH,CAAC;IACjC,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../action/presentational-action.js';\n\nimport {html, TemplateResult} from 'lit';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {Chip} from './chip.js';\n\n/** @soyCompatible */\nexport class PresentationalChip extends Chip {\n /**\n * @soyTemplate\n * @soyAttributes attributes: .md3-chip\n */\n protected override render(): TemplateResult {\n return html`\n <span class=\"${classMap(this.getRootClasses())}\" role=\"row\">\n ${this.renderOverlay()}\n <span class=\"md3-chip__cell md3-chip__cell--primary\" role=\"gridcell\">\n ${this.renderPrimaryAction()}\n </span>\n ${this.renderDeleteAction()}\n </span>`;\n }\n\n /** @soyTemplate */\n private renderPrimaryAction(): TemplateResult {\n return html`\n <md-presentational-action\n ?disabled=${this.disabled}\n ?isFocusable=${this.isFocusable}\n ?isTouchable=${this.isTouchable}\n .icon=${this.icon}\n .label=${this.label}\n .ariaLabel=${this.ariaLabel}>\n </md-presentational-action>`;\n }\n}\n\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import '../../action/selectable-action.js';
|
|
7
|
+
import { TemplateResult } from 'lit';
|
|
8
|
+
import { ClassInfo } from 'lit/directives/class-map.js';
|
|
9
|
+
import { Chip } from './chip.js';
|
|
10
|
+
/** @soyCompatible */
|
|
11
|
+
export declare class SelectableChip extends Chip {
|
|
12
|
+
selected: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* @soyTemplate
|
|
15
|
+
* @soyAttributes attributes: .md3-chip
|
|
16
|
+
*/
|
|
17
|
+
protected render(): TemplateResult;
|
|
18
|
+
/** @soyTemplate */
|
|
19
|
+
protected getRootClasses(): ClassInfo;
|
|
20
|
+
/** @soyTemplate */
|
|
21
|
+
private renderPrimaryAction;
|
|
22
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { __decorate, __metadata } from "tslib";
|
|
7
|
+
import '../../action/selectable-action.js';
|
|
8
|
+
import { html } from 'lit';
|
|
9
|
+
import { property } from 'lit/decorators.js';
|
|
10
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
11
|
+
import { Chip } from './chip.js';
|
|
12
|
+
/** @soyCompatible */
|
|
13
|
+
export class SelectableChip extends Chip {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.selected = false;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @soyTemplate
|
|
20
|
+
* @soyAttributes attributes: .md3-chip
|
|
21
|
+
*/
|
|
22
|
+
render() {
|
|
23
|
+
return html `
|
|
24
|
+
<span class="${classMap(this.getRootClasses())}" role="presentation">
|
|
25
|
+
${this.renderOverlay()}
|
|
26
|
+
${this.renderPrimaryAction()}
|
|
27
|
+
${this.renderDeleteAction()}
|
|
28
|
+
</span>`;
|
|
29
|
+
}
|
|
30
|
+
/** @soyTemplate */
|
|
31
|
+
getRootClasses() {
|
|
32
|
+
return {
|
|
33
|
+
...super.getRootClasses(),
|
|
34
|
+
'md3-chip--with-primary-graphic': true,
|
|
35
|
+
'md3-chip--selectable': true,
|
|
36
|
+
'md3-chip--selected': this.selected,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/** @soyTemplate */
|
|
40
|
+
renderPrimaryAction() {
|
|
41
|
+
return html `
|
|
42
|
+
<md-selectable-action
|
|
43
|
+
?disabled=${this.disabled}
|
|
44
|
+
?selected=${this.selected}
|
|
45
|
+
?isFocusable=${this.isFocusable}
|
|
46
|
+
?isTouchable=${this.isTouchable}
|
|
47
|
+
.icon=${this.icon}
|
|
48
|
+
.label=${this.label}
|
|
49
|
+
.ariaLabel=${this.ariaLabel}>
|
|
50
|
+
</md-selectable-action>`;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
__decorate([
|
|
54
|
+
property({ type: Boolean, reflect: true }),
|
|
55
|
+
__metadata("design:type", Object)
|
|
56
|
+
], SelectableChip.prototype, "selected", void 0);
|
|
57
|
+
//# sourceMappingURL=selectable-chip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectable-chip.js","sourceRoot":"","sources":["selectable-chip.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,mCAAmC,CAAC;AAE3C,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,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,qBAAqB;AACrB,MAAM,OAAO,cAAe,SAAQ,IAAI;IAAxC;;QAC4C,aAAQ,GAAG,KAAK,CAAC;IAsC7D,CAAC;IApCC;;;OAGG;IACgB,MAAM;QACvB,OAAO,IAAI,CAAA;qBACM,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;UAC1C,IAAI,CAAC,aAAa,EAAE;UACpB,IAAI,CAAC,mBAAmB,EAAE;UAC1B,IAAI,CAAC,kBAAkB,EAAE;cACrB,CAAC;IACb,CAAC;IAED,mBAAmB;IACA,cAAc;QAC/B,OAAO;YACL,GAAG,KAAK,CAAC,cAAc,EAAE;YACzB,gCAAgC,EAAE,IAAI;YACtC,sBAAsB,EAAE,IAAI;YAC5B,oBAAoB,EAAE,IAAI,CAAC,QAAQ;SACpC,CAAC;IACJ,CAAC;IAED,mBAAmB;IACX,mBAAmB;QACzB,OAAO,IAAI,CAAA;;sBAEO,IAAI,CAAC,QAAQ;sBACb,IAAI,CAAC,QAAQ;yBACV,IAAI,CAAC,WAAW;yBAChB,IAAI,CAAC,WAAW;kBACvB,IAAI,CAAC,IAAI;mBACR,IAAI,CAAC,KAAK;uBACN,IAAI,CAAC,SAAS;8BACP,CAAC;IAC7B,CAAC;CACF;AAtC2C;IAAzC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;gDAAkB","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport '../../action/selectable-action.js';\n\nimport {html, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {ClassInfo, classMap} from 'lit/directives/class-map.js';\nimport {Chip} from './chip.js';\n\n/** @soyCompatible */\nexport class SelectableChip extends Chip {\n @property({type: Boolean, reflect: true}) selected = false;\n\n /**\n * @soyTemplate\n * @soyAttributes attributes: .md3-chip\n */\n protected override render(): TemplateResult {\n return html`\n <span class=\"${classMap(this.getRootClasses())}\" role=\"presentation\">\n ${this.renderOverlay()}\n ${this.renderPrimaryAction()}\n ${this.renderDeleteAction()}\n </span>`;\n }\n\n /** @soyTemplate */\n protected override getRootClasses(): ClassInfo {\n return {\n ...super.getRootClasses(),\n 'md3-chip--with-primary-graphic': true,\n 'md3-chip--selectable': true,\n 'md3-chip--selected': this.selected,\n };\n }\n\n /** @soyTemplate */\n private renderPrimaryAction(): TemplateResult {\n return html`\n <md-selectable-action\n ?disabled=${this.disabled}\n ?selected=${this.selected}\n ?isFocusable=${this.isFocusable}\n ?isTouchable=${this.isTouchable}\n .icon=${this.icon}\n .label=${this.label}\n .ariaLabel=${this.ariaLabel}>\n </md-selectable-action>`;\n }\n}\n\n"]}
|
|
@@ -22,7 +22,7 @@ $space-between-chips: 8px;
|
|
|
22
22
|
.md3-chip-set__chips {
|
|
23
23
|
// Set the margin to the negative horizontal space to account for chips
|
|
24
24
|
// being inset on the leading edge.
|
|
25
|
-
// TODO(
|
|
25
|
+
// TODO(b/248173007): Explore using CSS grid layout instead.
|
|
26
26
|
margin-inline-start: -$space;
|
|
27
27
|
}
|
|
28
28
|
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* Copyright 2022 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { KEY } from '@material/web/compat/dom/keyboard.js';
|
|
7
6
|
import { MDCChipActionFocusBehavior, MDCChipActionType } from '../../action/lib/constants.js';
|
|
8
7
|
import { MDCChipAnimation } from '../../chip/lib/constants.js';
|
|
9
8
|
import { MDCChipSetAttributes, MDCChipSetEvents } from './constants.js';
|
|
@@ -47,7 +46,8 @@ export class MDCChipSetFoundation {
|
|
|
47
46
|
this.removeAfterAnimation(index, chipID);
|
|
48
47
|
return;
|
|
49
48
|
}
|
|
50
|
-
if (animation === MDCChipAnimation.ENTER && isComplete &&
|
|
49
|
+
if (animation === MDCChipAnimation.ENTER && isComplete &&
|
|
50
|
+
addedAnnouncement) {
|
|
51
51
|
this.adapter.announceMessage(addedAnnouncement);
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
@@ -71,35 +71,33 @@ export class MDCChipSetFoundation {
|
|
|
71
71
|
handleChipNavigation({ detail }) {
|
|
72
72
|
const { chipID, key, isRTL, source } = detail;
|
|
73
73
|
const index = this.adapter.getChipIndexById(chipID);
|
|
74
|
-
const toNextChip = (key ===
|
|
75
|
-
(key === KEY.ARROW_LEFT && isRTL);
|
|
74
|
+
const toNextChip = (key === 'ArrowRight' && !isRTL) || (key === 'ArrowLeft' && isRTL);
|
|
76
75
|
if (toNextChip) {
|
|
77
76
|
// Start from the next chip so we increment the index
|
|
78
77
|
this.focusNextChipFrom(index + 1);
|
|
79
78
|
return;
|
|
80
79
|
}
|
|
81
|
-
const toPreviousChip = (key ===
|
|
82
|
-
(key === KEY.ARROW_RIGHT && isRTL);
|
|
80
|
+
const toPreviousChip = (key === 'ArrowLeft' && !isRTL) || (key === 'ArrowRight' && isRTL);
|
|
83
81
|
if (toPreviousChip) {
|
|
84
82
|
// Start from the previous chip so we decrement the index
|
|
85
83
|
this.focusPrevChipFrom(index - 1);
|
|
86
84
|
return;
|
|
87
85
|
}
|
|
88
|
-
if (key ===
|
|
86
|
+
if (key === 'ArrowDown') {
|
|
89
87
|
// Start from the next chip so we increment the index
|
|
90
88
|
this.focusNextChipFrom(index + 1, source);
|
|
91
89
|
return;
|
|
92
90
|
}
|
|
93
|
-
if (key ===
|
|
91
|
+
if (key === 'ArrowUp') {
|
|
94
92
|
// Start from the previous chip so we decrement the index
|
|
95
93
|
this.focusPrevChipFrom(index - 1, source);
|
|
96
94
|
return;
|
|
97
95
|
}
|
|
98
|
-
if (key ===
|
|
96
|
+
if (key === 'Home') {
|
|
99
97
|
this.focusNextChipFrom(0, source);
|
|
100
98
|
return;
|
|
101
99
|
}
|
|
102
|
-
if (key ===
|
|
100
|
+
if (key === 'End') {
|
|
103
101
|
this.focusPrevChipFrom(this.adapter.getChipCount() - 1, source);
|
|
104
102
|
return;
|
|
105
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundation.js","sourceRoot":"","sources":["foundation.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {KEY} from '@material/web/compat/dom/keyboard.js';\n\nimport {MDCChipActionFocusBehavior, MDCChipActionType} from '../../action/lib/constants.js';\nimport {MDCChipAnimation} from '../../chip/lib/constants.js';\n\nimport {MDCChipSetAdapter} from './adapter.js';\nimport {MDCChipSetAttributes, MDCChipSetEvents} from './constants.js';\nimport {ChipAnimationEvent, ChipInteractionEvent, ChipNavigationEvent, MDCChipSetInteractionEventDetail, MDCChipSetRemovalEventDetail, MDCChipSetSelectionEventDetail} from './types.js';\n\ninterface FocusAction {\n action: MDCChipActionType;\n index: number;\n}\n\nenum Operator {\n INCREMENT,\n DECREMENT,\n}\n\n/**\n * MDCChipSetFoundation provides a foundation for all chips.\n */\nexport class MDCChipSetFoundation {\n private readonly adapter: MDCChipSetAdapter;\n\n static get defaultAdapter(): MDCChipSetAdapter {\n return {\n announceMessage: () => undefined,\n emitEvent: () => undefined,\n getAttribute: () => null,\n getChipActionsAtIndex: () => [],\n getChipCount: () => 0,\n getChipIdAtIndex: () => '',\n getChipIndexById: () => 0,\n isChipFocusableAtIndex: () => false,\n isChipSelectableAtIndex: () => false,\n isChipSelectedAtIndex: () => false,\n removeChipAtIndex: () => {},\n setChipFocusAtIndex: () => undefined,\n setChipSelectedAtIndex: () => undefined,\n startChipAnimationAtIndex: () => undefined,\n };\n }\n\n constructor(adapter?: Partial<MDCChipSetAdapter>) {\n this.adapter = {...MDCChipSetFoundation.defaultAdapter, ...adapter};\n }\n\n handleChipAnimation({detail}: ChipAnimationEvent) {\n const {\n chipID,\n animation,\n isComplete,\n addedAnnouncement,\n removedAnnouncement\n } = detail;\n const index = this.adapter.getChipIndexById(chipID);\n\n if (animation === MDCChipAnimation.EXIT && isComplete) {\n if (removedAnnouncement) {\n this.adapter.announceMessage(removedAnnouncement);\n }\n this.removeAfterAnimation(index, chipID);\n return;\n }\n\n if (animation === MDCChipAnimation.ENTER && isComplete && addedAnnouncement) {\n this.adapter.announceMessage(addedAnnouncement);\n return;\n }\n }\n\n handleChipInteraction({detail}: ChipInteractionEvent) {\n const {source, chipID, isSelectable, isSelected, shouldRemove} = detail;\n const index = this.adapter.getChipIndexById(chipID);\n\n if (shouldRemove) {\n this.removeChip(index);\n return;\n }\n\n this.focusChip(index, source, MDCChipActionFocusBehavior.FOCUSABLE);\n this.adapter.emitEvent<MDCChipSetInteractionEventDetail>(\n MDCChipSetEvents.INTERACTION, {\n chipIndex: index,\n chipID,\n });\n\n if (isSelectable) {\n this.setSelection(index, source, !isSelected);\n }\n }\n\n handleChipNavigation({detail}: ChipNavigationEvent) {\n const {chipID, key, isRTL, source} = detail;\n const index = this.adapter.getChipIndexById(chipID);\n\n const toNextChip = (key === KEY.ARROW_RIGHT && !isRTL) ||\n (key === KEY.ARROW_LEFT && isRTL);\n if (toNextChip) {\n // Start from the next chip so we increment the index\n this.focusNextChipFrom(index + 1);\n return;\n }\n\n const toPreviousChip = (key === KEY.ARROW_LEFT && !isRTL) ||\n (key === KEY.ARROW_RIGHT && isRTL);\n if (toPreviousChip) {\n // Start from the previous chip so we decrement the index\n this.focusPrevChipFrom(index - 1);\n return;\n }\n\n if (key === KEY.ARROW_DOWN) {\n // Start from the next chip so we increment the index\n this.focusNextChipFrom(index + 1, source);\n return;\n }\n\n if (key === KEY.ARROW_UP) {\n // Start from the previous chip so we decrement the index\n this.focusPrevChipFrom(index - 1, source);\n return;\n }\n\n if (key === KEY.HOME) {\n this.focusNextChipFrom(0, source);\n return;\n }\n\n if (key === KEY.END) {\n this.focusPrevChipFrom(this.adapter.getChipCount() - 1, source);\n return;\n }\n }\n\n /** Returns the unique selected indexes of the chips. */\n getSelectedChipIndexes(): ReadonlySet<number> {\n const selectedIndexes = new Set<number>();\n const chipCount = this.adapter.getChipCount();\n for (let i = 0; i < chipCount; i++) {\n const actions = this.adapter.getChipActionsAtIndex(i);\n for (const action of actions) {\n if (this.adapter.isChipSelectedAtIndex(i, action)) {\n selectedIndexes.add(i);\n }\n }\n }\n return selectedIndexes;\n }\n\n /** Sets the selected state of the chip at the given index and action. */\n setChipSelected(\n index: number, action: MDCChipActionType, isSelected: boolean) {\n if (this.adapter.isChipSelectableAtIndex(index, action)) {\n this.setSelection(index, action, isSelected);\n }\n }\n\n /** Returns the selected state of the chip at the given index and action. */\n isChipSelected(index: number, action: MDCChipActionType): boolean {\n return this.adapter.isChipSelectedAtIndex(index, action);\n }\n\n /** Removes the chip at the given index. */\n removeChip(index: number) {\n // Early exit if the index is out of bounds\n if (index >= this.adapter.getChipCount() || index < 0) return;\n this.adapter.startChipAnimationAtIndex(index, MDCChipAnimation.EXIT);\n this.adapter.emitEvent<MDCChipSetRemovalEventDetail>(\n MDCChipSetEvents.REMOVAL, {\n chipID: this.adapter.getChipIdAtIndex(index),\n chipIndex: index,\n isComplete: false,\n });\n }\n\n addChip(index: number) {\n // Early exit if the index is out of bounds\n if (index >= this.adapter.getChipCount() || index < 0) return;\n this.adapter.startChipAnimationAtIndex(index, MDCChipAnimation.ENTER);\n }\n\n /**\n * Increments to find the first focusable chip.\n */\n private focusNextChipFrom(\n startIndex: number, targetAction?: MDCChipActionType) {\n const chipCount = this.adapter.getChipCount();\n for (let i = startIndex; i < chipCount; i++) {\n const focusableAction =\n this.getFocusableAction(i, Operator.INCREMENT, targetAction);\n if (focusableAction) {\n this.focusChip(\n i, focusableAction,\n MDCChipActionFocusBehavior.FOCUSABLE_AND_FOCUSED);\n return;\n }\n }\n }\n\n /**\n * Decrements to find the first focusable chip. Takes an optional target\n * action that can be used to focus the first matching focusable action.\n */\n private focusPrevChipFrom(\n startIndex: number, targetAction?: MDCChipActionType) {\n for (let i = startIndex; i > -1; i--) {\n const focusableAction =\n this.getFocusableAction(i, Operator.DECREMENT, targetAction);\n if (focusableAction) {\n this.focusChip(\n i, focusableAction,\n MDCChipActionFocusBehavior.FOCUSABLE_AND_FOCUSED);\n return;\n }\n }\n }\n\n /** Returns the appropriate focusable action, or null if none exist. */\n private getFocusableAction(\n index: number, op: Operator,\n targetAction?: MDCChipActionType): MDCChipActionType|null {\n const actions = this.adapter.getChipActionsAtIndex(index);\n // Reverse the actions if decrementing\n if (op === Operator.DECREMENT) actions.reverse();\n\n if (targetAction) {\n return this.getMatchingFocusableAction(index, actions, targetAction);\n }\n\n return this.getFirstFocusableAction(index, actions);\n }\n\n /**\n * Returs the first focusable action, regardless of type, or null if no\n * focusable actions exist.\n */\n private getFirstFocusableAction(index: number, actions: MDCChipActionType[]):\n MDCChipActionType|null {\n for (const action of actions) {\n if (this.adapter.isChipFocusableAtIndex(index, action)) {\n return action;\n }\n }\n return null;\n }\n\n /**\n * If the actions contain a focusable action that matches the target action,\n * return that. Otherwise, return the first focusable action, or null if no\n * focusable action exists.\n */\n private getMatchingFocusableAction(\n index: number, actions: MDCChipActionType[],\n targetAction: MDCChipActionType): MDCChipActionType|null {\n let focusableAction = null;\n for (const action of actions) {\n if (this.adapter.isChipFocusableAtIndex(index, action)) {\n focusableAction = action;\n }\n\n // Exit and return the focusable action if it matches the target\n if (focusableAction === targetAction) {\n return focusableAction;\n }\n }\n return focusableAction;\n }\n\n private focusChip(\n index: number, action: MDCChipActionType,\n focus: MDCChipActionFocusBehavior) {\n this.adapter.setChipFocusAtIndex(index, action, focus);\n const chipCount = this.adapter.getChipCount();\n for (let i = 0; i < chipCount; i++) {\n const actions = this.adapter.getChipActionsAtIndex(i);\n for (const chipAction of actions) {\n // Skip the action and index provided since we set it above\n if (chipAction === action && i === index) continue;\n this.adapter.setChipFocusAtIndex(\n i, chipAction, MDCChipActionFocusBehavior.NOT_FOCUSABLE);\n }\n }\n }\n\n private supportsMultiSelect(): boolean {\n return this.adapter.getAttribute(\n MDCChipSetAttributes.ARIA_MULTISELECTABLE) === 'true';\n }\n\n private setSelection(\n index: number, action: MDCChipActionType, isSelected: boolean) {\n this.adapter.setChipSelectedAtIndex(index, action, isSelected);\n this.adapter.emitEvent<MDCChipSetSelectionEventDetail>(\n MDCChipSetEvents.SELECTION, {\n chipID: this.adapter.getChipIdAtIndex(index),\n chipIndex: index,\n isSelected,\n });\n // Early exit if we support multi-selection\n if (this.supportsMultiSelect()) {\n return;\n }\n\n // If we get here, we ony support single selection. This means we need to\n // unselect all chips\n const chipCount = this.adapter.getChipCount();\n for (let i = 0; i < chipCount; i++) {\n const actions = this.adapter.getChipActionsAtIndex(i);\n for (const chipAction of actions) {\n // Skip the action and index provided since we set it above\n if (chipAction === action && i === index) continue;\n this.adapter.setChipSelectedAtIndex(i, chipAction, false);\n }\n }\n }\n\n private removeAfterAnimation(index: number, chipID: string) {\n this.adapter.removeChipAtIndex(index);\n this.adapter.emitEvent<MDCChipSetRemovalEventDetail>(\n MDCChipSetEvents.REMOVAL, {\n chipIndex: index,\n isComplete: true,\n chipID,\n });\n\n const chipCount = this.adapter.getChipCount();\n // Early exit if we have an empty chip set\n if (chipCount <= 0) return;\n this.focusNearestFocusableAction(index);\n }\n\n /**\n * Find the first focusable action by moving bidirectionally horizontally\n * from the start index.\n *\n * Given chip set [A, B, C, D, E, F, G]...\n * Let's say we remove chip \"F\". We don't know where the nearest focusable\n * action is since any of them could be disabled. The nearest focusable\n * action could be E, it could be G, it could even be A. To find it, we\n * start from the source index (5 for \"F\" in this case) and move out\n * horizontally, checking each chip at each index.\n *\n */\n private focusNearestFocusableAction(index: number) {\n const chipCount = this.adapter.getChipCount();\n let decrIndex = index;\n let incrIndex = index;\n while (decrIndex > -1 || incrIndex < chipCount) {\n const focusAction = this.getNearestFocusableAction(\n decrIndex, incrIndex, MDCChipActionType.TRAILING);\n if (focusAction) {\n this.focusChip(\n focusAction.index, focusAction.action,\n MDCChipActionFocusBehavior.FOCUSABLE_AND_FOCUSED);\n return;\n }\n\n decrIndex--;\n incrIndex++;\n }\n }\n\n private getNearestFocusableAction(\n decrIndex: number, incrIndex: number,\n actionType?: MDCChipActionType): FocusAction|null {\n const decrAction =\n this.getFocusableAction(decrIndex, Operator.DECREMENT, actionType);\n if (decrAction) {\n return {\n index: decrIndex,\n action: decrAction,\n };\n }\n\n // Early exit if the incremented and decremented indices are identical\n if (incrIndex === decrIndex) return null;\n\n const incrAction =\n this.getFocusableAction(incrIndex, Operator.INCREMENT, actionType);\n if (incrAction) {\n return {\n index: incrIndex,\n action: incrAction,\n };\n }\n\n return null;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"foundation.js","sourceRoot":"","sources":["foundation.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {MDCChipActionFocusBehavior, MDCChipActionType} from '../../action/lib/constants.js';\nimport {MDCChipAnimation} from '../../chip/lib/constants.js';\n\nimport {MDCChipSetAdapter} from './adapter.js';\nimport {MDCChipSetAttributes, MDCChipSetEvents} from './constants.js';\nimport {ChipAnimationEvent, ChipInteractionEvent, ChipNavigationEvent, MDCChipSetInteractionEventDetail, MDCChipSetRemovalEventDetail, MDCChipSetSelectionEventDetail} from './types.js';\n\ninterface FocusAction {\n action: MDCChipActionType;\n index: number;\n}\n\nenum Operator {\n INCREMENT,\n DECREMENT,\n}\n\n/**\n * MDCChipSetFoundation provides a foundation for all chips.\n */\nexport class MDCChipSetFoundation {\n private readonly adapter: MDCChipSetAdapter;\n\n static get defaultAdapter(): MDCChipSetAdapter {\n return {\n announceMessage: () => undefined,\n emitEvent: () => undefined,\n getAttribute: () => null,\n getChipActionsAtIndex: () => [],\n getChipCount: () => 0,\n getChipIdAtIndex: () => '',\n getChipIndexById: () => 0,\n isChipFocusableAtIndex: () => false,\n isChipSelectableAtIndex: () => false,\n isChipSelectedAtIndex: () => false,\n removeChipAtIndex: () => {},\n setChipFocusAtIndex: () => undefined,\n setChipSelectedAtIndex: () => undefined,\n startChipAnimationAtIndex: () => undefined,\n };\n }\n\n constructor(adapter?: Partial<MDCChipSetAdapter>) {\n this.adapter = {...MDCChipSetFoundation.defaultAdapter, ...adapter};\n }\n\n handleChipAnimation({detail}: ChipAnimationEvent) {\n const {\n chipID,\n animation,\n isComplete,\n addedAnnouncement,\n removedAnnouncement\n } = detail;\n const index = this.adapter.getChipIndexById(chipID);\n\n if (animation === MDCChipAnimation.EXIT && isComplete) {\n if (removedAnnouncement) {\n this.adapter.announceMessage(removedAnnouncement);\n }\n this.removeAfterAnimation(index, chipID);\n return;\n }\n\n if (animation === MDCChipAnimation.ENTER && isComplete &&\n addedAnnouncement) {\n this.adapter.announceMessage(addedAnnouncement);\n return;\n }\n }\n\n handleChipInteraction({detail}: ChipInteractionEvent) {\n const {source, chipID, isSelectable, isSelected, shouldRemove} = detail;\n const index = this.adapter.getChipIndexById(chipID);\n\n if (shouldRemove) {\n this.removeChip(index);\n return;\n }\n\n this.focusChip(index, source, MDCChipActionFocusBehavior.FOCUSABLE);\n this.adapter.emitEvent<MDCChipSetInteractionEventDetail>(\n MDCChipSetEvents.INTERACTION, {\n chipIndex: index,\n chipID,\n });\n\n if (isSelectable) {\n this.setSelection(index, source, !isSelected);\n }\n }\n\n handleChipNavigation({detail}: ChipNavigationEvent) {\n const {chipID, key, isRTL, source} = detail;\n const index = this.adapter.getChipIndexById(chipID);\n\n const toNextChip =\n (key === 'ArrowRight' && !isRTL) || (key === 'ArrowLeft' && isRTL);\n if (toNextChip) {\n // Start from the next chip so we increment the index\n this.focusNextChipFrom(index + 1);\n return;\n }\n\n const toPreviousChip =\n (key === 'ArrowLeft' && !isRTL) || (key === 'ArrowRight' && isRTL);\n if (toPreviousChip) {\n // Start from the previous chip so we decrement the index\n this.focusPrevChipFrom(index - 1);\n return;\n }\n\n if (key === 'ArrowDown') {\n // Start from the next chip so we increment the index\n this.focusNextChipFrom(index + 1, source);\n return;\n }\n\n if (key === 'ArrowUp') {\n // Start from the previous chip so we decrement the index\n this.focusPrevChipFrom(index - 1, source);\n return;\n }\n\n if (key === 'Home') {\n this.focusNextChipFrom(0, source);\n return;\n }\n\n if (key === 'End') {\n this.focusPrevChipFrom(this.adapter.getChipCount() - 1, source);\n return;\n }\n }\n\n /** Returns the unique selected indexes of the chips. */\n getSelectedChipIndexes(): ReadonlySet<number> {\n const selectedIndexes = new Set<number>();\n const chipCount = this.adapter.getChipCount();\n for (let i = 0; i < chipCount; i++) {\n const actions = this.adapter.getChipActionsAtIndex(i);\n for (const action of actions) {\n if (this.adapter.isChipSelectedAtIndex(i, action)) {\n selectedIndexes.add(i);\n }\n }\n }\n return selectedIndexes;\n }\n\n /** Sets the selected state of the chip at the given index and action. */\n setChipSelected(\n index: number, action: MDCChipActionType, isSelected: boolean) {\n if (this.adapter.isChipSelectableAtIndex(index, action)) {\n this.setSelection(index, action, isSelected);\n }\n }\n\n /** Returns the selected state of the chip at the given index and action. */\n isChipSelected(index: number, action: MDCChipActionType): boolean {\n return this.adapter.isChipSelectedAtIndex(index, action);\n }\n\n /** Removes the chip at the given index. */\n removeChip(index: number) {\n // Early exit if the index is out of bounds\n if (index >= this.adapter.getChipCount() || index < 0) return;\n this.adapter.startChipAnimationAtIndex(index, MDCChipAnimation.EXIT);\n this.adapter.emitEvent<MDCChipSetRemovalEventDetail>(\n MDCChipSetEvents.REMOVAL, {\n chipID: this.adapter.getChipIdAtIndex(index),\n chipIndex: index,\n isComplete: false,\n });\n }\n\n addChip(index: number) {\n // Early exit if the index is out of bounds\n if (index >= this.adapter.getChipCount() || index < 0) return;\n this.adapter.startChipAnimationAtIndex(index, MDCChipAnimation.ENTER);\n }\n\n /**\n * Increments to find the first focusable chip.\n */\n private focusNextChipFrom(\n startIndex: number, targetAction?: MDCChipActionType) {\n const chipCount = this.adapter.getChipCount();\n for (let i = startIndex; i < chipCount; i++) {\n const focusableAction =\n this.getFocusableAction(i, Operator.INCREMENT, targetAction);\n if (focusableAction) {\n this.focusChip(\n i, focusableAction,\n MDCChipActionFocusBehavior.FOCUSABLE_AND_FOCUSED);\n return;\n }\n }\n }\n\n /**\n * Decrements to find the first focusable chip. Takes an optional target\n * action that can be used to focus the first matching focusable action.\n */\n private focusPrevChipFrom(\n startIndex: number, targetAction?: MDCChipActionType) {\n for (let i = startIndex; i > -1; i--) {\n const focusableAction =\n this.getFocusableAction(i, Operator.DECREMENT, targetAction);\n if (focusableAction) {\n this.focusChip(\n i, focusableAction,\n MDCChipActionFocusBehavior.FOCUSABLE_AND_FOCUSED);\n return;\n }\n }\n }\n\n /** Returns the appropriate focusable action, or null if none exist. */\n private getFocusableAction(\n index: number, op: Operator,\n targetAction?: MDCChipActionType): MDCChipActionType|null {\n const actions = this.adapter.getChipActionsAtIndex(index);\n // Reverse the actions if decrementing\n if (op === Operator.DECREMENT) actions.reverse();\n\n if (targetAction) {\n return this.getMatchingFocusableAction(index, actions, targetAction);\n }\n\n return this.getFirstFocusableAction(index, actions);\n }\n\n /**\n * Returs the first focusable action, regardless of type, or null if no\n * focusable actions exist.\n */\n private getFirstFocusableAction(index: number, actions: MDCChipActionType[]):\n MDCChipActionType|null {\n for (const action of actions) {\n if (this.adapter.isChipFocusableAtIndex(index, action)) {\n return action;\n }\n }\n return null;\n }\n\n /**\n * If the actions contain a focusable action that matches the target action,\n * return that. Otherwise, return the first focusable action, or null if no\n * focusable action exists.\n */\n private getMatchingFocusableAction(\n index: number, actions: MDCChipActionType[],\n targetAction: MDCChipActionType): MDCChipActionType|null {\n let focusableAction = null;\n for (const action of actions) {\n if (this.adapter.isChipFocusableAtIndex(index, action)) {\n focusableAction = action;\n }\n\n // Exit and return the focusable action if it matches the target\n if (focusableAction === targetAction) {\n return focusableAction;\n }\n }\n return focusableAction;\n }\n\n private focusChip(\n index: number, action: MDCChipActionType,\n focus: MDCChipActionFocusBehavior) {\n this.adapter.setChipFocusAtIndex(index, action, focus);\n const chipCount = this.adapter.getChipCount();\n for (let i = 0; i < chipCount; i++) {\n const actions = this.adapter.getChipActionsAtIndex(i);\n for (const chipAction of actions) {\n // Skip the action and index provided since we set it above\n if (chipAction === action && i === index) continue;\n this.adapter.setChipFocusAtIndex(\n i, chipAction, MDCChipActionFocusBehavior.NOT_FOCUSABLE);\n }\n }\n }\n\n private supportsMultiSelect(): boolean {\n return this.adapter.getAttribute(\n MDCChipSetAttributes.ARIA_MULTISELECTABLE) === 'true';\n }\n\n private setSelection(\n index: number, action: MDCChipActionType, isSelected: boolean) {\n this.adapter.setChipSelectedAtIndex(index, action, isSelected);\n this.adapter.emitEvent<MDCChipSetSelectionEventDetail>(\n MDCChipSetEvents.SELECTION, {\n chipID: this.adapter.getChipIdAtIndex(index),\n chipIndex: index,\n isSelected,\n });\n // Early exit if we support multi-selection\n if (this.supportsMultiSelect()) {\n return;\n }\n\n // If we get here, we ony support single selection. This means we need to\n // unselect all chips\n const chipCount = this.adapter.getChipCount();\n for (let i = 0; i < chipCount; i++) {\n const actions = this.adapter.getChipActionsAtIndex(i);\n for (const chipAction of actions) {\n // Skip the action and index provided since we set it above\n if (chipAction === action && i === index) continue;\n this.adapter.setChipSelectedAtIndex(i, chipAction, false);\n }\n }\n }\n\n private removeAfterAnimation(index: number, chipID: string) {\n this.adapter.removeChipAtIndex(index);\n this.adapter.emitEvent<MDCChipSetRemovalEventDetail>(\n MDCChipSetEvents.REMOVAL, {\n chipIndex: index,\n isComplete: true,\n chipID,\n });\n\n const chipCount = this.adapter.getChipCount();\n // Early exit if we have an empty chip set\n if (chipCount <= 0) return;\n this.focusNearestFocusableAction(index);\n }\n\n /**\n * Find the first focusable action by moving bidirectionally horizontally\n * from the start index.\n *\n * Given chip set [A, B, C, D, E, F, G]...\n * Let's say we remove chip \"F\". We don't know where the nearest focusable\n * action is since any of them could be disabled. The nearest focusable\n * action could be E, it could be G, it could even be A. To find it, we\n * start from the source index (5 for \"F\" in this case) and move out\n * horizontally, checking each chip at each index.\n *\n */\n private focusNearestFocusableAction(index: number) {\n const chipCount = this.adapter.getChipCount();\n let decrIndex = index;\n let incrIndex = index;\n while (decrIndex > -1 || incrIndex < chipCount) {\n const focusAction = this.getNearestFocusableAction(\n decrIndex, incrIndex, MDCChipActionType.TRAILING);\n if (focusAction) {\n this.focusChip(\n focusAction.index, focusAction.action,\n MDCChipActionFocusBehavior.FOCUSABLE_AND_FOCUSED);\n return;\n }\n\n decrIndex--;\n incrIndex++;\n }\n }\n\n private getNearestFocusableAction(\n decrIndex: number, incrIndex: number,\n actionType?: MDCChipActionType): FocusAction|null {\n const decrAction =\n this.getFocusableAction(decrIndex, Operator.DECREMENT, actionType);\n if (decrAction) {\n return {\n index: decrIndex,\n action: decrAction,\n };\n }\n\n // Early exit if the incremented and decremented indices are identical\n if (incrIndex === decrIndex) return null;\n\n const incrAction =\n this.getFocusableAction(incrIndex, Operator.INCREMENT, actionType);\n if (incrAction) {\n return {\n index: incrIndex,\n action: incrAction,\n };\n }\n\n return null;\n }\n}\n"]}
|
package/controller/events.d.ts
CHANGED
|
@@ -25,3 +25,53 @@
|
|
|
25
25
|
* @return Whether or not the event was dispatched (if cancelable).
|
|
26
26
|
*/
|
|
27
27
|
export declare function redispatchEvent(element: Element, event: Event): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Dispatches a click event to the given element that triggers a native action,
|
|
30
|
+
* but is not composed and therefore is not seen outside the element.
|
|
31
|
+
*
|
|
32
|
+
* This is useful for responding to an external click event on the host element
|
|
33
|
+
* that should trigger an internal action like a button click.
|
|
34
|
+
*
|
|
35
|
+
* Note, a helper is provided because setting this up correctly is a bit tricky.
|
|
36
|
+
* In particular, calling `click` on an element creates a composed event, which
|
|
37
|
+
* is not desirable, and a manually dispatched event must specifically be a
|
|
38
|
+
* `MouseEvent` to trigger a native action.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* hostClickListener = (event: MouseEvent) {
|
|
42
|
+
* if (isActivationClick(event)) {
|
|
43
|
+
* this.dispatchActivationClick(this.buttonElement);
|
|
44
|
+
* }
|
|
45
|
+
* }
|
|
46
|
+
*
|
|
47
|
+
*/
|
|
48
|
+
export declare function dispatchActivationClick(element: HTMLElement): MouseEvent;
|
|
49
|
+
/**
|
|
50
|
+
* Returns true if the click event should trigger an activation behavior. The
|
|
51
|
+
* behavior is defined by the element and is whatever it should do when
|
|
52
|
+
* clicked.
|
|
53
|
+
*
|
|
54
|
+
* Typically when an element needs to handle a click, the click is generated
|
|
55
|
+
* from within the element and an event listener within the element implements
|
|
56
|
+
* the needed behavior; however, it's possible to fire a click directly
|
|
57
|
+
* at the element that the element should handle. This method helps
|
|
58
|
+
* distinguish these "external" clicks.
|
|
59
|
+
*
|
|
60
|
+
* An "external" click can be triggered in a number of ways: via a click
|
|
61
|
+
* on an associated label for a form associated element, calling
|
|
62
|
+
* `element.click()`, or calling
|
|
63
|
+
* `element.dispatchEvent(new MouseEvent('click', ...))`.
|
|
64
|
+
*
|
|
65
|
+
* Also works around Firefox issue
|
|
66
|
+
* https://bugzilla.mozilla.org/show_bug.cgi?id=1804576 by squelching
|
|
67
|
+
* events for a microtask after called.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* hostClickListener = (event: MouseEvent) {
|
|
71
|
+
* if (isActivationClick(event)) {
|
|
72
|
+
* this.dispatchActivationClick(this.buttonElement);
|
|
73
|
+
* }
|
|
74
|
+
* }
|
|
75
|
+
*
|
|
76
|
+
*/
|
|
77
|
+
export declare function isActivationClick(event: Event): boolean;
|